diff --git a/README.md b/README.md index c993fd3ae..ce11ac790 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,4 @@ - - - -# Getting Started -- VMware Blockchain for Ethereum Beta - - [Github Link](https://github.com/vmware-samples/vmware-blockchain-samples/tree/master/vmbc-ethereum) - - [Github Docs Website Link](https://vmware-samples.github.io/vmware-blockchain-samples/) +# Please note that VMware Blockchain for Ethereum has reached End of Life ## Maintainers diff --git a/vmbc-ethereum/README.md b/vmbc-ethereum/README.md deleted file mode 100644 index cc1678d8f..000000000 --- a/vmbc-ethereum/README.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -home: false ---- -# VMware Blockchain for Ethereum Overview - -VMware Blockchain (VMBC) is an enterprise-grade blockchain platform that powers business ecosystems, digital asset experiences and dApps. - -The Ethereum technology stack — from EVM, Solidity smart contracts, APIs, developer tools, and its overall ecosystem — is the broadest and most mature stack on which to build blockchain networks. Yet, there are several critical gaps Ethereum platforms have that make them difficult to use for enterprise use cases, such as lack of robust privacy and scalability for complex workloads, governance mechanisms, and enterprise-class operational support characteristics. To address these gaps, VMware launched VMware Blockchain for Ethereum, available now in beta. VMware Blockchain for Ethereum is built using open enterprise-centric architecture. The solution is an Ethereum Virtual Machine (EVM) compatible decentralized and permissioned infrastructure platform that provides trust, predictable costs, and instant transaction finality while being Byzantine Fault Tolerant. - -VMware Blockchain for Ethereum comprises blockchain nodes running the open-source EVM evmone 0.8.2, orchestration utilities, Solidity 0.8.16, and third-party integrations. As a result, developers can build on any public or private cloud to deploy their dApps and smart contracts leveraging standard tools such as Truffle, HardHat, and integrations with MetaMask. - -## Why Use VMware Blockchain for Ethereum? - -The VMware Blockchain technology is built using an open enterprise-centric architecture with an Ethereum Virtual Machine (EVM). As a result, it is a compatible decentralized and permissioned infrastructure platform that provides trust, predictable costs, and instant transaction finality while being Byzantine Fault Tolerant. - -VMware Blockchain for Ethereum comprises blockchain nodes running the open-source EVM evmone 0.8.2 version, orchestration utilities, Solidity 0.8.16 version, and third-party integrations. As a result, developers can construct or extend a platform on any public or private cloud to deploy their dApps and smart contracts leveraging standard tools such as Truffle, HardHat, and integrations with MetaMask Institutional. - -## Architecture - -VMware Blockchain is an enterprise-grade decentralized trust platform that enables you to transact and share data securely. With VMware Blockchain, you can create permissioned decentralized business networks. In addition, the decentralized trust platform removes the need to rely on a central data repository that is a single point of failure. - -VMware Blockchain comprises one or more Client Nodes and a Replica Network. The Client nodes provide dApps access to the blockchain data by exposing an ETH JSON RPC interface for sending and receiving requests to and from the Replica Network. The Replica Network is a network of n replicas, where n=3f+1, that participate in the BFT consensus protocol. Each Replica node has an EVM execution engine, which stores the state in an authenticated key-value ledger. - -![VMware Blockchain for Ethereum Request Flow](./vmbc-with-ethereum-request-flow.png) - -Refer to the numbers in the diagram and read the corresponding description to learn about each step that describes the VMware Blockchain for Ethereum request flow. -1. The dApp creates and signs a request using a local or an external wallet and awaits a response. The request can vary from loading a new smart contract, listing the existing active smart contracts, or activating a function within a current smart contract. For example, a request can either start a smart contract function that fetches a balance that does not alter the state or activate a smart contract function that transfers funds from one party to another, which changes the state. - -2. The request is created and sent as an ETH JSON RPC request. - -3. The Client Service component in the VMware Blockchain Client node receives the request and sends it to the Replica Network. This component controls the consensus and ensures at least 2f+1 replies are received from the Replica Network before responding. - -4. The Replica Network receives the requests processed using a BFT consensus algorithm. - -5. The EVM execution engine executes these requests on every Replica node. Some requests write new values to the state, which changes the state. The state is captured in an authenticated key-value store on each Replica node in a RocksDB (5.1). - -6. After the request execution is completed, 2f+1 signed execution results are returned to the Client node. - -7. The Client node validates that the 2f+1 results have been received and then sends them to the application. - -## Ethereum Concepts -VMware Blockchain is an enterprise-grade private blockchain based on Ethereum. Therefore, certain VMware Blockchain features must be aligned with the Ethereum ecosystem. - -#### Free-Gas Mode -In a public Ethereum network, gas refers to the cost necessary to perform a transaction on the network. Miners set the gas price based on supply and demand for the network's computational power to process smart contracts and other transactions. Requiring a fee for every transaction executed on the network provides a layer of security to the Ethereum network, making it too expensive for malicious users to spam the network. -VMware Blockchain is a private, permissioned, and managed network. Therefore, it is not required to charge for computation power or protect it from malicious use. In addition, the SBFT protocol protects it from byzantine attacks. Since gas fees are not required, VMware Blockchain by default has free-gas mode enabled. - -#### Privacy -In many use cases, businesses and users end-need to be able to conduct transactions securely and privately, without revealing their personal information or the details of their transactions to others. To strike a balance between privacy and performance, VMware Blockchain carefully designed and implemented its privacy solution. -Now, any ERC20 smart contract can be extended to convert the public tokens to private tokens. These private tokens can be transacted privately, subject to a limit set by the administrator. Not even the administrator, can see the details of the private transaction, including the source, target or the amount transacted. The platform uses Zero Knowledge Proofs to guarantee that the transaction is valid and ensures that there is no double spending. The privacy solution is currently in Tech Preview - the APIs may change in the future. - -#### Supported Ethereum JSON RPC API Endpoints -VMware Blockchain for Ethereum supports the standard interface for Ethereum clients and Enterprise Ethereum Requirements [API Reference](https://ethereum.org/en/developers/docs/apis/json-rpc). For details, see [Supported API Endpoints](./supported-apis.md). - -## Beta Registration -VMware Blockchain for Ethereum is currently in the Beta development stage. Users can deploy the code on a cloud environment or as a standalone developer kit. The product supports the ETH RPC API and enables users to run Solidity applications seamlessly. - -To get started, sign up for the [Beta program](https://via.vmw.com/3HlJCD). Upon signing the Beta License Agreement form, you receive an exclusive invite to our VMware Blockchain Beta Slack channel where you can access the developer kit, previous webinar recordings, and other resources. - -## Quick Start Guide -This quick start guide provides information on deploying VMware Blockchain for Ethereum and running applications. It also provides sample applications and instructions on configuring the various features and capabilities of VMware Blockchain for Ethereum. - -VMware Blockhain for Ethereum Documentation, see [https://vmware-samples.github.io/vmware-blockchain-samples](https://vmware-samples.github.io/vmware-blockchain-samples). - -### System Requirements -Make sure that your environment meets the specific system requirements. -- [Minikube](./vmbc-deployment/README.md#system-requirements-for-minikube) -- [Cloud Deployment](./vmbc-deployment/README.md#system-requirements-for-aws-eks) - -### Deployment Options -You can use the developer kit or the cloud option to deploy VMware Blockchain for Ethereum. -- [Developer Kit Deployment](./vmbc-deployment/README.md#developer-kit-deployment---system-requirements-and-prerequisites) - - [VMware Blockchain for Ethereum Deployment](./vmbc-deployment/vmbc-four-node-one-client-deployment/README.md) - - [VMware Blockchain for Ethereum Deployment with Logging Collector](./vmbc-deployment/vmbc-four-node-one-client-deployment-with-logging/README.md) -- [Cloud Deployment](./vmbc-deployment/README.md#amazon-eks) - - [VMware Blockchain for Ethereum Deployment](./vmbc-deployment/vmbc-four-node-one-client-deployment/README.md) - -### Permissioning -Permissioning introduces account permissioning per Enterprise Ethereum Alliance (EEA) specifications. This feature is designed to work using a pre-deployed [Permissioning Smart Contract](https://github.com/vmware-samples/vmware-blockchain-samples/blob/master/vmbc-ethereum/permissioning/contracts/Permissioning.sol). The following forms of permissioning are available: -- Write Permissioning - Write-related interactions with VMware Blockchain for Ethereum are permissioned. -- Read-Write Permissioning - Both read and write interactions with VMware Blockchain for Ethereum are permissioned. - -Note: The permissioning is disabled by default. You must enable this feature before deploying VMware Blockchain for Ethereum. For details, see [Permissioning](./permissioning/README.md). - -### Privacy -The privacy of digital asset custody is a critical requirement for enterprises considering adopting blockchain. The requirement gets exacerbated with Central Bank Digital Currencies, where governments want to balance accountability with privacy to prevent money laundering or tax fraud. - -VMware Blockchain for Ethereum addresses this need by supporting any ERC20 smart contract that can be extended to convert public tokens to private tokens. These private tokens can be transacted privately, subject to a limit set by the administrator. - -No one, including the administrator, can view the private transaction details, such as the source, target, or amount transacted. The platform uses Zero Knowledge Proofs to guarantee that the transaction is valid and ensures no double-spending. The privacy solution is currently in Tech Preview, and the APIs might change in future releases. For details, see [Privacy](./privacy/README.md). - -### Security -VMware Blockchain for Ethereum provides several security features to keep blockchain data secure. These security features are supported by the VMware Blockchain platform and are not specific to the Ethereum implementation. For details, see details [Security](./security.md). - -### Block Explorers -The following options of Block Explorers are available: -- [Sirato Explorer](./block-explorers/sirato-explorer/README.md) - Developed by Web3Labs -- [VMware Blockchain Explorer](./block-explorers/vmbc-explorer/README.md) - Developed by VMware Blockchain for Ethereum - -### Sample dApps -The Ethereum sample dApps conform to various aspects of Ethereum in VMware Blockchain. These sample dApps are developed in a generic form to run on any Ethereum-based Blockchain. In addition, the sample dApps have been verified to work in Public Ethereum Testnet such as Goerli. - -The sample dApps are UI-based. Therefore, the ports exposed by the sample dApps must be available to a system with UI for the dApps to work. - -The following sample dApps are available: -- [ERC20 Swap](./sample-dapps/erc20-swap/README.md) - - During boot-up, the dApp deploys some ERC20 token Smart Contracts - - Supports transfer of ERC20 tokens across accounts - - Supports swap across a couple of types of ERC20 tokens across accounts -- [NFT Platform](./sample-dapps/nft-platform/README.md) - - During boot-up, the dApp deploys an ERC721-based Smart Contract - - Provides a platform to mint NFTs, transfer NFTs across accounts, and view all the NFTs and their history - -## Developer Tools - -You can use the following tools to configure the sample dApps. - -- Hardhat -- Truffle -- Remix -- Metamask -- Mythril -- Slither diff --git a/vmbc-ethereum/appendix.md b/vmbc-ethereum/appendix.md deleted file mode 100644 index 5923b755c..000000000 --- a/vmbc-ethereum/appendix.md +++ /dev/null @@ -1,29 +0,0 @@ -# Appendix - -## Connecting Metamask to VMware Blockchain - -Metamask is available on Google Chrome as an extension, and this is a key requirement -to this NFT sample. - -If you have never added your VMware Blockchain's URL and the Chain ID (default 5000) -as a separate network on Metamask, you can click on user profile picture to open the -dropdown menu and click `Settings` > `Networks` > `Add Network` > `Add Network Manually` -and provide: - -- Network Name: (Can be freely chosen) -- New RPC URL: (Your blockchain's EthRPC URL aka. `VMBC_URL`) -- Chain ID: (Your blockchain's `chainId`, default is usually 5000) -- Currency Symbol: (Can be freely chosen) -- Block explorer URL: (optional) - -Metamask might not have connected ever on localhost:4200 site, if this is the case, -you can connect Metamask to the dev site by clicking on `Not Connected` status icon -and clicking `Connect` - -## Resetting Account in Metamask -- How to Reset an Account in Metamask - [Article from Metamask](https://metamask.zendesk.com/hc/en-us/articles/360015488891-How-to-reset-an-account) - - Perform this step of Resetting you Metamask account for each of the accounts which you will utilize to interact with VMware Blockchain - - **Note**: This is required because of a Limitation in Metamask that, when an already connected/linked Blockchain Network is reset/re-installed, Metamask still uses old and cached nonce for accounts. Essentially, by resetting the accounts, we are requesting Metamask to dynamically determine the nonce, rather than using an old cache. - -## Importing Accounts in Metamask -- How to Import Accounts in Metamask - [Article from Metamask](https://metamask.zendesk.com/hc/en-us/articles/360015489331-How-to-import-an-account) \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/sirato-explorer/README.md b/vmbc-ethereum/block-explorers/sirato-explorer/README.md deleted file mode 100644 index c70cbea83..000000000 --- a/vmbc-ethereum/block-explorers/sirato-explorer/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Sirato for VMware Blockchain - -### Overview - -Sirato is a data and analytics platform for VMware Blockchain for Ethereum. - -It provides a rich API, and easy to use interface to provide information on the various assets such as tokens, and smart contracts deployed on blockchains. - -![alt text](./assets/sirato-dashboard.png "Sirato dashboard") - -### Features - -Sirato works by ingesting raw blockchain data and restructuring it to provide information about activity taking place on the blockchain. - -This information is presented in its user interface. Sirato provides views of the following blockchain data: - -- Accounts -- Blocks -- Transactions -- Smart contracts -- Tokens - -By browsing to the relevant tab in Sirato, you are presented with the associated blockchain data. - -In addition you can use its search functionality to locate specific accounts, blocks, transactions or contracts by their address or hash. - -### Free plan - -You can run the developer edition of Sirato for VMware Blockchain by following the instructions available [here](https://github.com/web3labs/sirato-free/). Sirato supports Kubernetes deployment which seamlessly integrates with VMware Blockchain for Ethereum Kubernetes deployment model. - -![alt text](./assets/sirato-transactions.png "Sirato transactions") - -### Hosted plans - -Web3 Labs provides [hosted plans](https://www.web3labs.com/blockchain-explorer-sirato-plans) that provides additional functionality including: - -- Custom branding and hosting at a custom domain -- Dedicated views of tokens -- Smart contract management and source code upload -- OpenAPI back-end -- Integrations with business intelligence tools such as Tableau Microsoft PowerBI and Qlik -- Production SLAs -- Large transaction volumes (100,000,000+) - -![alt text](./assets/sirato-verified-sourcecode.png "Sirato verified sourcecode") - -You can view more information on these plans [here](https://www.web3labs.com/blockchain-explorer-sirato-plans), or contact Web3 Labs directly via [hi@web3labs.com](mailto:hi@web3labs.com?subject=Sirato%20hosted%20plans). - -Watch a demo of how Sirato on VMware Blockchain for Ethereum works [here](https://youtu.be/tGXH1OL8Gzs). diff --git a/vmbc-ethereum/block-explorers/sirato-explorer/assets/.DS_Store b/vmbc-ethereum/block-explorers/sirato-explorer/assets/.DS_Store deleted file mode 100644 index 5008ddfcf..000000000 Binary files a/vmbc-ethereum/block-explorers/sirato-explorer/assets/.DS_Store and /dev/null differ diff --git a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-dashboard.png b/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-dashboard.png deleted file mode 100644 index 5ff5329d0..000000000 Binary files a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-dashboard.png and /dev/null differ diff --git a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-transactions.png b/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-transactions.png deleted file mode 100644 index 2160333a8..000000000 Binary files a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-transactions.png and /dev/null differ diff --git a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-verified-sourcecode.png b/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-verified-sourcecode.png deleted file mode 100644 index 8443cce18..000000000 Binary files a/vmbc-ethereum/block-explorers/sirato-explorer/assets/sirato-verified-sourcecode.png and /dev/null differ diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/README.md b/vmbc-ethereum/block-explorers/vmbc-explorer/README.md deleted file mode 100644 index eeb371153..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# VMware Blockchain Explorer - -A web application has been designed and implemented with universal search, block and transaction detail views. The Auto refresh feature will keep the dashboard live with the updated details. The refresh interval is set to disabled by default, and it can be altered as per the needs, and also it can be disabled when it's not needed. The Browser cache feature will keep accumulating the data fetched in local storage, which will prevent duplicate requests to the EthRPC API. It uses Angular With Clarity Design Framework to adhere to VMware Web Application Standards. The performance of the blockchain won't be affected by this as it is packaged and deployed in a separate container. The explorer will connect to blockchain only when its deployed and configured with a specific instance URL. With the help of cache and auto refresh interval, the interaction between the blockchain and the explorer can be improved further. - -## Features -Using the UI, one can navigate and view following data from Blockchain, -- Dashboard containing summary of total number of Blocks and Transactions -- Capability to search for Blocks, Transactions and Accounts -- Blocks Page indexed by block number sequenced based on their creation time. When you click through a block, more details about the block are shown, - - Timestamp - - Transaction - - Size - - Hash - - Parent Hash -- Transactions Page sequenced by their Block number and sequenced based on their timestamp. When you click through a transaction, more details about the block are shown, - - Transaction Hash - - Timestamp - - Block Number - - From and To - -## Running VMware Blockchain Explorer - -Follow the instructions in [helm-chart/README](./helm-chart/README.md) - -## Limitations -- Genesis Block is not shown in UI but counted in Dashboard for Total Number of Transactions and Blocks diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/Chart.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/Chart.yaml deleted file mode 100644 index ef95b17d0..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: vmbc-explorer -description: A Helm chart for vmbc explorer -type: application -version: 0.1.0 -appVersion: "1.16.0" \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/README.md b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/README.md deleted file mode 100644 index 8083af87b..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/README.md +++ /dev/null @@ -1,49 +0,0 @@ -## Host system pre-requisites -``` -kubectl ( https://kubernetes.io/docs/tasks/tools/ ) -helm chart ( https://helm.sh/docs/intro/install/ ) -(optional) Minikube (https://minikube.sigs.k8s.io/docs/start/) -(optional) eksctl (https://eksctl.io/) -``` -## Deploy VMware Blockchain Explorer - -- Deployment with parameters. The blockchainUrl value should be set to the Eth RPC service URL. - ```sh - # Change to Helm Chart directory of VMware Blockchain Explorer - cd vmware-blockchain-samples/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart - - # Helm install VMware Blockchain Explorer - helm install . --set global.imageCredentials.registry= --set global.imageCredentials.username= --set global.imageCredentials.password= --set blockchainUrl= - ``` -- Access VMBC explorer webpage using service url - - Minikube - ```sh - minikube service -service - ``` - - EKS - ```sh - kubectl get service {name-of-your-choice}-service - ``` - -## Remove VMware Blockchain Explorer -- Uninstall - ```sh - helm uninstall - ``` - -## Detailed configurations for customization -- List of configurations available for vmbc explorer deployment. Use "--set" param for setting up the params. - -| Name | Description | Value | Type | -|----------------------------------|--------------------------------------------------|-----------------------------|-----------| -| global.imageCredentials.registry | Url to download vmbc explorer | "" | Mandatory | -| global.imageCredentials.username | Username to access/download vmbc explorer | "" | Mandatory | -| global.imageCredentials.password | Password to access/download vmbc explorer | "" | Mandatory | -| global.imageCredentials.email | Email to access/download vmbc explorer | "" | Optional | -| global.image.repository | Image name to download for vmbc explorer | vmwblockchain/vmbc-eth-explorer | Optional | -| global.image.tag | Tag version to download vmbc explorer | 0.0.0.0.7849 | Optional | -| blockchainUrl | Url to link blockchain with vmbc explorer webpage | "" | Mandatory | -| resources.explorer.cpuLimit | CPU limit | 100m | Optional | -| resources.explorer.cpuRequest | CPU request | 100m | Optional | -| resources.explorer.memoryLimit | Memory limit | 1Gi | Optional | -| resources.explorer.memoryRequest | Memory request | 1Gi | Optional | diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/_helpers.tpl b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/_helpers.tpl deleted file mode 100644 index 219801fed..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/_helpers.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -Return the service & deployment port link -*/}} -{{- define "common.serviceDeploymentPort" -}} -{{- 80 -}} -{{- end -}} - -{{/* -Return the proper image name from the info provided in .Values.global.imageCredentials & .Values.global.image -*/}} -{{- define "common.image" -}} -{{- $registryName := required "registry field is mandatory" .Values.global.imageCredentials.registry -}} -{{- $repositoryName := .Values.global.image.repository -}} -{{- $tag := required "tag field is mandatory" .Values.global.image.tag | toString -}} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} - -{{/* -Create an imagePullSecret from the info provided in .Values.imageCredentials -Create the dockerconfigjson entry. Need to go through these hoops because the password may contain single/double quotes -which cause problems for Helm with the usual approach described here: -https://helm.sh/docs/howto/charts_tips_and_tricks/#creating-image-pull-secrets -Usage: include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) -*/}} -{{- define "common.docker.config.json" }} -{{- $registry := required "registry field is mandatory" .imageCredentials.registry }} -{{- $username := required "username field is mandatory" .imageCredentials.username }} -{{- $password := required "password field is mandatory" .imageCredentials.password }} -{{- $email := .imageCredentials.email }} -{{- $encodedAuth := printf "%s:%s" $username $password | b64enc }} -{{- $escapedPassword := $password | replace `"` `\"` }} -{{- $dockerConfigJson := printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" $registry $username $escapedPassword $email $encodedAuth | b64enc }} -{{- print $dockerConfigJson }} -{{- end }} \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-configmap.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-configmap.yaml deleted file mode 100644 index 458dba4e5..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-configmap.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ .Release.Name }}-configmap -data: - VMBC_URL: {{ required "blockchainUrl field is mandatory" .Values.blockchainUrl }} diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-deployment.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-deployment.yaml deleted file mode 100644 index 1f779ca4c..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-deployment.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ .Release.Name }}-deployment - labels: - app: {{ .Release.Name }} -spec: - replicas: 1 - selector: - matchLabels: - app: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ .Release.Name }} - spec: - containers: - - name: {{ .Release.Name }} - image: {{ include "common.image" . }} - imagePullPolicy: IfNotPresent - ports: - - containerPort: {{ include "common.serviceDeploymentPort" . }} - env: - - name: VMBC_URL - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: VMBC_URL - resources: - limits: - cpu: "{{ .Values.resources.explorer.cpuLimit }}" - memory: "{{ .Values.resources.explorer.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.explorer.cpuRequest }}" - memory: "{{ .Values.resources.explorer.memoryRequest }}" - imagePullSecrets: - - name: {{ .Release.Name }}-regcred - restartPolicy: Always \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-secret.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-secret.yaml deleted file mode 100644 index e5593114a..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-regcred -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) }} \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-service.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-service.yaml deleted file mode 100644 index 74a4a7817..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/templates/explorer-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Release.Name }}-service -spec: - selector: - app: {{ .Release.Name }} - ports: - - protocol: TCP - port: 80 - targetPort: {{ include "common.serviceDeploymentPort" . }} - type: LoadBalancer \ No newline at end of file diff --git a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/values.yaml b/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/values.yaml deleted file mode 100644 index f403d7ab7..000000000 --- a/vmbc-ethereum/block-explorers/vmbc-explorer/helm-chart/values.yaml +++ /dev/null @@ -1,35 +0,0 @@ -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageCredentials, image -## - -## @param global.imageCredentials Global Docker image registry -## -global: - # The credentials for the docker registry. If username/password/email are specified, a corresponding Secret is created. - imageCredentials: - registry: "" - username: "" - password: "" - email: "" - # The global artifact tag - image: - repository: "vmwblockchain/vmbc-eth-explorer" - tag: "0.0.0.0.7849" - -## Configure the configmap parameters that allows you to link the vmbc explorer installation -## @param blockchainUrl Url to link blockchain with vmbc explorer dashboard -## -blockchainUrl: "" - -## Configure the resources for vmbc dapp deployment -## @param resources Resources for vmbc dapp deployment -## -resources: - # @param explorer VMBC explorer resources - explorer: - cpuLimit: 100m - cpuRequest: 100m - memoryLimit: 1Gi - memoryRequest: 1Gi diff --git a/vmbc-ethereum/permissioning/README.md b/vmbc-ethereum/permissioning/README.md deleted file mode 100644 index 627c3bad2..000000000 --- a/vmbc-ethereum/permissioning/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# Ethereum Permissioning - -In the 1.8 release, VMware Blockchain for Ethereum implements “account permissioning” as a tech preview feature in accordance with the Enterprise Ethereum Alliance (EEA) specifications to provide the necessary tools and granularity to govern actions permitted by accounts on the blockchain. Permissioning in the context of enterprise blockchains is a required feature for our customers as they seek ways to control access to deploy and execute smart contracts running on the blockchain. The account permissioning feature can be enabled during network creation by providing the necessary parameters in the deployment configurations file. The compiled permissioning smart contract and the account(s) that can grant permissions to other addresses should also be included in the genesis file. The “permission admin” user can use a dApp or the permissioning user interface to control which accounts are allowed to send transactions and specify the type of transactions permitted. Types of transaction can be READ, WRITE and DEPLOY permissions to other accounts. The dApp should be the preferred method to grant access to a large number of accounts. - -By default in VMware Blockchain the permissioning feature is disabled. It means anybody can read and write to blockchain. - -## Permissioning Contract -For reference, Permissioning contract is present at `vmware-blockchain-samples/vmbc-ethereum/permissioning/contracts/Permissioning.sol` - -(Note: This contract is provided here just for reference, this contract is pre-deployed in VMware Blockchain for Ethereum, changes to this contract's source code here, will not propogate to VMware Blockchain) - -## Permissioning fields in `values.yaml` - -### Configurable fields -Users can modify the default values in `values.yaml`. All the fields in `genesisBlock` section will be populated as `genesis.json` for VMware Blockchain blockchain. - * **alloc**: List of admin accounts who can provide the permissions to other users. These admin accounts by default have read, write and deploy permissions. This field can be modified during blockchain deployment. - * **permissioningContractBin**: The binary of the permissioning smart contract goes here. User can extend the permissioning smart contract without changing the `checkUserAction` and `constructor` functions. - -### Non-configurable fields - * **permissioningContractAddress**: The permissioning smart contract is pre-deployed during system boot. Note that this field can't be changed. - -## Write Permissioning - -### How to enable write permissioning? - -In `values.yaml`, under "permissioning" section change `ethPermissioningWriteEnabled` value to `true` for write permissioning. -The write permissioning is applicable for both "Contract Deployment" and "Write Transactions" to the Blockchain. - -### How to test write permissioning? - -Follow the steps listed below, Node.js version 14.20 and up is preferred. -```sh -# Change to write authorization dApp -cd vmware-blockchain-samples/vmbc-ethereum/permissioning/sample-dapps/write-authorization - -# Update the .env file with appropriate VMBC_URL Eg: VMBC_URL="http://x.x.x.x:8545" - -# Install dependencies -npm install - -# Run the dApp -node testWrite.js -``` - -## Read Permissioning - -### How to enable read permissioning? - -For read permissioning, we need `vmbc-ethers-extension` which is a modified version of open-source ethersjs. -In `values.yaml`, under `permissioning` section change `ethPermissioningReadEnabled` value to `true` for read permissioning. User has to enable both read and write permissioning to test "read permissioning". - -### How to test read permissioning? -Follow the steps listed below, Node.js version 14.20 and up is preferred. -```sh -# Change directory into the vmbc-ethers-extension library -cd vmware-blockchain-samples/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension - -# Install dependencies for vmbc-ethers-extension library -npm install - -# Change directory to read test dApp -cd vmware-blockchain-samples/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp - -# Update the .env file with appropriate VMBC_URL Eg: VMBC_URL="http://x.x.x.x:8545" - -# Install dependencies -npm install - -# Run the dApp -node testReadWrite.js -``` -#### Details about testReadWrite dApp -- In the testReadWrite.js, enable permissioning flag by calling usePrivatekeyForPermissioning() -- Remember, only admin has the permissions to give permissions to other users, hence for checkPermissions() and addPermissions() functions, you have to use usePrivatekeyForPermissioning(ADMIN_ACCOUNT_PRIVATE_KEY). Other function calls like any read from blockchain or any write to blockchain, you have to use usePrivatekeyForPermissioning(String(accountKeyPair.privateKey)). - - -### Things to Note -1. For read permissioning, user has to use `vmbc-ethers-extension` library -2. The Metamask and remix tools will NOT work as expected. Because Metamask and Remix are NOT using vmbc-ethers.js -3. Json-rpc-provider is the one which we have tested for read permissioning. - -## Authorization GUI -- This is a Sample GUI dApp which can assist you in providing permissioning to any Ethereum account -- To provide a permission to an account, you need to use Admin Account of VMware Blockchain -- The details about default Admin account in VMware Blockchain is as follows, - - Admin Account Address: `0xFB389874FB4e03182A7358275eaf78008775c7ed` - - Admin Account Private Key: `0x5bedcdfdfe7e3d9444b3494eaee4bb9339be4745d7a4f79cd4bde59d3e9e9dcc` -- To use this Admin Account, import this account into Metamask -- Link to more details about Running and Using Authorization GUI is [here](./sample-dapps/authorization-gui/README.md) - -## Troubleshooting Guide -### 1. Permission denied Error -```sh - code: 'SERVER_ERROR', - body: '{"error":{"code":-32060,"data":"evm error, status code: -2","message":"Permission denied"},"id":58,"jsonrpc":"2.0"}', -``` -#### Solution -You have enabled write permissioning. Make sure the ethereum account you are using to send transactions or deploy contract has the WRITE/DEPLOY permission. -### 2. Request Not Signed Error -```sh - code: 'SERVER_ERROR', - body: '{"error":{"code":-32602,"message":"Request not signed"},"id":47,"jsonrpc":"2.0"}', -``` -#### Solution -You have enabled read permissioning. Make sure you are using `vmbc-ethers-extension` in `package.json` example `"@vmware-blockchain/ethers-extension": "file:../integration-library/vmbc-ethers-extension"`. In addition to that check your DAPP, you should call the setSigningKey() API, example `PROVIDER.setSigningKey({readPermissioningKeyOrEnable: privateKey});` and your DAPP should use JSON RPC provider to interact with Blockchain. - -## References -- JSON RPC API - https://ethereum.org/en/developers/docs/apis/json-rpc/ -- JSON RPC Provider Ethers.js - https://docs.ethers.io/v5/api/providers/jsonrpc-provider/ -- Web3 Provider Ethers.js - https://docs.ethers.io/v5/api/providers/other/#Web3Provider diff --git a/vmbc-ethereum/permissioning/contracts/Permissioning.abi b/vmbc-ethereum/permissioning/contracts/Permissioning.abi deleted file mode 100644 index a10e0d45e..000000000 --- a/vmbc-ethereum/permissioning/contracts/Permissioning.abi +++ /dev/null @@ -1,115 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address[]", - "name": "admins", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint8", - "name": "action", - "type": "uint8" - } - ], - "name": "AddPermission", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint8", - "name": "action", - "type": "uint8" - } - ], - "name": "RemovePermission", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8", - "name": "action", - "type": "uint8" - } - ], - "name": "checkUserAction", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8", - "name": "action", - "type": "uint8" - } - ], - "name": "updatePermissions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/vmbc-ethereum/permissioning/contracts/Permissioning.sol b/vmbc-ethereum/permissioning/contracts/Permissioning.sol deleted file mode 100644 index d8d925f70..000000000 --- a/vmbc-ethereum/permissioning/contracts/Permissioning.sol +++ /dev/null @@ -1,85 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Permissioning { - uint admin_count = 0; - - // Permissions are stored as bits - uint8 constant USER_ACTION_READ = 0x1; - uint8 constant USER_ACTION_WRITE = 0x2; - uint8 constant USER_ACTION_DEPLOY = 0x4; - uint8 constant USER_ACTION_ADMIN = 0x8; - - // Events for debugging, the action fields are stored in bits as per the above format - event AddPermission(address indexed _from, address indexed _to, uint8 indexed action); - event RemovePermission(address indexed _from, address indexed _to, uint8 indexed action); - - // Permission maps - mapping(address => uint8) _from_permissions; - mapping(address => uint8) _to_permissions; - mapping(address => mapping(address=>uint8)) _from_to_permissions; - - // Check if the sender is an admin or not - modifier onlyAdmin() { - require(checkPermission(msg.sender, address(0x0), USER_ACTION_ADMIN), "Not an Admin"); - _; - } - - /* -------------------------------------------------------------------------------------------- ** - Function : checkPermission - Description : Check whether the given 'from' address and 'to' address has the given action or not. - Here the actions are combination of permissions (Eg: READ+WRTITE, DEPLOY+READ, ...) - ** -------------------------------------------------------------------------------------------- */ - function checkPermission(address from, address to, uint8 action) internal view returns (bool) { - uint p1 = _from_permissions[from]; - uint p2 = _to_permissions[to]; - uint p3 = _from_to_permissions[from][to]; - return (p1 | p2 | p3) & action == action; - } - - /* -------------------------------------------------------------------------------------------- ** - Function : updatePermissions - Description : This function will be called only by Admin(s). The new permissions will always overwrite - the old permissions. - ** -------------------------------------------------------------------------------------------- */ - function updatePermissions(address from, address to, uint8 action) external onlyAdmin { - if (action == 0) { - emit RemovePermission(from, to, action); - } else { - emit AddPermission(from, to, action); - } - if(from == address(0x0)) { - _to_permissions[to] = action; - } else if (to == address(0x0)) { - _from_permissions[from] = action; - } else { - _from_to_permissions[from][to] = action; - } - } - - /* -------------------------------------------------------------------------------------------- ** - Function : checkUserAction - Description : Check whether the given 'from' address and 'to' address has the given action or not. - Here the actions are combination of permissions (Eg: READ+WRTITE, DEPLOY+READ). - End-user should NOT modify this function at any cost. This function will be called - by the validator (concord). - ** -------------------------------------------------------------------------------------------- */ - function checkUserAction(address from, address to, uint8 action) external view returns(bool) { - return checkPermission(from, to, action); - } - - /* -------------------------------------------------------------------------------------------- ** - Function : constructor - Description : Permissioning contract is a pre-deployed contract. It will be deployed as a 2nd block - right after the genesis block. The list of all the addresses under 'alloc' in genesis.json - will be considered as admins. All these admins will have all the permissions by default - (READ, WRITE, DEPLOY, ADMIN). - ** -------------------------------------------------------------------------------------------- */ - constructor(address[] memory admins) { - require(admins.length > 0, "At least one admin address required"); - for (uint i = 0; i < admins.length; i++) { - _from_permissions[admins[i]] = USER_ACTION_ADMIN | USER_ACTION_READ | USER_ACTION_WRITE | USER_ACTION_DEPLOY; - } - admin_count = admins.length; - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/README.md b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/README.md deleted file mode 100644 index 82a3cab87..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/README.md +++ /dev/null @@ -1,115 +0,0 @@ -# Read/Write Permissioning Sample dApp Ui - -## Features -- Permissioning Configuration - - Provide permissions(READ/WRITE/DEPLOY) to the given Ethereum account -- ERC20 Token Transfer - - By default the deployer will have 1 billion XYZ tokens - - XYZ tokens can be transfered across the accounts - -## Pre-requisites -- VMware Blockchain for Ethereum has been deployed -- Suggested and Supported Stack - - MAC Operating System - - Google Chrome browser - - Metamask Wallet - [https://metamask.io/](https://metamask.io/) -- Setting up Metamask for VMware Blockchain - - Connecting Metamask to VMware Blockchain- [See Appendix](../../../appendix.md#connecting-metamask-to-vmware-blockchain) - - Reset Metamask Accounts - [See Appendix](../../../appendix.md#resetting-account-in-metamask) - -## Running dApp -There are two ways to run this dApp - -### Command Line Based -- This option is only supported for MAC Operating System -- Execute following commands to run the dApp through command line -- At command line, this app defaults to port `5200` - -```sh -# Change to Source Directory of authorization gui dApp -cd vmware-blockchain-samples/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source - -# Install the dependencies -npm install --legacy-peer-deps - -# Export the VMBC_URL to the URL of deployed instance of VMware Blockchain -export VMBC_URL=http://127.0.0.1:8545 - -# Run the dApp -npm run start -``` -Then navigate to `http://localhost:5200/`. - -### Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. - -## Permissioning UI - -We have two projects inside the permissioning ui. The first is the permissioning config and the second one is the ERC20 test dapp. The permissioning config is used to give addresses permission to read, write and/or deploy in the blockchain. The ERC20 test dapp is a normal ERC20 dapp that is used to show the capabilities of permissioning. - -## Metamask - -Make sure you are connected to the right VMBC URL through metmask. - -## Permissioning Config - -Note: The project has to be built and deployed using `npm run start`. Then navigate to `http://localhost:5200/`. - -Inorder to use the permissioning config there are a few steps. - -Prerequiste: Current metamask account needs to be the admin account. - -1. The admin account is the only account that is able to give READ, WRITE or DEPLOY permission to an address. Make sure your Metamask is connected to VMBC URL and the current account is the admin account. -2. Provide an address in the "From Address" input field. -3. You can click the "CHECK PERMISSIONS" button to check the current permissions of the provided address. -4. Inorder to give a permission to the address make sure the checkbox is checked on the permission. Then click the "SET PERMISSIONS" button. Metamask will popup and hit approve then you should see a message that shows the transaction was successfull. -5. Click "CHECK PERMISSIONS" again to see if the address has the correct permissions. -6. To remove a permission make sure the checkbox for the permission is unchecked then hit the "SET PERMISSIONS" button. - -### Troubleshooting - -Failed Transaction: If you get a failed transaction message, check the data. -* If you see the error message "Not an Admin" make sure the metamask account that is currently being used is an admin account. - - -## ERC20 Test dApp - Write Enabled - -Note: The project has to be built and deployed using `npm run start`. Then navigate to `http://localhost:5200/`. - -Inorder to use the ERC20 Test dApp there are a few steps we need to follow. You would need an ERC20 contract. You need to deploy it then use it's contract address inside of the ERC20 Test dApp. - -1. Give the address that you'll be using to deploy the ERC20 contract permission to deploy. You can do this through the Permissioning Config ui. -2. Deploy any ERC20 Smart Contract on VMware Blockchain blockchian(Same blockchain metmask is connected to) using the address that was given permision to deploy. -3. Copy contract address and provide it in variable "contractAddress" found in src/app/dapp/dapp.component.ts. -4. Save file and run ng serve. -5. Navigate to ERC20 Test dApp found on the left pane. -Note: The From Adress is taken from your current metmask account and the contract address is the ERC20 Smart Contract address deployed in step 2. -6. Using the permissioning config give the from address write permission. -7. The "Get Token Balance" button allows you to check the balance of the current user(From Address/Current Metamask Acoount). -8. The Transfer Tokens button enables you to send ERC20 tokens to the address provided in the "To Address" input field. Click the transfer button metamask pops up the click approve. - -### Troubleshooting - -Failed Transaction: If you get a failed transaction message, check the message and data. - * If it says "Permission denied", this means you didnt give your current address write permission(got to step 6). - * If it says "ERC20: transfer amount exceeds balance", the current address doesn't have enough tokens. - -## ERC20 Test dApp - Write Disabled - -Note: The project has to be built and deployed using `npm run start`. Then navigate to `http://localhost:5200/`. - -Inorder to use the ERC20 Test dApp there are a few steps we need to follow. You would need an ERC20 contract. You need to deploy it then use it's contract address inside of the ERC20 Test dApp. - -1. Deploy any ERC20 Smart Contract on VMware Blockchain blockchian(Same blockchain metmask is connected to) -2. Copy contract address and provide it in variable "contractAddress" found in src/app/dapp/dapp.component.ts. -3. Save file and run ng serve. -4. Navigate to ERC20 Test dApp found on the left pane. -Note: The From Adress is taken from your current metmask account and the contract address is the ERC20 Smart Contract address deployed in step 1. -5. The Get Token Balance button allows you to check the balance of the current user(From Address/Current Metamask Acoount) -6. The Transfer Tokens button enables you to send ERC20 tokens to the address provided in the "To Address" input field. Click the transfer button metamask pops up the click approve. - -### Troubleshooting - -Failed Transaction: If you get a failed transaction message, check the message and data. - * If it says "ERC20: transfer amount exceeds balance", the current address doesn't have enough tokens. diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/Chart.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/Chart.yaml deleted file mode 100644 index f146968f8..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: vmbc-permissioning -description: A Helm chart for vmbc permissioning dapp -type: application -version: 0.1.0 -appVersion: "1.16.0" \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/README.md b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/README.md deleted file mode 100644 index 2e881a020..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/README.md +++ /dev/null @@ -1,47 +0,0 @@ -## Host system pre-requisites - ``` - kubectl ( https://kubernetes.io/docs/tasks/tools/ ) - helm chart ( https://helm.sh/docs/intro/install/ ) - (optional) minikube (https://minikube.sigs.k8s.io/docs/start/) - (optional) eksctl (https://eksctl.io/) - ``` - -### Deploy VMware Blockchain permissioning-ui dapp - - Deployment with parameters - ```sh - helm install {name-of-your-choice} . --set global.imageCredentials.registry={registry} --set global.imageCredentials.username={username} --set global.imageCredentials.password={password} --set blockchainUrl={blockchainURL} - ``` - - - Access VMware Blockchain permissioning dapp webpage using service url - - Minikube - ```sh - minikube service {name-of-your-choice}-service - ``` - - EKS - ```sh - kubectl get service {name-of-your-choice}-service - ``` - -### Remove VMware Blockchain permissioning dapp ( optional ) - ```sh - helm uninstall {name-of-your-choice} - ``` - -## VMware Blockchain permissioning dapp deployment configurations - - List of configurations available for VMware Blockchain permissioning dapp deployment. Use "--set" param for setting up the params. - -| Name | Description | Value | Type | -|----------------------------------|---------------------------------------------------|------------------------------|-----------| -| global.imageCredentials.registry | Url to download vmbc permissioning dapp | "" | Mandatory | -| global.imageCredentials.username | Username to access/download vmbc permissioning dapp | "" | Mandatory | -| global.imageCredentials.password | Password to access/download vmbc permissioning dapp | "" | Mandatory | -| global.imageCredentials.email | Email to access/download vmbc permissioning dapp | "" | Optional | -| global.image.repository | Image name to download for vmbc permissioning dapp | vmwblockchain/vmbc-eth-artemis | Optional | -| global.image.tag | Tag version to download vmbc permissioning dapp | 0.0.0.0.7849 | Optional | -| blockchainUrl | Url to link blockchain with vmbc permissioning dapp webpage | "" | Mandatory | -| resources.permissioning.cpuLimit | CPU limit | 1000m | Optional | -| resources.permissioning.cpuRequest | CPU request | 100m | Optional | -| resources.permissioning.meomoryLimit | Memory limit | 2Gi | Optional | -| resources.permissioning.meomoryRequest | Memory request | 1Gi | Optional | diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/_helpers.tpl b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/_helpers.tpl deleted file mode 100644 index 0b88eb915..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/_helpers.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -Return the service & deployment port link -*/}} -{{- define "common.serviceDeploymentPort" -}} -{{- 3000 -}} -{{- end -}} - -{{/* -Return the proper image name from the info provided in .Values.global.imageCredentials & .Values.global.image -*/}} -{{- define "common.image" -}} -{{- $registryName := required "registry field is mandatory" .Values.global.imageCredentials.registry -}} -{{- $repositoryName := .Values.global.image.repository -}} -{{- $tag := required "tag field is mandatory" .Values.global.image.tag | toString -}} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} - -{{/* -Create an imagePullSecret from the info provided in .Values.imageCredentials -Create the dockerconfigjson entry. Need to go through these hoops because the password may contain single/double quotes -which cause problems for Helm with the usual approach described here: -https://helm.sh/docs/howto/charts_tips_and_tricks/#creating-image-pull-secrets -Usage: include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) -*/}} -{{- define "common.docker.config.json" }} -{{- $registry := required "registry field is mandatory" .imageCredentials.registry }} -{{- $username := required "username field is mandatory" .imageCredentials.username }} -{{- $password := required "password field is mandatory" .imageCredentials.password }} -{{- $email := .imageCredentials.email }} -{{- $encodedAuth := printf "%s:%s" $username $password | b64enc }} -{{- $escapedPassword := $password | replace `"` `\"` }} -{{- $dockerConfigJson := printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" $registry $username $escapedPassword $email $encodedAuth | b64enc }} -{{- print $dockerConfigJson }} -{{- end }} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-configmap.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-configmap.yaml deleted file mode 100644 index 35d46b22b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-configmap.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ .Release.Name }}-configmap -data: - VMBC_URL: {{ required "blockchainUrl field is mandatory" .Values.blockchainUrl }} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-deployment.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-deployment.yaml deleted file mode 100644 index 87672bfed..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-deployment.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ .Release.Name }}-deployment - labels: - app: {{ .Release.Name }} -spec: - replicas: 1 - selector: - matchLabels: - app: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ .Release.Name }} - spec: - containers: - - name: {{ .Release.Name }} - image: {{ include "common.image" . }} - imagePullPolicy: IfNotPresent - ports: - - containerPort: {{ include "common.serviceDeploymentPort" . }} - env: - - name: VMBC_CHAIN_ID - value: "5000" - - name: VMBC_URL - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: VMBC_URL - resources: - limits: - cpu: "{{ .Values.resources.permissioning.cpuLimit }}" - memory: "{{ .Values.resources.permissioning.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.permissioning.cpuRequest }}" - memory: "{{ .Values.resources.permissioning.memoryRequest }}" - imagePullSecrets: - - name: {{ .Release.Name }}-regcred - restartPolicy: Always \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-secret.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-secret.yaml deleted file mode 100644 index e5593114a..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-regcred -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) }} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-service.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-service.yaml deleted file mode 100644 index 74a4a7817..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/templates/dapp-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Release.Name }}-service -spec: - selector: - app: {{ .Release.Name }} - ports: - - protocol: TCP - port: 80 - targetPort: {{ include "common.serviceDeploymentPort" . }} - type: LoadBalancer \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/values.yaml b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/values.yaml deleted file mode 100644 index 830a796d8..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/helm/values.yaml +++ /dev/null @@ -1,35 +0,0 @@ -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageCredentials -## - -## @param global.imageCredentials Global Docker image registry -## -global: - # The credentials for the docker registry. If username/password/email are specified, a corresponding Secret is created. - imageCredentials: - registry: "" - username: "" - password: "" - email: "" - # The global artifact tag - image: - repository: "vmwblockchain/vmbc-eth-permissioning-ui" - tag: "0.0.0.0.7849" - -## Configure the configmap parameters that allows you to link the vmbc permissioning dapp installation -## @param blockchainUrl Url to link blockchain with vmbc permissioning dapp webpage -## -blockchainUrl: "" - -## Configure the resources for vmbc permissioning dapp deployment -## @param resources Resources for vmbc permissioning dapp deployment -## -resources: - # @param permissioning VMBC permissioning dapp resources - permissioning: - cpuLimit: 1000m - cpuRequest: 100m - memoryLimit: 2Gi - memoryRequest: 1Gi diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/Dockerfile b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/Dockerfile deleted file mode 100644 index 6daebf9b5..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# From Alpine 3.14 as the Base Image -FROM athena-docker-local.artifactory.eng.vmware.com/node:14-alpine - -LABEL description="Ethereum Sample DApp: Permissioning" - -COPY . /workspace/permissioning - -WORKDIR /workspace/permissioning - -RUN apk add git rsync -RUN npm install --registry=http://build-artifactory.eng.vmware.com:80/artifactory/api/npm/npm - -# Enviroinment Variables -ENV VMBC_CHAIN_ID=5000 -ENV VMBC_URL=http://host.docker.internal:8545 - -# Expose Ports -EXPOSE 4300 - -CMD ./run.sh \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/angular.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/angular.json deleted file mode 100644 index 764fdb826..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/angular.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "cli": { - "analytics": false - }, - "version": 1, - "newProjectRoot": "projects", - "projects": { - "permissioning": { - "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - }, - "@schematics/angular:application": { - "strict": true - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist/permissioning", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.app.json", - "inlineStyleLanguage": "scss", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "node_modules/@clr/icons/clr-icons.min.css", - "node_modules/@clr/ui/clr-ui.min.css", - "src/styles.scss" - ], - "scripts": [ - "node_modules/@clr/icons/clr-icons.min.js" - ], - "allowedCommonJsDependencies": [ - "web3", - "@ethersproject/signing-key" - ] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "4mb", - "maximumError": "8mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" - } - ], - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "outputHashing": "all" - }, - "development": { - "buildOptimizer": false, - "optimization": false, - "vendorChunk": true, - "extractLicenses": false, - "sourceMap": true, - "namedChunks": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "browserTarget": "permissioning:build:production" - }, - "development": { - "browserTarget": "permissioning:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "permissioning:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "inlineStyleLanguage": "scss", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [] - } - } - } - } - }, - "defaultProject": "permissioning" -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/build-info/19855d79f8612fb6a990edc5728bd873.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/build-info/19855d79f8612fb6a990edc5728bd873.json deleted file mode 100644 index a8ababfb3..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/build-info/19855d79f8612fb6a990edc5728bd873.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"19855d79f8612fb6a990edc5728bd873","_format":"hh-sol-build-info-1","solcVersion":"0.8.9","solcLongVersion":"0.8.9+commit.e5eed63a","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, allowance(owner, spender) + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = allowance(owner, spender);\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by\n // decrementing then incrementing.\n _balances[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n unchecked {\n // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.\n _balances[account] += amount;\n }\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n // Overflow not possible: amount <= accountBalance <= totalSupply.\n _totalSupply -= amount;\n }\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n"},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n"},"contracts/@openzeppelin/contracts/access/AccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(account),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (access/AccessControlCrossChain.sol)\n\npragma solidity ^0.8.4;\n\nimport \"./AccessControl.sol\";\nimport \"../crosschain/CrossChainEnabled.sol\";\n\n/**\n * @dev An extension to {AccessControl} with support for cross-chain access management.\n * For each role, is extension implements an equivalent \"aliased\" role that is used for\n * restricting calls originating from other chains.\n *\n * For example, if a function `myFunction` is protected by `onlyRole(SOME_ROLE)`, and\n * if an address `x` has role `SOME_ROLE`, it would be able to call `myFunction` directly.\n * A wallet or contract at the same address on another chain would however not be able\n * to call this function. In order to do so, it would require to have the role\n * `_crossChainRoleAlias(SOME_ROLE)`.\n *\n * This aliasing is required to protect against multiple contracts living at the same\n * address on different chains but controlled by conflicting entities.\n *\n * _Available since v4.6._\n */\nabstract contract AccessControlCrossChain is AccessControl, CrossChainEnabled {\n bytes32 public constant CROSSCHAIN_ALIAS = keccak256(\"CROSSCHAIN_ALIAS\");\n\n /**\n * @dev See {AccessControl-_checkRole}.\n */\n function _checkRole(bytes32 role) internal view virtual override {\n if (_isCrossChain()) {\n _checkRole(_crossChainRoleAlias(role), _crossChainSender());\n } else {\n super._checkRole(role);\n }\n }\n\n /**\n * @dev Returns the aliased role corresponding to `role`.\n */\n function _crossChainRoleAlias(bytes32 role) internal pure virtual returns (bytes32) {\n return role ^ CROSSCHAIN_ALIAS;\n }\n}\n"},"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControlEnumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControlEnumerable.sol\";\nimport \"./AccessControl.sol\";\nimport \"../utils/structs/EnumerableSet.sol\";\n\n/**\n * @dev Extension of {AccessControl} that allows enumerating the members of each role.\n */\nabstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl {\n using EnumerableSet for EnumerableSet.AddressSet;\n\n mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers;\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControlEnumerable).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns one of the accounts that have `role`. `index` must be a\n * value between 0 and {getRoleMemberCount}, non-inclusive.\n *\n * Role bearers are not sorted in any particular way, and their ordering may\n * change at any point.\n *\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n * you perform all queries on the same block. See the following\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n * for more information.\n */\n function getRoleMember(bytes32 role, uint256 index) public view virtual override returns (address) {\n return _roleMembers[role].at(index);\n }\n\n /**\n * @dev Returns the number of accounts that have `role`. Can be used\n * together with {getRoleMember} to enumerate all bearers of a role.\n */\n function getRoleMemberCount(bytes32 role) public view virtual override returns (uint256) {\n return _roleMembers[role].length();\n }\n\n /**\n * @dev Overload {_grantRole} to track enumerable memberships\n */\n function _grantRole(bytes32 role, address account) internal virtual override {\n super._grantRole(role, account);\n _roleMembers[role].add(account);\n }\n\n /**\n * @dev Overload {_revokeRole} to track enumerable memberships\n */\n function _revokeRole(bytes32 role, address account) internal virtual override {\n super._revokeRole(role, account);\n _roleMembers[role].remove(account);\n }\n}\n"},"contracts/@openzeppelin/contracts/access/IAccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n"},"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\n\n/**\n * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.\n */\ninterface IAccessControlEnumerable is IAccessControl {\n /**\n * @dev Returns one of the accounts that have `role`. `index` must be a\n * value between 0 and {getRoleMemberCount}, non-inclusive.\n *\n * Role bearers are not sorted in any particular way, and their ordering may\n * change at any point.\n *\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n * you perform all queries on the same block. See the following\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n * for more information.\n */\n function getRoleMember(bytes32 role, uint256 index) external view returns (address);\n\n /**\n * @dev Returns the number of accounts that have `role`. Can be used\n * together with {getRoleMember} to enumerate all bearers of a role.\n */\n function getRoleMemberCount(bytes32 role) external view returns (uint256);\n}\n"},"contracts/@openzeppelin/contracts/access/Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n"},"contracts/@openzeppelin/contracts/access/Ownable2Step.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (access/Ownable2Step.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./Ownable.sol\";\n\n/**\n * @dev Contract module which provides access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership} and {acceptOwnership}.\n *\n * This module is used through inheritance. It will make available all functions\n * from parent (Ownable).\n */\nabstract contract Ownable2Step is Ownable {\n address private _pendingOwner;\n\n event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Returns the address of the pending owner.\n */\n function pendingOwner() public view virtual returns (address) {\n return _pendingOwner;\n }\n\n /**\n * @dev Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one.\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual override onlyOwner {\n _pendingOwner = newOwner;\n emit OwnershipTransferStarted(owner(), newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner.\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual override {\n delete _pendingOwner;\n super._transferOwnership(newOwner);\n }\n\n /**\n * @dev The new owner accepts the ownership transfer.\n */\n function acceptOwnership() external {\n address sender = _msgSender();\n require(pendingOwner() == sender, \"Ownable2Step: caller is not the new owner\");\n _transferOwnership(sender);\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/amb/CrossChainEnabledAMB.sol)\n\npragma solidity ^0.8.4;\n\nimport \"../CrossChainEnabled.sol\";\nimport \"./LibAMB.sol\";\n\n/**\n * @dev https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB]\n * specialization or the {CrossChainEnabled} abstraction.\n *\n * As of february 2020, AMB bridges are available between the following chains:\n *\n * - https://docs.tokenbridge.net/eth-xdai-amb-bridge/about-the-eth-xdai-amb[ETH ⇌ xDai]\n * - https://docs.tokenbridge.net/eth-qdai-bridge/about-the-eth-qdai-amb[ETH ⇌ qDai]\n * - https://docs.tokenbridge.net/eth-etc-amb-bridge/about-the-eth-etc-amb[ETH ⇌ ETC]\n * - https://docs.tokenbridge.net/eth-bsc-amb/about-the-eth-bsc-amb[ETH ⇌ BSC]\n * - https://docs.tokenbridge.net/eth-poa-amb-bridge/about-the-eth-poa-amb[ETH ⇌ POA]\n * - https://docs.tokenbridge.net/bsc-xdai-amb/about-the-bsc-xdai-amb[BSC ⇌ xDai]\n * - https://docs.tokenbridge.net/poa-xdai-amb/about-the-poa-xdai-amb[POA ⇌ xDai]\n * - https://docs.tokenbridge.net/rinkeby-xdai-amb-bridge/about-the-rinkeby-xdai-amb[Rinkeby ⇌ xDai]\n * - https://docs.tokenbridge.net/kovan-sokol-amb-bridge/about-the-kovan-sokol-amb[Kovan ⇌ Sokol]\n *\n * _Available since v4.6._\n */\ncontract CrossChainEnabledAMB is CrossChainEnabled {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable _bridge;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor(address bridge) {\n _bridge = bridge;\n }\n\n /**\n * @dev see {CrossChainEnabled-_isCrossChain}\n */\n function _isCrossChain() internal view virtual override returns (bool) {\n return LibAMB.isCrossChain(_bridge);\n }\n\n /**\n * @dev see {CrossChainEnabled-_crossChainSender}\n */\n function _crossChainSender() internal view virtual override onlyCrossChain returns (address) {\n return LibAMB.crossChainSender(_bridge);\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/amb/LibAMB.sol)\n\npragma solidity ^0.8.4;\n\nimport {IAMB as AMB_Bridge} from \"../../vendor/amb/IAMB.sol\";\nimport \"../errors.sol\";\n\n/**\n * @dev Primitives for cross-chain aware contracts using the\n * https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB]\n * family of bridges.\n */\nlibrary LibAMB {\n /**\n * @dev Returns whether the current function call is the result of a\n * cross-chain message relayed by `bridge`.\n */\n function isCrossChain(address bridge) internal view returns (bool) {\n return msg.sender == bridge;\n }\n\n /**\n * @dev Returns the address of the sender that triggered the current\n * cross-chain message through `bridge`.\n *\n * NOTE: {isCrossChain} should be checked before trying to recover the\n * sender, as it will revert with `NotCrossChainCall` if the current\n * function call is not the result of a cross-chain message.\n */\n function crossChainSender(address bridge) internal view returns (address) {\n if (!isCrossChain(bridge)) revert NotCrossChainCall();\n return AMB_Bridge(bridge).messageSender();\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol)\n\npragma solidity ^0.8.4;\n\nimport \"../CrossChainEnabled.sol\";\nimport \"./LibArbitrumL1.sol\";\n\n/**\n * @dev https://arbitrum.io/[Arbitrum] specialization or the\n * {CrossChainEnabled} abstraction the L1 side (mainnet).\n *\n * This version should only be deployed on L1 to process cross-chain messages\n * originating from L2. For the other side, use {CrossChainEnabledArbitrumL2}.\n *\n * The bridge contract is provided and maintained by the arbitrum team. You can\n * find the address of this contract on the rinkeby testnet in\n * https://developer.offchainlabs.com/docs/useful_addresses[Arbitrum's developer documentation].\n *\n * _Available since v4.6._\n */\nabstract contract CrossChainEnabledArbitrumL1 is CrossChainEnabled {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable _bridge;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor(address bridge) {\n _bridge = bridge;\n }\n\n /**\n * @dev see {CrossChainEnabled-_isCrossChain}\n */\n function _isCrossChain() internal view virtual override returns (bool) {\n return LibArbitrumL1.isCrossChain(_bridge);\n }\n\n /**\n * @dev see {CrossChainEnabled-_crossChainSender}\n */\n function _crossChainSender() internal view virtual override onlyCrossChain returns (address) {\n return LibArbitrumL1.crossChainSender(_bridge);\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol)\n\npragma solidity ^0.8.4;\n\nimport \"../CrossChainEnabled.sol\";\nimport \"./LibArbitrumL2.sol\";\n\n/**\n * @dev https://arbitrum.io/[Arbitrum] specialization or the\n * {CrossChainEnabled} abstraction the L2 side (arbitrum).\n *\n * This version should only be deployed on L2 to process cross-chain messages\n * originating from L1. For the other side, use {CrossChainEnabledArbitrumL1}.\n *\n * Arbitrum L2 includes the `ArbSys` contract at a fixed address. Therefore,\n * this specialization of {CrossChainEnabled} does not include a constructor.\n *\n * _Available since v4.6._\n *\n * WARNING: There is currently a bug in Arbitrum that causes this contract to\n * fail to detect cross-chain calls when deployed behind a proxy. This will be\n * fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for\n * August 31st 2022.\n */\nabstract contract CrossChainEnabledArbitrumL2 is CrossChainEnabled {\n /**\n * @dev see {CrossChainEnabled-_isCrossChain}\n */\n function _isCrossChain() internal view virtual override returns (bool) {\n return LibArbitrumL2.isCrossChain(LibArbitrumL2.ARBSYS);\n }\n\n /**\n * @dev see {CrossChainEnabled-_crossChainSender}\n */\n function _crossChainSender() internal view virtual override onlyCrossChain returns (address) {\n return LibArbitrumL2.crossChainSender(LibArbitrumL2.ARBSYS);\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (crosschain/arbitrum/LibArbitrumL1.sol)\n\npragma solidity ^0.8.4;\n\nimport {IBridge as ArbitrumL1_Bridge} from \"../../vendor/arbitrum/IBridge.sol\";\nimport {IOutbox as ArbitrumL1_Outbox} from \"../../vendor/arbitrum/IOutbox.sol\";\nimport \"../errors.sol\";\n\n/**\n * @dev Primitives for cross-chain aware contracts for\n * https://arbitrum.io/[Arbitrum].\n *\n * This version should only be used on L1 to process cross-chain messages\n * originating from L2. For the other side, use {LibArbitrumL2}.\n */\nlibrary LibArbitrumL1 {\n /**\n * @dev Returns whether the current function call is the result of a\n * cross-chain message relayed by the `bridge`.\n */\n function isCrossChain(address bridge) internal view returns (bool) {\n return msg.sender == bridge;\n }\n\n /**\n * @dev Returns the address of the sender that triggered the current\n * cross-chain message through the `bridge`.\n *\n * NOTE: {isCrossChain} should be checked before trying to recover the\n * sender, as it will revert with `NotCrossChainCall` if the current\n * function call is not the result of a cross-chain message.\n */\n function crossChainSender(address bridge) internal view returns (address) {\n if (!isCrossChain(bridge)) revert NotCrossChainCall();\n\n address sender = ArbitrumL1_Outbox(ArbitrumL1_Bridge(bridge).activeOutbox()).l2ToL1Sender();\n require(sender != address(0), \"LibArbitrumL1: system messages without sender\");\n\n return sender;\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (crosschain/arbitrum/LibArbitrumL2.sol)\n\npragma solidity ^0.8.4;\n\nimport {IArbSys as ArbitrumL2_Bridge} from \"../../vendor/arbitrum/IArbSys.sol\";\nimport \"../errors.sol\";\n\n/**\n * @dev Primitives for cross-chain aware contracts for\n * https://arbitrum.io/[Arbitrum].\n *\n * This version should only be used on L2 to process cross-chain messages\n * originating from L1. For the other side, use {LibArbitrumL1}.\n *\n * WARNING: There is currently a bug in Arbitrum that causes this contract to\n * fail to detect cross-chain calls when deployed behind a proxy. This will be\n * fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for\n * August 31st 2022.\n */\nlibrary LibArbitrumL2 {\n /**\n * @dev Returns whether the current function call is the result of a\n * cross-chain message relayed by `arbsys`.\n */\n address public constant ARBSYS = 0x0000000000000000000000000000000000000064;\n\n function isCrossChain(address arbsys) internal view returns (bool) {\n return ArbitrumL2_Bridge(arbsys).wasMyCallersAddressAliased();\n }\n\n /**\n * @dev Returns the address of the sender that triggered the current\n * cross-chain message through `arbsys`.\n *\n * NOTE: {isCrossChain} should be checked before trying to recover the\n * sender, as it will revert with `NotCrossChainCall` if the current\n * function call is not the result of a cross-chain message.\n */\n function crossChainSender(address arbsys) internal view returns (address) {\n if (!isCrossChain(arbsys)) revert NotCrossChainCall();\n\n return ArbitrumL2_Bridge(arbsys).myCallersAddressWithoutAliasing();\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (crosschain/CrossChainEnabled.sol)\n\npragma solidity ^0.8.4;\n\nimport \"./errors.sol\";\n\n/**\n * @dev Provides information for building cross-chain aware contracts. This\n * abstract contract provides accessors and modifiers to control the execution\n * flow when receiving cross-chain messages.\n *\n * Actual implementations of cross-chain aware contracts, which are based on\n * this abstraction, will have to inherit from a bridge-specific\n * specialization. Such specializations are provided under\n * `crosschain//CrossChainEnabled.sol`.\n *\n * _Available since v4.6._\n */\nabstract contract CrossChainEnabled {\n /**\n * @dev Throws if the current function call is not the result of a\n * cross-chain execution.\n */\n modifier onlyCrossChain() {\n if (!_isCrossChain()) revert NotCrossChainCall();\n _;\n }\n\n /**\n * @dev Throws if the current function call is not the result of a\n * cross-chain execution initiated by `account`.\n */\n modifier onlyCrossChainSender(address expected) {\n address actual = _crossChainSender();\n if (expected != actual) revert InvalidCrossChainSender(actual, expected);\n _;\n }\n\n /**\n * @dev Returns whether the current function call is the result of a\n * cross-chain message.\n */\n function _isCrossChain() internal view virtual returns (bool);\n\n /**\n * @dev Returns the address of the sender of the cross-chain message that\n * triggered the current function call.\n *\n * IMPORTANT: Should revert with `NotCrossChainCall` if the current function\n * call is not the result of a cross-chain message.\n */\n function _crossChainSender() internal view virtual returns (address);\n}\n"},"contracts/@openzeppelin/contracts/crosschain/errors.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (crosschain/errors.sol)\n\npragma solidity ^0.8.4;\n\nerror NotCrossChainCall();\nerror InvalidCrossChainSender(address actual, address expected);\n"},"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/optimism/CrossChainEnabledOptimism.sol)\n\npragma solidity ^0.8.4;\n\nimport \"../CrossChainEnabled.sol\";\nimport \"./LibOptimism.sol\";\n\n/**\n * @dev https://www.optimism.io/[Optimism] specialization or the\n * {CrossChainEnabled} abstraction.\n *\n * The messenger (`CrossDomainMessenger`) contract is provided and maintained by\n * the optimism team. You can find the address of this contract on mainnet and\n * kovan in the https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts/deployments[deployments section of Optimism monorepo].\n *\n * _Available since v4.6._\n */\nabstract contract CrossChainEnabledOptimism is CrossChainEnabled {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable _messenger;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor(address messenger) {\n _messenger = messenger;\n }\n\n /**\n * @dev see {CrossChainEnabled-_isCrossChain}\n */\n function _isCrossChain() internal view virtual override returns (bool) {\n return LibOptimism.isCrossChain(_messenger);\n }\n\n /**\n * @dev see {CrossChainEnabled-_crossChainSender}\n */\n function _crossChainSender() internal view virtual override onlyCrossChain returns (address) {\n return LibOptimism.crossChainSender(_messenger);\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/optimism/LibOptimism.sol)\n\npragma solidity ^0.8.4;\n\nimport {ICrossDomainMessenger as Optimism_Bridge} from \"../../vendor/optimism/ICrossDomainMessenger.sol\";\nimport \"../errors.sol\";\n\n/**\n * @dev Primitives for cross-chain aware contracts for https://www.optimism.io/[Optimism].\n * See the https://community.optimism.io/docs/developers/bridge/messaging/#accessing-msg-sender[documentation]\n * for the functionality used here.\n */\nlibrary LibOptimism {\n /**\n * @dev Returns whether the current function call is the result of a\n * cross-chain message relayed by `messenger`.\n */\n function isCrossChain(address messenger) internal view returns (bool) {\n return msg.sender == messenger;\n }\n\n /**\n * @dev Returns the address of the sender that triggered the current\n * cross-chain message through `messenger`.\n *\n * NOTE: {isCrossChain} should be checked before trying to recover the\n * sender, as it will revert with `NotCrossChainCall` if the current\n * function call is not the result of a cross-chain message.\n */\n function crossChainSender(address messenger) internal view returns (address) {\n if (!isCrossChain(messenger)) revert NotCrossChainCall();\n\n return Optimism_Bridge(messenger).xDomainMessageSender();\n }\n}\n"},"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (crosschain/polygon/CrossChainEnabledPolygonChild.sol)\n\npragma solidity ^0.8.4;\n\nimport \"../CrossChainEnabled.sol\";\nimport \"../../security/ReentrancyGuard.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../vendor/polygon/IFxMessageProcessor.sol\";\n\naddress constant DEFAULT_SENDER = 0x000000000000000000000000000000000000dEaD;\n\n/**\n * @dev https://polygon.technology/[Polygon] specialization or the\n * {CrossChainEnabled} abstraction the child side (polygon/mumbai).\n *\n * This version should only be deployed on child chain to process cross-chain\n * messages originating from the parent chain.\n *\n * The fxChild contract is provided and maintained by the polygon team. You can\n * find the address of this contract polygon and mumbai in\n * https://docs.polygon.technology/docs/develop/l1-l2-communication/fx-portal/#contract-addresses[Polygon's Fx-Portal documentation].\n *\n * _Available since v4.6._\n */\nabstract contract CrossChainEnabledPolygonChild is IFxMessageProcessor, CrossChainEnabled, ReentrancyGuard {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable _fxChild;\n address private _sender = DEFAULT_SENDER;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor(address fxChild) {\n _fxChild = fxChild;\n }\n\n /**\n * @dev see {CrossChainEnabled-_isCrossChain}\n */\n function _isCrossChain() internal view virtual override returns (bool) {\n return msg.sender == _fxChild;\n }\n\n /**\n * @dev see {CrossChainEnabled-_crossChainSender}\n */\n function _crossChainSender() internal view virtual override onlyCrossChain returns (address) {\n return _sender;\n }\n\n /**\n * @dev External entry point to receive and relay messages originating\n * from the fxChild.\n *\n * Non-reentrancy is crucial to avoid a cross-chain call being able\n * to impersonate anyone by just looping through this with user-defined\n * arguments.\n *\n * Note: if _fxChild calls any other function that does a delegate-call,\n * then security could be compromised.\n */\n function processMessageFromRoot(\n uint256, /* stateId */\n address rootMessageSender,\n bytes calldata data\n ) external override nonReentrant {\n if (!_isCrossChain()) revert NotCrossChainCall();\n\n _sender = rootMessageSender;\n Address.functionDelegateCall(address(this), data, \"cross-chain execution failed\");\n _sender = DEFAULT_SENDER;\n }\n}\n"},"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (finance/PaymentSplitter.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/utils/SafeERC20.sol\";\nimport \"../utils/Address.sol\";\nimport \"../utils/Context.sol\";\n\n/**\n * @title PaymentSplitter\n * @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware\n * that the Ether will be split in this way, since it is handled transparently by the contract.\n *\n * The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each\n * account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim\n * an amount proportional to the percentage of total shares they were assigned. The distribution of shares is set at the\n * time of contract deployment and can't be updated thereafter.\n *\n * `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the\n * accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release}\n * function.\n *\n * NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and\n * tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you\n * to run tests before sending real value to this contract.\n */\ncontract PaymentSplitter is Context {\n event PayeeAdded(address account, uint256 shares);\n event PaymentReleased(address to, uint256 amount);\n event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount);\n event PaymentReceived(address from, uint256 amount);\n\n uint256 private _totalShares;\n uint256 private _totalReleased;\n\n mapping(address => uint256) private _shares;\n mapping(address => uint256) private _released;\n address[] private _payees;\n\n mapping(IERC20 => uint256) private _erc20TotalReleased;\n mapping(IERC20 => mapping(address => uint256)) private _erc20Released;\n\n /**\n * @dev Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at\n * the matching position in the `shares` array.\n *\n * All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no\n * duplicates in `payees`.\n */\n constructor(address[] memory payees, uint256[] memory shares_) payable {\n require(payees.length == shares_.length, \"PaymentSplitter: payees and shares length mismatch\");\n require(payees.length > 0, \"PaymentSplitter: no payees\");\n\n for (uint256 i = 0; i < payees.length; i++) {\n _addPayee(payees[i], shares_[i]);\n }\n }\n\n /**\n * @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully\n * reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the\n * reliability of the events, and not the actual splitting of Ether.\n *\n * To learn more about this see the Solidity documentation for\n * https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback\n * functions].\n */\n receive() external payable virtual {\n emit PaymentReceived(_msgSender(), msg.value);\n }\n\n /**\n * @dev Getter for the total shares held by payees.\n */\n function totalShares() public view returns (uint256) {\n return _totalShares;\n }\n\n /**\n * @dev Getter for the total amount of Ether already released.\n */\n function totalReleased() public view returns (uint256) {\n return _totalReleased;\n }\n\n /**\n * @dev Getter for the total amount of `token` already released. `token` should be the address of an IERC20\n * contract.\n */\n function totalReleased(IERC20 token) public view returns (uint256) {\n return _erc20TotalReleased[token];\n }\n\n /**\n * @dev Getter for the amount of shares held by an account.\n */\n function shares(address account) public view returns (uint256) {\n return _shares[account];\n }\n\n /**\n * @dev Getter for the amount of Ether already released to a payee.\n */\n function released(address account) public view returns (uint256) {\n return _released[account];\n }\n\n /**\n * @dev Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an\n * IERC20 contract.\n */\n function released(IERC20 token, address account) public view returns (uint256) {\n return _erc20Released[token][account];\n }\n\n /**\n * @dev Getter for the address of the payee number `index`.\n */\n function payee(uint256 index) public view returns (address) {\n return _payees[index];\n }\n\n /**\n * @dev Getter for the amount of payee's releasable Ether.\n */\n function releasable(address account) public view returns (uint256) {\n uint256 totalReceived = address(this).balance + totalReleased();\n return _pendingPayment(account, totalReceived, released(account));\n }\n\n /**\n * @dev Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an\n * IERC20 contract.\n */\n function releasable(IERC20 token, address account) public view returns (uint256) {\n uint256 totalReceived = token.balanceOf(address(this)) + totalReleased(token);\n return _pendingPayment(account, totalReceived, released(token, account));\n }\n\n /**\n * @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the\n * total shares and their previous withdrawals.\n */\n function release(address payable account) public virtual {\n require(_shares[account] > 0, \"PaymentSplitter: account has no shares\");\n\n uint256 payment = releasable(account);\n\n require(payment != 0, \"PaymentSplitter: account is not due payment\");\n\n // _totalReleased is the sum of all values in _released.\n // If \"_totalReleased += payment\" does not overflow, then \"_released[account] += payment\" cannot overflow.\n _totalReleased += payment;\n unchecked {\n _released[account] += payment;\n }\n\n Address.sendValue(account, payment);\n emit PaymentReleased(account, payment);\n }\n\n /**\n * @dev Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their\n * percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20\n * contract.\n */\n function release(IERC20 token, address account) public virtual {\n require(_shares[account] > 0, \"PaymentSplitter: account has no shares\");\n\n uint256 payment = releasable(token, account);\n\n require(payment != 0, \"PaymentSplitter: account is not due payment\");\n\n // _erc20TotalReleased[token] is the sum of all values in _erc20Released[token].\n // If \"_erc20TotalReleased[token] += payment\" does not overflow, then \"_erc20Released[token][account] += payment\"\n // cannot overflow.\n _erc20TotalReleased[token] += payment;\n unchecked {\n _erc20Released[token][account] += payment;\n }\n\n SafeERC20.safeTransfer(token, account, payment);\n emit ERC20PaymentReleased(token, account, payment);\n }\n\n /**\n * @dev internal logic for computing the pending payment of an `account` given the token historical balances and\n * already released amounts.\n */\n function _pendingPayment(\n address account,\n uint256 totalReceived,\n uint256 alreadyReleased\n ) private view returns (uint256) {\n return (totalReceived * _shares[account]) / _totalShares - alreadyReleased;\n }\n\n /**\n * @dev Add a new payee to the contract.\n * @param account The address of the payee to add.\n * @param shares_ The number of shares owned by the payee.\n */\n function _addPayee(address account, uint256 shares_) private {\n require(account != address(0), \"PaymentSplitter: account is the zero address\");\n require(shares_ > 0, \"PaymentSplitter: shares are 0\");\n require(_shares[account] == 0, \"PaymentSplitter: account already has shares\");\n\n _payees.push(account);\n _shares[account] = shares_;\n _totalShares = _totalShares + shares_;\n emit PayeeAdded(account, shares_);\n }\n}\n"},"contracts/@openzeppelin/contracts/finance/VestingWallet.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (finance/VestingWallet.sol)\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/utils/SafeERC20.sol\";\nimport \"../utils/Address.sol\";\nimport \"../utils/Context.sol\";\n\n/**\n * @title VestingWallet\n * @dev This contract handles the vesting of Eth and ERC20 tokens for a given beneficiary. Custody of multiple tokens\n * can be given to this contract, which will release the token to the beneficiary following a given vesting schedule.\n * The vesting schedule is customizable through the {vestedAmount} function.\n *\n * Any token transferred to this contract will follow the vesting schedule as if they were locked from the beginning.\n * Consequently, if the vesting has already started, any amount of tokens sent to this contract will (at least partly)\n * be immediately releasable.\n */\ncontract VestingWallet is Context {\n event EtherReleased(uint256 amount);\n event ERC20Released(address indexed token, uint256 amount);\n\n uint256 private _released;\n mapping(address => uint256) private _erc20Released;\n address private immutable _beneficiary;\n uint64 private immutable _start;\n uint64 private immutable _duration;\n\n /**\n * @dev Set the beneficiary, start timestamp and vesting duration of the vesting wallet.\n */\n constructor(\n address beneficiaryAddress,\n uint64 startTimestamp,\n uint64 durationSeconds\n ) payable {\n require(beneficiaryAddress != address(0), \"VestingWallet: beneficiary is zero address\");\n _beneficiary = beneficiaryAddress;\n _start = startTimestamp;\n _duration = durationSeconds;\n }\n\n /**\n * @dev The contract should be able to receive Eth.\n */\n receive() external payable virtual {}\n\n /**\n * @dev Getter for the beneficiary address.\n */\n function beneficiary() public view virtual returns (address) {\n return _beneficiary;\n }\n\n /**\n * @dev Getter for the start timestamp.\n */\n function start() public view virtual returns (uint256) {\n return _start;\n }\n\n /**\n * @dev Getter for the vesting duration.\n */\n function duration() public view virtual returns (uint256) {\n return _duration;\n }\n\n /**\n * @dev Amount of eth already released\n */\n function released() public view virtual returns (uint256) {\n return _released;\n }\n\n /**\n * @dev Amount of token already released\n */\n function released(address token) public view virtual returns (uint256) {\n return _erc20Released[token];\n }\n\n /**\n * @dev Getter for the amount of releasable eth.\n */\n function releasable() public view virtual returns (uint256) {\n return vestedAmount(uint64(block.timestamp)) - released();\n }\n\n /**\n * @dev Getter for the amount of releasable `token` tokens. `token` should be the address of an\n * IERC20 contract.\n */\n function releasable(address token) public view virtual returns (uint256) {\n return vestedAmount(token, uint64(block.timestamp)) - released(token);\n }\n\n /**\n * @dev Release the native token (ether) that have already vested.\n *\n * Emits a {EtherReleased} event.\n */\n function release() public virtual {\n uint256 amount = releasable();\n _released += amount;\n emit EtherReleased(amount);\n Address.sendValue(payable(beneficiary()), amount);\n }\n\n /**\n * @dev Release the tokens that have already vested.\n *\n * Emits a {ERC20Released} event.\n */\n function release(address token) public virtual {\n uint256 amount = releasable(token);\n _erc20Released[token] += amount;\n emit ERC20Released(token, amount);\n SafeERC20.safeTransfer(IERC20(token), beneficiary(), amount);\n }\n\n /**\n * @dev Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve.\n */\n function vestedAmount(uint64 timestamp) public view virtual returns (uint256) {\n return _vestingSchedule(address(this).balance + released(), timestamp);\n }\n\n /**\n * @dev Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve.\n */\n function vestedAmount(address token, uint64 timestamp) public view virtual returns (uint256) {\n return _vestingSchedule(IERC20(token).balanceOf(address(this)) + released(token), timestamp);\n }\n\n /**\n * @dev Virtual implementation of the vesting formula. This returns the amount vested, as a function of time, for\n * an asset given its total historical allocation.\n */\n function _vestingSchedule(uint256 totalAllocation, uint64 timestamp) internal view virtual returns (uint256) {\n if (timestamp < start()) {\n return 0;\n } else if (timestamp > start() + duration()) {\n return totalAllocation;\n } else {\n return (totalAllocation * (timestamp - start())) / duration();\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/compatibility/GovernorCompatibilityBravo.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/math/SafeCast.sol\";\nimport \"../extensions/IGovernorTimelock.sol\";\nimport \"../Governor.sol\";\nimport \"./IGovernorCompatibilityBravo.sol\";\n\n/**\n * @dev Compatibility layer that implements GovernorBravo compatibility on to of {Governor}.\n *\n * This compatibility layer includes a voting system and requires a {IGovernorTimelock} compatible module to be added\n * through inheritance. It does not include token bindings, not does it include any variable upgrade patterns.\n *\n * NOTE: When using this module, you may need to enable the Solidity optimizer to avoid hitting the contract size limit.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorCompatibilityBravo, Governor {\n enum VoteType {\n Against,\n For,\n Abstain\n }\n\n struct ProposalDetails {\n address proposer;\n address[] targets;\n uint256[] values;\n string[] signatures;\n bytes[] calldatas;\n uint256 forVotes;\n uint256 againstVotes;\n uint256 abstainVotes;\n mapping(address => Receipt) receipts;\n bytes32 descriptionHash;\n }\n\n mapping(uint256 => ProposalDetails) private _proposalDetails;\n\n // solhint-disable-next-line func-name-mixedcase\n function COUNTING_MODE() public pure virtual override returns (string memory) {\n return \"support=bravo&quorum=bravo\";\n }\n\n // ============================================== Proposal lifecycle ==============================================\n /**\n * @dev See {IGovernor-propose}.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual override(IGovernor, Governor) returns (uint256) {\n _storeProposal(_msgSender(), targets, values, new string[](calldatas.length), calldatas, description);\n return super.propose(targets, values, calldatas, description);\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-propose}.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n string[] memory signatures,\n bytes[] memory calldatas,\n string memory description\n ) public virtual override returns (uint256) {\n _storeProposal(_msgSender(), targets, values, signatures, calldatas, description);\n return propose(targets, values, _encodeCalldata(signatures, calldatas), description);\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-queue}.\n */\n function queue(uint256 proposalId) public virtual override {\n ProposalDetails storage details = _proposalDetails[proposalId];\n queue(\n details.targets,\n details.values,\n _encodeCalldata(details.signatures, details.calldatas),\n details.descriptionHash\n );\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-execute}.\n */\n function execute(uint256 proposalId) public payable virtual override {\n ProposalDetails storage details = _proposalDetails[proposalId];\n execute(\n details.targets,\n details.values,\n _encodeCalldata(details.signatures, details.calldatas),\n details.descriptionHash\n );\n }\n\n function cancel(uint256 proposalId) public virtual override {\n ProposalDetails storage details = _proposalDetails[proposalId];\n\n require(\n _msgSender() == details.proposer || getVotes(details.proposer, block.number - 1) < proposalThreshold(),\n \"GovernorBravo: proposer above threshold\"\n );\n\n _cancel(\n details.targets,\n details.values,\n _encodeCalldata(details.signatures, details.calldatas),\n details.descriptionHash\n );\n }\n\n /**\n * @dev Encodes calldatas with optional function signature.\n */\n function _encodeCalldata(string[] memory signatures, bytes[] memory calldatas)\n private\n pure\n returns (bytes[] memory)\n {\n bytes[] memory fullcalldatas = new bytes[](calldatas.length);\n\n for (uint256 i = 0; i < signatures.length; ++i) {\n fullcalldatas[i] = bytes(signatures[i]).length == 0\n ? calldatas[i]\n : abi.encodePacked(bytes4(keccak256(bytes(signatures[i]))), calldatas[i]);\n }\n\n return fullcalldatas;\n }\n\n /**\n * @dev Store proposal metadata for later lookup\n */\n function _storeProposal(\n address proposer,\n address[] memory targets,\n uint256[] memory values,\n string[] memory signatures,\n bytes[] memory calldatas,\n string memory description\n ) private {\n bytes32 descriptionHash = keccak256(bytes(description));\n uint256 proposalId = hashProposal(targets, values, _encodeCalldata(signatures, calldatas), descriptionHash);\n\n ProposalDetails storage details = _proposalDetails[proposalId];\n if (details.descriptionHash == bytes32(0)) {\n details.proposer = proposer;\n details.targets = targets;\n details.values = values;\n details.signatures = signatures;\n details.calldatas = calldatas;\n details.descriptionHash = descriptionHash;\n }\n }\n\n // ==================================================== Views =====================================================\n /**\n * @dev See {IGovernorCompatibilityBravo-proposals}.\n */\n function proposals(uint256 proposalId)\n public\n view\n virtual\n override\n returns (\n uint256 id,\n address proposer,\n uint256 eta,\n uint256 startBlock,\n uint256 endBlock,\n uint256 forVotes,\n uint256 againstVotes,\n uint256 abstainVotes,\n bool canceled,\n bool executed\n )\n {\n id = proposalId;\n eta = proposalEta(proposalId);\n startBlock = proposalSnapshot(proposalId);\n endBlock = proposalDeadline(proposalId);\n\n ProposalDetails storage details = _proposalDetails[proposalId];\n proposer = details.proposer;\n forVotes = details.forVotes;\n againstVotes = details.againstVotes;\n abstainVotes = details.abstainVotes;\n\n ProposalState status = state(proposalId);\n canceled = status == ProposalState.Canceled;\n executed = status == ProposalState.Executed;\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-getActions}.\n */\n function getActions(uint256 proposalId)\n public\n view\n virtual\n override\n returns (\n address[] memory targets,\n uint256[] memory values,\n string[] memory signatures,\n bytes[] memory calldatas\n )\n {\n ProposalDetails storage details = _proposalDetails[proposalId];\n return (details.targets, details.values, details.signatures, details.calldatas);\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-getReceipt}.\n */\n function getReceipt(uint256 proposalId, address voter) public view virtual override returns (Receipt memory) {\n return _proposalDetails[proposalId].receipts[voter];\n }\n\n /**\n * @dev See {IGovernorCompatibilityBravo-quorumVotes}.\n */\n function quorumVotes() public view virtual override returns (uint256) {\n return quorum(block.number - 1);\n }\n\n // ==================================================== Voting ====================================================\n /**\n * @dev See {IGovernor-hasVoted}.\n */\n function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) {\n return _proposalDetails[proposalId].receipts[account].hasVoted;\n }\n\n /**\n * @dev See {Governor-_quorumReached}. In this module, only forVotes count toward the quorum.\n */\n function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalDetails storage details = _proposalDetails[proposalId];\n return quorum(proposalSnapshot(proposalId)) <= details.forVotes;\n }\n\n /**\n * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be scritly over the againstVotes.\n */\n function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalDetails storage details = _proposalDetails[proposalId];\n return details.forVotes > details.againstVotes;\n }\n\n /**\n * @dev See {Governor-_countVote}. In this module, the support follows Governor Bravo.\n */\n function _countVote(\n uint256 proposalId,\n address account,\n uint8 support,\n uint256 weight,\n bytes memory // params\n ) internal virtual override {\n ProposalDetails storage details = _proposalDetails[proposalId];\n Receipt storage receipt = details.receipts[account];\n\n require(!receipt.hasVoted, \"GovernorCompatibilityBravo: vote already cast\");\n receipt.hasVoted = true;\n receipt.support = support;\n receipt.votes = SafeCast.toUint96(weight);\n\n if (support == uint8(VoteType.Against)) {\n details.againstVotes += weight;\n } else if (support == uint8(VoteType.For)) {\n details.forVotes += weight;\n } else if (support == uint8(VoteType.Abstain)) {\n details.abstainVotes += weight;\n } else {\n revert(\"GovernorCompatibilityBravo: invalid vote type\");\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/compatibility/IGovernorCompatibilityBravo.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IGovernor.sol\";\n\n/**\n * @dev Interface extension that adds missing functions to the {Governor} core to provide `GovernorBravo` compatibility.\n *\n * _Available since v4.3._\n */\nabstract contract IGovernorCompatibilityBravo is IGovernor {\n /**\n * @dev Proposal structure from Compound Governor Bravo. Not actually used by the compatibility layer, as\n * {{proposal}} returns a very different structure.\n */\n struct Proposal {\n uint256 id;\n address proposer;\n uint256 eta;\n address[] targets;\n uint256[] values;\n string[] signatures;\n bytes[] calldatas;\n uint256 startBlock;\n uint256 endBlock;\n uint256 forVotes;\n uint256 againstVotes;\n uint256 abstainVotes;\n bool canceled;\n bool executed;\n mapping(address => Receipt) receipts;\n }\n\n /**\n * @dev Receipt structure from Compound Governor Bravo\n */\n struct Receipt {\n bool hasVoted;\n uint8 support;\n uint96 votes;\n }\n\n /**\n * @dev Part of the Governor Bravo's interface.\n */\n function quorumVotes() public view virtual returns (uint256);\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"The official record of all proposals ever proposed\"_.\n */\n function proposals(uint256)\n public\n view\n virtual\n returns (\n uint256 id,\n address proposer,\n uint256 eta,\n uint256 startBlock,\n uint256 endBlock,\n uint256 forVotes,\n uint256 againstVotes,\n uint256 abstainVotes,\n bool canceled,\n bool executed\n );\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"Function used to propose a new proposal\"_.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n string[] memory signatures,\n bytes[] memory calldatas,\n string memory description\n ) public virtual returns (uint256);\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"Queues a proposal of state succeeded\"_.\n */\n function queue(uint256 proposalId) public virtual;\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"Executes a queued proposal if eta has passed\"_.\n */\n function execute(uint256 proposalId) public payable virtual;\n\n /**\n * @dev Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold.\n */\n function cancel(uint256 proposalId) public virtual;\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"Gets actions of a proposal\"_.\n */\n function getActions(uint256 proposalId)\n public\n view\n virtual\n returns (\n address[] memory targets,\n uint256[] memory values,\n string[] memory signatures,\n bytes[] memory calldatas\n );\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"Gets the receipt for a voter on a given proposal\"_.\n */\n function getReceipt(uint256 proposalId, address voter) public view virtual returns (Receipt memory);\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/extensions/GovernorCountingSimple.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\n\n/**\n * @dev Extension of {Governor} for simple, 3 options, vote counting.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorCountingSimple is Governor {\n /**\n * @dev Supported vote types. Matches Governor Bravo ordering.\n */\n enum VoteType {\n Against,\n For,\n Abstain\n }\n\n struct ProposalVote {\n uint256 againstVotes;\n uint256 forVotes;\n uint256 abstainVotes;\n mapping(address => bool) hasVoted;\n }\n\n mapping(uint256 => ProposalVote) private _proposalVotes;\n\n /**\n * @dev See {IGovernor-COUNTING_MODE}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function COUNTING_MODE() public pure virtual override returns (string memory) {\n return \"support=bravo&quorum=for,abstain\";\n }\n\n /**\n * @dev See {IGovernor-hasVoted}.\n */\n function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) {\n return _proposalVotes[proposalId].hasVoted[account];\n }\n\n /**\n * @dev Accessor to the internal vote counts.\n */\n function proposalVotes(uint256 proposalId)\n public\n view\n virtual\n returns (\n uint256 againstVotes,\n uint256 forVotes,\n uint256 abstainVotes\n )\n {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n return (proposalVote.againstVotes, proposalVote.forVotes, proposalVote.abstainVotes);\n }\n\n /**\n * @dev See {Governor-_quorumReached}.\n */\n function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n return quorum(proposalSnapshot(proposalId)) <= proposalVote.forVotes + proposalVote.abstainVotes;\n }\n\n /**\n * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes.\n */\n function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n return proposalVote.forVotes > proposalVote.againstVotes;\n }\n\n /**\n * @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo).\n */\n function _countVote(\n uint256 proposalId,\n address account,\n uint8 support,\n uint256 weight,\n bytes memory // params\n ) internal virtual override {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n require(!proposalVote.hasVoted[account], \"GovernorVotingSimple: vote already cast\");\n proposalVote.hasVoted[account] = true;\n\n if (support == uint8(VoteType.Against)) {\n proposalVote.againstVotes += weight;\n } else if (support == uint8(VoteType.For)) {\n proposalVote.forVotes += weight;\n } else if (support == uint8(VoteType.Abstain)) {\n proposalVote.abstainVotes += weight;\n } else {\n revert(\"GovernorVotingSimple: invalid value for enum VoteType\");\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorPreventLateQuorum.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\nimport \"../../utils/math/Math.sol\";\n\n/**\n * @dev A module that ensures there is a minimum voting period after quorum is reached. This prevents a large voter from\n * swaying a vote and triggering quorum at the last minute, by ensuring there is always time for other voters to react\n * and try to oppose the decision.\n *\n * If a vote causes quorum to be reached, the proposal's voting period may be extended so that it does not end before at\n * least a given number of blocks have passed (the \"vote extension\" parameter). This parameter can be set by the\n * governance executor (e.g. through a governance proposal).\n *\n * _Available since v4.5._\n */\nabstract contract GovernorPreventLateQuorum is Governor {\n using SafeCast for uint256;\n using Timers for Timers.BlockNumber;\n\n uint64 private _voteExtension;\n mapping(uint256 => Timers.BlockNumber) private _extendedDeadlines;\n\n /// @dev Emitted when a proposal deadline is pushed back due to reaching quorum late in its voting period.\n event ProposalExtended(uint256 indexed proposalId, uint64 extendedDeadline);\n\n /// @dev Emitted when the {lateQuorumVoteExtension} parameter is changed.\n event LateQuorumVoteExtensionSet(uint64 oldVoteExtension, uint64 newVoteExtension);\n\n /**\n * @dev Initializes the vote extension parameter: the number of blocks that are required to pass since a proposal\n * reaches quorum until its voting period ends. If necessary the voting period will be extended beyond the one set\n * at proposal creation.\n */\n constructor(uint64 initialVoteExtension) {\n _setLateQuorumVoteExtension(initialVoteExtension);\n }\n\n /**\n * @dev Returns the proposal deadline, which may have been extended beyond that set at proposal creation, if the\n * proposal reached quorum late in the voting period. See {Governor-proposalDeadline}.\n */\n function proposalDeadline(uint256 proposalId) public view virtual override returns (uint256) {\n return Math.max(super.proposalDeadline(proposalId), _extendedDeadlines[proposalId].getDeadline());\n }\n\n /**\n * @dev Casts a vote and detects if it caused quorum to be reached, potentially extending the voting period. See\n * {Governor-_castVote}.\n *\n * May emit a {ProposalExtended} event.\n */\n function _castVote(\n uint256 proposalId,\n address account,\n uint8 support,\n string memory reason,\n bytes memory params\n ) internal virtual override returns (uint256) {\n uint256 result = super._castVote(proposalId, account, support, reason, params);\n\n Timers.BlockNumber storage extendedDeadline = _extendedDeadlines[proposalId];\n\n if (extendedDeadline.isUnset() && _quorumReached(proposalId)) {\n uint64 extendedDeadlineValue = block.number.toUint64() + lateQuorumVoteExtension();\n\n if (extendedDeadlineValue > proposalDeadline(proposalId)) {\n emit ProposalExtended(proposalId, extendedDeadlineValue);\n }\n\n extendedDeadline.setDeadline(extendedDeadlineValue);\n }\n\n return result;\n }\n\n /**\n * @dev Returns the current value of the vote extension parameter: the number of blocks that are required to pass\n * from the time a proposal reaches quorum until its voting period ends.\n */\n function lateQuorumVoteExtension() public view virtual returns (uint64) {\n return _voteExtension;\n }\n\n /**\n * @dev Changes the {lateQuorumVoteExtension}. This operation can only be performed by the governance executor,\n * generally through a governance proposal.\n *\n * Emits a {LateQuorumVoteExtensionSet} event.\n */\n function setLateQuorumVoteExtension(uint64 newVoteExtension) public virtual onlyGovernance {\n _setLateQuorumVoteExtension(newVoteExtension);\n }\n\n /**\n * @dev Changes the {lateQuorumVoteExtension}. This is an internal function that can be exposed in a public function\n * like {setLateQuorumVoteExtension} if another access control mechanism is needed.\n *\n * Emits a {LateQuorumVoteExtensionSet} event.\n */\n function _setLateQuorumVoteExtension(uint64 newVoteExtension) internal virtual {\n emit LateQuorumVoteExtensionSet(_voteExtension, newVoteExtension);\n _voteExtension = newVoteExtension;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/extensions/GovernorProposalThreshold.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\n\n/**\n * @dev Extension of {Governor} for proposal restriction to token holders with a minimum balance.\n *\n * _Available since v4.3._\n * _Deprecated since v4.4._\n */\nabstract contract GovernorProposalThreshold is Governor {\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual override returns (uint256) {\n return super.propose(targets, values, calldatas, description);\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/extensions/GovernorSettings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\n\n/**\n * @dev Extension of {Governor} for settings updatable through governance.\n *\n * _Available since v4.4._\n */\nabstract contract GovernorSettings is Governor {\n uint256 private _votingDelay;\n uint256 private _votingPeriod;\n uint256 private _proposalThreshold;\n\n event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay);\n event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);\n event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold);\n\n /**\n * @dev Initialize the governance parameters.\n */\n constructor(\n uint256 initialVotingDelay,\n uint256 initialVotingPeriod,\n uint256 initialProposalThreshold\n ) {\n _setVotingDelay(initialVotingDelay);\n _setVotingPeriod(initialVotingPeriod);\n _setProposalThreshold(initialProposalThreshold);\n }\n\n /**\n * @dev See {IGovernor-votingDelay}.\n */\n function votingDelay() public view virtual override returns (uint256) {\n return _votingDelay;\n }\n\n /**\n * @dev See {IGovernor-votingPeriod}.\n */\n function votingPeriod() public view virtual override returns (uint256) {\n return _votingPeriod;\n }\n\n /**\n * @dev See {Governor-proposalThreshold}.\n */\n function proposalThreshold() public view virtual override returns (uint256) {\n return _proposalThreshold;\n }\n\n /**\n * @dev Update the voting delay. This operation can only be performed through a governance proposal.\n *\n * Emits a {VotingDelaySet} event.\n */\n function setVotingDelay(uint256 newVotingDelay) public virtual onlyGovernance {\n _setVotingDelay(newVotingDelay);\n }\n\n /**\n * @dev Update the voting period. This operation can only be performed through a governance proposal.\n *\n * Emits a {VotingPeriodSet} event.\n */\n function setVotingPeriod(uint256 newVotingPeriod) public virtual onlyGovernance {\n _setVotingPeriod(newVotingPeriod);\n }\n\n /**\n * @dev Update the proposal threshold. This operation can only be performed through a governance proposal.\n *\n * Emits a {ProposalThresholdSet} event.\n */\n function setProposalThreshold(uint256 newProposalThreshold) public virtual onlyGovernance {\n _setProposalThreshold(newProposalThreshold);\n }\n\n /**\n * @dev Internal setter for the voting delay.\n *\n * Emits a {VotingDelaySet} event.\n */\n function _setVotingDelay(uint256 newVotingDelay) internal virtual {\n emit VotingDelaySet(_votingDelay, newVotingDelay);\n _votingDelay = newVotingDelay;\n }\n\n /**\n * @dev Internal setter for the voting period.\n *\n * Emits a {VotingPeriodSet} event.\n */\n function _setVotingPeriod(uint256 newVotingPeriod) internal virtual {\n // voting period must be at least one block long\n require(newVotingPeriod > 0, \"GovernorSettings: voting period too low\");\n emit VotingPeriodSet(_votingPeriod, newVotingPeriod);\n _votingPeriod = newVotingPeriod;\n }\n\n /**\n * @dev Internal setter for the proposal threshold.\n *\n * Emits a {ProposalThresholdSet} event.\n */\n function _setProposalThreshold(uint256 newProposalThreshold) internal virtual {\n emit ProposalThresholdSet(_proposalThreshold, newProposalThreshold);\n _proposalThreshold = newProposalThreshold;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorTimelockCompound.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IGovernorTimelock.sol\";\nimport \"../Governor.sol\";\nimport \"../../utils/math/SafeCast.sol\";\nimport \"../../vendor/compound/ICompoundTimelock.sol\";\n\n/**\n * @dev Extension of {Governor} that binds the execution process to a Compound Timelock. This adds a delay, enforced by\n * the external timelock to all successful proposal (in addition to the voting duration). The {Governor} needs to be\n * the admin of the timelock for any operation to be performed. A public, unrestricted,\n * {GovernorTimelockCompound-__acceptAdmin} is available to accept ownership of the timelock.\n *\n * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n * inaccessible.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorTimelockCompound is IGovernorTimelock, Governor {\n using SafeCast for uint256;\n using Timers for Timers.Timestamp;\n\n struct ProposalTimelock {\n Timers.Timestamp timer;\n }\n\n ICompoundTimelock private _timelock;\n\n mapping(uint256 => ProposalTimelock) private _proposalTimelocks;\n\n /**\n * @dev Emitted when the timelock controller used for proposal execution is modified.\n */\n event TimelockChange(address oldTimelock, address newTimelock);\n\n /**\n * @dev Set the timelock.\n */\n constructor(ICompoundTimelock timelockAddress) {\n _updateTimelock(timelockAddress);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) {\n return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Overridden version of the {Governor-state} function with added support for the `Queued` and `Expired` status.\n */\n function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) {\n ProposalState status = super.state(proposalId);\n\n if (status != ProposalState.Succeeded) {\n return status;\n }\n\n uint256 eta = proposalEta(proposalId);\n if (eta == 0) {\n return status;\n } else if (block.timestamp >= eta + _timelock.GRACE_PERIOD()) {\n return ProposalState.Expired;\n } else {\n return ProposalState.Queued;\n }\n }\n\n /**\n * @dev Public accessor to check the address of the timelock\n */\n function timelock() public view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Public accessor to check the eta of a queued proposal\n */\n function proposalEta(uint256 proposalId) public view virtual override returns (uint256) {\n return _proposalTimelocks[proposalId].timer.getDeadline();\n }\n\n /**\n * @dev Function to queue a proposal to the timelock.\n */\n function queue(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public virtual override returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n require(state(proposalId) == ProposalState.Succeeded, \"Governor: proposal not successful\");\n\n uint256 eta = block.timestamp + _timelock.delay();\n _proposalTimelocks[proposalId].timer.setDeadline(eta.toUint64());\n for (uint256 i = 0; i < targets.length; ++i) {\n require(\n !_timelock.queuedTransactions(keccak256(abi.encode(targets[i], values[i], \"\", calldatas[i], eta))),\n \"GovernorTimelockCompound: identical proposal action already queued\"\n );\n _timelock.queueTransaction(targets[i], values[i], \"\", calldatas[i], eta);\n }\n\n emit ProposalQueued(proposalId, eta);\n\n return proposalId;\n }\n\n /**\n * @dev Overridden execute function that run the already queued proposal through the timelock.\n */\n function _execute(\n uint256 proposalId,\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 /*descriptionHash*/\n ) internal virtual override {\n uint256 eta = proposalEta(proposalId);\n require(eta > 0, \"GovernorTimelockCompound: proposal not yet queued\");\n Address.sendValue(payable(_timelock), msg.value);\n for (uint256 i = 0; i < targets.length; ++i) {\n _timelock.executeTransaction(targets[i], values[i], \"\", calldatas[i], eta);\n }\n }\n\n /**\n * @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n * been queued.\n */\n function _cancel(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual override returns (uint256) {\n uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash);\n\n uint256 eta = proposalEta(proposalId);\n if (eta > 0) {\n for (uint256 i = 0; i < targets.length; ++i) {\n _timelock.cancelTransaction(targets[i], values[i], \"\", calldatas[i], eta);\n }\n _proposalTimelocks[proposalId].timer.reset();\n }\n\n return proposalId;\n }\n\n /**\n * @dev Address through which the governor executes action. In this case, the timelock.\n */\n function _executor() internal view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Accept admin right over the timelock.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n function __acceptAdmin() public {\n _timelock.acceptAdmin();\n }\n\n /**\n * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n * must be proposed, scheduled, and executed through governance proposals.\n *\n * For security reasons, the timelock must be handed over to another admin before setting up a new one. The two\n * operations (hand over the timelock) and do the update can be batched in a single proposal.\n *\n * Note that if the timelock admin has been handed over in a previous operation, we refuse updates made through the\n * timelock if admin of the timelock has already been accepted and the operation is executed outside the scope of\n * governance.\n\n * CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n */\n function updateTimelock(ICompoundTimelock newTimelock) external virtual onlyGovernance {\n _updateTimelock(newTimelock);\n }\n\n function _updateTimelock(ICompoundTimelock newTimelock) private {\n emit TimelockChange(address(_timelock), address(newTimelock));\n _timelock = newTimelock;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorTimelockControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IGovernorTimelock.sol\";\nimport \"../Governor.sol\";\nimport \"../TimelockController.sol\";\n\n/**\n * @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a\n * delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The\n * {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly.\n *\n * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n * inaccessible.\n *\n * WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it\n * grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are\n * available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively\n * executing a Denial of Service attack. This risk will be mitigated in a future release.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorTimelockControl is IGovernorTimelock, Governor {\n TimelockController private _timelock;\n mapping(uint256 => bytes32) private _timelockIds;\n\n /**\n * @dev Emitted when the timelock controller used for proposal execution is modified.\n */\n event TimelockChange(address oldTimelock, address newTimelock);\n\n /**\n * @dev Set the timelock.\n */\n constructor(TimelockController timelockAddress) {\n _updateTimelock(timelockAddress);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) {\n return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Overridden version of the {Governor-state} function with added support for the `Queued` status.\n */\n function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) {\n ProposalState status = super.state(proposalId);\n\n if (status != ProposalState.Succeeded) {\n return status;\n }\n\n // core tracks execution, so we just have to check if successful proposal have been queued.\n bytes32 queueid = _timelockIds[proposalId];\n if (queueid == bytes32(0)) {\n return status;\n } else if (_timelock.isOperationDone(queueid)) {\n return ProposalState.Executed;\n } else if (_timelock.isOperationPending(queueid)) {\n return ProposalState.Queued;\n } else {\n return ProposalState.Canceled;\n }\n }\n\n /**\n * @dev Public accessor to check the address of the timelock\n */\n function timelock() public view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Public accessor to check the eta of a queued proposal\n */\n function proposalEta(uint256 proposalId) public view virtual override returns (uint256) {\n uint256 eta = _timelock.getTimestamp(_timelockIds[proposalId]);\n return eta == 1 ? 0 : eta; // _DONE_TIMESTAMP (1) should be replaced with a 0 value\n }\n\n /**\n * @dev Function to queue a proposal to the timelock.\n */\n function queue(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public virtual override returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n require(state(proposalId) == ProposalState.Succeeded, \"Governor: proposal not successful\");\n\n uint256 delay = _timelock.getMinDelay();\n _timelockIds[proposalId] = _timelock.hashOperationBatch(targets, values, calldatas, 0, descriptionHash);\n _timelock.scheduleBatch(targets, values, calldatas, 0, descriptionHash, delay);\n\n emit ProposalQueued(proposalId, block.timestamp + delay);\n\n return proposalId;\n }\n\n /**\n * @dev Overridden execute function that run the already queued proposal through the timelock.\n */\n function _execute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual override {\n _timelock.executeBatch{value: msg.value}(targets, values, calldatas, 0, descriptionHash);\n }\n\n /**\n * @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n * been queued.\n */\n // This function can reenter through the external call to the timelock, but we assume the timelock is trusted and\n // well behaved (according to TimelockController) and this will not happen.\n // slither-disable-next-line reentrancy-no-eth\n function _cancel(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual override returns (uint256) {\n uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash);\n\n if (_timelockIds[proposalId] != 0) {\n _timelock.cancel(_timelockIds[proposalId]);\n delete _timelockIds[proposalId];\n }\n\n return proposalId;\n }\n\n /**\n * @dev Address through which the governor executes action. In this case, the timelock.\n */\n function _executor() internal view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n * must be proposed, scheduled, and executed through governance proposals.\n *\n * CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n */\n function updateTimelock(TimelockController newTimelock) external virtual onlyGovernance {\n _updateTimelock(newTimelock);\n }\n\n function _updateTimelock(TimelockController newTimelock) private {\n emit TimelockChange(address(_timelock), address(newTimelock));\n _timelock = newTimelock;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorVotes.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\nimport \"../utils/IVotes.sol\";\n\n/**\n * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorVotes is Governor {\n IVotes public immutable token;\n\n constructor(IVotes tokenAddress) {\n token = tokenAddress;\n }\n\n /**\n * Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes}).\n */\n function _getVotes(\n address account,\n uint256 blockNumber,\n bytes memory /*params*/\n ) internal view virtual override returns (uint256) {\n return token.getPastVotes(account, blockNumber);\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorVotesComp.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\nimport \"../../token/ERC20/extensions/ERC20VotesComp.sol\";\n\n/**\n * @dev Extension of {Governor} for voting weight extraction from a Comp token.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorVotesComp is Governor {\n ERC20VotesComp public immutable token;\n\n constructor(ERC20VotesComp token_) {\n token = token_;\n }\n\n /**\n * Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes}).\n */\n function _getVotes(\n address account,\n uint256 blockNumber,\n bytes memory /*params*/\n ) internal view virtual override returns (uint256) {\n return token.getPriorVotes(account, blockNumber);\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/extensions/GovernorVotesQuorumFraction.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./GovernorVotes.sol\";\nimport \"../../utils/Checkpoints.sol\";\nimport \"../../utils/math/SafeCast.sol\";\n\n/**\n * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n * fraction of the total supply.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorVotesQuorumFraction is GovernorVotes {\n using Checkpoints for Checkpoints.History;\n\n uint256 private _quorumNumerator; // DEPRECATED\n Checkpoints.History private _quorumNumeratorHistory;\n\n event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);\n\n /**\n * @dev Initialize quorum as a fraction of the token's total supply.\n *\n * The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n * specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n * customized by overriding {quorumDenominator}.\n */\n constructor(uint256 quorumNumeratorValue) {\n _updateQuorumNumerator(quorumNumeratorValue);\n }\n\n /**\n * @dev Returns the current quorum numerator. See {quorumDenominator}.\n */\n function quorumNumerator() public view virtual returns (uint256) {\n return _quorumNumeratorHistory._checkpoints.length == 0 ? _quorumNumerator : _quorumNumeratorHistory.latest();\n }\n\n /**\n * @dev Returns the quorum numerator at a specific block number. See {quorumDenominator}.\n */\n function quorumNumerator(uint256 blockNumber) public view virtual returns (uint256) {\n // If history is empty, fallback to old storage\n uint256 length = _quorumNumeratorHistory._checkpoints.length;\n if (length == 0) {\n return _quorumNumerator;\n }\n\n // Optimistic search, check the latest checkpoint\n Checkpoints.Checkpoint memory latest = _quorumNumeratorHistory._checkpoints[length - 1];\n if (latest._blockNumber <= blockNumber) {\n return latest._value;\n }\n\n // Otherwise, do the binary search\n return _quorumNumeratorHistory.getAtBlock(blockNumber);\n }\n\n /**\n * @dev Returns the quorum denominator. Defaults to 100, but may be overridden.\n */\n function quorumDenominator() public view virtual returns (uint256) {\n return 100;\n }\n\n /**\n * @dev Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`.\n */\n function quorum(uint256 blockNumber) public view virtual override returns (uint256) {\n return (token.getPastTotalSupply(blockNumber) * quorumNumerator(blockNumber)) / quorumDenominator();\n }\n\n /**\n * @dev Changes the quorum numerator.\n *\n * Emits a {QuorumNumeratorUpdated} event.\n *\n * Requirements:\n *\n * - Must be called through a governance proposal.\n * - New numerator must be smaller or equal to the denominator.\n */\n function updateQuorumNumerator(uint256 newQuorumNumerator) external virtual onlyGovernance {\n _updateQuorumNumerator(newQuorumNumerator);\n }\n\n /**\n * @dev Changes the quorum numerator.\n *\n * Emits a {QuorumNumeratorUpdated} event.\n *\n * Requirements:\n *\n * - New numerator must be smaller or equal to the denominator.\n */\n function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual {\n require(\n newQuorumNumerator <= quorumDenominator(),\n \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\"\n );\n\n uint256 oldQuorumNumerator = quorumNumerator();\n\n // Make sure we keep track of the original numerator in contracts upgraded from a version without checkpoints.\n if (oldQuorumNumerator != 0 && _quorumNumeratorHistory._checkpoints.length == 0) {\n _quorumNumeratorHistory._checkpoints.push(\n Checkpoints.Checkpoint({_blockNumber: 0, _value: SafeCast.toUint224(oldQuorumNumerator)})\n );\n }\n\n // Set new quorum for future proposals\n _quorumNumeratorHistory.push(newQuorumNumerator);\n\n emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/extensions/IGovernorTimelock.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IGovernor.sol\";\n\n/**\n * @dev Extension of the {IGovernor} for timelock supporting modules.\n *\n * _Available since v4.3._\n */\nabstract contract IGovernorTimelock is IGovernor {\n event ProposalQueued(uint256 proposalId, uint256 eta);\n\n function timelock() public view virtual returns (address);\n\n function proposalEta(uint256 proposalId) public view virtual returns (uint256);\n\n function queue(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public virtual returns (uint256 proposalId);\n}\n"},"contracts/@openzeppelin/contracts/governance/Governor.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/Governor.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721Receiver.sol\";\nimport \"../token/ERC1155/IERC1155Receiver.sol\";\nimport \"../utils/cryptography/ECDSA.sol\";\nimport \"../utils/cryptography/EIP712.sol\";\nimport \"../utils/introspection/ERC165.sol\";\nimport \"../utils/math/SafeCast.sol\";\nimport \"../utils/structs/DoubleEndedQueue.sol\";\nimport \"../utils/Address.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Timers.sol\";\nimport \"./IGovernor.sol\";\n\n/**\n * @dev Core of the governance system, designed to be extended though various modules.\n *\n * This contract is abstract and requires several function to be implemented in various modules:\n *\n * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote}\n * - A voting module must implement {_getVotes}\n * - Additionanly, the {votingPeriod} must also be implemented\n *\n * _Available since v4.3._\n */\nabstract contract Governor is Context, ERC165, EIP712, IGovernor, IERC721Receiver, IERC1155Receiver {\n using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n using SafeCast for uint256;\n using Timers for Timers.BlockNumber;\n\n bytes32 public constant BALLOT_TYPEHASH = keccak256(\"Ballot(uint256 proposalId,uint8 support)\");\n bytes32 public constant EXTENDED_BALLOT_TYPEHASH =\n keccak256(\"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\");\n\n struct ProposalCore {\n Timers.BlockNumber voteStart;\n Timers.BlockNumber voteEnd;\n bool executed;\n bool canceled;\n }\n\n string private _name;\n\n mapping(uint256 => ProposalCore) private _proposals;\n\n // This queue keeps track of the governor operating on itself. Calls to functions protected by the\n // {onlyGovernance} modifier needs to be whitelisted in this queue. Whitelisting is set in {_beforeExecute},\n // consumed by the {onlyGovernance} modifier and eventually reset in {_afterExecute}. This ensures that the\n // execution of {onlyGovernance} protected calls can only be achieved through successful proposals.\n DoubleEndedQueue.Bytes32Deque private _governanceCall;\n\n /**\n * @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n * parameter setters in {GovernorSettings} are protected using this modifier.\n *\n * The governance executing address may be different from the Governor's own address, for example it could be a\n * timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n * functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n * for example, additional timelock proposers are not able to change governance parameters without going through the\n * governance protocol (since v4.6).\n */\n modifier onlyGovernance() {\n require(_msgSender() == _executor(), \"Governor: onlyGovernance\");\n if (_executor() != address(this)) {\n bytes32 msgDataHash = keccak256(_msgData());\n // loop until popping the expected operation - throw if deque is empty (operation not authorized)\n while (_governanceCall.popFront() != msgDataHash) {}\n }\n _;\n }\n\n /**\n * @dev Sets the value for {name} and {version}\n */\n constructor(string memory name_) EIP712(name_, version()) {\n _name = name_;\n }\n\n /**\n * @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract)\n */\n receive() external payable virtual {\n require(_executor() == address(this));\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) {\n // In addition to the current interfaceId, also support previous version of the interfaceId that did not\n // include the castVoteWithReasonAndParams() function as standard\n return\n interfaceId ==\n (type(IGovernor).interfaceId ^\n this.castVoteWithReasonAndParams.selector ^\n this.castVoteWithReasonAndParamsBySig.selector ^\n this.getVotesWithParams.selector) ||\n interfaceId == type(IGovernor).interfaceId ||\n interfaceId == type(IERC1155Receiver).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IGovernor-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IGovernor-version}.\n */\n function version() public view virtual override returns (string memory) {\n return \"1\";\n }\n\n /**\n * @dev See {IGovernor-hashProposal}.\n *\n * The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n * advance, before the proposal is submitted.\n *\n * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n * same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n * across multiple networks. This also means that in order to execute the same operation twice (on the same\n * governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n */\n function hashProposal(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public pure virtual override returns (uint256) {\n return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash)));\n }\n\n /**\n * @dev See {IGovernor-state}.\n */\n function state(uint256 proposalId) public view virtual override returns (ProposalState) {\n ProposalCore storage proposal = _proposals[proposalId];\n\n if (proposal.executed) {\n return ProposalState.Executed;\n }\n\n if (proposal.canceled) {\n return ProposalState.Canceled;\n }\n\n uint256 snapshot = proposalSnapshot(proposalId);\n\n if (snapshot == 0) {\n revert(\"Governor: unknown proposal id\");\n }\n\n if (snapshot >= block.number) {\n return ProposalState.Pending;\n }\n\n uint256 deadline = proposalDeadline(proposalId);\n\n if (deadline >= block.number) {\n return ProposalState.Active;\n }\n\n if (_quorumReached(proposalId) && _voteSucceeded(proposalId)) {\n return ProposalState.Succeeded;\n } else {\n return ProposalState.Defeated;\n }\n }\n\n /**\n * @dev See {IGovernor-proposalSnapshot}.\n */\n function proposalSnapshot(uint256 proposalId) public view virtual override returns (uint256) {\n return _proposals[proposalId].voteStart.getDeadline();\n }\n\n /**\n * @dev See {IGovernor-proposalDeadline}.\n */\n function proposalDeadline(uint256 proposalId) public view virtual override returns (uint256) {\n return _proposals[proposalId].voteEnd.getDeadline();\n }\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_.\n */\n function proposalThreshold() public view virtual returns (uint256) {\n return 0;\n }\n\n /**\n * @dev Amount of votes already cast passes the threshold limit.\n */\n function _quorumReached(uint256 proposalId) internal view virtual returns (bool);\n\n /**\n * @dev Is the proposal successful or not.\n */\n function _voteSucceeded(uint256 proposalId) internal view virtual returns (bool);\n\n /**\n * @dev Get the voting weight of `account` at a specific `blockNumber`, for a vote as described by `params`.\n */\n function _getVotes(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) internal view virtual returns (uint256);\n\n /**\n * @dev Register a vote for `proposalId` by `account` with a given `support`, voting `weight` and voting `params`.\n *\n * Note: Support is generic and can represent various things depending on the voting system used.\n */\n function _countVote(\n uint256 proposalId,\n address account,\n uint8 support,\n uint256 weight,\n bytes memory params\n ) internal virtual;\n\n /**\n * @dev Default additional encoded parameters used by castVote methods that don't include them\n *\n * Note: Should be overridden by specific implementations to use an appropriate value, the\n * meaning of the additional params, in the context of that implementation\n */\n function _defaultParams() internal view virtual returns (bytes memory) {\n return \"\";\n }\n\n /**\n * @dev See {IGovernor-propose}.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual override returns (uint256) {\n require(\n getVotes(_msgSender(), block.number - 1) >= proposalThreshold(),\n \"Governor: proposer votes below proposal threshold\"\n );\n\n uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n require(targets.length == values.length, \"Governor: invalid proposal length\");\n require(targets.length == calldatas.length, \"Governor: invalid proposal length\");\n require(targets.length > 0, \"Governor: empty proposal\");\n\n ProposalCore storage proposal = _proposals[proposalId];\n require(proposal.voteStart.isUnset(), \"Governor: proposal already exists\");\n\n uint64 snapshot = block.number.toUint64() + votingDelay().toUint64();\n uint64 deadline = snapshot + votingPeriod().toUint64();\n\n proposal.voteStart.setDeadline(snapshot);\n proposal.voteEnd.setDeadline(deadline);\n\n emit ProposalCreated(\n proposalId,\n _msgSender(),\n targets,\n values,\n new string[](targets.length),\n calldatas,\n snapshot,\n deadline,\n description\n );\n\n return proposalId;\n }\n\n /**\n * @dev See {IGovernor-execute}.\n */\n function execute(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public payable virtual override returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n ProposalState status = state(proposalId);\n require(\n status == ProposalState.Succeeded || status == ProposalState.Queued,\n \"Governor: proposal not successful\"\n );\n _proposals[proposalId].executed = true;\n\n emit ProposalExecuted(proposalId);\n\n _beforeExecute(proposalId, targets, values, calldatas, descriptionHash);\n _execute(proposalId, targets, values, calldatas, descriptionHash);\n _afterExecute(proposalId, targets, values, calldatas, descriptionHash);\n\n return proposalId;\n }\n\n /**\n * @dev Internal execution mechanism. Can be overridden to implement different execution mechanism\n */\n function _execute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 /*descriptionHash*/\n ) internal virtual {\n string memory errorMessage = \"Governor: call reverted without message\";\n for (uint256 i = 0; i < targets.length; ++i) {\n (bool success, bytes memory returndata) = targets[i].call{value: values[i]}(calldatas[i]);\n Address.verifyCallResult(success, returndata, errorMessage);\n }\n }\n\n /**\n * @dev Hook before execution is triggered.\n */\n function _beforeExecute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory, /* values */\n bytes[] memory calldatas,\n bytes32 /*descriptionHash*/\n ) internal virtual {\n if (_executor() != address(this)) {\n for (uint256 i = 0; i < targets.length; ++i) {\n if (targets[i] == address(this)) {\n _governanceCall.pushBack(keccak256(calldatas[i]));\n }\n }\n }\n }\n\n /**\n * @dev Hook after execution is triggered.\n */\n function _afterExecute(\n uint256, /* proposalId */\n address[] memory, /* targets */\n uint256[] memory, /* values */\n bytes[] memory, /* calldatas */\n bytes32 /*descriptionHash*/\n ) internal virtual {\n if (_executor() != address(this)) {\n if (!_governanceCall.empty()) {\n _governanceCall.clear();\n }\n }\n }\n\n /**\n * @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as\n * canceled to allow distinguishing it from executed proposals.\n *\n * Emits a {IGovernor-ProposalCanceled} event.\n */\n function _cancel(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n ProposalState status = state(proposalId);\n\n require(\n status != ProposalState.Canceled && status != ProposalState.Expired && status != ProposalState.Executed,\n \"Governor: proposal not active\"\n );\n _proposals[proposalId].canceled = true;\n\n emit ProposalCanceled(proposalId);\n\n return proposalId;\n }\n\n /**\n * @dev See {IGovernor-getVotes}.\n */\n function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {\n return _getVotes(account, blockNumber, _defaultParams());\n }\n\n /**\n * @dev See {IGovernor-getVotesWithParams}.\n */\n function getVotesWithParams(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) public view virtual override returns (uint256) {\n return _getVotes(account, blockNumber, params);\n }\n\n /**\n * @dev See {IGovernor-castVote}.\n */\n function castVote(uint256 proposalId, uint8 support) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, \"\");\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReason}.\n */\n function castVoteWithReason(\n uint256 proposalId,\n uint8 support,\n string calldata reason\n ) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, reason);\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReasonAndParams}.\n */\n function castVoteWithReasonAndParams(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params\n ) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, reason, params);\n }\n\n /**\n * @dev See {IGovernor-castVoteBySig}.\n */\n function castVoteBySig(\n uint256 proposalId,\n uint8 support,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override returns (uint256) {\n address voter = ECDSA.recover(\n _hashTypedDataV4(keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support))),\n v,\n r,\n s\n );\n return _castVote(proposalId, voter, support, \"\");\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReasonAndParamsBySig}.\n */\n function castVoteWithReasonAndParamsBySig(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override returns (uint256) {\n address voter = ECDSA.recover(\n _hashTypedDataV4(\n keccak256(\n abi.encode(\n EXTENDED_BALLOT_TYPEHASH,\n proposalId,\n support,\n keccak256(bytes(reason)),\n keccak256(params)\n )\n )\n ),\n v,\n r,\n s\n );\n\n return _castVote(proposalId, voter, support, reason, params);\n }\n\n /**\n * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. Uses the _defaultParams().\n *\n * Emits a {IGovernor-VoteCast} event.\n */\n function _castVote(\n uint256 proposalId,\n address account,\n uint8 support,\n string memory reason\n ) internal virtual returns (uint256) {\n return _castVote(proposalId, account, support, reason, _defaultParams());\n }\n\n /**\n * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function.\n *\n * Emits a {IGovernor-VoteCast} event.\n */\n function _castVote(\n uint256 proposalId,\n address account,\n uint8 support,\n string memory reason,\n bytes memory params\n ) internal virtual returns (uint256) {\n ProposalCore storage proposal = _proposals[proposalId];\n require(state(proposalId) == ProposalState.Active, \"Governor: vote not currently active\");\n\n uint256 weight = _getVotes(account, proposal.voteStart.getDeadline(), params);\n _countVote(proposalId, account, support, weight, params);\n\n if (params.length == 0) {\n emit VoteCast(account, proposalId, support, weight, reason);\n } else {\n emit VoteCastWithParams(account, proposalId, support, weight, reason, params);\n }\n\n return weight;\n }\n\n /**\n * @dev Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n * is some contract other than the governor itself, like when using a timelock, this function can be invoked\n * in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n * Note that if the executor is simply the governor itself, use of `relay` is redundant.\n */\n function relay(\n address target,\n uint256 value,\n bytes calldata data\n ) external payable virtual onlyGovernance {\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n Address.verifyCallResult(success, returndata, \"Governor: relay reverted without message\");\n }\n\n /**\n * @dev Address through which the governor executes action. Will be overloaded by module that execute actions\n * through another contract such as a timelock.\n */\n function _executor() internal view virtual returns (address) {\n return address(this);\n }\n\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n */\n function onERC721Received(\n address,\n address,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155Received}.\n */\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155BatchReceived}.\n */\n function onERC1155BatchReceived(\n address,\n address,\n uint256[] memory,\n uint256[] memory,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/IGovernor.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/IGovernor.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Interface of the {Governor} core.\n *\n * _Available since v4.3._\n */\nabstract contract IGovernor is IERC165 {\n enum ProposalState {\n Pending,\n Active,\n Canceled,\n Defeated,\n Succeeded,\n Queued,\n Expired,\n Executed\n }\n\n /**\n * @dev Emitted when a proposal is created.\n */\n event ProposalCreated(\n uint256 proposalId,\n address proposer,\n address[] targets,\n uint256[] values,\n string[] signatures,\n bytes[] calldatas,\n uint256 startBlock,\n uint256 endBlock,\n string description\n );\n\n /**\n * @dev Emitted when a proposal is canceled.\n */\n event ProposalCanceled(uint256 proposalId);\n\n /**\n * @dev Emitted when a proposal is executed.\n */\n event ProposalExecuted(uint256 proposalId);\n\n /**\n * @dev Emitted when a vote is cast without params.\n *\n * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n */\n event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason);\n\n /**\n * @dev Emitted when a vote is cast with params.\n *\n * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n * `params` are additional encoded parameters. Their intepepretation also depends on the voting module used.\n */\n event VoteCastWithParams(\n address indexed voter,\n uint256 proposalId,\n uint8 support,\n uint256 weight,\n string reason,\n bytes params\n );\n\n /**\n * @notice module:core\n * @dev Name of the governor instance (used in building the ERC712 domain separator).\n */\n function name() public view virtual returns (string memory);\n\n /**\n * @notice module:core\n * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n */\n function version() public view virtual returns (string memory);\n\n /**\n * @notice module:voting\n * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n *\n * There are 2 standard keys: `support` and `quorum`.\n *\n * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n * - `quorum=bravo` means that only For votes are counted towards quorum.\n * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n *\n * If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique\n * name that describes the behavior. For example:\n *\n * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n *\n * NOTE: The string can be decoded by the standard\n * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n * JavaScript class.\n */\n // solhint-disable-next-line func-name-mixedcase\n function COUNTING_MODE() public pure virtual returns (string memory);\n\n /**\n * @notice module:core\n * @dev Hashing function used to (re)build the proposal id from the proposal details..\n */\n function hashProposal(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public pure virtual returns (uint256);\n\n /**\n * @notice module:core\n * @dev Current state of a proposal, following Compound's convention\n */\n function state(uint256 proposalId) public view virtual returns (ProposalState);\n\n /**\n * @notice module:core\n * @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's\n * ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the\n * beginning of the following block.\n */\n function proposalSnapshot(uint256 proposalId) public view virtual returns (uint256);\n\n /**\n * @notice module:core\n * @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote\n * during this block.\n */\n function proposalDeadline(uint256 proposalId) public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to\n * leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\n */\n function votingDelay() public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Delay, in number of blocks, between the vote start and vote ends.\n *\n * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n * duration compared to the voting delay.\n */\n function votingPeriod() public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Minimum number of cast voted required for a proposal to be successful.\n *\n * Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n * quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\n */\n function quorum(uint256 blockNumber) public view virtual returns (uint256);\n\n /**\n * @notice module:reputation\n * @dev Voting power of an `account` at a specific `blockNumber`.\n *\n * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n * multiple), {ERC20Votes} tokens.\n */\n function getVotes(address account, uint256 blockNumber) public view virtual returns (uint256);\n\n /**\n * @notice module:reputation\n * @dev Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.\n */\n function getVotesWithParams(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) public view virtual returns (uint256);\n\n /**\n * @notice module:voting\n * @dev Returns whether `account` has cast a vote on `proposalId`.\n */\n function hasVoted(uint256 proposalId, address account) public view virtual returns (bool);\n\n /**\n * @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends\n * {IGovernor-votingPeriod} blocks after the voting starts.\n *\n * Emits a {ProposalCreated} event.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual returns (uint256 proposalId);\n\n /**\n * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n * deadline to be reached.\n *\n * Emits a {ProposalExecuted} event.\n *\n * Note: some module can modify the requirements for execution, for example by adding an additional timelock.\n */\n function execute(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public payable virtual returns (uint256 proposalId);\n\n /**\n * @dev Cast a vote\n *\n * Emits a {VoteCast} event.\n */\n function castVote(uint256 proposalId, uint8 support) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason\n *\n * Emits a {VoteCast} event.\n */\n function castVoteWithReason(\n uint256 proposalId,\n uint8 support,\n string calldata reason\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason and additional encoded parameters\n *\n * Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\n */\n function castVoteWithReasonAndParams(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote using the user's cryptographic signature.\n *\n * Emits a {VoteCast} event.\n */\n function castVoteBySig(\n uint256 proposalId,\n uint8 support,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature.\n *\n * Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\n */\n function castVoteWithReasonAndParamsBySig(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual returns (uint256 balance);\n}\n"},"contracts/@openzeppelin/contracts/governance/TimelockController.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/TimelockController.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../access/AccessControl.sol\";\nimport \"../token/ERC721/IERC721Receiver.sol\";\nimport \"../token/ERC1155/IERC1155Receiver.sol\";\nimport \"../utils/Address.sol\";\n\n/**\n * @dev Contract module which acts as a timelocked controller. When set as the\n * owner of an `Ownable` smart contract, it enforces a timelock on all\n * `onlyOwner` maintenance operations. This gives time for users of the\n * controlled contract to exit before a potentially dangerous maintenance\n * operation is applied.\n *\n * By default, this contract is self administered, meaning administration tasks\n * have to go through the timelock process. The proposer (resp executor) role\n * is in charge of proposing (resp executing) operations. A common use case is\n * to position this {TimelockController} as the owner of a smart contract, with\n * a multisig or a DAO as the sole proposer.\n *\n * _Available since v3.3._\n */\ncontract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver {\n bytes32 public constant TIMELOCK_ADMIN_ROLE = keccak256(\"TIMELOCK_ADMIN_ROLE\");\n bytes32 public constant PROPOSER_ROLE = keccak256(\"PROPOSER_ROLE\");\n bytes32 public constant EXECUTOR_ROLE = keccak256(\"EXECUTOR_ROLE\");\n bytes32 public constant CANCELLER_ROLE = keccak256(\"CANCELLER_ROLE\");\n uint256 internal constant _DONE_TIMESTAMP = uint256(1);\n\n mapping(bytes32 => uint256) private _timestamps;\n uint256 private _minDelay;\n\n /**\n * @dev Emitted when a call is scheduled as part of operation `id`.\n */\n event CallScheduled(\n bytes32 indexed id,\n uint256 indexed index,\n address target,\n uint256 value,\n bytes data,\n bytes32 predecessor,\n uint256 delay\n );\n\n /**\n * @dev Emitted when a call is performed as part of operation `id`.\n */\n event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data);\n\n /**\n * @dev Emitted when operation `id` is cancelled.\n */\n event Cancelled(bytes32 indexed id);\n\n /**\n * @dev Emitted when the minimum delay for future operations is modified.\n */\n event MinDelayChange(uint256 oldDuration, uint256 newDuration);\n\n /**\n * @dev Initializes the contract with the following parameters:\n *\n * - `minDelay`: initial minimum delay for operations\n * - `proposers`: accounts to be granted proposer and canceller roles\n * - `executors`: accounts to be granted executor role\n * - `admin`: optional account to be granted admin role; disable with zero address\n *\n * IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n * without being subject to delay, but this role should be subsequently renounced in favor of\n * administration through timelocked proposals. Previous versions of this contract would assign\n * this admin to the deployer automatically and should be renounced as well.\n */\n constructor(\n uint256 minDelay,\n address[] memory proposers,\n address[] memory executors,\n address admin\n ) {\n _setRoleAdmin(TIMELOCK_ADMIN_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(PROPOSER_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(EXECUTOR_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(CANCELLER_ROLE, TIMELOCK_ADMIN_ROLE);\n\n // self administration\n _setupRole(TIMELOCK_ADMIN_ROLE, address(this));\n\n // optional admin\n if (admin != address(0)) {\n _setupRole(TIMELOCK_ADMIN_ROLE, admin);\n }\n\n // register proposers and cancellers\n for (uint256 i = 0; i < proposers.length; ++i) {\n _setupRole(PROPOSER_ROLE, proposers[i]);\n _setupRole(CANCELLER_ROLE, proposers[i]);\n }\n\n // register executors\n for (uint256 i = 0; i < executors.length; ++i) {\n _setupRole(EXECUTOR_ROLE, executors[i]);\n }\n\n _minDelay = minDelay;\n emit MinDelayChange(0, minDelay);\n }\n\n /**\n * @dev Modifier to make a function callable only by a certain role. In\n * addition to checking the sender's role, `address(0)` 's role is also\n * considered. Granting a role to `address(0)` is equivalent to enabling\n * this role for everyone.\n */\n modifier onlyRoleOrOpenRole(bytes32 role) {\n if (!hasRole(role, address(0))) {\n _checkRole(role, _msgSender());\n }\n _;\n }\n\n /**\n * @dev Contract might receive/hold ETH as part of the maintenance process.\n */\n receive() external payable {}\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, AccessControl) returns (bool) {\n return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns whether an id correspond to a registered operation. This\n * includes both Pending, Ready and Done operations.\n */\n function isOperation(bytes32 id) public view virtual returns (bool registered) {\n return getTimestamp(id) > 0;\n }\n\n /**\n * @dev Returns whether an operation is pending or not.\n */\n function isOperationPending(bytes32 id) public view virtual returns (bool pending) {\n return getTimestamp(id) > _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Returns whether an operation is ready or not.\n */\n function isOperationReady(bytes32 id) public view virtual returns (bool ready) {\n uint256 timestamp = getTimestamp(id);\n return timestamp > _DONE_TIMESTAMP && timestamp <= block.timestamp;\n }\n\n /**\n * @dev Returns whether an operation is done or not.\n */\n function isOperationDone(bytes32 id) public view virtual returns (bool done) {\n return getTimestamp(id) == _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Returns the timestamp at with an operation becomes ready (0 for\n * unset operations, 1 for done operations).\n */\n function getTimestamp(bytes32 id) public view virtual returns (uint256 timestamp) {\n return _timestamps[id];\n }\n\n /**\n * @dev Returns the minimum delay for an operation to become valid.\n *\n * This value can be changed by executing an operation that calls `updateDelay`.\n */\n function getMinDelay() public view virtual returns (uint256 duration) {\n return _minDelay;\n }\n\n /**\n * @dev Returns the identifier of an operation containing a single\n * transaction.\n */\n function hashOperation(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(target, value, data, predecessor, salt));\n }\n\n /**\n * @dev Returns the identifier of an operation containing a batch of\n * transactions.\n */\n function hashOperationBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(targets, values, payloads, predecessor, salt));\n }\n\n /**\n * @dev Schedule an operation containing a single transaction.\n *\n * Emits a {CallScheduled} event.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function schedule(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n bytes32 id = hashOperation(target, value, data, predecessor, salt);\n _schedule(id, delay);\n emit CallScheduled(id, 0, target, value, data, predecessor, delay);\n }\n\n /**\n * @dev Schedule an operation containing a batch of transactions.\n *\n * Emits one {CallScheduled} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function scheduleBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n require(targets.length == values.length, \"TimelockController: length mismatch\");\n require(targets.length == payloads.length, \"TimelockController: length mismatch\");\n\n bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n _schedule(id, delay);\n for (uint256 i = 0; i < targets.length; ++i) {\n emit CallScheduled(id, i, targets[i], values[i], payloads[i], predecessor, delay);\n }\n }\n\n /**\n * @dev Schedule an operation that is to becomes valid after a given delay.\n */\n function _schedule(bytes32 id, uint256 delay) private {\n require(!isOperation(id), \"TimelockController: operation already scheduled\");\n require(delay >= getMinDelay(), \"TimelockController: insufficient delay\");\n _timestamps[id] = block.timestamp + delay;\n }\n\n /**\n * @dev Cancel an operation.\n *\n * Requirements:\n *\n * - the caller must have the 'canceller' role.\n */\n function cancel(bytes32 id) public virtual onlyRole(CANCELLER_ROLE) {\n require(isOperationPending(id), \"TimelockController: operation cannot be cancelled\");\n delete _timestamps[id];\n\n emit Cancelled(id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a single transaction.\n *\n * Emits a {CallExecuted} event.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n // This function can reenter, but it doesn't pose a risk because _afterCall checks that the proposal is pending,\n // thus any modifications to the operation during reentrancy should be caught.\n // slither-disable-next-line reentrancy-eth\n function execute(\n address target,\n uint256 value,\n bytes calldata payload,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n bytes32 id = hashOperation(target, value, payload, predecessor, salt);\n\n _beforeCall(id, predecessor);\n _execute(target, value, payload);\n emit CallExecuted(id, 0, target, value, payload);\n _afterCall(id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a batch of transactions.\n *\n * Emits one {CallExecuted} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n function executeBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n require(targets.length == values.length, \"TimelockController: length mismatch\");\n require(targets.length == payloads.length, \"TimelockController: length mismatch\");\n\n bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n\n _beforeCall(id, predecessor);\n for (uint256 i = 0; i < targets.length; ++i) {\n address target = targets[i];\n uint256 value = values[i];\n bytes calldata payload = payloads[i];\n _execute(target, value, payload);\n emit CallExecuted(id, i, target, value, payload);\n }\n _afterCall(id);\n }\n\n /**\n * @dev Execute an operation's call.\n */\n function _execute(\n address target,\n uint256 value,\n bytes calldata data\n ) internal virtual {\n (bool success, ) = target.call{value: value}(data);\n require(success, \"TimelockController: underlying transaction reverted\");\n }\n\n /**\n * @dev Checks before execution of an operation's calls.\n */\n function _beforeCall(bytes32 id, bytes32 predecessor) private view {\n require(isOperationReady(id), \"TimelockController: operation is not ready\");\n require(predecessor == bytes32(0) || isOperationDone(predecessor), \"TimelockController: missing dependency\");\n }\n\n /**\n * @dev Checks after execution of an operation's calls.\n */\n function _afterCall(bytes32 id) private {\n require(isOperationReady(id), \"TimelockController: operation is not ready\");\n _timestamps[id] = _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Changes the minimum timelock duration for future operations.\n *\n * Emits a {MinDelayChange} event.\n *\n * Requirements:\n *\n * - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n * an operation where the timelock is the target and the data is the ABI-encoded call to this function.\n */\n function updateDelay(uint256 newDelay) external virtual {\n require(msg.sender == address(this), \"TimelockController: caller must be timelock\");\n emit MinDelayChange(_minDelay, newDelay);\n _minDelay = newDelay;\n }\n\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n */\n function onERC721Received(\n address,\n address,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155Received}.\n */\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155BatchReceived}.\n */\n function onERC1155BatchReceived(\n address,\n address,\n uint256[] memory,\n uint256[] memory,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n"},"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (governance/utils/IVotes.sol)\npragma solidity ^0.8.0;\n\n/**\n * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n *\n * _Available since v4.5._\n */\ninterface IVotes {\n /**\n * @dev Emitted when an account changes their delegate.\n */\n event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);\n\n /**\n * @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\n */\n event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance);\n\n /**\n * @dev Returns the current amount of votes that `account` has.\n */\n function getVotes(address account) external view returns (uint256);\n\n /**\n * @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\n */\n function getPastVotes(address account, uint256 blockNumber) external view returns (uint256);\n\n /**\n * @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n *\n * NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n * Votes that have not been delegated are still part of total supply, even though they would not participate in a\n * vote.\n */\n function getPastTotalSupply(uint256 blockNumber) external view returns (uint256);\n\n /**\n * @dev Returns the delegate that `account` has chosen.\n */\n function delegates(address account) external view returns (address);\n\n /**\n * @dev Delegates votes from the sender to `delegatee`.\n */\n function delegate(address delegatee) external;\n\n /**\n * @dev Delegates votes from signer to `delegatee`.\n */\n function delegateBySig(\n address delegatee,\n uint256 nonce,\n uint256 expiry,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n"},"contracts/@openzeppelin/contracts/governance/utils/Votes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/utils/Votes.sol)\npragma solidity ^0.8.0;\n\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Counters.sol\";\nimport \"../../utils/Checkpoints.sol\";\nimport \"../../utils/cryptography/EIP712.sol\";\nimport \"./IVotes.sol\";\n\n/**\n * @dev This is a base abstract contract that tracks voting units, which are a measure of voting power that can be\n * transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of\n * \"representative\" that will pool delegated voting units from different accounts and can then use it to vote in\n * decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to\n * delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative.\n *\n * This contract is often combined with a token contract such that voting units correspond to token units. For an\n * example, see {ERC721Votes}.\n *\n * The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed\n * at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the\n * cost of this history tracking optional.\n *\n * When using this module the derived contract must implement {_getVotingUnits} (for example, make it return\n * {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the\n * previous example, it would be included in {ERC721-_beforeTokenTransfer}).\n *\n * _Available since v4.5._\n */\nabstract contract Votes is IVotes, Context, EIP712 {\n using Checkpoints for Checkpoints.History;\n using Counters for Counters.Counter;\n\n bytes32 private constant _DELEGATION_TYPEHASH =\n keccak256(\"Delegation(address delegatee,uint256 nonce,uint256 expiry)\");\n\n mapping(address => address) private _delegation;\n mapping(address => Checkpoints.History) private _delegateCheckpoints;\n Checkpoints.History private _totalCheckpoints;\n\n mapping(address => Counters.Counter) private _nonces;\n\n /**\n * @dev Returns the current amount of votes that `account` has.\n */\n function getVotes(address account) public view virtual override returns (uint256) {\n return _delegateCheckpoints[account].latest();\n }\n\n /**\n * @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {\n return _delegateCheckpoints[account].getAtProbablyRecentBlock(blockNumber);\n }\n\n /**\n * @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n *\n * NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n * Votes that have not been delegated are still part of total supply, even though they would not participate in a\n * vote.\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastTotalSupply(uint256 blockNumber) public view virtual override returns (uint256) {\n require(blockNumber < block.number, \"Votes: block not yet mined\");\n return _totalCheckpoints.getAtProbablyRecentBlock(blockNumber);\n }\n\n /**\n * @dev Returns the current total supply of votes.\n */\n function _getTotalSupply() internal view virtual returns (uint256) {\n return _totalCheckpoints.latest();\n }\n\n /**\n * @dev Returns the delegate that `account` has chosen.\n */\n function delegates(address account) public view virtual override returns (address) {\n return _delegation[account];\n }\n\n /**\n * @dev Delegates votes from the sender to `delegatee`.\n */\n function delegate(address delegatee) public virtual override {\n address account = _msgSender();\n _delegate(account, delegatee);\n }\n\n /**\n * @dev Delegates votes from signer to `delegatee`.\n */\n function delegateBySig(\n address delegatee,\n uint256 nonce,\n uint256 expiry,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override {\n require(block.timestamp <= expiry, \"Votes: signature expired\");\n address signer = ECDSA.recover(\n _hashTypedDataV4(keccak256(abi.encode(_DELEGATION_TYPEHASH, delegatee, nonce, expiry))),\n v,\n r,\n s\n );\n require(nonce == _useNonce(signer), \"Votes: invalid nonce\");\n _delegate(signer, delegatee);\n }\n\n /**\n * @dev Delegate all of `account`'s voting units to `delegatee`.\n *\n * Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}.\n */\n function _delegate(address account, address delegatee) internal virtual {\n address oldDelegate = delegates(account);\n _delegation[account] = delegatee;\n\n emit DelegateChanged(account, oldDelegate, delegatee);\n _moveDelegateVotes(oldDelegate, delegatee, _getVotingUnits(account));\n }\n\n /**\n * @dev Transfers, mints, or burns voting units. To register a mint, `from` should be zero. To register a burn, `to`\n * should be zero. Total supply of voting units will be adjusted with mints and burns.\n */\n function _transferVotingUnits(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n if (from == address(0)) {\n _totalCheckpoints.push(_add, amount);\n }\n if (to == address(0)) {\n _totalCheckpoints.push(_subtract, amount);\n }\n _moveDelegateVotes(delegates(from), delegates(to), amount);\n }\n\n /**\n * @dev Moves delegated votes from one delegate to another.\n */\n function _moveDelegateVotes(\n address from,\n address to,\n uint256 amount\n ) private {\n if (from != to && amount > 0) {\n if (from != address(0)) {\n (uint256 oldValue, uint256 newValue) = _delegateCheckpoints[from].push(_subtract, amount);\n emit DelegateVotesChanged(from, oldValue, newValue);\n }\n if (to != address(0)) {\n (uint256 oldValue, uint256 newValue) = _delegateCheckpoints[to].push(_add, amount);\n emit DelegateVotesChanged(to, oldValue, newValue);\n }\n }\n }\n\n function _add(uint256 a, uint256 b) private pure returns (uint256) {\n return a + b;\n }\n\n function _subtract(uint256 a, uint256 b) private pure returns (uint256) {\n return a - b;\n }\n\n /**\n * @dev Consumes a nonce.\n *\n * Returns the current value and increments nonce.\n */\n function _useNonce(address owner) internal virtual returns (uint256 current) {\n Counters.Counter storage nonce = _nonces[owner];\n current = nonce.current();\n nonce.increment();\n }\n\n /**\n * @dev Returns an address nonce.\n */\n function nonces(address owner) public view virtual returns (uint256) {\n return _nonces[owner].current();\n }\n\n /**\n * @dev Returns the contract's {EIP712} domain separator.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32) {\n return _domainSeparatorV4();\n }\n\n /**\n * @dev Must return the voting units held by an account.\n */\n function _getVotingUnits(address) internal view virtual returns (uint256);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/draft-IERC2612.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/extensions/draft-IERC20Permit.sol\";\n\ninterface IERC2612 is IERC20Permit {}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1155.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC1155/IERC1155.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155MetadataURI.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC1155/extensions/IERC1155MetadataURI.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1155Receiver.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC1155/IERC1155Receiver.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1271.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC1271 standard signature validation method for\n * contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271].\n *\n * _Available since v4.1._\n */\ninterface IERC1271 {\n /**\n * @dev Should return whether the signature provided is valid for the provided data\n * @param hash Hash of the data to be signed\n * @param signature Signature byte array associated with _data\n */\n function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1363.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./IERC165.sol\";\n\ninterface IERC1363 is IERC165, IERC20 {\n /*\n * Note: the ERC-165 identifier for this interface is 0x4bbee2df.\n * 0x4bbee2df ===\n * bytes4(keccak256('transferAndCall(address,uint256)')) ^\n * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)'))\n */\n\n /*\n * Note: the ERC-165 identifier for this interface is 0xfb9ec8ce.\n * 0xfb9ec8ce ===\n * bytes4(keccak256('approveAndCall(address,uint256)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256,bytes)'))\n */\n\n /**\n * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\n * @param to address The address which you want to transfer to\n * @param value uint256 The amount of tokens to be transferred\n * @return true unless throwing\n */\n function transferAndCall(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\n * @param to address The address which you want to transfer to\n * @param value uint256 The amount of tokens to be transferred\n * @param data bytes Additional data with no specified format, sent in call to `to`\n * @return true unless throwing\n */\n function transferAndCall(\n address to,\n uint256 value,\n bytes memory data\n ) external returns (bool);\n\n /**\n * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver\n * @param from address The address which you want to send tokens from\n * @param to address The address which you want to transfer to\n * @param value uint256 The amount of tokens to be transferred\n * @return true unless throwing\n */\n function transferFromAndCall(\n address from,\n address to,\n uint256 value\n ) external returns (bool);\n\n /**\n * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver\n * @param from address The address which you want to send tokens from\n * @param to address The address which you want to transfer to\n * @param value uint256 The amount of tokens to be transferred\n * @param data bytes Additional data with no specified format, sent in call to `to`\n * @return true unless throwing\n */\n function transferFromAndCall(\n address from,\n address to,\n uint256 value,\n bytes memory data\n ) external returns (bool);\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender\n * and then call `onApprovalReceived` on spender.\n * @param spender address The address which will spend the funds\n * @param value uint256 The amount of tokens to be spent\n */\n function approveAndCall(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender\n * and then call `onApprovalReceived` on spender.\n * @param spender address The address which will spend the funds\n * @param value uint256 The amount of tokens to be spent\n * @param data bytes Additional data with no specified format, sent in call to `spender`\n */\n function approveAndCall(\n address spender,\n uint256 value,\n bytes memory data\n ) external returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1363Receiver.sol)\n\npragma solidity ^0.8.0;\n\ninterface IERC1363Receiver {\n /*\n * Note: the ERC-165 identifier for this interface is 0x88a7ca5c.\n * 0x88a7ca5c === bytes4(keccak256(\"onTransferReceived(address,address,uint256,bytes)\"))\n */\n\n /**\n * @notice Handle the receipt of ERC1363 tokens\n * @dev Any ERC1363 smart contract calls this function on the recipient\n * after a `transfer` or a `transferFrom`. This function MAY throw to revert and reject the\n * transfer. Return of other than the magic value MUST result in the\n * transaction being reverted.\n * Note: the token contract address is always the message sender.\n * @param operator address The address which called `transferAndCall` or `transferFromAndCall` function\n * @param from address The address which are token transferred from\n * @param value uint256 The amount of tokens transferred\n * @param data bytes Additional data with no specified format\n * @return `bytes4(keccak256(\"onTransferReceived(address,address,uint256,bytes)\"))`\n * unless throwing\n */\n function onTransferReceived(\n address operator,\n address from,\n uint256 value,\n bytes memory data\n ) external returns (bytes4);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1363Spender.sol)\n\npragma solidity ^0.8.0;\n\ninterface IERC1363Spender {\n /*\n * Note: the ERC-165 identifier for this interface is 0x7b04a2d0.\n * 0x7b04a2d0 === bytes4(keccak256(\"onApprovalReceived(address,uint256,bytes)\"))\n */\n\n /**\n * @notice Handle the approval of ERC1363 tokens\n * @dev Any ERC1363 smart contract calls this function on the recipient\n * after an `approve`. This function MAY throw to revert and reject the\n * approval. Return of other than the magic value MUST result in the\n * transaction being reverted.\n * Note: the token contract address is always the message sender.\n * @param owner address The address which called `approveAndCall` function\n * @param value uint256 The amount of tokens to be spent\n * @param data bytes Additional data with no specified format\n * @return `bytes4(keccak256(\"onApprovalReceived(address,uint256,bytes)\"))`\n * unless throwing\n */\n function onApprovalReceived(\n address owner,\n uint256 value,\n bytes memory data\n ) external returns (bytes4);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC165.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1820Implementer.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC1820Implementer.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC1820Registry.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC1820Registry.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC1820Registry.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/IERC20.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/extensions/IERC20Metadata.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (interfaces/IERC2309.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev ERC-2309: ERC-721 Consecutive Transfer Extension.\n *\n * _Available since v4.8._\n */\ninterface IERC2309 {\n /**\n * @dev Emitted when the tokens from `fromTokenId` to `toTokenId` are transferred from `fromAddress` to `toAddress`.\n */\n event ConsecutiveTransfer(\n uint256 indexed fromTokenId,\n uint256 toTokenId,\n address indexed fromAddress,\n address indexed toAddress\n );\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (interfaces/IERC2981.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Interface for the NFT Royalty Standard.\n *\n * A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal\n * support for royalty payments across all NFT marketplaces and ecosystem participants.\n *\n * _Available since v4.5._\n */\ninterface IERC2981 is IERC165 {\n /**\n * @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of\n * exchange. The royalty amount is denominated and should be paid in that same unit of exchange.\n */\n function royaltyInfo(uint256 tokenId, uint256 salePrice)\n external\n view\n returns (address receiver, uint256 royaltyAmount);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC3156.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC3156FlashBorrower.sol\";\nimport \"./IERC3156FlashLender.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (interfaces/IERC3156FlashBorrower.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC3156 FlashBorrower, as defined in\n * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n *\n * _Available since v4.1._\n */\ninterface IERC3156FlashBorrower {\n /**\n * @dev Receive a flash loan.\n * @param initiator The initiator of the loan.\n * @param token The loan currency.\n * @param amount The amount of tokens lent.\n * @param fee The additional amount of tokens to repay.\n * @param data Arbitrary data structure, intended to contain user-defined parameters.\n * @return The keccak256 hash of \"IERC3156FlashBorrower.onFlashLoan\"\n */\n function onFlashLoan(\n address initiator,\n address token,\n uint256 amount,\n uint256 fee,\n bytes calldata data\n ) external returns (bytes32);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156FlashLender.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC3156FlashBorrower.sol\";\n\n/**\n * @dev Interface of the ERC3156 FlashLender, as defined in\n * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n *\n * _Available since v4.1._\n */\ninterface IERC3156FlashLender {\n /**\n * @dev The amount of currency available to be lended.\n * @param token The loan currency.\n * @return The amount of `token` that can be borrowed.\n */\n function maxFlashLoan(address token) external view returns (uint256);\n\n /**\n * @dev The fee to be charged for a given loan.\n * @param token The loan currency.\n * @param amount The amount of tokens lent.\n * @return The amount of `token` to be charged for the loan, on top of the returned principal.\n */\n function flashFee(address token, uint256 amount) external view returns (uint256);\n\n /**\n * @dev Initiate a flash loan.\n * @param receiver The receiver of the tokens in the loan, and the receiver of the callback.\n * @param token The loan currency.\n * @param amount The amount of tokens lent.\n * @param data Arbitrary data structure, intended to contain user-defined parameters.\n */\n function flashLoan(\n IERC3156FlashBorrower receiver,\n address token,\n uint256 amount,\n bytes calldata data\n ) external returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (interfaces/IERC4626.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC20/IERC20.sol\";\nimport \"../token/ERC20/extensions/IERC20Metadata.sol\";\n\n/**\n * @dev Interface of the ERC4626 \"Tokenized Vault Standard\", as defined in\n * https://eips.ethereum.org/EIPS/eip-4626[ERC-4626].\n *\n * _Available since v4.7._\n */\ninterface IERC4626 is IERC20, IERC20Metadata {\n event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares);\n\n event Withdraw(\n address indexed sender,\n address indexed receiver,\n address indexed owner,\n uint256 assets,\n uint256 shares\n );\n\n /**\n * @dev Returns the address of the underlying token used for the Vault for accounting, depositing, and withdrawing.\n *\n * - MUST be an ERC-20 token contract.\n * - MUST NOT revert.\n */\n function asset() external view returns (address assetTokenAddress);\n\n /**\n * @dev Returns the total amount of the underlying asset that is “managed” by Vault.\n *\n * - SHOULD include any compounding that occurs from yield.\n * - MUST be inclusive of any fees that are charged against assets in the Vault.\n * - MUST NOT revert.\n */\n function totalAssets() external view returns (uint256 totalManagedAssets);\n\n /**\n * @dev Returns the amount of shares that the Vault would exchange for the amount of assets provided, in an ideal\n * scenario where all the conditions are met.\n *\n * - MUST NOT be inclusive of any fees that are charged against assets in the Vault.\n * - MUST NOT show any variations depending on the caller.\n * - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.\n * - MUST NOT revert.\n *\n * NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the\n * “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and\n * from.\n */\n function convertToShares(uint256 assets) external view returns (uint256 shares);\n\n /**\n * @dev Returns the amount of assets that the Vault would exchange for the amount of shares provided, in an ideal\n * scenario where all the conditions are met.\n *\n * - MUST NOT be inclusive of any fees that are charged against assets in the Vault.\n * - MUST NOT show any variations depending on the caller.\n * - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.\n * - MUST NOT revert.\n *\n * NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the\n * “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and\n * from.\n */\n function convertToAssets(uint256 shares) external view returns (uint256 assets);\n\n /**\n * @dev Returns the maximum amount of the underlying asset that can be deposited into the Vault for the receiver,\n * through a deposit call.\n *\n * - MUST return a limited value if receiver is subject to some deposit limit.\n * - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of assets that may be deposited.\n * - MUST NOT revert.\n */\n function maxDeposit(address receiver) external view returns (uint256 maxAssets);\n\n /**\n * @dev Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given\n * current on-chain conditions.\n *\n * - MUST return as close to and no more than the exact amount of Vault shares that would be minted in a deposit\n * call in the same transaction. I.e. deposit should return the same or more shares as previewDeposit if called\n * in the same transaction.\n * - MUST NOT account for deposit limits like those returned from maxDeposit and should always act as though the\n * deposit would be accepted, regardless if the user has enough tokens approved, etc.\n * - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.\n * - MUST NOT revert.\n *\n * NOTE: any unfavorable discrepancy between convertToShares and previewDeposit SHOULD be considered slippage in\n * share price or some other type of condition, meaning the depositor will lose assets by depositing.\n */\n function previewDeposit(uint256 assets) external view returns (uint256 shares);\n\n /**\n * @dev Mints shares Vault shares to receiver by depositing exactly amount of underlying tokens.\n *\n * - MUST emit the Deposit event.\n * - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n * deposit execution, and are accounted for during deposit.\n * - MUST revert if all of assets cannot be deposited (due to deposit limit being reached, slippage, the user not\n * approving enough underlying tokens to the Vault contract, etc).\n *\n * NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token.\n */\n function deposit(uint256 assets, address receiver) external returns (uint256 shares);\n\n /**\n * @dev Returns the maximum amount of the Vault shares that can be minted for the receiver, through a mint call.\n * - MUST return a limited value if receiver is subject to some mint limit.\n * - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of shares that may be minted.\n * - MUST NOT revert.\n */\n function maxMint(address receiver) external view returns (uint256 maxShares);\n\n /**\n * @dev Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given\n * current on-chain conditions.\n *\n * - MUST return as close to and no fewer than the exact amount of assets that would be deposited in a mint call\n * in the same transaction. I.e. mint should return the same or fewer assets as previewMint if called in the\n * same transaction.\n * - MUST NOT account for mint limits like those returned from maxMint and should always act as though the mint\n * would be accepted, regardless if the user has enough tokens approved, etc.\n * - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.\n * - MUST NOT revert.\n *\n * NOTE: any unfavorable discrepancy between convertToAssets and previewMint SHOULD be considered slippage in\n * share price or some other type of condition, meaning the depositor will lose assets by minting.\n */\n function previewMint(uint256 shares) external view returns (uint256 assets);\n\n /**\n * @dev Mints exactly shares Vault shares to receiver by depositing amount of underlying tokens.\n *\n * - MUST emit the Deposit event.\n * - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the mint\n * execution, and are accounted for during mint.\n * - MUST revert if all of shares cannot be minted (due to deposit limit being reached, slippage, the user not\n * approving enough underlying tokens to the Vault contract, etc).\n *\n * NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token.\n */\n function mint(uint256 shares, address receiver) external returns (uint256 assets);\n\n /**\n * @dev Returns the maximum amount of the underlying asset that can be withdrawn from the owner balance in the\n * Vault, through a withdraw call.\n *\n * - MUST return a limited value if owner is subject to some withdrawal limit or timelock.\n * - MUST NOT revert.\n */\n function maxWithdraw(address owner) external view returns (uint256 maxAssets);\n\n /**\n * @dev Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block,\n * given current on-chain conditions.\n *\n * - MUST return as close to and no fewer than the exact amount of Vault shares that would be burned in a withdraw\n * call in the same transaction. I.e. withdraw should return the same or fewer shares as previewWithdraw if\n * called\n * in the same transaction.\n * - MUST NOT account for withdrawal limits like those returned from maxWithdraw and should always act as though\n * the withdrawal would be accepted, regardless if the user has enough shares, etc.\n * - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.\n * - MUST NOT revert.\n *\n * NOTE: any unfavorable discrepancy between convertToShares and previewWithdraw SHOULD be considered slippage in\n * share price or some other type of condition, meaning the depositor will lose assets by depositing.\n */\n function previewWithdraw(uint256 assets) external view returns (uint256 shares);\n\n /**\n * @dev Burns shares from owner and sends exactly assets of underlying tokens to receiver.\n *\n * - MUST emit the Withdraw event.\n * - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n * withdraw execution, and are accounted for during withdraw.\n * - MUST revert if all of assets cannot be withdrawn (due to withdrawal limit being reached, slippage, the owner\n * not having enough shares, etc).\n *\n * Note that some implementations will require pre-requesting to the Vault before a withdrawal may be performed.\n * Those methods should be performed separately.\n */\n function withdraw(\n uint256 assets,\n address receiver,\n address owner\n ) external returns (uint256 shares);\n\n /**\n * @dev Returns the maximum amount of Vault shares that can be redeemed from the owner balance in the Vault,\n * through a redeem call.\n *\n * - MUST return a limited value if owner is subject to some withdrawal limit or timelock.\n * - MUST return balanceOf(owner) if owner is not subject to any withdrawal limit or timelock.\n * - MUST NOT revert.\n */\n function maxRedeem(address owner) external view returns (uint256 maxShares);\n\n /**\n * @dev Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block,\n * given current on-chain conditions.\n *\n * - MUST return as close to and no more than the exact amount of assets that would be withdrawn in a redeem call\n * in the same transaction. I.e. redeem should return the same or more assets as previewRedeem if called in the\n * same transaction.\n * - MUST NOT account for redemption limits like those returned from maxRedeem and should always act as though the\n * redemption would be accepted, regardless if the user has enough shares, etc.\n * - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.\n * - MUST NOT revert.\n *\n * NOTE: any unfavorable discrepancy between convertToAssets and previewRedeem SHOULD be considered slippage in\n * share price or some other type of condition, meaning the depositor will lose assets by redeeming.\n */\n function previewRedeem(uint256 shares) external view returns (uint256 assets);\n\n /**\n * @dev Burns exactly shares from owner and sends assets of underlying tokens to receiver.\n *\n * - MUST emit the Withdraw event.\n * - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n * redeem execution, and are accounted for during redeem.\n * - MUST revert if all of shares cannot be redeemed (due to withdrawal limit being reached, slippage, the owner\n * not having enough shares, etc).\n *\n * NOTE: some implementations will require pre-requesting to the Vault before a withdrawal may be performed.\n * Those methods should be performed separately.\n */\n function redeem(\n uint256 shares,\n address receiver,\n address owner\n ) external returns (uint256 assets);\n}\n"},"contracts/@openzeppelin/contracts/interfaces/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Enumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/extensions/IERC721Enumerable.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/extensions/IERC721Metadata.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC721Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721Receiver.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC777.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC777.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC777/IERC777.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC777Recipient.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC777Recipient.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC777/IERC777Recipient.sol\";\n"},"contracts/@openzeppelin/contracts/interfaces/IERC777Sender.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC777Sender.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC777/IERC777Sender.sol\";\n"},"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (metatx/ERC2771Context.sol)\n\npragma solidity ^0.8.9;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Context variant with ERC2771 support.\n */\nabstract contract ERC2771Context is Context {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable _trustedForwarder;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor(address trustedForwarder) {\n _trustedForwarder = trustedForwarder;\n }\n\n function isTrustedForwarder(address forwarder) public view virtual returns (bool) {\n return forwarder == _trustedForwarder;\n }\n\n function _msgSender() internal view virtual override returns (address sender) {\n if (isTrustedForwarder(msg.sender)) {\n // The assembly code is more direct than the Solidity version using `abi.decode`.\n /// @solidity memory-safe-assembly\n assembly {\n sender := shr(96, calldataload(sub(calldatasize(), 20)))\n }\n } else {\n return super._msgSender();\n }\n }\n\n function _msgData() internal view virtual override returns (bytes calldata) {\n if (isTrustedForwarder(msg.sender)) {\n return msg.data[:msg.data.length - 20];\n } else {\n return super._msgData();\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (metatx/MinimalForwarder.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/cryptography/ECDSA.sol\";\nimport \"../utils/cryptography/EIP712.sol\";\n\n/**\n * @dev Simple minimal forwarder to be used together with an ERC2771 compatible contract. See {ERC2771Context}.\n *\n * MinimalForwarder is mainly meant for testing, as it is missing features to be a good production-ready forwarder. This\n * contract does not intend to have all the properties that are needed for a sound forwarding system. A fully\n * functioning forwarding system with good properties requires more complexity. We suggest you look at other projects\n * such as the GSN which do have the goal of building a system like that.\n */\ncontract MinimalForwarder is EIP712 {\n using ECDSA for bytes32;\n\n struct ForwardRequest {\n address from;\n address to;\n uint256 value;\n uint256 gas;\n uint256 nonce;\n bytes data;\n }\n\n bytes32 private constant _TYPEHASH =\n keccak256(\"ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)\");\n\n mapping(address => uint256) private _nonces;\n\n constructor() EIP712(\"MinimalForwarder\", \"0.0.1\") {}\n\n function getNonce(address from) public view returns (uint256) {\n return _nonces[from];\n }\n\n function verify(ForwardRequest calldata req, bytes calldata signature) public view returns (bool) {\n address signer = _hashTypedDataV4(\n keccak256(abi.encode(_TYPEHASH, req.from, req.to, req.value, req.gas, req.nonce, keccak256(req.data)))\n ).recover(signature);\n return _nonces[req.from] == req.nonce && signer == req.from;\n }\n\n function execute(ForwardRequest calldata req, bytes calldata signature)\n public\n payable\n returns (bool, bytes memory)\n {\n require(verify(req, signature), \"MinimalForwarder: signature does not match request\");\n _nonces[req.from] = req.nonce + 1;\n\n (bool success, bytes memory returndata) = req.to.call{gas: req.gas, value: req.value}(\n abi.encodePacked(req.data, req.from)\n );\n\n // Validate that the relayer has sent enough gas for the call.\n // See https://ronan.eth.limo/blog/ethereum-gas-dangers/\n if (gasleft() <= req.gas / 63) {\n // We explicitly trigger invalid opcode to consume all gas and bubble-up the effects, since\n // neither revert or assert consume all gas since Solidity 0.8.0\n // https://docs.soliditylang.org/en/v0.8.0/control-structures.html#panic-via-assert-and-error-via-require\n /// @solidity memory-safe-assembly\n assembly {\n invalid()\n }\n }\n\n return (success, returndata);\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/beacon/BeaconProxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IBeacon.sol\";\nimport \"../Proxy.sol\";\nimport \"../ERC1967/ERC1967Upgrade.sol\";\n\n/**\n * @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}.\n *\n * The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't\n * conflict with the storage layout of the implementation behind the proxy.\n *\n * _Available since v3.4._\n */\ncontract BeaconProxy is Proxy, ERC1967Upgrade {\n /**\n * @dev Initializes the proxy with `beacon`.\n *\n * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This\n * will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity\n * constructor.\n *\n * Requirements:\n *\n * - `beacon` must be a contract with the interface {IBeacon}.\n */\n constructor(address beacon, bytes memory data) payable {\n _upgradeBeaconToAndCall(beacon, data, false);\n }\n\n /**\n * @dev Returns the current beacon address.\n */\n function _beacon() internal view virtual returns (address) {\n return _getBeacon();\n }\n\n /**\n * @dev Returns the current implementation address of the associated beacon.\n */\n function _implementation() internal view virtual override returns (address) {\n return IBeacon(_getBeacon()).implementation();\n }\n\n /**\n * @dev Changes the proxy to use a new beacon. Deprecated: see {_upgradeBeaconToAndCall}.\n *\n * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon.\n *\n * Requirements:\n *\n * - `beacon` must be a contract.\n * - The implementation returned by `beacon` must be a contract.\n */\n function _setBeacon(address beacon, bytes memory data) internal virtual {\n _upgradeBeaconToAndCall(beacon, data, false);\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (proxy/beacon/IBeacon.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {BeaconProxy} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n"},"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (proxy/beacon/UpgradeableBeacon.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IBeacon.sol\";\nimport \"../../access/Ownable.sol\";\nimport \"../../utils/Address.sol\";\n\n/**\n * @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their\n * implementation contract, which is where they will delegate all function calls.\n *\n * An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon.\n */\ncontract UpgradeableBeacon is IBeacon, Ownable {\n address private _implementation;\n\n /**\n * @dev Emitted when the implementation returned by the beacon is changed.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Sets the address of the initial implementation, and the deployer account as the owner who can upgrade the\n * beacon.\n */\n constructor(address implementation_) {\n _setImplementation(implementation_);\n }\n\n /**\n * @dev Returns the current implementation address.\n */\n function implementation() public view virtual override returns (address) {\n return _implementation;\n }\n\n /**\n * @dev Upgrades the beacon to a new implementation.\n *\n * Emits an {Upgraded} event.\n *\n * Requirements:\n *\n * - msg.sender must be the owner of the contract.\n * - `newImplementation` must be a contract.\n */\n function upgradeTo(address newImplementation) public virtual onlyOwner {\n _setImplementation(newImplementation);\n emit Upgraded(newImplementation);\n }\n\n /**\n * @dev Sets the implementation contract address for this beacon\n *\n * Requirements:\n *\n * - `newImplementation` must be a contract.\n */\n function _setImplementation(address newImplementation) private {\n require(Address.isContract(newImplementation), \"UpgradeableBeacon: implementation is not a contract\");\n _implementation = newImplementation;\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/Clones.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (proxy/Clones.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for\n * deploying minimal proxy contracts, also known as \"clones\".\n *\n * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies\n * > a minimal bytecode implementation that delegates all calls to a known, fixed address.\n *\n * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`\n * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the\n * deterministic method.\n *\n * _Available since v3.4._\n */\nlibrary Clones {\n /**\n * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.\n *\n * This function uses the create opcode, which should never revert.\n */\n function clone(address implementation) internal returns (address instance) {\n /// @solidity memory-safe-assembly\n assembly {\n // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes\n // of the `implementation` address with the bytecode before the address.\n mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))\n // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.\n mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))\n instance := create(0, 0x09, 0x37)\n }\n require(instance != address(0), \"ERC1167: create failed\");\n }\n\n /**\n * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.\n *\n * This function uses the create2 opcode and a `salt` to deterministically deploy\n * the clone. Using the same `implementation` and `salt` multiple time will revert, since\n * the clones cannot be deployed twice at the same address.\n */\n function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) {\n /// @solidity memory-safe-assembly\n assembly {\n // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes\n // of the `implementation` address with the bytecode before the address.\n mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))\n // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.\n mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))\n instance := create2(0, 0x09, 0x37, salt)\n }\n require(instance != address(0), \"ERC1167: create2 failed\");\n }\n\n /**\n * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.\n */\n function predictDeterministicAddress(\n address implementation,\n bytes32 salt,\n address deployer\n ) internal pure returns (address predicted) {\n /// @solidity memory-safe-assembly\n assembly {\n let ptr := mload(0x40)\n mstore(add(ptr, 0x38), deployer)\n mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff)\n mstore(add(ptr, 0x14), implementation)\n mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73)\n mstore(add(ptr, 0x58), salt)\n mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37))\n predicted := keccak256(add(ptr, 0x43), 0x55)\n }\n }\n\n /**\n * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.\n */\n function predictDeterministicAddress(address implementation, bytes32 salt)\n internal\n view\n returns (address predicted)\n {\n return predictDeterministicAddress(implementation, salt, address(this));\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/ERC1967/ERC1967Proxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Proxy.sol\";\nimport \"./ERC1967Upgrade.sol\";\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy, ERC1967Upgrade {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n * function call, and allows initializing the storage of the proxy like a Solidity constructor.\n */\n constructor(address _logic, bytes memory _data) payable {\n _upgradeToAndCall(_logic, _data, false);\n }\n\n /**\n * @dev Returns the current implementation address.\n */\n function _implementation() internal view virtual override returns (address impl) {\n return ERC1967Upgrade._getImplementation();\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (proxy/ERC1967/ERC1967Upgrade.sol)\n\npragma solidity ^0.8.2;\n\nimport \"../beacon/IBeacon.sol\";\nimport \"../../interfaces/draft-IERC1822.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This abstract contract provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n *\n * _Available since v4.1._\n *\n * @custom:oz-upgrades-unsafe-allow delegatecall\n */\nabstract contract ERC1967Upgrade {\n // This is the keccak-256 hash of \"eip1967.proxy.rollback\" subtracted by 1\n bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143;\n\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Returns the current implementation address.\n */\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Perform implementation upgrade\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeTo(address newImplementation) internal {\n _setImplementation(newImplementation);\n emit Upgraded(newImplementation);\n }\n\n /**\n * @dev Perform implementation upgrade with additional setup call.\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCall(\n address newImplementation,\n bytes memory data,\n bool forceCall\n ) internal {\n _upgradeTo(newImplementation);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(newImplementation, data);\n }\n }\n\n /**\n * @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call.\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCallUUPS(\n address newImplementation,\n bytes memory data,\n bool forceCall\n ) internal {\n // Upgrades from old implementations will perform a rollback test. This test requires the new\n // implementation to upgrade back to the old, non-ERC1822 compliant, implementation. Removing\n // this special case will break upgrade paths from old UUPS implementation to new ones.\n if (StorageSlot.getBooleanSlot(_ROLLBACK_SLOT).value) {\n _setImplementation(newImplementation);\n } else {\n try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\n require(slot == _IMPLEMENTATION_SLOT, \"ERC1967Upgrade: unsupported proxiableUUID\");\n } catch {\n revert(\"ERC1967Upgrade: new implementation is not UUPS\");\n }\n _upgradeToAndCall(newImplementation, data, forceCall);\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Returns the current admin.\n */\n function _getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n require(newAdmin != address(0), \"ERC1967: new admin is the zero address\");\n StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {AdminChanged} event.\n */\n function _changeAdmin(address newAdmin) internal {\n emit AdminChanged(_getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\n */\n bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Emitted when the beacon is upgraded.\n */\n event BeaconUpgraded(address indexed beacon);\n\n /**\n * @dev Returns the current beacon.\n */\n function _getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(_BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the EIP1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n require(Address.isContract(newBeacon), \"ERC1967: new beacon is not a contract\");\n require(\n Address.isContract(IBeacon(newBeacon).implementation()),\n \"ERC1967: beacon implementation is not a contract\"\n );\n StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon;\n }\n\n /**\n * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does\n * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that).\n *\n * Emits a {BeaconUpgraded} event.\n */\n function _upgradeBeaconToAndCall(\n address newBeacon,\n bytes memory data,\n bool forceCall\n ) internal {\n _setBeacon(newBeacon);\n emit BeaconUpgraded(newBeacon);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (proxy/Proxy.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n * be specified by overriding the virtual {_implementation} function.\n *\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n * different contract through the {_delegate} function.\n *\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\n */\nabstract contract Proxy {\n /**\n * @dev Delegates the current call to `implementation`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _delegate(address implementation) internal virtual {\n assembly {\n // Copy msg.data. We take full control of memory in this inline assembly\n // block because it will not return to Solidity code. We overwrite the\n // Solidity scratch pad at memory position 0.\n calldatacopy(0, 0, calldatasize())\n\n // Call the implementation.\n // out and outsize are 0 because we don't know the size yet.\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n // Copy the returned data.\n returndatacopy(0, 0, returndatasize())\n\n switch result\n // delegatecall returns 0 on error.\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n /**\n * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function\n * and {_fallback} should delegate.\n */\n function _implementation() internal view virtual returns (address);\n\n /**\n * @dev Delegates the current call to the address returned by `_implementation()`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _fallback() internal virtual {\n _beforeFallback();\n _delegate(_implementation());\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n * function in the contract matches the call data.\n */\n fallback() external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\n * is empty.\n */\n receive() external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\n * call, or as part of the Solidity `fallback` or `receive` functions.\n *\n * If overridden should call `super._beforeFallback()`.\n */\n function _beforeFallback() internal virtual {}\n}\n"},"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (proxy/transparent/ProxyAdmin.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./TransparentUpgradeableProxy.sol\";\nimport \"../../access/Ownable.sol\";\n\n/**\n * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\n */\ncontract ProxyAdmin is Ownable {\n /**\n * @dev Returns the current implementation of `proxy`.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function getProxyImplementation(TransparentUpgradeableProxy proxy) public view virtual returns (address) {\n // We need to manually run the static call since the getter cannot be flagged as view\n // bytes4(keccak256(\"implementation()\")) == 0x5c60da1b\n (bool success, bytes memory returndata) = address(proxy).staticcall(hex\"5c60da1b\");\n require(success);\n return abi.decode(returndata, (address));\n }\n\n /**\n * @dev Returns the current admin of `proxy`.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function getProxyAdmin(TransparentUpgradeableProxy proxy) public view virtual returns (address) {\n // We need to manually run the static call since the getter cannot be flagged as view\n // bytes4(keccak256(\"admin()\")) == 0xf851a440\n (bool success, bytes memory returndata) = address(proxy).staticcall(hex\"f851a440\");\n require(success);\n return abi.decode(returndata, (address));\n }\n\n /**\n * @dev Changes the admin of `proxy` to `newAdmin`.\n *\n * Requirements:\n *\n * - This contract must be the current admin of `proxy`.\n */\n function changeProxyAdmin(TransparentUpgradeableProxy proxy, address newAdmin) public virtual onlyOwner {\n proxy.changeAdmin(newAdmin);\n }\n\n /**\n * @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function upgrade(TransparentUpgradeableProxy proxy, address implementation) public virtual onlyOwner {\n proxy.upgradeTo(implementation);\n }\n\n /**\n * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See\n * {TransparentUpgradeableProxy-upgradeToAndCall}.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function upgradeAndCall(\n TransparentUpgradeableProxy proxy,\n address implementation,\n bytes memory data\n ) public payable virtual onlyOwner {\n proxy.upgradeToAndCall{value: msg.value}(implementation, data);\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/transparent/TransparentUpgradeableProxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1967/ERC1967Proxy.sol\";\n\n/**\n * @dev This contract implements a proxy that is upgradeable by an admin.\n *\n * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n * clashing], which can potentially be used in an attack, this contract uses the\n * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n * things that go hand in hand:\n *\n * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n * that call matches one of the admin functions exposed by the proxy itself.\n * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the\n * implementation. If the admin tries to call a function on the implementation it will fail with an error that says\n * \"admin cannot fallback to proxy target\".\n *\n * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing\n * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due\n * to sudden errors when trying to call a function from the proxy implementation.\n *\n * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,\n * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\n */\ncontract TransparentUpgradeableProxy is ERC1967Proxy {\n /**\n * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and\n * optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\n */\n constructor(\n address _logic,\n address admin_,\n bytes memory _data\n ) payable ERC1967Proxy(_logic, _data) {\n _changeAdmin(admin_);\n }\n\n /**\n * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin.\n */\n modifier ifAdmin() {\n if (msg.sender == _getAdmin()) {\n _;\n } else {\n _fallback();\n }\n }\n\n /**\n * @dev Returns the current admin.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function admin() external ifAdmin returns (address admin_) {\n admin_ = _getAdmin();\n }\n\n /**\n * @dev Returns the current implementation.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\n */\n function implementation() external ifAdmin returns (address implementation_) {\n implementation_ = _implementation();\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {AdminChanged} event.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\n */\n function changeAdmin(address newAdmin) external virtual ifAdmin {\n _changeAdmin(newAdmin);\n }\n\n /**\n * @dev Upgrade the implementation of the proxy.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\n */\n function upgradeTo(address newImplementation) external ifAdmin {\n _upgradeToAndCall(newImplementation, bytes(\"\"), false);\n }\n\n /**\n * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified\n * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the\n * proxied contract.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\n */\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin {\n _upgradeToAndCall(newImplementation, data, true);\n }\n\n /**\n * @dev Returns the current admin.\n */\n function _admin() internal view virtual returns (address) {\n return _getAdmin();\n }\n\n /**\n * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.\n */\n function _beforeFallback() internal virtual override {\n require(msg.sender != _getAdmin(), \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");\n super._beforeFallback();\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (proxy/utils/Initializable.sol)\n\npragma solidity ^0.8.2;\n\nimport \"../../utils/Address.sol\";\n\n/**\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n *\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n * reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n * case an upgrade adds a module that needs to be initialized.\n *\n * For example:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * contract MyToken is ERC20Upgradeable {\n * function initialize() initializer public {\n * __ERC20_init(\"MyToken\", \"MTK\");\n * }\n * }\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n * function initializeV2() reinitializer(2) public {\n * __ERC20Permit_init(\"MyToken\");\n * }\n * }\n * ```\n *\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n *\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n *\n * [CAUTION]\n * ====\n * Avoid leaving a contract uninitialized.\n *\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * /// @custom:oz-upgrades-unsafe-allow constructor\n * constructor() {\n * _disableInitializers();\n * }\n * ```\n * ====\n */\nabstract contract Initializable {\n /**\n * @dev Indicates that the contract has been initialized.\n * @custom:oz-retyped-from bool\n */\n uint8 private _initialized;\n\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool private _initializing;\n\n /**\n * @dev Triggered when the contract has been initialized or reinitialized.\n */\n event Initialized(uint8 version);\n\n /**\n * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n * `onlyInitializing` functions can be used to initialize parent contracts.\n *\n * Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\n * constructor.\n *\n * Emits an {Initialized} event.\n */\n modifier initializer() {\n bool isTopLevelCall = !_initializing;\n require(\n (isTopLevelCall && _initialized < 1) || (!Address.isContract(address(this)) && _initialized == 1),\n \"Initializable: contract is already initialized\"\n );\n _initialized = 1;\n if (isTopLevelCall) {\n _initializing = true;\n }\n _;\n if (isTopLevelCall) {\n _initializing = false;\n emit Initialized(1);\n }\n }\n\n /**\n * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n * used to initialize parent contracts.\n *\n * A reinitializer may be used after the original initialization step. This is essential to configure modules that\n * are added through upgrades and that require initialization.\n *\n * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n * cannot be nested. If one is invoked in the context of another, execution will revert.\n *\n * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n * a contract, executing them in the right order is up to the developer or operator.\n *\n * WARNING: setting the version to 255 will prevent any future reinitialization.\n *\n * Emits an {Initialized} event.\n */\n modifier reinitializer(uint8 version) {\n require(!_initializing && _initialized < version, \"Initializable: contract is already initialized\");\n _initialized = version;\n _initializing = true;\n _;\n _initializing = false;\n emit Initialized(version);\n }\n\n /**\n * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n * {initializer} and {reinitializer} modifiers, directly or indirectly.\n */\n modifier onlyInitializing() {\n require(_initializing, \"Initializable: contract is not initializing\");\n _;\n }\n\n /**\n * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n * through proxies.\n *\n * Emits an {Initialized} event the first time it is successfully executed.\n */\n function _disableInitializers() internal virtual {\n require(!_initializing, \"Initializable: contract is initializing\");\n if (_initialized < type(uint8).max) {\n _initialized = type(uint8).max;\n emit Initialized(type(uint8).max);\n }\n }\n\n /**\n * @dev Internal function that returns the initialized version. Returns `_initialized`\n */\n function _getInitializedVersion() internal view returns (uint8) {\n return _initialized;\n }\n\n /**\n * @dev Internal function that returns the initialized version. Returns `_initializing`\n */\n function _isInitializing() internal view returns (bool) {\n return _initializing;\n }\n}\n"},"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (proxy/utils/UUPSUpgradeable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../interfaces/draft-IERC1822.sol\";\nimport \"../ERC1967/ERC1967Upgrade.sol\";\n\n/**\n * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n *\n * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n * `UUPSUpgradeable` with a custom implementation of upgrades.\n *\n * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\n *\n * _Available since v4.1._\n */\nabstract contract UUPSUpgradeable is IERC1822Proxiable, ERC1967Upgrade {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable state-variable-assignment\n address private immutable __self = address(this);\n\n /**\n * @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n * a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case\n * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n * function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n * fail.\n */\n modifier onlyProxy() {\n require(address(this) != __self, \"Function must be called through delegatecall\");\n require(_getImplementation() == __self, \"Function must be called through active proxy\");\n _;\n }\n\n /**\n * @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n * callable on the implementing contract but not through proxies.\n */\n modifier notDelegated() {\n require(address(this) == __self, \"UUPSUpgradeable: must not be called through delegatecall\");\n _;\n }\n\n /**\n * @dev Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the\n * implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\n */\n function proxiableUUID() external view virtual override notDelegated returns (bytes32) {\n return _IMPLEMENTATION_SLOT;\n }\n\n /**\n * @dev Upgrade the implementation of the proxy to `newImplementation`.\n *\n * Calls {_authorizeUpgrade}.\n *\n * Emits an {Upgraded} event.\n */\n function upgradeTo(address newImplementation) external virtual onlyProxy {\n _authorizeUpgrade(newImplementation);\n _upgradeToAndCallUUPS(newImplementation, new bytes(0), false);\n }\n\n /**\n * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n * encoded in `data`.\n *\n * Calls {_authorizeUpgrade}.\n *\n * Emits an {Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) external payable virtual onlyProxy {\n _authorizeUpgrade(newImplementation);\n _upgradeToAndCallUUPS(newImplementation, data, true);\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n * {upgradeTo} and {upgradeToAndCall}.\n *\n * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n *\n * ```solidity\n * function _authorizeUpgrade(address) internal override onlyOwner {}\n * ```\n */\n function _authorizeUpgrade(address newImplementation) internal virtual;\n}\n"},"contracts/@openzeppelin/contracts/security/Pausable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which allows children to implement an emergency stop\n * mechanism that can be triggered by an authorized account.\n *\n * This module is used through inheritance. It will make available the\n * modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n * the functions of your contract. Note that they will not be pausable by\n * simply including this module, only once the modifiers are put in place.\n */\nabstract contract Pausable is Context {\n /**\n * @dev Emitted when the pause is triggered by `account`.\n */\n event Paused(address account);\n\n /**\n * @dev Emitted when the pause is lifted by `account`.\n */\n event Unpaused(address account);\n\n bool private _paused;\n\n /**\n * @dev Initializes the contract in unpaused state.\n */\n constructor() {\n _paused = false;\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is not paused.\n *\n * Requirements:\n *\n * - The contract must not be paused.\n */\n modifier whenNotPaused() {\n _requireNotPaused();\n _;\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is paused.\n *\n * Requirements:\n *\n * - The contract must be paused.\n */\n modifier whenPaused() {\n _requirePaused();\n _;\n }\n\n /**\n * @dev Returns true if the contract is paused, and false otherwise.\n */\n function paused() public view virtual returns (bool) {\n return _paused;\n }\n\n /**\n * @dev Throws if the contract is paused.\n */\n function _requireNotPaused() internal view virtual {\n require(!paused(), \"Pausable: paused\");\n }\n\n /**\n * @dev Throws if the contract is not paused.\n */\n function _requirePaused() internal view virtual {\n require(paused(), \"Pausable: not paused\");\n }\n\n /**\n * @dev Triggers stopped state.\n *\n * Requirements:\n *\n * - The contract must not be paused.\n */\n function _pause() internal virtual whenNotPaused {\n _paused = true;\n emit Paused(_msgSender());\n }\n\n /**\n * @dev Returns to normal state.\n *\n * Requirements:\n *\n * - The contract must be paused.\n */\n function _unpause() internal virtual whenPaused {\n _paused = false;\n emit Unpaused(_msgSender());\n }\n}\n"},"contracts/@openzeppelin/contracts/security/PullPayment.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (security/PullPayment.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/escrow/Escrow.sol\";\n\n/**\n * @dev Simple implementation of a\n * https://consensys.github.io/smart-contract-best-practices/development-recommendations/general/external-calls/#favor-pull-over-push-for-external-calls[pull-payment]\n * strategy, where the paying contract doesn't interact directly with the\n * receiver account, which must withdraw its payments itself.\n *\n * Pull-payments are often considered the best practice when it comes to sending\n * Ether, security-wise. It prevents recipients from blocking execution, and\n * eliminates reentrancy concerns.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n *\n * To use, derive from the `PullPayment` contract, and use {_asyncTransfer}\n * instead of Solidity's `transfer` function. Payees can query their due\n * payments with {payments}, and retrieve them with {withdrawPayments}.\n */\nabstract contract PullPayment {\n Escrow private immutable _escrow;\n\n constructor() {\n _escrow = new Escrow();\n }\n\n /**\n * @dev Withdraw accumulated payments, forwarding all gas to the recipient.\n *\n * Note that _any_ account can call this function, not just the `payee`.\n * This means that contracts unaware of the `PullPayment` protocol can still\n * receive funds this way, by having a separate account call\n * {withdrawPayments}.\n *\n * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities.\n * Make sure you trust the recipient, or are either following the\n * checks-effects-interactions pattern or using {ReentrancyGuard}.\n *\n * @param payee Whose payments will be withdrawn.\n *\n * Causes the `escrow` to emit a {Withdrawn} event.\n */\n function withdrawPayments(address payable payee) public virtual {\n _escrow.withdraw(payee);\n }\n\n /**\n * @dev Returns the payments owed to an address.\n * @param dest The creditor's address.\n */\n function payments(address dest) public view returns (uint256) {\n return _escrow.depositsOf(dest);\n }\n\n /**\n * @dev Called by the payer to store the sent amount as credit to be pulled.\n * Funds sent in this way are stored in an intermediate {Escrow} contract, so\n * there is no danger of them being spent before withdrawal.\n *\n * @param dest The destination address of the funds.\n * @param amount The amount to transfer.\n *\n * Causes the `escrow` to emit a {Deposited} event.\n */\n function _asyncTransfer(address dest, uint256 amount) internal virtual {\n _escrow.deposit{value: amount}(dest);\n }\n}\n"},"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n */\nabstract contract ReentrancyGuard {\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\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 /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be _NOT_ENTERED\n require(_status != _ENTERED, \"ReentrancyGuard: reentrant call\");\n\n // Any calls to nonReentrant after this point will fail\n _status = _ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _status = _NOT_ENTERED;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/common/ERC2981.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (token/common/ERC2981.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../interfaces/IERC2981.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information.\n *\n * Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for\n * specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first.\n *\n * Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the\n * fee is specified in basis points by default.\n *\n * IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See\n * https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to\n * voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.\n *\n * _Available since v4.5._\n */\nabstract contract ERC2981 is IERC2981, ERC165 {\n struct RoyaltyInfo {\n address receiver;\n uint96 royaltyFraction;\n }\n\n RoyaltyInfo private _defaultRoyaltyInfo;\n mapping(uint256 => RoyaltyInfo) private _tokenRoyaltyInfo;\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) {\n return interfaceId == type(IERC2981).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @inheritdoc IERC2981\n */\n function royaltyInfo(uint256 _tokenId, uint256 _salePrice) public view virtual override returns (address, uint256) {\n RoyaltyInfo memory royalty = _tokenRoyaltyInfo[_tokenId];\n\n if (royalty.receiver == address(0)) {\n royalty = _defaultRoyaltyInfo;\n }\n\n uint256 royaltyAmount = (_salePrice * royalty.royaltyFraction) / _feeDenominator();\n\n return (royalty.receiver, royaltyAmount);\n }\n\n /**\n * @dev The denominator with which to interpret the fee set in {_setTokenRoyalty} and {_setDefaultRoyalty} as a\n * fraction of the sale price. Defaults to 10000 so fees are expressed in basis points, but may be customized by an\n * override.\n */\n function _feeDenominator() internal pure virtual returns (uint96) {\n return 10000;\n }\n\n /**\n * @dev Sets the royalty information that all ids in this contract will default to.\n *\n * Requirements:\n *\n * - `receiver` cannot be the zero address.\n * - `feeNumerator` cannot be greater than the fee denominator.\n */\n function _setDefaultRoyalty(address receiver, uint96 feeNumerator) internal virtual {\n require(feeNumerator <= _feeDenominator(), \"ERC2981: royalty fee will exceed salePrice\");\n require(receiver != address(0), \"ERC2981: invalid receiver\");\n\n _defaultRoyaltyInfo = RoyaltyInfo(receiver, feeNumerator);\n }\n\n /**\n * @dev Removes default royalty information.\n */\n function _deleteDefaultRoyalty() internal virtual {\n delete _defaultRoyaltyInfo;\n }\n\n /**\n * @dev Sets the royalty information for a specific token id, overriding the global default.\n *\n * Requirements:\n *\n * - `receiver` cannot be the zero address.\n * - `feeNumerator` cannot be greater than the fee denominator.\n */\n function _setTokenRoyalty(\n uint256 tokenId,\n address receiver,\n uint96 feeNumerator\n ) internal virtual {\n require(feeNumerator <= _feeDenominator(), \"ERC2981: royalty fee will exceed salePrice\");\n require(receiver != address(0), \"ERC2981: Invalid parameters\");\n\n _tokenRoyaltyInfo[tokenId] = RoyaltyInfo(receiver, feeNumerator);\n }\n\n /**\n * @dev Resets royalty information for the token id back to the global default.\n */\n function _resetTokenRoyalty(uint256 tokenId) internal virtual {\n delete _tokenRoyaltyInfo[tokenId];\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC1155/ERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC1155.sol\";\nimport \"./IERC1155Receiver.sol\";\nimport \"./extensions/IERC1155MetadataURI.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of the basic standard multi-token.\n * See https://eips.ethereum.org/EIPS/eip-1155\n * Originally based on code by Enjin: https://github.com/enjin/erc-1155\n *\n * _Available since v3.1._\n */\ncontract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {\n using Address for address;\n\n // Mapping from token ID to account balances\n mapping(uint256 => mapping(address => uint256)) private _balances;\n\n // Mapping from account to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n // Used as the URI for all token types by relying on ID substitution, e.g. https://token-cdn-domain/{id}.json\n string private _uri;\n\n /**\n * @dev See {_setURI}.\n */\n constructor(string memory uri_) {\n _setURI(uri_);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC1155).interfaceId ||\n interfaceId == type(IERC1155MetadataURI).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC1155MetadataURI-uri}.\n *\n * This implementation returns the same URI for *all* token types. It relies\n * on the token type ID substitution mechanism\n * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP].\n *\n * Clients calling this function must replace the `\\{id\\}` substring with the\n * actual token type ID.\n */\n function uri(uint256) public view virtual override returns (string memory) {\n return _uri;\n }\n\n /**\n * @dev See {IERC1155-balanceOf}.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function balanceOf(address account, uint256 id) public view virtual override returns (uint256) {\n require(account != address(0), \"ERC1155: address zero is not a valid owner\");\n return _balances[id][account];\n }\n\n /**\n * @dev See {IERC1155-balanceOfBatch}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(address[] memory accounts, uint256[] memory ids)\n public\n view\n virtual\n override\n returns (uint256[] memory)\n {\n require(accounts.length == ids.length, \"ERC1155: accounts and ids length mismatch\");\n\n uint256[] memory batchBalances = new uint256[](accounts.length);\n\n for (uint256 i = 0; i < accounts.length; ++i) {\n batchBalances[i] = balanceOf(accounts[i], ids[i]);\n }\n\n return batchBalances;\n }\n\n /**\n * @dev See {IERC1155-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC1155-isApprovedForAll}.\n */\n function isApprovedForAll(address account, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[account][operator];\n }\n\n /**\n * @dev See {IERC1155-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 id,\n uint256 amount,\n bytes memory data\n ) public virtual override {\n require(\n from == _msgSender() || isApprovedForAll(from, _msgSender()),\n \"ERC1155: caller is not token owner or approved\"\n );\n _safeTransferFrom(from, to, id, amount, data);\n }\n\n /**\n * @dev See {IERC1155-safeBatchTransferFrom}.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) public virtual override {\n require(\n from == _msgSender() || isApprovedForAll(from, _msgSender()),\n \"ERC1155: caller is not token owner or approved\"\n );\n _safeBatchTransferFrom(from, to, ids, amounts, data);\n }\n\n /**\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function _safeTransferFrom(\n address from,\n address to,\n uint256 id,\n uint256 amount,\n bytes memory data\n ) internal virtual {\n require(to != address(0), \"ERC1155: transfer to the zero address\");\n\n address operator = _msgSender();\n uint256[] memory ids = _asSingletonArray(id);\n uint256[] memory amounts = _asSingletonArray(amount);\n\n _beforeTokenTransfer(operator, from, to, ids, amounts, data);\n\n uint256 fromBalance = _balances[id][from];\n require(fromBalance >= amount, \"ERC1155: insufficient balance for transfer\");\n unchecked {\n _balances[id][from] = fromBalance - amount;\n }\n _balances[id][to] += amount;\n\n emit TransferSingle(operator, from, to, id, amount);\n\n _afterTokenTransfer(operator, from, to, ids, amounts, data);\n\n _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data);\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function _safeBatchTransferFrom(\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual {\n require(ids.length == amounts.length, \"ERC1155: ids and amounts length mismatch\");\n require(to != address(0), \"ERC1155: transfer to the zero address\");\n\n address operator = _msgSender();\n\n _beforeTokenTransfer(operator, from, to, ids, amounts, data);\n\n for (uint256 i = 0; i < ids.length; ++i) {\n uint256 id = ids[i];\n uint256 amount = amounts[i];\n\n uint256 fromBalance = _balances[id][from];\n require(fromBalance >= amount, \"ERC1155: insufficient balance for transfer\");\n unchecked {\n _balances[id][from] = fromBalance - amount;\n }\n _balances[id][to] += amount;\n }\n\n emit TransferBatch(operator, from, to, ids, amounts);\n\n _afterTokenTransfer(operator, from, to, ids, amounts, data);\n\n _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data);\n }\n\n /**\n * @dev Sets a new URI for all token types, by relying on the token type ID\n * substitution mechanism\n * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP].\n *\n * By this mechanism, any occurrence of the `\\{id\\}` substring in either the\n * URI or any of the amounts in the JSON file at said URI will be replaced by\n * clients with the token type ID.\n *\n * For example, the `https://token-cdn-domain/\\{id\\}.json` URI would be\n * interpreted by clients as\n * `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json`\n * for token type ID 0x4cce0.\n *\n * See {uri}.\n *\n * Because these URIs cannot be meaningfully represented by the {URI} event,\n * this function emits no events.\n */\n function _setURI(string memory newuri) internal virtual {\n _uri = newuri;\n }\n\n /**\n * @dev Creates `amount` tokens of token type `id`, and assigns them to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function _mint(\n address to,\n uint256 id,\n uint256 amount,\n bytes memory data\n ) internal virtual {\n require(to != address(0), \"ERC1155: mint to the zero address\");\n\n address operator = _msgSender();\n uint256[] memory ids = _asSingletonArray(id);\n uint256[] memory amounts = _asSingletonArray(amount);\n\n _beforeTokenTransfer(operator, address(0), to, ids, amounts, data);\n\n _balances[id][to] += amount;\n emit TransferSingle(operator, address(0), to, id, amount);\n\n _afterTokenTransfer(operator, address(0), to, ids, amounts, data);\n\n _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data);\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function _mintBatch(\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual {\n require(to != address(0), \"ERC1155: mint to the zero address\");\n require(ids.length == amounts.length, \"ERC1155: ids and amounts length mismatch\");\n\n address operator = _msgSender();\n\n _beforeTokenTransfer(operator, address(0), to, ids, amounts, data);\n\n for (uint256 i = 0; i < ids.length; i++) {\n _balances[ids[i]][to] += amounts[i];\n }\n\n emit TransferBatch(operator, address(0), to, ids, amounts);\n\n _afterTokenTransfer(operator, address(0), to, ids, amounts, data);\n\n _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data);\n }\n\n /**\n * @dev Destroys `amount` tokens of token type `id` from `from`\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `from` must have at least `amount` tokens of token type `id`.\n */\n function _burn(\n address from,\n uint256 id,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC1155: burn from the zero address\");\n\n address operator = _msgSender();\n uint256[] memory ids = _asSingletonArray(id);\n uint256[] memory amounts = _asSingletonArray(amount);\n\n _beforeTokenTransfer(operator, from, address(0), ids, amounts, \"\");\n\n uint256 fromBalance = _balances[id][from];\n require(fromBalance >= amount, \"ERC1155: burn amount exceeds balance\");\n unchecked {\n _balances[id][from] = fromBalance - amount;\n }\n\n emit TransferSingle(operator, from, address(0), id, amount);\n\n _afterTokenTransfer(operator, from, address(0), ids, amounts, \"\");\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n */\n function _burnBatch(\n address from,\n uint256[] memory ids,\n uint256[] memory amounts\n ) internal virtual {\n require(from != address(0), \"ERC1155: burn from the zero address\");\n require(ids.length == amounts.length, \"ERC1155: ids and amounts length mismatch\");\n\n address operator = _msgSender();\n\n _beforeTokenTransfer(operator, from, address(0), ids, amounts, \"\");\n\n for (uint256 i = 0; i < ids.length; i++) {\n uint256 id = ids[i];\n uint256 amount = amounts[i];\n\n uint256 fromBalance = _balances[id][from];\n require(fromBalance >= amount, \"ERC1155: burn amount exceeds balance\");\n unchecked {\n _balances[id][from] = fromBalance - amount;\n }\n }\n\n emit TransferBatch(operator, from, address(0), ids, amounts);\n\n _afterTokenTransfer(operator, from, address(0), ids, amounts, \"\");\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(\n address owner,\n address operator,\n bool approved\n ) internal virtual {\n require(owner != operator, \"ERC1155: setting approval status for self\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting\n * and burning, as well as batched variants.\n *\n * The same hook is called on both single and batched variants. For single\n * transfers, the length of the `ids` and `amounts` arrays will be 1.\n *\n * Calling conditions (for each `id` and `amount` pair):\n *\n * - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * of token type `id` will be transferred to `to`.\n * - When `from` is zero, `amount` tokens of token type `id` will be minted\n * for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens of token type `id`\n * will be burned.\n * - `from` and `to` are never both zero.\n * - `ids` and `amounts` have the same, non-zero length.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting\n * and burning, as well as batched variants.\n *\n * The same hook is called on both single and batched variants. For single\n * transfers, the length of the `id` and `amount` arrays will be 1.\n *\n * Calling conditions (for each `id` and `amount` pair):\n *\n * - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * of token type `id` will be transferred to `to`.\n * - When `from` is zero, `amount` tokens of token type `id` will be minted\n * for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens of token type `id`\n * will be burned.\n * - `from` and `to` are never both zero.\n * - `ids` and `amounts` have the same, non-zero length.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual {}\n\n function _doSafeTransferAcceptanceCheck(\n address operator,\n address from,\n address to,\n uint256 id,\n uint256 amount,\n bytes memory data\n ) private {\n if (to.isContract()) {\n try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) {\n if (response != IERC1155Receiver.onERC1155Received.selector) {\n revert(\"ERC1155: ERC1155Receiver rejected tokens\");\n }\n } catch Error(string memory reason) {\n revert(reason);\n } catch {\n revert(\"ERC1155: transfer to non-ERC1155Receiver implementer\");\n }\n }\n }\n\n function _doSafeBatchTransferAcceptanceCheck(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) private {\n if (to.isContract()) {\n try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns (\n bytes4 response\n ) {\n if (response != IERC1155Receiver.onERC1155BatchReceived.selector) {\n revert(\"ERC1155: ERC1155Receiver rejected tokens\");\n }\n } catch Error(string memory reason) {\n revert(reason);\n } catch {\n revert(\"ERC1155: transfer to non-ERC1155Receiver implementer\");\n }\n }\n }\n\n function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) {\n uint256[] memory array = new uint256[](1);\n array[0] = element;\n\n return array;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC1155/extensions/ERC1155Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1155.sol\";\n\n/**\n * @dev Extension of {ERC1155} that allows token holders to destroy both their\n * own tokens and those that they have been approved to use.\n *\n * _Available since v3.1._\n */\nabstract contract ERC1155Burnable is ERC1155 {\n function burn(\n address account,\n uint256 id,\n uint256 value\n ) public virtual {\n require(\n account == _msgSender() || isApprovedForAll(account, _msgSender()),\n \"ERC1155: caller is not token owner or approved\"\n );\n\n _burn(account, id, value);\n }\n\n function burnBatch(\n address account,\n uint256[] memory ids,\n uint256[] memory values\n ) public virtual {\n require(\n account == _msgSender() || isApprovedForAll(account, _msgSender()),\n \"ERC1155: caller is not token owner or approved\"\n );\n\n _burnBatch(account, ids, values);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC1155/extensions/ERC1155Pausable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1155.sol\";\nimport \"../../../security/Pausable.sol\";\n\n/**\n * @dev ERC1155 token with pausable token transfers, minting and burning.\n *\n * Useful for scenarios such as preventing trades until the end of an evaluation\n * period, or having an emergency switch for freezing all token transfers in the\n * event of a large bug.\n *\n * _Available since v3.1._\n */\nabstract contract ERC1155Pausable is ERC1155, Pausable {\n /**\n * @dev See {ERC1155-_beforeTokenTransfer}.\n *\n * Requirements:\n *\n * - the contract must not be paused.\n */\n function _beforeTokenTransfer(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual override {\n super._beforeTokenTransfer(operator, from, to, ids, amounts, data);\n\n require(!paused(), \"ERC1155Pausable: token transfer while paused\");\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC1155/extensions/ERC1155Supply.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1155.sol\";\n\n/**\n * @dev Extension of ERC1155 that adds tracking of total supply per id.\n *\n * Useful for scenarios where Fungible and Non-fungible tokens have to be\n * clearly identified. Note: While a totalSupply of 1 might mean the\n * corresponding is an NFT, there is no guarantees that no other token with the\n * same id are not going to be minted.\n */\nabstract contract ERC1155Supply is ERC1155 {\n mapping(uint256 => uint256) private _totalSupply;\n\n /**\n * @dev Total amount of tokens in with a given id.\n */\n function totalSupply(uint256 id) public view virtual returns (uint256) {\n return _totalSupply[id];\n }\n\n /**\n * @dev Indicates whether any token exist with a given id, or not.\n */\n function exists(uint256 id) public view virtual returns (bool) {\n return ERC1155Supply.totalSupply(id) > 0;\n }\n\n /**\n * @dev See {ERC1155-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual override {\n super._beforeTokenTransfer(operator, from, to, ids, amounts, data);\n\n if (from == address(0)) {\n for (uint256 i = 0; i < ids.length; ++i) {\n _totalSupply[ids[i]] += amounts[i];\n }\n }\n\n if (to == address(0)) {\n for (uint256 i = 0; i < ids.length; ++i) {\n uint256 id = ids[i];\n uint256 amount = amounts[i];\n uint256 supply = _totalSupply[id];\n require(supply >= amount, \"ERC1155: burn amount exceeds totalSupply\");\n unchecked {\n _totalSupply[id] = supply - amount;\n }\n }\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC1155/extensions/ERC1155URIStorage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../../utils/Strings.sol\";\nimport \"../ERC1155.sol\";\n\n/**\n * @dev ERC1155 token with storage based token URI management.\n * Inspired by the ERC721URIStorage extension\n *\n * _Available since v4.6._\n */\nabstract contract ERC1155URIStorage is ERC1155 {\n using Strings for uint256;\n\n // Optional base URI\n string private _baseURI = \"\";\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n /**\n * @dev See {IERC1155MetadataURI-uri}.\n *\n * This implementation returns the concatenation of the `_baseURI`\n * and the token-specific uri if the latter is set\n *\n * This enables the following behaviors:\n *\n * - if `_tokenURIs[tokenId]` is set, then the result is the concatenation\n * of `_baseURI` and `_tokenURIs[tokenId]` (keep in mind that `_baseURI`\n * is empty per default);\n *\n * - if `_tokenURIs[tokenId]` is NOT set then we fallback to `super.uri()`\n * which in most cases will contain `ERC1155._uri`;\n *\n * - if `_tokenURIs[tokenId]` is NOT set, and if the parents do not have a\n * uri value set, then the result is empty.\n */\n function uri(uint256 tokenId) public view virtual override returns (string memory) {\n string memory tokenURI = _tokenURIs[tokenId];\n\n // If token URI is set, concatenate base URI and tokenURI (via abi.encodePacked).\n return bytes(tokenURI).length > 0 ? string(abi.encodePacked(_baseURI, tokenURI)) : super.uri(tokenId);\n }\n\n /**\n * @dev Sets `tokenURI` as the tokenURI of `tokenId`.\n */\n function _setURI(uint256 tokenId, string memory tokenURI) internal virtual {\n _tokenURIs[tokenId] = tokenURI;\n emit URI(uri(tokenId), tokenId);\n }\n\n /**\n * @dev Sets `baseURI` as the `_baseURI` for all tokens\n */\n function _setBaseURI(string memory baseURI) internal virtual {\n _baseURI = baseURI;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC1155/extensions/IERC1155MetadataURI.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC1155.sol\";\n\n/**\n * @dev Interface of the optional ERC1155MetadataExtension interface, as defined\n * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].\n *\n * _Available since v3.1._\n */\ninterface IERC1155MetadataURI is IERC1155 {\n /**\n * @dev Returns the URI for token type `id`.\n *\n * If the `\\{id\\}` substring is present in the URI, it must be replaced by\n * clients with the actual token type ID.\n */\n function uri(uint256 id) external view returns (string memory);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC1155/IERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC1155 compliant contract, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1155[EIP].\n *\n * _Available since v3.1._\n */\ninterface IERC1155 is IERC165 {\n /**\n * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\n */\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\n\n /**\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n * transfers.\n */\n event TransferBatch(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256[] ids,\n uint256[] values\n );\n\n /**\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n * `approved`.\n */\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\n\n /**\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n *\n * If an {URI} event was emitted for `id`, the standard\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n * returned by {IERC1155MetadataURI-uri}.\n */\n event URI(string value, uint256 indexed id);\n\n /**\n * @dev Returns the amount of tokens of token type `id` owned by `account`.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)\n external\n view\n returns (uint256[] memory);\n\n /**\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the caller.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n *\n * See {setApprovalForAll}.\n */\n function isApprovedForAll(address account, address operator) external view returns (bool);\n\n /**\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 id,\n uint256 amount,\n bytes calldata data\n ) external;\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] calldata ids,\n uint256[] calldata amounts,\n bytes calldata data\n ) external;\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/IERC1155Receiver.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev _Available since v3.1._\n */\ninterface IERC1155Receiver is IERC165 {\n /**\n * @dev Handles the receipt of a single ERC1155 token type. This function is\n * called at the end of a `safeTransferFrom` after the balance has been updated.\n *\n * NOTE: To accept the transfer, this must return\n * `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n * (i.e. 0xf23a6e61, or its own function selector).\n *\n * @param operator The address which initiated the transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param id The ID of the token being transferred\n * @param value The amount of tokens being transferred\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n ) external returns (bytes4);\n\n /**\n * @dev Handles the receipt of a multiple ERC1155 token types. This function\n * is called at the end of a `safeBatchTransferFrom` after the balances have\n * been updated.\n *\n * NOTE: To accept the transfer(s), this must return\n * `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n * (i.e. 0xbc197c81, or its own function selector).\n *\n * @param operator The address which initiated the batch transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param ids An array containing ids of each token being transferred (order and length must match values array)\n * @param values An array containing amounts of each token being transferred (order and length must match ids array)\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n ) external returns (bytes4);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/presets/ERC1155PresetMinterPauser.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1155.sol\";\nimport \"../extensions/ERC1155Burnable.sol\";\nimport \"../extensions/ERC1155Pausable.sol\";\nimport \"../../../access/AccessControlEnumerable.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @dev {ERC1155} token, including:\n *\n * - ability for holders to burn (destroy) their tokens\n * - a minter role that allows for token minting (creation)\n * - a pauser role that allows to stop all token transfers\n *\n * This contract uses {AccessControl} to lock permissioned functions using the\n * different roles - head to its documentation for details.\n *\n * The account that deploys the contract will be granted the minter and pauser\n * roles, as well as the default admin role, which will let it grant both minter\n * and pauser roles to other accounts.\n *\n * _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\n */\ncontract ERC1155PresetMinterPauser is Context, AccessControlEnumerable, ERC1155Burnable, ERC1155Pausable {\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n\n /**\n * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that\n * deploys the contract.\n */\n constructor(string memory uri) ERC1155(uri) {\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n\n _setupRole(MINTER_ROLE, _msgSender());\n _setupRole(PAUSER_ROLE, _msgSender());\n }\n\n /**\n * @dev Creates `amount` new tokens for `to`, of token type `id`.\n *\n * See {ERC1155-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the `MINTER_ROLE`.\n */\n function mint(\n address to,\n uint256 id,\n uint256 amount,\n bytes memory data\n ) public virtual {\n require(hasRole(MINTER_ROLE, _msgSender()), \"ERC1155PresetMinterPauser: must have minter role to mint\");\n\n _mint(to, id, amount, data);\n }\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] variant of {mint}.\n */\n function mintBatch(\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) public virtual {\n require(hasRole(MINTER_ROLE, _msgSender()), \"ERC1155PresetMinterPauser: must have minter role to mint\");\n\n _mintBatch(to, ids, amounts, data);\n }\n\n /**\n * @dev Pauses all token transfers.\n *\n * See {ERC1155Pausable} and {Pausable-_pause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function pause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC1155PresetMinterPauser: must have pauser role to pause\");\n _pause();\n }\n\n /**\n * @dev Unpauses all token transfers.\n *\n * See {ERC1155Pausable} and {Pausable-_unpause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function unpause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC1155PresetMinterPauser: must have pauser role to unpause\");\n _unpause();\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override(AccessControlEnumerable, ERC1155)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n function _beforeTokenTransfer(\n address operator,\n address from,\n address to,\n uint256[] memory ids,\n uint256[] memory amounts,\n bytes memory data\n ) internal virtual override(ERC1155, ERC1155Pausable) {\n super._beforeTokenTransfer(operator, from, to, ids, amounts, data);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/utils/ERC1155Holder.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ERC1155Receiver.sol\";\n\n/**\n * Simple implementation of `ERC1155Receiver` that will allow a contract to hold ERC1155 tokens.\n *\n * IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be\n * stuck.\n *\n * @dev _Available since v3.1._\n */\ncontract ERC1155Holder is ERC1155Receiver {\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n function onERC1155BatchReceived(\n address,\n address,\n uint256[] memory,\n uint256[] memory,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC1155/utils/ERC1155Receiver.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC1155Receiver.sol\";\nimport \"../../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev _Available since v3.1._\n */\nabstract contract ERC1155Receiver is ERC165, IERC1155Receiver {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, allowance(owner, spender) + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = allowance(owner, spender);\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by\n // decrementing then incrementing.\n _balances[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n unchecked {\n // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.\n _balances[account] += amount;\n }\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n // Overflow not possible: amount <= accountBalance <= totalSupply.\n _totalSupply -= amount;\n }\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/draft-ERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./draft-IERC20Permit.sol\";\nimport \"../ERC20.sol\";\nimport \"../../../utils/cryptography/ECDSA.sol\";\nimport \"../../../utils/cryptography/EIP712.sol\";\nimport \"../../../utils/Counters.sol\";\n\n/**\n * @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * _Available since v3.4._\n */\nabstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 {\n using Counters for Counters.Counter;\n\n mapping(address => Counters.Counter) private _nonces;\n\n // solhint-disable-next-line var-name-mixedcase\n bytes32 private constant _PERMIT_TYPEHASH =\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n /**\n * @dev In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`.\n * However, to ensure consistency with the upgradeable transpiler, we will continue\n * to reserve a slot.\n * @custom:oz-renamed-from _PERMIT_TYPEHASH\n */\n // solhint-disable-next-line var-name-mixedcase\n bytes32 private _PERMIT_TYPEHASH_DEPRECATED_SLOT;\n\n /**\n * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n *\n * It's a good idea to use the same `name` that is defined as the ERC20 token name.\n */\n constructor(string memory name) EIP712(name, \"1\") {}\n\n /**\n * @dev See {IERC20Permit-permit}.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override {\n require(block.timestamp <= deadline, \"ERC20Permit: expired deadline\");\n\n bytes32 structHash = keccak256(abi.encode(_PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline));\n\n bytes32 hash = _hashTypedDataV4(structHash);\n\n address signer = ECDSA.recover(hash, v, r, s);\n require(signer == owner, \"ERC20Permit: invalid signature\");\n\n _approve(owner, spender, value);\n }\n\n /**\n * @dev See {IERC20Permit-nonces}.\n */\n function nonces(address owner) public view virtual override returns (uint256) {\n return _nonces[owner].current();\n }\n\n /**\n * @dev See {IERC20Permit-DOMAIN_SEPARATOR}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view override returns (bytes32) {\n return _domainSeparatorV4();\n }\n\n /**\n * @dev \"Consume a nonce\": return the current value and increment.\n *\n * _Available since v4.1._\n */\n function _useNonce(address owner) internal virtual returns (uint256 current) {\n Counters.Counter storage nonce = _nonces[owner];\n current = nonce.current();\n nonce.increment();\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n /**\n * @dev Destroys `amount` tokens from the caller.\n *\n * See {ERC20-_burn}.\n */\n function burn(uint256 amount) public virtual {\n _burn(_msgSender(), amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, deducting from the caller's\n * allowance.\n *\n * See {ERC20-_burn} and {ERC20-allowance}.\n *\n * Requirements:\n *\n * - the caller must have allowance for ``accounts``'s tokens of at least\n * `amount`.\n */\n function burnFrom(address account, uint256 amount) public virtual {\n _spendAllowance(account, _msgSender(), amount);\n _burn(account, amount);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/ERC20Capped.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\n\n/**\n * @dev Extension of {ERC20} that adds a cap to the supply of tokens.\n */\nabstract contract ERC20Capped is ERC20 {\n uint256 private immutable _cap;\n\n /**\n * @dev Sets the value of the `cap`. This value is immutable, it can only be\n * set once during construction.\n */\n constructor(uint256 cap_) {\n require(cap_ > 0, \"ERC20Capped: cap is 0\");\n _cap = cap_;\n }\n\n /**\n * @dev Returns the cap on the token's total supply.\n */\n function cap() public view virtual returns (uint256) {\n return _cap;\n }\n\n /**\n * @dev See {ERC20-_mint}.\n */\n function _mint(address account, uint256 amount) internal virtual override {\n require(ERC20.totalSupply() + amount <= cap(), \"ERC20Capped: cap exceeded\");\n super._mint(account, amount);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/ERC20FlashMint.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../../interfaces/IERC3156FlashBorrower.sol\";\nimport \"../../../interfaces/IERC3156FlashLender.sol\";\nimport \"../ERC20.sol\";\n\n/**\n * @dev Implementation of the ERC3156 Flash loans extension, as defined in\n * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n *\n * Adds the {flashLoan} method, which provides flash loan support at the token\n * level. By default there is no fee, but this can be changed by overriding {flashFee}.\n *\n * _Available since v4.1._\n */\nabstract contract ERC20FlashMint is ERC20, IERC3156FlashLender {\n bytes32 private constant _RETURN_VALUE = keccak256(\"ERC3156FlashBorrower.onFlashLoan\");\n\n /**\n * @dev Returns the maximum amount of tokens available for loan.\n * @param token The address of the token that is requested.\n * @return The amount of token that can be loaned.\n */\n function maxFlashLoan(address token) public view virtual override returns (uint256) {\n return token == address(this) ? type(uint256).max - ERC20.totalSupply() : 0;\n }\n\n /**\n * @dev Returns the fee applied when doing flash loans. This function calls\n * the {_flashFee} function which returns the fee applied when doing flash\n * loans.\n * @param token The token to be flash loaned.\n * @param amount The amount of tokens to be loaned.\n * @return The fees applied to the corresponding flash loan.\n */\n function flashFee(address token, uint256 amount) public view virtual override returns (uint256) {\n require(token == address(this), \"ERC20FlashMint: wrong token\");\n return _flashFee(token, amount);\n }\n\n /**\n * @dev Returns the fee applied when doing flash loans. By default this\n * implementation has 0 fees. This function can be overloaded to make\n * the flash loan mechanism deflationary.\n * @param token The token to be flash loaned.\n * @param amount The amount of tokens to be loaned.\n * @return The fees applied to the corresponding flash loan.\n */\n function _flashFee(address token, uint256 amount) internal view virtual returns (uint256) {\n // silence warning about unused variable without the addition of bytecode.\n token;\n amount;\n return 0;\n }\n\n /**\n * @dev Returns the receiver address of the flash fee. By default this\n * implementation returns the address(0) which means the fee amount will be burnt.\n * This function can be overloaded to change the fee receiver.\n * @return The address for which the flash fee will be sent to.\n */\n function _flashFeeReceiver() internal view virtual returns (address) {\n return address(0);\n }\n\n /**\n * @dev Performs a flash loan. New tokens are minted and sent to the\n * `receiver`, who is required to implement the {IERC3156FlashBorrower}\n * interface. By the end of the flash loan, the receiver is expected to own\n * amount + fee tokens and have them approved back to the token contract itself so\n * they can be burned.\n * @param receiver The receiver of the flash loan. Should implement the\n * {IERC3156FlashBorrower-onFlashLoan} interface.\n * @param token The token to be flash loaned. Only `address(this)` is\n * supported.\n * @param amount The amount of tokens to be loaned.\n * @param data An arbitrary datafield that is passed to the receiver.\n * @return `true` if the flash loan was successful.\n */\n // This function can reenter, but it doesn't pose a risk because it always preserves the property that the amount\n // minted at the beginning is always recovered and burned at the end, or else the entire function will revert.\n // slither-disable-next-line reentrancy-no-eth\n function flashLoan(\n IERC3156FlashBorrower receiver,\n address token,\n uint256 amount,\n bytes calldata data\n ) public virtual override returns (bool) {\n require(amount <= maxFlashLoan(token), \"ERC20FlashMint: amount exceeds maxFlashLoan\");\n uint256 fee = flashFee(token, amount);\n _mint(address(receiver), amount);\n require(\n receiver.onFlashLoan(msg.sender, token, amount, fee, data) == _RETURN_VALUE,\n \"ERC20FlashMint: invalid return value\"\n );\n address flashFeeReceiver = _flashFeeReceiver();\n _spendAllowance(address(receiver), address(this), amount + fee);\n if (fee == 0 || flashFeeReceiver == address(0)) {\n _burn(address(receiver), amount + fee);\n } else {\n _burn(address(receiver), amount);\n _transfer(address(receiver), flashFeeReceiver, fee);\n }\n return true;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/ERC20Pausable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../../../security/Pausable.sol\";\n\n/**\n * @dev ERC20 token with pausable token transfers, minting and burning.\n *\n * Useful for scenarios such as preventing trades until the end of an evaluation\n * period, or having an emergency switch for freezing all token transfers in the\n * event of a large bug.\n */\nabstract contract ERC20Pausable is ERC20, Pausable {\n /**\n * @dev See {ERC20-_beforeTokenTransfer}.\n *\n * Requirements:\n *\n * - the contract must not be paused.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, amount);\n\n require(!paused(), \"ERC20Pausable: token transfer while paused\");\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/extensions/ERC20Snapshot.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../../../utils/Arrays.sol\";\nimport \"../../../utils/Counters.sol\";\n\n/**\n * @dev This contract extends an ERC20 token with a snapshot mechanism. When a snapshot is created, the balances and\n * total supply at the time are recorded for later access.\n *\n * This can be used to safely create mechanisms based on token balances such as trustless dividends or weighted voting.\n * In naive implementations it's possible to perform a \"double spend\" attack by reusing the same balance from different\n * accounts. By using snapshots to calculate dividends or voting power, those attacks no longer apply. It can also be\n * used to create an efficient ERC20 forking mechanism.\n *\n * Snapshots are created by the internal {_snapshot} function, which will emit the {Snapshot} event and return a\n * snapshot id. To get the total supply at the time of a snapshot, call the function {totalSupplyAt} with the snapshot\n * id. To get the balance of an account at the time of a snapshot, call the {balanceOfAt} function with the snapshot id\n * and the account address.\n *\n * NOTE: Snapshot policy can be customized by overriding the {_getCurrentSnapshotId} method. For example, having it\n * return `block.number` will trigger the creation of snapshot at the beginning of each new block. When overriding this\n * function, be careful about the monotonicity of its result. Non-monotonic snapshot ids will break the contract.\n *\n * Implementing snapshots for every block using this method will incur significant gas costs. For a gas-efficient\n * alternative consider {ERC20Votes}.\n *\n * ==== Gas Costs\n *\n * Snapshots are efficient. Snapshot creation is _O(1)_. Retrieval of balances or total supply from a snapshot is _O(log\n * n)_ in the number of snapshots that have been created, although _n_ for a specific account will generally be much\n * smaller since identical balances in subsequent snapshots are stored as a single entry.\n *\n * There is a constant overhead for normal ERC20 transfers due to the additional snapshot bookkeeping. This overhead is\n * only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent\n * transfers will have normal cost until the next snapshot, and so on.\n */\n\nabstract contract ERC20Snapshot is ERC20 {\n // Inspired by Jordi Baylina's MiniMeToken to record historical balances:\n // https://github.com/Giveth/minime/blob/ea04d950eea153a04c51fa510b068b9dded390cb/contracts/MiniMeToken.sol\n\n using Arrays for uint256[];\n using Counters for Counters.Counter;\n\n // Snapshotted values have arrays of ids and the value corresponding to that id. These could be an array of a\n // Snapshot struct, but that would impede usage of functions that work on an array.\n struct Snapshots {\n uint256[] ids;\n uint256[] values;\n }\n\n mapping(address => Snapshots) private _accountBalanceSnapshots;\n Snapshots private _totalSupplySnapshots;\n\n // Snapshot ids increase monotonically, with the first value being 1. An id of 0 is invalid.\n Counters.Counter private _currentSnapshotId;\n\n /**\n * @dev Emitted by {_snapshot} when a snapshot identified by `id` is created.\n */\n event Snapshot(uint256 id);\n\n /**\n * @dev Creates a new snapshot and returns its snapshot id.\n *\n * Emits a {Snapshot} event that contains the same id.\n *\n * {_snapshot} is `internal` and you have to decide how to expose it externally. Its usage may be restricted to a\n * set of accounts, for example using {AccessControl}, or it may be open to the public.\n *\n * [WARNING]\n * ====\n * While an open way of calling {_snapshot} is required for certain trust minimization mechanisms such as forking,\n * you must consider that it can potentially be used by attackers in two ways.\n *\n * First, it can be used to increase the cost of retrieval of values from snapshots, although it will grow\n * logarithmically thus rendering this attack ineffective in the long term. Second, it can be used to target\n * specific accounts and increase the cost of ERC20 transfers for them, in the ways specified in the Gas Costs\n * section above.\n *\n * We haven't measured the actual numbers; if this is something you're interested in please reach out to us.\n * ====\n */\n function _snapshot() internal virtual returns (uint256) {\n _currentSnapshotId.increment();\n\n uint256 currentId = _getCurrentSnapshotId();\n emit Snapshot(currentId);\n return currentId;\n }\n\n /**\n * @dev Get the current snapshotId\n */\n function _getCurrentSnapshotId() internal view virtual returns (uint256) {\n return _currentSnapshotId.current();\n }\n\n /**\n * @dev Retrieves the balance of `account` at the time `snapshotId` was created.\n */\n function balanceOfAt(address account, uint256 snapshotId) public view virtual returns (uint256) {\n (bool snapshotted, uint256 value) = _valueAt(snapshotId, _accountBalanceSnapshots[account]);\n\n return snapshotted ? value : balanceOf(account);\n }\n\n /**\n * @dev Retrieves the total supply at the time `snapshotId` was created.\n */\n function totalSupplyAt(uint256 snapshotId) public view virtual returns (uint256) {\n (bool snapshotted, uint256 value) = _valueAt(snapshotId, _totalSupplySnapshots);\n\n return snapshotted ? value : totalSupply();\n }\n\n // Update balance and/or total supply snapshots before the values are modified. This is implemented\n // in the _beforeTokenTransfer hook, which is executed for _mint, _burn, and _transfer operations.\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, amount);\n\n if (from == address(0)) {\n // mint\n _updateAccountSnapshot(to);\n _updateTotalSupplySnapshot();\n } else if (to == address(0)) {\n // burn\n _updateAccountSnapshot(from);\n _updateTotalSupplySnapshot();\n } else {\n // transfer\n _updateAccountSnapshot(from);\n _updateAccountSnapshot(to);\n }\n }\n\n function _valueAt(uint256 snapshotId, Snapshots storage snapshots) private view returns (bool, uint256) {\n require(snapshotId > 0, \"ERC20Snapshot: id is 0\");\n require(snapshotId <= _getCurrentSnapshotId(), \"ERC20Snapshot: nonexistent id\");\n\n // When a valid snapshot is queried, there are three possibilities:\n // a) The queried value was not modified after the snapshot was taken. Therefore, a snapshot entry was never\n // created for this id, and all stored snapshot ids are smaller than the requested one. The value that corresponds\n // to this id is the current one.\n // b) The queried value was modified after the snapshot was taken. Therefore, there will be an entry with the\n // requested id, and its value is the one to return.\n // c) More snapshots were created after the requested one, and the queried value was later modified. There will be\n // no entry for the requested id: the value that corresponds to it is that of the smallest snapshot id that is\n // larger than the requested one.\n //\n // In summary, we need to find an element in an array, returning the index of the smallest value that is larger if\n // it is not found, unless said value doesn't exist (e.g. when all values are smaller). Arrays.findUpperBound does\n // exactly this.\n\n uint256 index = snapshots.ids.findUpperBound(snapshotId);\n\n if (index == snapshots.ids.length) {\n return (false, 0);\n } else {\n return (true, snapshots.values[index]);\n }\n }\n\n function _updateAccountSnapshot(address account) private {\n _updateSnapshot(_accountBalanceSnapshots[account], balanceOf(account));\n }\n\n function _updateTotalSupplySnapshot() private {\n _updateSnapshot(_totalSupplySnapshots, totalSupply());\n }\n\n function _updateSnapshot(Snapshots storage snapshots, uint256 currentValue) private {\n uint256 currentId = _getCurrentSnapshotId();\n if (_lastSnapshotId(snapshots.ids) < currentId) {\n snapshots.ids.push(currentId);\n snapshots.values.push(currentValue);\n }\n }\n\n function _lastSnapshotId(uint256[] storage ids) private view returns (uint256) {\n if (ids.length == 0) {\n return 0;\n } else {\n return ids[ids.length - 1];\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/ERC20Votes.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./draft-ERC20Permit.sol\";\nimport \"../../../utils/math/Math.sol\";\nimport \"../../../governance/utils/IVotes.sol\";\nimport \"../../../utils/math/SafeCast.sol\";\nimport \"../../../utils/cryptography/ECDSA.sol\";\n\n/**\n * @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's,\n * and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1.\n *\n * NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module.\n *\n * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n * power can be queried through the public accessors {getVotes} and {getPastVotes}.\n *\n * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n *\n * _Available since v4.2._\n */\nabstract contract ERC20Votes is IVotes, ERC20Permit {\n struct Checkpoint {\n uint32 fromBlock;\n uint224 votes;\n }\n\n bytes32 private constant _DELEGATION_TYPEHASH =\n keccak256(\"Delegation(address delegatee,uint256 nonce,uint256 expiry)\");\n\n mapping(address => address) private _delegates;\n mapping(address => Checkpoint[]) private _checkpoints;\n Checkpoint[] private _totalSupplyCheckpoints;\n\n /**\n * @dev Get the `pos`-th checkpoint for `account`.\n */\n function checkpoints(address account, uint32 pos) public view virtual returns (Checkpoint memory) {\n return _checkpoints[account][pos];\n }\n\n /**\n * @dev Get number of checkpoints for `account`.\n */\n function numCheckpoints(address account) public view virtual returns (uint32) {\n return SafeCast.toUint32(_checkpoints[account].length);\n }\n\n /**\n * @dev Get the address `account` is currently delegating to.\n */\n function delegates(address account) public view virtual override returns (address) {\n return _delegates[account];\n }\n\n /**\n * @dev Gets the current votes balance for `account`\n */\n function getVotes(address account) public view virtual override returns (uint256) {\n uint256 pos = _checkpoints[account].length;\n return pos == 0 ? 0 : _checkpoints[account][pos - 1].votes;\n }\n\n /**\n * @dev Retrieve the number of votes for `account` at the end of `blockNumber`.\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {\n require(blockNumber < block.number, \"ERC20Votes: block not yet mined\");\n return _checkpointsLookup(_checkpoints[account], blockNumber);\n }\n\n /**\n * @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances.\n * It is but NOT the sum of all the delegated votes!\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastTotalSupply(uint256 blockNumber) public view virtual override returns (uint256) {\n require(blockNumber < block.number, \"ERC20Votes: block not yet mined\");\n return _checkpointsLookup(_totalSupplyCheckpoints, blockNumber);\n }\n\n /**\n * @dev Lookup a value in a list of (sorted) checkpoints.\n */\n function _checkpointsLookup(Checkpoint[] storage ckpts, uint256 blockNumber) private view returns (uint256) {\n // We run a binary search to look for the earliest checkpoint taken after `blockNumber`.\n //\n // Initially we check if the block is recent to narrow the search range.\n // During the loop, the index of the wanted checkpoint remains in the range [low-1, high).\n // With each iteration, either `low` or `high` is moved towards the middle of the range to maintain the invariant.\n // - If the middle checkpoint is after `blockNumber`, we look in [low, mid)\n // - If the middle checkpoint is before or equal to `blockNumber`, we look in [mid+1, high)\n // Once we reach a single value (when low == high), we've found the right checkpoint at the index high-1, if not\n // out of bounds (in which case we're looking too far in the past and the result is 0).\n // Note that if the latest checkpoint available is exactly for `blockNumber`, we end up with an index that is\n // past the end of the array, so we technically don't find a checkpoint after `blockNumber`, but it works out\n // the same.\n uint256 length = ckpts.length;\n\n uint256 low = 0;\n uint256 high = length;\n\n if (length > 5) {\n uint256 mid = length - Math.sqrt(length);\n if (_unsafeAccess(ckpts, mid).fromBlock > blockNumber) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(ckpts, mid).fromBlock > blockNumber) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n return high == 0 ? 0 : _unsafeAccess(ckpts, high - 1).votes;\n }\n\n /**\n * @dev Delegate votes from the sender to `delegatee`.\n */\n function delegate(address delegatee) public virtual override {\n _delegate(_msgSender(), delegatee);\n }\n\n /**\n * @dev Delegates votes from signer to `delegatee`\n */\n function delegateBySig(\n address delegatee,\n uint256 nonce,\n uint256 expiry,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override {\n require(block.timestamp <= expiry, \"ERC20Votes: signature expired\");\n address signer = ECDSA.recover(\n _hashTypedDataV4(keccak256(abi.encode(_DELEGATION_TYPEHASH, delegatee, nonce, expiry))),\n v,\n r,\n s\n );\n require(nonce == _useNonce(signer), \"ERC20Votes: invalid nonce\");\n _delegate(signer, delegatee);\n }\n\n /**\n * @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1).\n */\n function _maxSupply() internal view virtual returns (uint224) {\n return type(uint224).max;\n }\n\n /**\n * @dev Snapshots the totalSupply after it has been increased.\n */\n function _mint(address account, uint256 amount) internal virtual override {\n super._mint(account, amount);\n require(totalSupply() <= _maxSupply(), \"ERC20Votes: total supply risks overflowing votes\");\n\n _writeCheckpoint(_totalSupplyCheckpoints, _add, amount);\n }\n\n /**\n * @dev Snapshots the totalSupply after it has been decreased.\n */\n function _burn(address account, uint256 amount) internal virtual override {\n super._burn(account, amount);\n\n _writeCheckpoint(_totalSupplyCheckpoints, _subtract, amount);\n }\n\n /**\n * @dev Move voting power when tokens are transferred.\n *\n * Emits a {IVotes-DelegateVotesChanged} event.\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual override {\n super._afterTokenTransfer(from, to, amount);\n\n _moveVotingPower(delegates(from), delegates(to), amount);\n }\n\n /**\n * @dev Change delegation for `delegator` to `delegatee`.\n *\n * Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}.\n */\n function _delegate(address delegator, address delegatee) internal virtual {\n address currentDelegate = delegates(delegator);\n uint256 delegatorBalance = balanceOf(delegator);\n _delegates[delegator] = delegatee;\n\n emit DelegateChanged(delegator, currentDelegate, delegatee);\n\n _moveVotingPower(currentDelegate, delegatee, delegatorBalance);\n }\n\n function _moveVotingPower(\n address src,\n address dst,\n uint256 amount\n ) private {\n if (src != dst && amount > 0) {\n if (src != address(0)) {\n (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[src], _subtract, amount);\n emit DelegateVotesChanged(src, oldWeight, newWeight);\n }\n\n if (dst != address(0)) {\n (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[dst], _add, amount);\n emit DelegateVotesChanged(dst, oldWeight, newWeight);\n }\n }\n }\n\n function _writeCheckpoint(\n Checkpoint[] storage ckpts,\n function(uint256, uint256) view returns (uint256) op,\n uint256 delta\n ) private returns (uint256 oldWeight, uint256 newWeight) {\n uint256 pos = ckpts.length;\n\n Checkpoint memory oldCkpt = pos == 0 ? Checkpoint(0, 0) : _unsafeAccess(ckpts, pos - 1);\n\n oldWeight = oldCkpt.votes;\n newWeight = op(oldWeight, delta);\n\n if (pos > 0 && oldCkpt.fromBlock == block.number) {\n _unsafeAccess(ckpts, pos - 1).votes = SafeCast.toUint224(newWeight);\n } else {\n ckpts.push(Checkpoint({fromBlock: SafeCast.toUint32(block.number), votes: SafeCast.toUint224(newWeight)}));\n }\n }\n\n function _add(uint256 a, uint256 b) private pure returns (uint256) {\n return a + b;\n }\n\n function _subtract(uint256 a, uint256 b) private pure returns (uint256) {\n return a - b;\n }\n\n function _unsafeAccess(Checkpoint[] storage ckpts, uint256 pos) private pure returns (Checkpoint storage result) {\n assembly {\n mstore(0, ckpts.slot)\n result.slot := add(keccak256(0, 0x20), pos)\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20VotesComp.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ERC20Votes.sol\";\n\n/**\n * @dev Extension of ERC20 to support Compound's voting and delegation. This version exactly matches Compound's\n * interface, with the drawback of only supporting supply up to (2^96^ - 1).\n *\n * NOTE: You should use this contract if you need exact compatibility with COMP (for example in order to use your token\n * with Governor Alpha or Bravo) and if you are sure the supply cap of 2^96^ is enough for you. Otherwise, use the\n * {ERC20Votes} variant of this module.\n *\n * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n * power can be queried through the public accessors {getCurrentVotes} and {getPriorVotes}.\n *\n * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n *\n * _Available since v4.2._\n */\nabstract contract ERC20VotesComp is ERC20Votes {\n /**\n * @dev Comp version of the {getVotes} accessor, with `uint96` return type.\n */\n function getCurrentVotes(address account) external view virtual returns (uint96) {\n return SafeCast.toUint96(getVotes(account));\n }\n\n /**\n * @dev Comp version of the {getPastVotes} accessor, with `uint96` return type.\n */\n function getPriorVotes(address account, uint256 blockNumber) external view virtual returns (uint96) {\n return SafeCast.toUint96(getPastVotes(account, blockNumber));\n }\n\n /**\n * @dev Maximum token supply. Reduced to `type(uint96).max` (2^96^ - 1) to fit COMP interface.\n */\n function _maxSupply() internal view virtual override returns (uint224) {\n return type(uint96).max;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/extensions/ERC20Wrapper.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../utils/SafeERC20.sol\";\n\n/**\n * @dev Extension of the ERC20 token contract to support token wrapping.\n *\n * Users can deposit and withdraw \"underlying tokens\" and receive a matching number of \"wrapped tokens\". This is useful\n * in conjunction with other modules. For example, combining this wrapping mechanism with {ERC20Votes} will allow the\n * wrapping of an existing \"basic\" ERC20 into a governance token.\n *\n * _Available since v4.2._\n */\nabstract contract ERC20Wrapper is ERC20 {\n IERC20 public immutable underlying;\n\n constructor(IERC20 underlyingToken) {\n underlying = underlyingToken;\n }\n\n /**\n * @dev See {ERC20-decimals}.\n */\n function decimals() public view virtual override returns (uint8) {\n try IERC20Metadata(address(underlying)).decimals() returns (uint8 value) {\n return value;\n } catch {\n return super.decimals();\n }\n }\n\n /**\n * @dev Allow a user to deposit underlying tokens and mint the corresponding number of wrapped tokens.\n */\n function depositFor(address account, uint256 amount) public virtual returns (bool) {\n SafeERC20.safeTransferFrom(underlying, _msgSender(), address(this), amount);\n _mint(account, amount);\n return true;\n }\n\n /**\n * @dev Allow a user to burn a number of wrapped tokens and withdraw the corresponding number of underlying tokens.\n */\n function withdrawTo(address account, uint256 amount) public virtual returns (bool) {\n _burn(_msgSender(), amount);\n SafeERC20.safeTransfer(underlying, account, amount);\n return true;\n }\n\n /**\n * @dev Mint wrapped token to cover any underlyingTokens that would have been transferred by mistake. Internal\n * function that can be exposed with access control if desired.\n */\n function _recover(address account) internal virtual returns (uint256) {\n uint256 value = underlying.balanceOf(address(this)) - totalSupply();\n _mint(account, value);\n return value;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/ERC4626.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../utils/SafeERC20.sol\";\nimport \"../../../interfaces/IERC4626.sol\";\nimport \"../../../utils/math/Math.sol\";\n\n/**\n * @dev Implementation of the ERC4626 \"Tokenized Vault Standard\" as defined in\n * https://eips.ethereum.org/EIPS/eip-4626[EIP-4626].\n *\n * This extension allows the minting and burning of \"shares\" (represented using the ERC20 inheritance) in exchange for\n * underlying \"assets\" through standardized {deposit}, {mint}, {redeem} and {burn} workflows. This contract extends\n * the ERC20 standard. Any additional extensions included along it would affect the \"shares\" token represented by this\n * contract and not the \"assets\" token which is an independent contract.\n *\n * CAUTION: Deposits and withdrawals may incur unexpected slippage. Users should verify that the amount received of\n * shares or assets is as expected. EOAs should operate through a wrapper that performs these checks such as\n * https://github.com/fei-protocol/ERC4626#erc4626router-and-base[ERC4626Router].\n *\n * _Available since v4.7._\n */\nabstract contract ERC4626 is ERC20, IERC4626 {\n using Math for uint256;\n\n IERC20 private immutable _asset;\n uint8 private immutable _decimals;\n\n /**\n * @dev Set the underlying asset contract. This must be an ERC20-compatible contract (ERC20 or ERC777).\n */\n constructor(IERC20 asset_) {\n (bool success, uint8 assetDecimals) = _tryGetAssetDecimals(asset_);\n _decimals = success ? assetDecimals : super.decimals();\n _asset = asset_;\n }\n\n /**\n * @dev Attempts to fetch the asset decimals. A return value of false indicates that the attempt failed in some way.\n */\n function _tryGetAssetDecimals(IERC20 asset_) private returns (bool, uint8) {\n (bool success, bytes memory encodedDecimals) = address(asset_).call(\n abi.encodeWithSelector(IERC20Metadata.decimals.selector)\n );\n if (success && encodedDecimals.length >= 32) {\n uint256 returnedDecimals = abi.decode(encodedDecimals, (uint256));\n if (returnedDecimals <= type(uint8).max) {\n return (true, uint8(returnedDecimals));\n }\n }\n return (false, 0);\n }\n\n /**\n * @dev Decimals are read from the underlying asset in the constructor and cached. If this fails (e.g., the asset\n * has not been created yet), the cached value is set to a default obtained by `super.decimals()` (which depends on\n * inheritance but is most likely 18). Override this function in order to set a guaranteed hardcoded value.\n * See {IERC20Metadata-decimals}.\n */\n function decimals() public view virtual override(IERC20Metadata, ERC20) returns (uint8) {\n return _decimals;\n }\n\n /** @dev See {IERC4626-asset}. */\n function asset() public view virtual override returns (address) {\n return address(_asset);\n }\n\n /** @dev See {IERC4626-totalAssets}. */\n function totalAssets() public view virtual override returns (uint256) {\n return _asset.balanceOf(address(this));\n }\n\n /** @dev See {IERC4626-convertToShares}. */\n function convertToShares(uint256 assets) public view virtual override returns (uint256 shares) {\n return _convertToShares(assets, Math.Rounding.Down);\n }\n\n /** @dev See {IERC4626-convertToAssets}. */\n function convertToAssets(uint256 shares) public view virtual override returns (uint256 assets) {\n return _convertToAssets(shares, Math.Rounding.Down);\n }\n\n /** @dev See {IERC4626-maxDeposit}. */\n function maxDeposit(address) public view virtual override returns (uint256) {\n return _isVaultCollateralized() ? type(uint256).max : 0;\n }\n\n /** @dev See {IERC4626-maxMint}. */\n function maxMint(address) public view virtual override returns (uint256) {\n return type(uint256).max;\n }\n\n /** @dev See {IERC4626-maxWithdraw}. */\n function maxWithdraw(address owner) public view virtual override returns (uint256) {\n return _convertToAssets(balanceOf(owner), Math.Rounding.Down);\n }\n\n /** @dev See {IERC4626-maxRedeem}. */\n function maxRedeem(address owner) public view virtual override returns (uint256) {\n return balanceOf(owner);\n }\n\n /** @dev See {IERC4626-previewDeposit}. */\n function previewDeposit(uint256 assets) public view virtual override returns (uint256) {\n return _convertToShares(assets, Math.Rounding.Down);\n }\n\n /** @dev See {IERC4626-previewMint}. */\n function previewMint(uint256 shares) public view virtual override returns (uint256) {\n return _convertToAssets(shares, Math.Rounding.Up);\n }\n\n /** @dev See {IERC4626-previewWithdraw}. */\n function previewWithdraw(uint256 assets) public view virtual override returns (uint256) {\n return _convertToShares(assets, Math.Rounding.Up);\n }\n\n /** @dev See {IERC4626-previewRedeem}. */\n function previewRedeem(uint256 shares) public view virtual override returns (uint256) {\n return _convertToAssets(shares, Math.Rounding.Down);\n }\n\n /** @dev See {IERC4626-deposit}. */\n function deposit(uint256 assets, address receiver) public virtual override returns (uint256) {\n require(assets <= maxDeposit(receiver), \"ERC4626: deposit more than max\");\n\n uint256 shares = previewDeposit(assets);\n _deposit(_msgSender(), receiver, assets, shares);\n\n return shares;\n }\n\n /** @dev See {IERC4626-mint}. */\n function mint(uint256 shares, address receiver) public virtual override returns (uint256) {\n require(shares <= maxMint(receiver), \"ERC4626: mint more than max\");\n\n uint256 assets = previewMint(shares);\n _deposit(_msgSender(), receiver, assets, shares);\n\n return assets;\n }\n\n /** @dev See {IERC4626-withdraw}. */\n function withdraw(\n uint256 assets,\n address receiver,\n address owner\n ) public virtual override returns (uint256) {\n require(assets <= maxWithdraw(owner), \"ERC4626: withdraw more than max\");\n\n uint256 shares = previewWithdraw(assets);\n _withdraw(_msgSender(), receiver, owner, assets, shares);\n\n return shares;\n }\n\n /** @dev See {IERC4626-redeem}. */\n function redeem(\n uint256 shares,\n address receiver,\n address owner\n ) public virtual override returns (uint256) {\n require(shares <= maxRedeem(owner), \"ERC4626: redeem more than max\");\n\n uint256 assets = previewRedeem(shares);\n _withdraw(_msgSender(), receiver, owner, assets, shares);\n\n return assets;\n }\n\n /**\n * @dev Internal conversion function (from assets to shares) with support for rounding direction.\n *\n * Will revert if assets > 0, totalSupply > 0 and totalAssets = 0. That corresponds to a case where any asset\n * would represent an infinite amount of shares.\n */\n function _convertToShares(uint256 assets, Math.Rounding rounding) internal view virtual returns (uint256 shares) {\n uint256 supply = totalSupply();\n return\n (assets == 0 || supply == 0)\n ? _initialConvertToShares(assets, rounding)\n : assets.mulDiv(supply, totalAssets(), rounding);\n }\n\n /**\n * @dev Internal conversion function (from assets to shares) to apply when the vault is empty.\n *\n * NOTE: Make sure to keep this function consistent with {_initialConvertToAssets} when overriding it.\n */\n function _initialConvertToShares(\n uint256 assets,\n Math.Rounding /*rounding*/\n ) internal view virtual returns (uint256 shares) {\n return assets;\n }\n\n /**\n * @dev Internal conversion function (from shares to assets) with support for rounding direction.\n */\n function _convertToAssets(uint256 shares, Math.Rounding rounding) internal view virtual returns (uint256 assets) {\n uint256 supply = totalSupply();\n return\n (supply == 0) ? _initialConvertToAssets(shares, rounding) : shares.mulDiv(totalAssets(), supply, rounding);\n }\n\n /**\n * @dev Internal conversion function (from shares to assets) to apply when the vault is empty.\n *\n * NOTE: Make sure to keep this function consistent with {_initialConvertToShares} when overriding it.\n */\n function _initialConvertToAssets(\n uint256 shares,\n Math.Rounding /*rounding*/\n ) internal view virtual returns (uint256 assets) {\n return shares;\n }\n\n /**\n * @dev Deposit/mint common workflow.\n */\n function _deposit(\n address caller,\n address receiver,\n uint256 assets,\n uint256 shares\n ) internal virtual {\n // If _asset is ERC777, `transferFrom` can trigger a reenterancy BEFORE the transfer happens through the\n // `tokensToSend` hook. On the other hand, the `tokenReceived` hook, that is triggered after the transfer,\n // calls the vault, which is assumed not malicious.\n //\n // Conclusion: we need to do the transfer before we mint so that any reentrancy would happen before the\n // assets are transferred and before the shares are minted, which is a valid state.\n // slither-disable-next-line reentrancy-no-eth\n SafeERC20.safeTransferFrom(_asset, caller, address(this), assets);\n _mint(receiver, shares);\n\n emit Deposit(caller, receiver, assets, shares);\n }\n\n /**\n * @dev Withdraw/redeem common workflow.\n */\n function _withdraw(\n address caller,\n address receiver,\n address owner,\n uint256 assets,\n uint256 shares\n ) internal virtual {\n if (caller != owner) {\n _spendAllowance(owner, caller, shares);\n }\n\n // If _asset is ERC777, `transfer` can trigger a reentrancy AFTER the transfer happens through the\n // `tokensReceived` hook. On the other hand, the `tokensToSend` hook, that is triggered before the transfer,\n // calls the vault, which is assumed not malicious.\n //\n // Conclusion: we need to do the transfer after the burn so that any reentrancy would happen after the\n // shares are burned and after the assets are transferred, which is a valid state.\n _burn(owner, shares);\n SafeERC20.safeTransfer(_asset, receiver, assets);\n\n emit Withdraw(caller, receiver, owner, assets, shares);\n }\n\n function _isVaultCollateralized() private view returns (bool) {\n return totalAssets() > 0 || totalSupply() == 0;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/presets/ERC20PresetFixedSupply.sol)\npragma solidity ^0.8.0;\n\nimport \"../extensions/ERC20Burnable.sol\";\n\n/**\n * @dev {ERC20} token, including:\n *\n * - Preminted initial supply\n * - Ability for holders to burn (destroy) their tokens\n * - No access control mechanism (for minting/pausing) and hence no governance\n *\n * This contract uses {ERC20Burnable} to include burn capabilities - head to\n * its documentation for details.\n *\n * _Available since v3.4._\n *\n * _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\n */\ncontract ERC20PresetFixedSupply is ERC20Burnable {\n /**\n * @dev Mints `initialSupply` amount of token and transfers them to `owner`.\n *\n * See {ERC20-constructor}.\n */\n constructor(\n string memory name,\n string memory symbol,\n uint256 initialSupply,\n address owner\n ) ERC20(name, symbol) {\n _mint(owner, initialSupply);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/presets/ERC20PresetMinterPauser.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../extensions/ERC20Burnable.sol\";\nimport \"../extensions/ERC20Pausable.sol\";\nimport \"../../../access/AccessControlEnumerable.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @dev {ERC20} token, including:\n *\n * - ability for holders to burn (destroy) their tokens\n * - a minter role that allows for token minting (creation)\n * - a pauser role that allows to stop all token transfers\n *\n * This contract uses {AccessControl} to lock permissioned functions using the\n * different roles - head to its documentation for details.\n *\n * The account that deploys the contract will be granted the minter and pauser\n * roles, as well as the default admin role, which will let it grant both minter\n * and pauser roles to other accounts.\n *\n * _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\n */\ncontract ERC20PresetMinterPauser is Context, AccessControlEnumerable, ERC20Burnable, ERC20Pausable {\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n\n /**\n * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the\n * account that deploys the contract.\n *\n * See {ERC20-constructor}.\n */\n constructor(string memory name, string memory symbol) ERC20(name, symbol) {\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n\n _setupRole(MINTER_ROLE, _msgSender());\n _setupRole(PAUSER_ROLE, _msgSender());\n }\n\n /**\n * @dev Creates `amount` new tokens for `to`.\n *\n * See {ERC20-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the `MINTER_ROLE`.\n */\n function mint(address to, uint256 amount) public virtual {\n require(hasRole(MINTER_ROLE, _msgSender()), \"ERC20PresetMinterPauser: must have minter role to mint\");\n _mint(to, amount);\n }\n\n /**\n * @dev Pauses all token transfers.\n *\n * See {ERC20Pausable} and {Pausable-_pause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function pause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC20PresetMinterPauser: must have pauser role to pause\");\n _pause();\n }\n\n /**\n * @dev Unpauses all token transfers.\n *\n * See {ERC20Pausable} and {Pausable-_unpause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function unpause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC20PresetMinterPauser: must have pauser role to unpause\");\n _unpause();\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual override(ERC20, ERC20Pausable) {\n super._beforeTokenTransfer(from, to, amount);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/utils/SafeERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\nimport \"../extensions/draft-IERC20Permit.sol\";\nimport \"../../../utils/Address.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n using Address for address;\n\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n /**\n * @dev Deprecated. This function has issues similar to the ones found in\n * {IERC20-approve}, and its usage is discouraged.\n *\n * Whenever possible, use {safeIncreaseAllowance} and\n * {safeDecreaseAllowance} instead.\n */\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n function safeIncreaseAllowance(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n uint256 newAllowance = token.allowance(address(this), spender) + value;\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n }\n\n function safeDecreaseAllowance(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n unchecked {\n uint256 oldAllowance = token.allowance(address(this), spender);\n require(oldAllowance >= value, \"SafeERC20: decreased allowance below zero\");\n uint256 newAllowance = oldAllowance - value;\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n }\n }\n\n function safePermit(\n IERC20Permit token,\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal {\n uint256 nonceBefore = token.nonces(owner);\n token.permit(owner, spender, value, deadline, v, r, s);\n uint256 nonceAfter = token.nonces(owner);\n require(nonceAfter == nonceBefore + 1, \"SafeERC20: permit did not succeed\");\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves. We use {Address-functionCall} to perform this call, which verifies that\n // the target address contains contract code and also asserts for success in the low-level call.\n\n bytes memory returndata = address(token).functionCall(data, \"SafeERC20: low-level call failed\");\n if (returndata.length > 0) {\n // Return data is optional\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/utils/TokenTimelock.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./SafeERC20.sol\";\n\n/**\n * @dev A token holder contract that will allow a beneficiary to extract the\n * tokens after a given release time.\n *\n * Useful for simple vesting schedules like \"advisors get all of their tokens\n * after 1 year\".\n */\ncontract TokenTimelock {\n using SafeERC20 for IERC20;\n\n // ERC20 basic token contract being held\n IERC20 private immutable _token;\n\n // beneficiary of tokens after they are released\n address private immutable _beneficiary;\n\n // timestamp when token release is enabled\n uint256 private immutable _releaseTime;\n\n /**\n * @dev Deploys a timelock instance that is able to hold the token specified, and will only release it to\n * `beneficiary_` when {release} is invoked after `releaseTime_`. The release time is specified as a Unix timestamp\n * (in seconds).\n */\n constructor(\n IERC20 token_,\n address beneficiary_,\n uint256 releaseTime_\n ) {\n require(releaseTime_ > block.timestamp, \"TokenTimelock: release time is before current time\");\n _token = token_;\n _beneficiary = beneficiary_;\n _releaseTime = releaseTime_;\n }\n\n /**\n * @dev Returns the token being held.\n */\n function token() public view virtual returns (IERC20) {\n return _token;\n }\n\n /**\n * @dev Returns the beneficiary that will receive the tokens.\n */\n function beneficiary() public view virtual returns (address) {\n return _beneficiary;\n }\n\n /**\n * @dev Returns the time when the tokens are released in seconds since Unix epoch (i.e. Unix timestamp).\n */\n function releaseTime() public view virtual returns (uint256) {\n return _releaseTime;\n }\n\n /**\n * @dev Transfers tokens held by the timelock to the beneficiary. Will only succeed if invoked after the release\n * time.\n */\n function release() public virtual {\n require(block.timestamp >= releaseTime(), \"TokenTimelock: current time is before release time\");\n\n uint256 amount = token().balanceOf(address(this));\n require(amount > 0, \"TokenTimelock: no tokens to release\");\n\n token().safeTransfer(beneficiary(), amount);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: address zero is not a valid owner\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overridden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not token owner or approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n _requireMinted(tokenId);\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _safeTransfer(from, to, tokenId, data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _ownerOf(tokenId) != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(\n address to,\n uint256 tokenId,\n bytes memory data\n ) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(\n address owner,\n address operator,\n bool approved\n ) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256, /* firstTokenId */\n uint256 batchSize\n ) internal virtual {\n if (batchSize > 1) {\n if (from != address(0)) {\n _balances[from] -= batchSize;\n }\n if (to != address(0)) {\n _balances[to] += batchSize;\n }\n }\n }\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual {}\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/draft-ERC721Votes.sol)\n\npragma solidity ^0.8.0;\n\n// ERC721Votes was marked as draft due to the EIP-712 dependency.\n// EIP-712 is Final as of 2022-08-11. This file is deprecated.\n\nimport \"./ERC721Votes.sol\";\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @title ERC721 Burnable Token\n * @dev ERC721 Token that can be burned (destroyed).\n */\nabstract contract ERC721Burnable is Context, ERC721 {\n /**\n * @dev Burns `tokenId`. See {ERC721-_burn}.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(uint256 tokenId) public virtual {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _burn(tokenId);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Consecutive.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../interfaces/IERC2309.sol\";\nimport \"../../../utils/Checkpoints.sol\";\nimport \"../../../utils/structs/BitMaps.sol\";\n\n/**\n * @dev Implementation of the ERC2309 \"Consecutive Transfer Extension\" as defined in\n * https://eips.ethereum.org/EIPS/eip-2309[EIP-2309].\n *\n * This extension allows the minting of large batches of tokens, during contract construction only. For upgradeable\n * contracts this implies that batch minting is only available during proxy deployment, and not in subsequent upgrades.\n * These batches are limited to 5000 tokens at a time by default to accommodate off-chain indexers.\n *\n * Using this extension removes the ability to mint single tokens during contract construction. This ability is\n * regained after construction. During construction, only batch minting is allowed.\n *\n * IMPORTANT: This extension bypasses the hooks {_beforeTokenTransfer} and {_afterTokenTransfer} for tokens minted in\n * batch. When using this extension, you should consider the {_beforeConsecutiveTokenTransfer} and\n * {_afterConsecutiveTokenTransfer} hooks in addition to {_beforeTokenTransfer} and {_afterTokenTransfer}.\n *\n * IMPORTANT: When overriding {_afterTokenTransfer}, be careful about call ordering. {ownerOf} may return invalid\n * values during the {_afterTokenTransfer} execution if the super call is not called first. To be safe, execute the\n * super call before your custom logic.\n *\n * _Available since v4.8._\n */\nabstract contract ERC721Consecutive is IERC2309, ERC721 {\n using BitMaps for BitMaps.BitMap;\n using Checkpoints for Checkpoints.Trace160;\n\n Checkpoints.Trace160 private _sequentialOwnership;\n BitMaps.BitMap private _sequentialBurn;\n\n /**\n * @dev Maximum size of a batch of consecutive tokens. This is designed to limit stress on off-chain indexing\n * services that have to record one entry per token, and have protections against \"unreasonably large\" batches of\n * tokens.\n *\n * NOTE: Overriding the default value of 5000 will not cause on-chain issues, but may result in the asset not being\n * correctly supported by off-chain indexing services (including marketplaces).\n */\n function _maxBatchSize() internal view virtual returns (uint96) {\n return 5000;\n }\n\n /**\n * @dev See {ERC721-_ownerOf}. Override that checks the sequential ownership structure for tokens that have\n * been minted as part of a batch, and not yet transferred.\n */\n function _ownerOf(uint256 tokenId) internal view virtual override returns (address) {\n address owner = super._ownerOf(tokenId);\n\n // If token is owned by the core, or beyond consecutive range, return base value\n if (owner != address(0) || tokenId > type(uint96).max) {\n return owner;\n }\n\n // Otherwise, check the token was not burned, and fetch ownership from the anchors\n // Note: no need for safe cast, we know that tokenId <= type(uint96).max\n return _sequentialBurn.get(tokenId) ? address(0) : address(_sequentialOwnership.lowerLookup(uint96(tokenId)));\n }\n\n /**\n * @dev Mint a batch of tokens of length `batchSize` for `to`. Returns the token id of the first token minted in the\n * batch; if `batchSize` is 0, returns the number of consecutive ids minted so far.\n *\n * Requirements:\n *\n * - `batchSize` must not be greater than {_maxBatchSize}.\n * - The function is called in the constructor of the contract (directly or indirectly).\n *\n * CAUTION: Does not emit a `Transfer` event. This is ERC721 compliant as long as it is done outside of the\n * constructor, which is enforced by this function.\n *\n * CAUTION: Does not invoke `onERC721Received` on the receiver.\n *\n * Emits a {IERC2309-ConsecutiveTransfer} event.\n */\n function _mintConsecutive(address to, uint96 batchSize) internal virtual returns (uint96) {\n uint96 first = _totalConsecutiveSupply();\n\n // minting a batch of size 0 is a no-op\n if (batchSize > 0) {\n require(!Address.isContract(address(this)), \"ERC721Consecutive: batch minting restricted to constructor\");\n require(to != address(0), \"ERC721Consecutive: mint to the zero address\");\n require(batchSize <= _maxBatchSize(), \"ERC721Consecutive: batch too large\");\n\n // hook before\n _beforeTokenTransfer(address(0), to, first, batchSize);\n\n // push an ownership checkpoint & emit event\n uint96 last = first + batchSize - 1;\n _sequentialOwnership.push(last, uint160(to));\n emit ConsecutiveTransfer(first, last, address(0), to);\n\n // hook after\n _afterTokenTransfer(address(0), to, first, batchSize);\n }\n\n return first;\n }\n\n /**\n * @dev See {ERC721-_mint}. Override version that restricts normal minting to after construction.\n *\n * Warning: Using {ERC721Consecutive} prevents using {_mint} during construction in favor of {_mintConsecutive}.\n * After construction, {_mintConsecutive} is no longer available and {_mint} becomes available.\n */\n function _mint(address to, uint256 tokenId) internal virtual override {\n require(Address.isContract(address(this)), \"ERC721Consecutive: can't mint during construction\");\n super._mint(to, tokenId);\n }\n\n /**\n * @dev See {ERC721-_afterTokenTransfer}. Burning of tokens that have been sequentially minted must be explicit.\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n if (\n to == address(0) && // if we burn\n firstTokenId < _totalConsecutiveSupply() && // and the tokenId was minted in a batch\n !_sequentialBurn.get(firstTokenId) // and the token was never marked as burnt\n ) {\n require(batchSize == 1, \"ERC721Consecutive: batch burn not supported\");\n _sequentialBurn.set(firstTokenId);\n }\n super._afterTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n function _totalConsecutiveSupply() private view returns (uint96) {\n (bool exists, uint96 latestId, ) = _sequentialOwnership.latestCheckpoint();\n return exists ? latestId + 1 : 0;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Enumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"./IERC721Enumerable.sol\";\n\n/**\n * @dev This implements an optional extension of {ERC721} defined in the EIP that adds\n * enumerability of all the token ids in the contract as well as all token ids owned by each\n * account.\n */\nabstract contract ERC721Enumerable is ERC721, IERC721Enumerable {\n // Mapping from owner to list of owned token IDs\n mapping(address => mapping(uint256 => uint256)) private _ownedTokens;\n\n // Mapping from token ID to index of the owner tokens list\n mapping(uint256 => uint256) private _ownedTokensIndex;\n\n // Array with all token ids, used for enumeration\n uint256[] private _allTokens;\n\n // Mapping from token id to position in the allTokens array\n mapping(uint256 => uint256) private _allTokensIndex;\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) {\n return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {\n require(index < ERC721.balanceOf(owner), \"ERC721Enumerable: owner index out of bounds\");\n return _ownedTokens[owner][index];\n }\n\n /**\n * @dev See {IERC721Enumerable-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _allTokens.length;\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenByIndex}.\n */\n function tokenByIndex(uint256 index) public view virtual override returns (uint256) {\n require(index < ERC721Enumerable.totalSupply(), \"ERC721Enumerable: global index out of bounds\");\n return _allTokens[index];\n }\n\n /**\n * @dev See {ERC721-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n\n if (batchSize > 1) {\n // Will only trigger during construction. Batch transferring (minting) is not available afterwards.\n revert(\"ERC721Enumerable: consecutive transfers not supported\");\n }\n\n uint256 tokenId = firstTokenId;\n\n if (from == address(0)) {\n _addTokenToAllTokensEnumeration(tokenId);\n } else if (from != to) {\n _removeTokenFromOwnerEnumeration(from, tokenId);\n }\n if (to == address(0)) {\n _removeTokenFromAllTokensEnumeration(tokenId);\n } else if (to != from) {\n _addTokenToOwnerEnumeration(to, tokenId);\n }\n }\n\n /**\n * @dev Private function to add a token to this extension's ownership-tracking data structures.\n * @param to address representing the new owner of the given token ID\n * @param tokenId uint256 ID of the token to be added to the tokens list of the given address\n */\n function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {\n uint256 length = ERC721.balanceOf(to);\n _ownedTokens[to][length] = tokenId;\n _ownedTokensIndex[tokenId] = length;\n }\n\n /**\n * @dev Private function to add a token to this extension's token tracking data structures.\n * @param tokenId uint256 ID of the token to be added to the tokens list\n */\n function _addTokenToAllTokensEnumeration(uint256 tokenId) private {\n _allTokensIndex[tokenId] = _allTokens.length;\n _allTokens.push(tokenId);\n }\n\n /**\n * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\n * while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for\n * gas optimizations e.g. when performing a transfer operation (avoiding double writes).\n * This has O(1) time complexity, but alters the order of the _ownedTokens array.\n * @param from address representing the previous owner of the given token ID\n * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address\n */\n function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private {\n // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and\n // then delete the last slot (swap and pop).\n\n uint256 lastTokenIndex = ERC721.balanceOf(from) - 1;\n uint256 tokenIndex = _ownedTokensIndex[tokenId];\n\n // When the token to delete is the last token, the swap operation is unnecessary\n if (tokenIndex != lastTokenIndex) {\n uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];\n\n _ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\n _ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\n }\n\n // This also deletes the contents at the last position of the array\n delete _ownedTokensIndex[tokenId];\n delete _ownedTokens[from][lastTokenIndex];\n }\n\n /**\n * @dev Private function to remove a token from this extension's token tracking data structures.\n * This has O(1) time complexity, but alters the order of the _allTokens array.\n * @param tokenId uint256 ID of the token to be removed from the tokens list\n */\n function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {\n // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and\n // then delete the last slot (swap and pop).\n\n uint256 lastTokenIndex = _allTokens.length - 1;\n uint256 tokenIndex = _allTokensIndex[tokenId];\n\n // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so\n // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding\n // an 'if' statement (like in _removeTokenFromOwnerEnumeration)\n uint256 lastTokenId = _allTokens[lastTokenIndex];\n\n _allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\n _allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\n\n // This also deletes the contents at the last position of the array\n delete _allTokensIndex[tokenId];\n _allTokens.pop();\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Pausable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../security/Pausable.sol\";\n\n/**\n * @dev ERC721 token with pausable token transfers, minting and burning.\n *\n * Useful for scenarios such as preventing trades until the end of an evaluation\n * period, or having an emergency switch for freezing all token transfers in the\n * event of a large bug.\n */\nabstract contract ERC721Pausable is ERC721, Pausable {\n /**\n * @dev See {ERC721-_beforeTokenTransfer}.\n *\n * Requirements:\n *\n * - the contract must not be paused.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n\n require(!paused(), \"ERC721Pausable: token transfer while paused\");\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Royalty.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../common/ERC2981.sol\";\nimport \"../../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Extension of ERC721 with the ERC2981 NFT Royalty Standard, a standardized way to retrieve royalty payment\n * information.\n *\n * Royalty information can be specified globally for all token ids via {ERC2981-_setDefaultRoyalty}, and/or individually for\n * specific token ids via {ERC2981-_setTokenRoyalty}. The latter takes precedence over the first.\n *\n * IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See\n * https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to\n * voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.\n *\n * _Available since v4.5._\n */\nabstract contract ERC721Royalty is ERC2981, ERC721 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721, ERC2981) returns (bool) {\n return super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {ERC721-_burn}. This override additionally clears the royalty information for the token.\n */\n function _burn(uint256 tokenId) internal virtual override {\n super._burn(tokenId);\n _resetTokenRoyalty(tokenId);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/extensions/ERC721URIStorage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\n\n/**\n * @dev ERC721 token with storage based token URI management.\n */\nabstract contract ERC721URIStorage is ERC721 {\n using Strings for uint256;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n\n return super.tokenURI(tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n\n /**\n * @dev See {ERC721-_burn}. This override additionally checks to see if a\n * token-specific URI was set for the token, and if so, it deletes the token URI from\n * the storage mapping.\n */\n function _burn(uint256 tokenId) internal virtual override {\n super._burn(tokenId);\n\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Votes.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../governance/utils/Votes.sol\";\n\n/**\n * @dev Extension of ERC721 to support voting and delegation as implemented by {Votes}, where each individual NFT counts\n * as 1 vote unit.\n *\n * Tokens do not count as votes until they are delegated, because votes must be tracked which incurs an additional cost\n * on every transfer. Token holders can either delegate to a trusted representative who will decide how to make use of\n * the votes in governance decisions, or they can delegate to themselves to be their own representative.\n *\n * _Available since v4.5._\n */\nabstract contract ERC721Votes is ERC721, Votes {\n /**\n * @dev See {ERC721-_afterTokenTransfer}. Adjusts votes when tokens are transferred.\n *\n * Emits a {IVotes-DelegateVotesChanged} event.\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n _transferVotingUnits(from, to, batchSize);\n super._afterTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n /**\n * @dev Returns the balance of `account`.\n */\n function _getVotingUnits(address account) internal view virtual override returns (uint256) {\n return balanceOf(account);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC721/extensions/IERC721Enumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n /**\n * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n * Use along with {totalSupply} to enumerate all tokens.\n */\n function tokenByIndex(uint256 index) external view returns (uint256);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../extensions/ERC721Enumerable.sol\";\nimport \"../extensions/ERC721Burnable.sol\";\nimport \"../extensions/ERC721Pausable.sol\";\nimport \"../../../access/AccessControlEnumerable.sol\";\nimport \"../../../utils/Context.sol\";\nimport \"../../../utils/Counters.sol\";\n\n/**\n * @dev {ERC721} token, including:\n *\n * - ability for holders to burn (destroy) their tokens\n * - a minter role that allows for token minting (creation)\n * - a pauser role that allows to stop all token transfers\n * - token ID and URI autogeneration\n *\n * This contract uses {AccessControl} to lock permissioned functions using the\n * different roles - head to its documentation for details.\n *\n * The account that deploys the contract will be granted the minter and pauser\n * roles, as well as the default admin role, which will let it grant both minter\n * and pauser roles to other accounts.\n *\n * _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\n */\ncontract ERC721PresetMinterPauserAutoId is\n Context,\n AccessControlEnumerable,\n ERC721Enumerable,\n ERC721Burnable,\n ERC721Pausable\n{\n using Counters for Counters.Counter;\n\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n\n Counters.Counter private _tokenIdTracker;\n\n string private _baseTokenURI;\n\n /**\n * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the\n * account that deploys the contract.\n *\n * Token URIs will be autogenerated based on `baseURI` and their token IDs.\n * See {ERC721-tokenURI}.\n */\n constructor(\n string memory name,\n string memory symbol,\n string memory baseTokenURI\n ) ERC721(name, symbol) {\n _baseTokenURI = baseTokenURI;\n\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n\n _setupRole(MINTER_ROLE, _msgSender());\n _setupRole(PAUSER_ROLE, _msgSender());\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n /**\n * @dev Creates a new token for `to`. Its token ID will be automatically\n * assigned (and available on the emitted {IERC721-Transfer} event), and the token\n * URI autogenerated based on the base URI passed at construction.\n *\n * See {ERC721-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the `MINTER_ROLE`.\n */\n function mint(address to) public virtual {\n require(hasRole(MINTER_ROLE, _msgSender()), \"ERC721PresetMinterPauserAutoId: must have minter role to mint\");\n\n // We cannot just use balanceOf to create the new tokenId because tokens\n // can be burned (destroyed), so we need a separate counter.\n _mint(to, _tokenIdTracker.current());\n _tokenIdTracker.increment();\n }\n\n /**\n * @dev Pauses all token transfers.\n *\n * See {ERC721Pausable} and {Pausable-_pause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function pause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC721PresetMinterPauserAutoId: must have pauser role to pause\");\n _pause();\n }\n\n /**\n * @dev Unpauses all token transfers.\n *\n * See {ERC721Pausable} and {Pausable-_unpause}.\n *\n * Requirements:\n *\n * - the caller must have the `PAUSER_ROLE`.\n */\n function unpause() public virtual {\n require(hasRole(PAUSER_ROLE, _msgSender()), \"ERC721PresetMinterPauserAutoId: must have pauser role to unpause\");\n _unpause();\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override(ERC721, ERC721Enumerable, ERC721Pausable) {\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override(AccessControlEnumerable, ERC721, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/utils/ERC721Holder.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721Receiver.sol\";\n\n/**\n * @dev Implementation of the {IERC721Receiver} interface.\n *\n * Accepts all token transfers.\n * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.\n */\ncontract ERC721Holder is IERC721Receiver {\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n *\n * Always returns `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address,\n address,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n}\n"},"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC777/ERC777.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC777.sol\";\nimport \"./IERC777Recipient.sol\";\nimport \"./IERC777Sender.sol\";\nimport \"../ERC20/IERC20.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/introspection/IERC1820Registry.sol\";\n\n/**\n * @dev Implementation of the {IERC777} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * Support for ERC20 is included in this contract, as specified by the EIP: both\n * the ERC777 and ERC20 interfaces can be safely used when interacting with it.\n * Both {IERC777-Sent} and {IERC20-Transfer} events are emitted on token\n * movements.\n *\n * Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there\n * are no special restrictions in the amount of tokens that created, moved, or\n * destroyed. This makes integration with ERC20 applications seamless.\n */\ncontract ERC777 is Context, IERC777, IERC20 {\n using Address for address;\n\n IERC1820Registry internal constant _ERC1820_REGISTRY = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);\n\n mapping(address => uint256) private _balances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n bytes32 private constant _TOKENS_SENDER_INTERFACE_HASH = keccak256(\"ERC777TokensSender\");\n bytes32 private constant _TOKENS_RECIPIENT_INTERFACE_HASH = keccak256(\"ERC777TokensRecipient\");\n\n // This isn't ever read from - it's only used to respond to the defaultOperators query.\n address[] private _defaultOperatorsArray;\n\n // Immutable, but accounts may revoke them (tracked in __revokedDefaultOperators).\n mapping(address => bool) private _defaultOperators;\n\n // For each account, a mapping of its operators and revoked default operators.\n mapping(address => mapping(address => bool)) private _operators;\n mapping(address => mapping(address => bool)) private _revokedDefaultOperators;\n\n // ERC20-allowances\n mapping(address => mapping(address => uint256)) private _allowances;\n\n /**\n * @dev `defaultOperators` may be an empty array.\n */\n constructor(\n string memory name_,\n string memory symbol_,\n address[] memory defaultOperators_\n ) {\n _name = name_;\n _symbol = symbol_;\n\n _defaultOperatorsArray = defaultOperators_;\n for (uint256 i = 0; i < defaultOperators_.length; i++) {\n _defaultOperators[defaultOperators_[i]] = true;\n }\n\n // register interfaces\n _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256(\"ERC777Token\"), address(this));\n _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256(\"ERC20Token\"), address(this));\n }\n\n /**\n * @dev See {IERC777-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC777-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {ERC20-decimals}.\n *\n * Always returns 18, as per the\n * [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility).\n */\n function decimals() public pure virtual returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC777-granularity}.\n *\n * This implementation always returns `1`.\n */\n function granularity() public view virtual override returns (uint256) {\n return 1;\n }\n\n /**\n * @dev See {IERC777-totalSupply}.\n */\n function totalSupply() public view virtual override(IERC20, IERC777) returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev Returns the amount of tokens owned by an account (`tokenHolder`).\n */\n function balanceOf(address tokenHolder) public view virtual override(IERC20, IERC777) returns (uint256) {\n return _balances[tokenHolder];\n }\n\n /**\n * @dev See {IERC777-send}.\n *\n * Also emits a {IERC20-Transfer} event for ERC20 compatibility.\n */\n function send(\n address recipient,\n uint256 amount,\n bytes memory data\n ) public virtual override {\n _send(_msgSender(), recipient, amount, data, \"\", true);\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient}\n * interface if it is a contract.\n *\n * Also emits a {Sent} event.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _send(_msgSender(), recipient, amount, \"\", \"\", false);\n return true;\n }\n\n /**\n * @dev See {IERC777-burn}.\n *\n * Also emits a {IERC20-Transfer} event for ERC20 compatibility.\n */\n function burn(uint256 amount, bytes memory data) public virtual override {\n _burn(_msgSender(), amount, data, \"\");\n }\n\n /**\n * @dev See {IERC777-isOperatorFor}.\n */\n function isOperatorFor(address operator, address tokenHolder) public view virtual override returns (bool) {\n return\n operator == tokenHolder ||\n (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) ||\n _operators[tokenHolder][operator];\n }\n\n /**\n * @dev See {IERC777-authorizeOperator}.\n */\n function authorizeOperator(address operator) public virtual override {\n require(_msgSender() != operator, \"ERC777: authorizing self as operator\");\n\n if (_defaultOperators[operator]) {\n delete _revokedDefaultOperators[_msgSender()][operator];\n } else {\n _operators[_msgSender()][operator] = true;\n }\n\n emit AuthorizedOperator(operator, _msgSender());\n }\n\n /**\n * @dev See {IERC777-revokeOperator}.\n */\n function revokeOperator(address operator) public virtual override {\n require(operator != _msgSender(), \"ERC777: revoking self as operator\");\n\n if (_defaultOperators[operator]) {\n _revokedDefaultOperators[_msgSender()][operator] = true;\n } else {\n delete _operators[_msgSender()][operator];\n }\n\n emit RevokedOperator(operator, _msgSender());\n }\n\n /**\n * @dev See {IERC777-defaultOperators}.\n */\n function defaultOperators() public view virtual override returns (address[] memory) {\n return _defaultOperatorsArray;\n }\n\n /**\n * @dev See {IERC777-operatorSend}.\n *\n * Emits {Sent} and {IERC20-Transfer} events.\n */\n function operatorSend(\n address sender,\n address recipient,\n uint256 amount,\n bytes memory data,\n bytes memory operatorData\n ) public virtual override {\n require(isOperatorFor(_msgSender(), sender), \"ERC777: caller is not an operator for holder\");\n _send(sender, recipient, amount, data, operatorData, true);\n }\n\n /**\n * @dev See {IERC777-operatorBurn}.\n *\n * Emits {Burned} and {IERC20-Transfer} events.\n */\n function operatorBurn(\n address account,\n uint256 amount,\n bytes memory data,\n bytes memory operatorData\n ) public virtual override {\n require(isOperatorFor(_msgSender(), account), \"ERC777: caller is not an operator for holder\");\n _burn(account, amount, data, operatorData);\n }\n\n /**\n * @dev See {IERC20-allowance}.\n *\n * Note that operator and allowance concepts are orthogonal: operators may\n * not have allowance, and accounts with allowance may not be operators\n * themselves.\n */\n function allowance(address holder, address spender) public view virtual override returns (uint256) {\n return _allowances[holder][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Note that accounts cannot have allowance issued by their operators.\n */\n function approve(address spender, uint256 value) public virtual override returns (bool) {\n address holder = _msgSender();\n _approve(holder, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Note that operator and allowance concepts are orthogonal: operators cannot\n * call `transferFrom` (unless they have allowance), and accounts with\n * allowance cannot call `operatorSend` (unless they are operators).\n *\n * Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events.\n */\n function transferFrom(\n address holder,\n address recipient,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(holder, spender, amount);\n _send(holder, recipient, amount, \"\", \"\", false);\n return true;\n }\n\n /**\n * @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * If a send hook is registered for `account`, the corresponding function\n * will be called with the caller address as the `operator` and with\n * `userData` and `operatorData`.\n *\n * See {IERC777Sender} and {IERC777Recipient}.\n *\n * Emits {Minted} and {IERC20-Transfer} events.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - if `account` is a contract, it must implement the {IERC777Recipient}\n * interface.\n */\n function _mint(\n address account,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData\n ) internal virtual {\n _mint(account, amount, userData, operatorData, true);\n }\n\n /**\n * @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * If `requireReceptionAck` is set to true, and if a send hook is\n * registered for `account`, the corresponding function will be called with\n * `operator`, `data` and `operatorData`.\n *\n * See {IERC777Sender} and {IERC777Recipient}.\n *\n * Emits {Minted} and {IERC20-Transfer} events.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - if `account` is a contract, it must implement the {IERC777Recipient}\n * interface.\n */\n function _mint(\n address account,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData,\n bool requireReceptionAck\n ) internal virtual {\n require(account != address(0), \"ERC777: mint to the zero address\");\n\n address operator = _msgSender();\n\n _beforeTokenTransfer(operator, address(0), account, amount);\n\n // Update state variables\n _totalSupply += amount;\n _balances[account] += amount;\n\n _callTokensReceived(operator, address(0), account, amount, userData, operatorData, requireReceptionAck);\n\n emit Minted(operator, account, amount, userData, operatorData);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Send tokens\n * @param from address token holder address\n * @param to address recipient address\n * @param amount uint256 amount of tokens to transfer\n * @param userData bytes extra information provided by the token holder (if any)\n * @param operatorData bytes extra information provided by the operator (if any)\n * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient\n */\n function _send(\n address from,\n address to,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData,\n bool requireReceptionAck\n ) internal virtual {\n require(from != address(0), \"ERC777: transfer from the zero address\");\n require(to != address(0), \"ERC777: transfer to the zero address\");\n\n address operator = _msgSender();\n\n _callTokensToSend(operator, from, to, amount, userData, operatorData);\n\n _move(operator, from, to, amount, userData, operatorData);\n\n _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck);\n }\n\n /**\n * @dev Burn tokens\n * @param from address token holder address\n * @param amount uint256 amount of tokens to burn\n * @param data bytes extra information provided by the token holder\n * @param operatorData bytes extra information provided by the operator (if any)\n */\n function _burn(\n address from,\n uint256 amount,\n bytes memory data,\n bytes memory operatorData\n ) internal virtual {\n require(from != address(0), \"ERC777: burn from the zero address\");\n\n address operator = _msgSender();\n\n _callTokensToSend(operator, from, address(0), amount, data, operatorData);\n\n _beforeTokenTransfer(operator, from, address(0), amount);\n\n // Update state variables\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC777: burn amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n }\n _totalSupply -= amount;\n\n emit Burned(operator, from, amount, data, operatorData);\n emit Transfer(from, address(0), amount);\n }\n\n function _move(\n address operator,\n address from,\n address to,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData\n ) private {\n _beforeTokenTransfer(operator, from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC777: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n }\n _balances[to] += amount;\n\n emit Sent(operator, from, to, amount, userData, operatorData);\n emit Transfer(from, to, amount);\n }\n\n /**\n * @dev See {ERC20-_approve}.\n *\n * Note that accounts cannot have allowance issued by their operators.\n */\n function _approve(\n address holder,\n address spender,\n uint256 value\n ) internal virtual {\n require(holder != address(0), \"ERC777: approve from the zero address\");\n require(spender != address(0), \"ERC777: approve to the zero address\");\n\n _allowances[holder][spender] = value;\n emit Approval(holder, spender, value);\n }\n\n /**\n * @dev Call from.tokensToSend() if the interface is registered\n * @param operator address operator requesting the transfer\n * @param from address token holder address\n * @param to address recipient address\n * @param amount uint256 amount of tokens to transfer\n * @param userData bytes extra information provided by the token holder (if any)\n * @param operatorData bytes extra information provided by the operator (if any)\n */\n function _callTokensToSend(\n address operator,\n address from,\n address to,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData\n ) private {\n address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(from, _TOKENS_SENDER_INTERFACE_HASH);\n if (implementer != address(0)) {\n IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);\n }\n }\n\n /**\n * @dev Call to.tokensReceived() if the interface is registered. Reverts if the recipient is a contract but\n * tokensReceived() was not registered for the recipient\n * @param operator address operator requesting the transfer\n * @param from address token holder address\n * @param to address recipient address\n * @param amount uint256 amount of tokens to transfer\n * @param userData bytes extra information provided by the token holder (if any)\n * @param operatorData bytes extra information provided by the operator (if any)\n * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient\n */\n function _callTokensReceived(\n address operator,\n address from,\n address to,\n uint256 amount,\n bytes memory userData,\n bytes memory operatorData,\n bool requireReceptionAck\n ) private {\n address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(to, _TOKENS_RECIPIENT_INTERFACE_HASH);\n if (implementer != address(0)) {\n IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);\n } else if (requireReceptionAck) {\n require(!to.isContract(), \"ERC777: token recipient contract has no implementer for ERC777TokensRecipient\");\n }\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {IERC20-Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC777: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes\n * calls to {send}, {transfer}, {operatorSend}, minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address operator,\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n"},"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC777/IERC777.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC777Token standard as defined in the EIP.\n *\n * This contract uses the\n * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 registry standard] to let\n * token holders and recipients react to token movements by using setting implementers\n * for the associated interfaces in said registry. See {IERC1820Registry} and\n * {ERC1820Implementer}.\n */\ninterface IERC777 {\n /**\n * @dev Emitted when `amount` tokens are created by `operator` and assigned to `to`.\n *\n * Note that some additional user `data` and `operatorData` can be logged in the event.\n */\n event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData);\n\n /**\n * @dev Emitted when `operator` destroys `amount` tokens from `account`.\n *\n * Note that some additional user `data` and `operatorData` can be logged in the event.\n */\n event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData);\n\n /**\n * @dev Emitted when `operator` is made operator for `tokenHolder`.\n */\n event AuthorizedOperator(address indexed operator, address indexed tokenHolder);\n\n /**\n * @dev Emitted when `operator` is revoked its operator status for `tokenHolder`.\n */\n event RevokedOperator(address indexed operator, address indexed tokenHolder);\n\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the smallest part of the token that is not divisible. This\n * means all token operations (creation, movement and destruction) must have\n * amounts that are a multiple of this number.\n *\n * For most token contracts, this value will equal 1.\n */\n function granularity() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by an account (`owner`).\n */\n function balanceOf(address owner) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * If send or receive hooks are registered for the caller and `recipient`,\n * the corresponding functions will be called with `data` and empty\n * `operatorData`. See {IERC777Sender} and {IERC777Recipient}.\n *\n * Emits a {Sent} event.\n *\n * Requirements\n *\n * - the caller must have at least `amount` tokens.\n * - `recipient` cannot be the zero address.\n * - if `recipient` is a contract, it must implement the {IERC777Recipient}\n * interface.\n */\n function send(\n address recipient,\n uint256 amount,\n bytes calldata data\n ) external;\n\n /**\n * @dev Destroys `amount` tokens from the caller's account, reducing the\n * total supply.\n *\n * If a send hook is registered for the caller, the corresponding function\n * will be called with `data` and empty `operatorData`. See {IERC777Sender}.\n *\n * Emits a {Burned} event.\n *\n * Requirements\n *\n * - the caller must have at least `amount` tokens.\n */\n function burn(uint256 amount, bytes calldata data) external;\n\n /**\n * @dev Returns true if an account is an operator of `tokenHolder`.\n * Operators can send and burn tokens on behalf of their owners. All\n * accounts are their own operator.\n *\n * See {operatorSend} and {operatorBurn}.\n */\n function isOperatorFor(address operator, address tokenHolder) external view returns (bool);\n\n /**\n * @dev Make an account an operator of the caller.\n *\n * See {isOperatorFor}.\n *\n * Emits an {AuthorizedOperator} event.\n *\n * Requirements\n *\n * - `operator` cannot be calling address.\n */\n function authorizeOperator(address operator) external;\n\n /**\n * @dev Revoke an account's operator status for the caller.\n *\n * See {isOperatorFor} and {defaultOperators}.\n *\n * Emits a {RevokedOperator} event.\n *\n * Requirements\n *\n * - `operator` cannot be calling address.\n */\n function revokeOperator(address operator) external;\n\n /**\n * @dev Returns the list of default operators. These accounts are operators\n * for all token holders, even if {authorizeOperator} was never called on\n * them.\n *\n * This list is immutable, but individual holders may revoke these via\n * {revokeOperator}, in which case {isOperatorFor} will return false.\n */\n function defaultOperators() external view returns (address[] memory);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient`. The caller must\n * be an operator of `sender`.\n *\n * If send or receive hooks are registered for `sender` and `recipient`,\n * the corresponding functions will be called with `data` and\n * `operatorData`. See {IERC777Sender} and {IERC777Recipient}.\n *\n * Emits a {Sent} event.\n *\n * Requirements\n *\n * - `sender` cannot be the zero address.\n * - `sender` must have at least `amount` tokens.\n * - the caller must be an operator for `sender`.\n * - `recipient` cannot be the zero address.\n * - if `recipient` is a contract, it must implement the {IERC777Recipient}\n * interface.\n */\n function operatorSend(\n address sender,\n address recipient,\n uint256 amount,\n bytes calldata data,\n bytes calldata operatorData\n ) external;\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the total supply.\n * The caller must be an operator of `account`.\n *\n * If a send hook is registered for `account`, the corresponding function\n * will be called with `data` and `operatorData`. See {IERC777Sender}.\n *\n * Emits a {Burned} event.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n * - the caller must be an operator for `account`.\n */\n function operatorBurn(\n address account,\n uint256 amount,\n bytes calldata data,\n bytes calldata operatorData\n ) external;\n\n event Sent(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256 amount,\n bytes data,\n bytes operatorData\n );\n}\n"},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC777/IERC777Recipient.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.\n *\n * Accounts can be notified of {IERC777} tokens being sent to them by having a\n * contract implement this interface (contract holders can be their own\n * implementer) and registering it on the\n * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry].\n *\n * See {IERC1820Registry} and {ERC1820Implementer}.\n */\ninterface IERC777Recipient {\n /**\n * @dev Called by an {IERC777} token contract whenever tokens are being\n * moved or created into a registered account (`to`). The type of operation\n * is conveyed by `from` being the zero address or not.\n *\n * This call occurs _after_ the token contract's state is updated, so\n * {IERC777-balanceOf}, etc., can be used to query the post-operation state.\n *\n * This function may revert to prevent the operation from being executed.\n */\n function tokensReceived(\n address operator,\n address from,\n address to,\n uint256 amount,\n bytes calldata userData,\n bytes calldata operatorData\n ) external;\n}\n"},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC777/IERC777Sender.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC777TokensSender standard as defined in the EIP.\n *\n * {IERC777} Token holders can be notified of operations performed on their\n * tokens by having a contract implement this interface (contract holders can be\n * their own implementer) and registering it on the\n * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry].\n *\n * See {IERC1820Registry} and {ERC1820Implementer}.\n */\ninterface IERC777Sender {\n /**\n * @dev Called by an {IERC777} token contract whenever a registered holder's\n * (`from`) tokens are about to be moved or destroyed. The type of operation\n * is conveyed by `to` being the zero address or not.\n *\n * This call occurs _before_ the token contract's state is updated, so\n * {IERC777-balanceOf}, etc., can be used to query the pre-operation state.\n *\n * This function may revert to prevent the operation from being executed.\n */\n function tokensToSend(\n address operator,\n address from,\n address to,\n uint256 amount,\n bytes calldata userData,\n bytes calldata operatorData\n ) external;\n}\n"},"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC777/presets/ERC777PresetFixedSupply.sol)\npragma solidity ^0.8.0;\n\nimport \"../ERC777.sol\";\n\n/**\n * @dev {ERC777} token, including:\n *\n * - Preminted initial supply\n * - No access control mechanism (for minting/pausing) and hence no governance\n *\n * _Available since v3.4._\n */\ncontract ERC777PresetFixedSupply is ERC777 {\n /**\n * @dev Mints `initialSupply` amount of token and transfers them to `owner`.\n *\n * See {ERC777-constructor}.\n */\n constructor(\n string memory name,\n string memory symbol,\n address[] memory defaultOperators,\n uint256 initialSupply,\n address owner\n ) ERC777(name, symbol, defaultOperators) {\n _mint(owner, initialSupply, \"\", \"\");\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Address.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Arrays.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Arrays.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./StorageSlot.sol\";\nimport \"./math/Math.sol\";\n\n/**\n * @dev Collection of functions related to array types.\n */\nlibrary Arrays {\n using StorageSlot for bytes32;\n\n /**\n * @dev Searches a sorted `array` and returns the first index that contains\n * a value greater or equal to `element`. If no such index exists (i.e. all\n * values in the array are strictly less than `element`), the array length is\n * returned. Time complexity O(log n).\n *\n * `array` is expected to be sorted in ascending order, and to contain no\n * repeated elements.\n */\n function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n if (array.length == 0) {\n return 0;\n }\n\n uint256 low = 0;\n uint256 high = array.length;\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds down (it does integer division with truncation).\n if (unsafeAccess(array, mid).value > element) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound.\n if (low > 0 && unsafeAccess(array, low - 1).value == element) {\n return low - 1;\n } else {\n return low;\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(address[] storage arr, uint256 pos) internal pure returns (StorageSlot.AddressSlot storage) {\n bytes32 slot;\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0, arr.slot)\n slot := add(keccak256(0, 0x20), pos)\n }\n return slot.getAddressSlot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(bytes32[] storage arr, uint256 pos) internal pure returns (StorageSlot.Bytes32Slot storage) {\n bytes32 slot;\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0, arr.slot)\n slot := add(keccak256(0, 0x20), pos)\n }\n return slot.getBytes32Slot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(uint256[] storage arr, uint256 pos) internal pure returns (StorageSlot.Uint256Slot storage) {\n bytes32 slot;\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0, arr.slot)\n slot := add(keccak256(0, 0x20), pos)\n }\n return slot.getUint256Slot();\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Base64.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Base64.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides a set of functions to operate with Base64 strings.\n *\n * _Available since v4.5._\n */\nlibrary Base64 {\n /**\n * @dev Base64 Encoding/Decoding Table\n */\n string internal constant _TABLE = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n /**\n * @dev Converts a `bytes` to its Bytes64 `string` representation.\n */\n function encode(bytes memory data) internal pure returns (string memory) {\n /**\n * Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n * https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol\n */\n if (data.length == 0) return \"\";\n\n // Loads the table into memory\n string memory table = _TABLE;\n\n // Encoding takes 3 bytes chunks of binary data from `bytes` data parameter\n // and split into 4 numbers of 6 bits.\n // The final Base64 length should be `bytes` data length multiplied by 4/3 rounded up\n // - `data.length + 2` -> Round up\n // - `/ 3` -> Number of 3-bytes chunks\n // - `4 *` -> 4 characters for each chunk\n string memory result = new string(4 * ((data.length + 2) / 3));\n\n /// @solidity memory-safe-assembly\n assembly {\n // Prepare the lookup table (skip the first \"length\" byte)\n let tablePtr := add(table, 1)\n\n // Prepare result pointer, jump over length\n let resultPtr := add(result, 32)\n\n // Run over the input, 3 bytes at a time\n for {\n let dataPtr := data\n let endPtr := add(data, mload(data))\n } lt(dataPtr, endPtr) {\n\n } {\n // Advance 3 bytes\n dataPtr := add(dataPtr, 3)\n let input := mload(dataPtr)\n\n // To write each character, shift the 3 bytes (18 bits) chunk\n // 4 times in blocks of 6 bits for each character (18, 12, 6, 0)\n // and apply logical AND with 0x3F which is the number of\n // the previous character in the ASCII table prior to the Base64 Table\n // The result is then added to the table to get the character to write,\n // and finally write it in the result pointer but with a left shift\n // of 256 (1 byte) - 8 (1 ASCII char) = 248 bits\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(18, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(12, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(6, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n }\n\n // When data `bytes` is not exactly 3 bytes long\n // it is padded with `=` characters at the end\n switch mod(mload(data), 3)\n case 1 {\n mstore8(sub(resultPtr, 1), 0x3d)\n mstore8(sub(resultPtr, 2), 0x3d)\n }\n case 2 {\n mstore8(sub(resultPtr, 1), 0x3d)\n }\n }\n\n return result;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Checkpoints.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Checkpoints.sol)\n// This file was procedurally generated from scripts/generate/templates/Checkpoints.js.\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\nimport \"./math/SafeCast.sol\";\n\n/**\n * @dev This library defines the `History` struct, for checkpointing values as they change at different points in\n * time, and later looking up past values by block number. See {Votes} as an example.\n *\n * To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new\n * checkpoint for the current transaction block using the {push} function.\n *\n * _Available since v4.5._\n */\nlibrary Checkpoints {\n struct History {\n Checkpoint[] _checkpoints;\n }\n\n struct Checkpoint {\n uint32 _blockNumber;\n uint224 _value;\n }\n\n /**\n * @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n * before it is returned, or zero otherwise.\n */\n function getAtBlock(History storage self, uint256 blockNumber) internal view returns (uint256) {\n require(blockNumber < block.number, \"Checkpoints: block not yet mined\");\n uint32 key = SafeCast.toUint32(blockNumber);\n\n uint256 len = self._checkpoints.length;\n uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n * before it is returned, or zero otherwise. Similar to {upperLookup} but optimized for the case when the searched\n * checkpoint is probably \"recent\", defined as being among the last sqrt(N) checkpoints where N is the number of\n * checkpoints.\n */\n function getAtProbablyRecentBlock(History storage self, uint256 blockNumber) internal view returns (uint256) {\n require(blockNumber < block.number, \"Checkpoints: block not yet mined\");\n uint32 key = SafeCast.toUint32(blockNumber);\n\n uint256 len = self._checkpoints.length;\n\n uint256 low = 0;\n uint256 high = len;\n\n if (len > 5) {\n uint256 mid = len - Math.sqrt(len);\n if (key < _unsafeAccess(self._checkpoints, mid)._blockNumber) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n uint256 pos = _upperBinaryLookup(self._checkpoints, key, low, high);\n\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Pushes a value onto a History so that it is stored as the checkpoint for the current block.\n *\n * Returns previous value and new value.\n */\n function push(History storage self, uint256 value) internal returns (uint256, uint256) {\n return _insert(self._checkpoints, SafeCast.toUint32(block.number), SafeCast.toUint224(value));\n }\n\n /**\n * @dev Pushes a value onto a History, by updating the latest value using binary operation `op`. The new value will\n * be set to `op(latest, delta)`.\n *\n * Returns previous value and new value.\n */\n function push(\n History storage self,\n function(uint256, uint256) view returns (uint256) op,\n uint256 delta\n ) internal returns (uint256, uint256) {\n return push(self, op(latest(self), delta));\n }\n\n /**\n * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n */\n function latest(History storage self) internal view returns (uint224) {\n uint256 pos = self._checkpoints.length;\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n * in the most recent checkpoint.\n */\n function latestCheckpoint(History storage self)\n internal\n view\n returns (\n bool exists,\n uint32 _blockNumber,\n uint224 _value\n )\n {\n uint256 pos = self._checkpoints.length;\n if (pos == 0) {\n return (false, 0, 0);\n } else {\n Checkpoint memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n return (true, ckpt._blockNumber, ckpt._value);\n }\n }\n\n /**\n * @dev Returns the number of checkpoint.\n */\n function length(History storage self) internal view returns (uint256) {\n return self._checkpoints.length;\n }\n\n /**\n * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n * or by updating the last one.\n */\n function _insert(\n Checkpoint[] storage self,\n uint32 key,\n uint224 value\n ) private returns (uint224, uint224) {\n uint256 pos = self.length;\n\n if (pos > 0) {\n // Copying to memory is important here.\n Checkpoint memory last = _unsafeAccess(self, pos - 1);\n\n // Checkpoints keys must be increasing.\n require(last._blockNumber <= key, \"Checkpoint: invalid key\");\n\n // Update or push new checkpoint\n if (last._blockNumber == key) {\n _unsafeAccess(self, pos - 1)._value = value;\n } else {\n self.push(Checkpoint({_blockNumber: key, _value: value}));\n }\n return (last._value, value);\n } else {\n self.push(Checkpoint({_blockNumber: key, _value: value}));\n return (0, value);\n }\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _upperBinaryLookup(\n Checkpoint[] storage self,\n uint32 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._blockNumber > key) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n return high;\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _lowerBinaryLookup(\n Checkpoint[] storage self,\n uint32 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._blockNumber < key) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n\n function _unsafeAccess(Checkpoint[] storage self, uint256 pos) private pure returns (Checkpoint storage result) {\n assembly {\n mstore(0, self.slot)\n result.slot := add(keccak256(0, 0x20), pos)\n }\n }\n\n struct Trace224 {\n Checkpoint224[] _checkpoints;\n }\n\n struct Checkpoint224 {\n uint32 _key;\n uint224 _value;\n }\n\n /**\n * @dev Pushes a (`key`, `value`) pair into a Trace224 so that it is stored as the checkpoint.\n *\n * Returns previous value and new value.\n */\n function push(\n Trace224 storage self,\n uint32 key,\n uint224 value\n ) internal returns (uint224, uint224) {\n return _insert(self._checkpoints, key, value);\n }\n\n /**\n * @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none.\n */\n function lowerLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {\n uint256 len = self._checkpoints.length;\n uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);\n return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;\n }\n\n /**\n * @dev Returns the value in the most recent checkpoint with key lower or equal than the search key.\n */\n function upperLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {\n uint256 len = self._checkpoints.length;\n uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n */\n function latest(Trace224 storage self) internal view returns (uint224) {\n uint256 pos = self._checkpoints.length;\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n * in the most recent checkpoint.\n */\n function latestCheckpoint(Trace224 storage self)\n internal\n view\n returns (\n bool exists,\n uint32 _key,\n uint224 _value\n )\n {\n uint256 pos = self._checkpoints.length;\n if (pos == 0) {\n return (false, 0, 0);\n } else {\n Checkpoint224 memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n return (true, ckpt._key, ckpt._value);\n }\n }\n\n /**\n * @dev Returns the number of checkpoint.\n */\n function length(Trace224 storage self) internal view returns (uint256) {\n return self._checkpoints.length;\n }\n\n /**\n * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n * or by updating the last one.\n */\n function _insert(\n Checkpoint224[] storage self,\n uint32 key,\n uint224 value\n ) private returns (uint224, uint224) {\n uint256 pos = self.length;\n\n if (pos > 0) {\n // Copying to memory is important here.\n Checkpoint224 memory last = _unsafeAccess(self, pos - 1);\n\n // Checkpoints keys must be increasing.\n require(last._key <= key, \"Checkpoint: invalid key\");\n\n // Update or push new checkpoint\n if (last._key == key) {\n _unsafeAccess(self, pos - 1)._value = value;\n } else {\n self.push(Checkpoint224({_key: key, _value: value}));\n }\n return (last._value, value);\n } else {\n self.push(Checkpoint224({_key: key, _value: value}));\n return (0, value);\n }\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _upperBinaryLookup(\n Checkpoint224[] storage self,\n uint32 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._key > key) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n return high;\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _lowerBinaryLookup(\n Checkpoint224[] storage self,\n uint32 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._key < key) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n\n function _unsafeAccess(Checkpoint224[] storage self, uint256 pos)\n private\n pure\n returns (Checkpoint224 storage result)\n {\n assembly {\n mstore(0, self.slot)\n result.slot := add(keccak256(0, 0x20), pos)\n }\n }\n\n struct Trace160 {\n Checkpoint160[] _checkpoints;\n }\n\n struct Checkpoint160 {\n uint96 _key;\n uint160 _value;\n }\n\n /**\n * @dev Pushes a (`key`, `value`) pair into a Trace160 so that it is stored as the checkpoint.\n *\n * Returns previous value and new value.\n */\n function push(\n Trace160 storage self,\n uint96 key,\n uint160 value\n ) internal returns (uint160, uint160) {\n return _insert(self._checkpoints, key, value);\n }\n\n /**\n * @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none.\n */\n function lowerLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {\n uint256 len = self._checkpoints.length;\n uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);\n return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;\n }\n\n /**\n * @dev Returns the value in the most recent checkpoint with key lower or equal than the search key.\n */\n function upperLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {\n uint256 len = self._checkpoints.length;\n uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n */\n function latest(Trace160 storage self) internal view returns (uint160) {\n uint256 pos = self._checkpoints.length;\n return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n }\n\n /**\n * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n * in the most recent checkpoint.\n */\n function latestCheckpoint(Trace160 storage self)\n internal\n view\n returns (\n bool exists,\n uint96 _key,\n uint160 _value\n )\n {\n uint256 pos = self._checkpoints.length;\n if (pos == 0) {\n return (false, 0, 0);\n } else {\n Checkpoint160 memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n return (true, ckpt._key, ckpt._value);\n }\n }\n\n /**\n * @dev Returns the number of checkpoint.\n */\n function length(Trace160 storage self) internal view returns (uint256) {\n return self._checkpoints.length;\n }\n\n /**\n * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n * or by updating the last one.\n */\n function _insert(\n Checkpoint160[] storage self,\n uint96 key,\n uint160 value\n ) private returns (uint160, uint160) {\n uint256 pos = self.length;\n\n if (pos > 0) {\n // Copying to memory is important here.\n Checkpoint160 memory last = _unsafeAccess(self, pos - 1);\n\n // Checkpoints keys must be increasing.\n require(last._key <= key, \"Checkpoint: invalid key\");\n\n // Update or push new checkpoint\n if (last._key == key) {\n _unsafeAccess(self, pos - 1)._value = value;\n } else {\n self.push(Checkpoint160({_key: key, _value: value}));\n }\n return (last._value, value);\n } else {\n self.push(Checkpoint160({_key: key, _value: value}));\n return (0, value);\n }\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _upperBinaryLookup(\n Checkpoint160[] storage self,\n uint96 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._key > key) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n return high;\n }\n\n /**\n * @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n * `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n *\n * WARNING: `high` should not be greater than the array's length.\n */\n function _lowerBinaryLookup(\n Checkpoint160[] storage self,\n uint96 key,\n uint256 low,\n uint256 high\n ) private view returns (uint256) {\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(self, mid)._key < key) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n\n function _unsafeAccess(Checkpoint160[] storage self, uint256 pos)\n private\n pure\n returns (Checkpoint160 storage result)\n {\n assembly {\n mstore(0, self.slot)\n result.slot := add(keccak256(0, 0x20), pos)\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Counters.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n */\nlibrary Counters {\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n unchecked {\n counter._value += 1;\n }\n }\n\n function decrement(Counter storage counter) internal {\n uint256 value = counter._value;\n require(value > 0, \"Counter: decrement overflow\");\n unchecked {\n counter._value = value - 1;\n }\n }\n\n function reset(Counter storage counter) internal {\n counter._value = 0;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Create2.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Create2.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer.\n * `CREATE2` can be used to compute in advance the address where a smart\n * contract will be deployed, which allows for interesting new mechanisms known\n * as 'counterfactual interactions'.\n *\n * See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more\n * information.\n */\nlibrary Create2 {\n /**\n * @dev Deploys a contract using `CREATE2`. The address where the contract\n * will be deployed can be known in advance via {computeAddress}.\n *\n * The bytecode for a contract can be obtained from Solidity with\n * `type(contractName).creationCode`.\n *\n * Requirements:\n *\n * - `bytecode` must not be empty.\n * - `salt` must have not been used for `bytecode` already.\n * - the factory must have a balance of at least `amount`.\n * - if `amount` is non-zero, `bytecode` must have a `payable` constructor.\n */\n function deploy(\n uint256 amount,\n bytes32 salt,\n bytes memory bytecode\n ) internal returns (address addr) {\n require(address(this).balance >= amount, \"Create2: insufficient balance\");\n require(bytecode.length != 0, \"Create2: bytecode length is zero\");\n /// @solidity memory-safe-assembly\n assembly {\n addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt)\n }\n require(addr != address(0), \"Create2: Failed on deploy\");\n }\n\n /**\n * @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the\n * `bytecodeHash` or `salt` will result in a new destination address.\n */\n function computeAddress(bytes32 salt, bytes32 bytecodeHash) internal view returns (address) {\n return computeAddress(salt, bytecodeHash, address(this));\n }\n\n /**\n * @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at\n * `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}.\n */\n function computeAddress(\n bytes32 salt,\n bytes32 bytecodeHash,\n address deployer\n ) internal pure returns (address addr) {\n /// @solidity memory-safe-assembly\n assembly {\n let ptr := mload(0x40) // Get free memory pointer\n\n // | | ↓ ptr ... ↓ ptr + 0x0B (start) ... ↓ ptr + 0x20 ... ↓ ptr + 0x40 ... |\n // |-------------------|---------------------------------------------------------------------------|\n // | bytecodeHash | CCCCCCCCCCCCC...CC |\n // | salt | BBBBBBBBBBBBB...BB |\n // | deployer | 000000...0000AAAAAAAAAAAAAAAAAAA...AA |\n // | 0xFF | FF |\n // |-------------------|---------------------------------------------------------------------------|\n // | memory | 000000...00FFAAAAAAAAAAAAAAAAAAA...AABBBBBBBBBBBBB...BBCCCCCCCCCCCCC...CC |\n // | keccak(start, 85) | ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ |\n\n mstore(add(ptr, 0x40), bytecodeHash)\n mstore(add(ptr, 0x20), salt)\n mstore(ptr, deployer) // Right-aligned with 12 preceding garbage bytes\n let start := add(ptr, 0x0b) // The hashed data starts at the final garbage byte which we will set to 0xff\n mstore8(start, 0xff)\n addr := keccak256(start, 85)\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/draft-EIP712.sol)\n\npragma solidity ^0.8.0;\n\n// EIP-712 is Final as of 2022-08-11. This file is deprecated.\n\nimport \"./EIP712.sol\";\n"},"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Strings.sol\";\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS,\n InvalidSignatureV // Deprecated in v4.8\n }\n\n function _throwError(RecoverError error) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert(\"ECDSA: invalid signature\");\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert(\"ECDSA: invalid signature length\");\n } else if (error == RecoverError.InvalidSignatureS) {\n revert(\"ECDSA: invalid signature 's' value\");\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature` or error string. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength);\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, signature);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n *\n * _Available since v4.3._\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError) {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n *\n * _Available since v4.2._\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, r, vs);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n *\n * _Available since v4.3._\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature);\n }\n\n return (signer, RecoverError.NoError);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, v, r, s);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", hash));\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from `s`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n\", Strings.toString(s.length), s));\n }\n\n /**\n * @dev Returns an Ethereum Signed Typed Data, created from a\n * `domainSeparator` and a `structHash`. This produces hash corresponding\n * to the one signed with the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n * JSON-RPC method as part of EIP-712.\n *\n * See {recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator, structHash));\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/EIP712.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ECDSA.sol\";\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.\n *\n * The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,\n * thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding\n * they need in their contracts using a combination of `abi.encode` and `keccak256`.\n *\n * This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n * ({_hashTypedDataV4}).\n *\n * The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n * the chain id to protect against replay attacks on an eventual fork of the chain.\n *\n * NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n *\n * _Available since v3.4._\n */\nabstract contract EIP712 {\n /* solhint-disable var-name-mixedcase */\n // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to\n // invalidate the cached domain separator if the chain id changes.\n bytes32 private immutable _CACHED_DOMAIN_SEPARATOR;\n uint256 private immutable _CACHED_CHAIN_ID;\n address private immutable _CACHED_THIS;\n\n bytes32 private immutable _HASHED_NAME;\n bytes32 private immutable _HASHED_VERSION;\n bytes32 private immutable _TYPE_HASH;\n\n /* solhint-enable var-name-mixedcase */\n\n /**\n * @dev Initializes the domain separator and parameter caches.\n *\n * The meaning of `name` and `version` is specified in\n * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]:\n *\n * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n * - `version`: the current major version of the signing domain.\n *\n * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n * contract upgrade].\n */\n constructor(string memory name, string memory version) {\n bytes32 hashedName = keccak256(bytes(name));\n bytes32 hashedVersion = keccak256(bytes(version));\n bytes32 typeHash = keccak256(\n \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"\n );\n _HASHED_NAME = hashedName;\n _HASHED_VERSION = hashedVersion;\n _CACHED_CHAIN_ID = block.chainid;\n _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(typeHash, hashedName, hashedVersion);\n _CACHED_THIS = address(this);\n _TYPE_HASH = typeHash;\n }\n\n /**\n * @dev Returns the domain separator for the current chain.\n */\n function _domainSeparatorV4() internal view returns (bytes32) {\n if (address(this) == _CACHED_THIS && block.chainid == _CACHED_CHAIN_ID) {\n return _CACHED_DOMAIN_SEPARATOR;\n } else {\n return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION);\n }\n }\n\n function _buildDomainSeparator(\n bytes32 typeHash,\n bytes32 nameHash,\n bytes32 versionHash\n ) private view returns (bytes32) {\n return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, address(this)));\n }\n\n /**\n * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n * function returns the hash of the fully encoded EIP712 message for this domain.\n *\n * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n *\n * ```solidity\n * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n * keccak256(\"Mail(address to,string contents)\"),\n * mailTo,\n * keccak256(bytes(mailContents))\n * )));\n * address signer = ECDSA.recover(digest, signature);\n * ```\n */\n function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) {\n return ECDSA.toTypedDataHash(_domainSeparatorV4(), structHash);\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/MerkleProof.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev These functions deal with verification of Merkle Tree proofs.\n *\n * The tree and the proofs can be generated using our\n * https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n * You will find a quickstart guide in the readme.\n *\n * WARNING: You should avoid using leaf values that are 64 bytes long prior to\n * hashing, or use a hash function other than keccak256 for hashing leaves.\n * This is because the concatenation of a sorted pair of internal nodes in\n * the merkle tree could be reinterpreted as a leaf value.\n * OpenZeppelin's JavaScript library generates merkle trees that are safe\n * against this attack out of the box.\n */\nlibrary MerkleProof {\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n */\n function verify(\n bytes32[] memory proof,\n bytes32 root,\n bytes32 leaf\n ) internal pure returns (bool) {\n return processProof(proof, leaf) == root;\n }\n\n /**\n * @dev Calldata version of {verify}\n *\n * _Available since v4.7._\n */\n function verifyCalldata(\n bytes32[] calldata proof,\n bytes32 root,\n bytes32 leaf\n ) internal pure returns (bool) {\n return processProofCalldata(proof, leaf) == root;\n }\n\n /**\n * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n * hash matches the root of the tree. When processing the proof, the pairs\n * of leafs & pre-images are assumed to be sorted.\n *\n * _Available since v4.4._\n */\n function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = _hashPair(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Calldata version of {processProof}\n *\n * _Available since v4.7._\n */\n function processProofCalldata(bytes32[] calldata proof, bytes32 leaf) internal pure returns (bytes32) {\n bytes32 computedHash = leaf;\n for (uint256 i = 0; i < proof.length; i++) {\n computedHash = _hashPair(computedHash, proof[i]);\n }\n return computedHash;\n }\n\n /**\n * @dev Returns true if the `leaves` can be simultaneously proven to be a part of a merkle tree defined by\n * `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n *\n * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * _Available since v4.7._\n */\n function multiProofVerify(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProof(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Calldata version of {multiProofVerify}\n *\n * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * _Available since v4.7._\n */\n function multiProofVerifyCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32 root,\n bytes32[] memory leaves\n ) internal pure returns (bool) {\n return processMultiProofCalldata(proof, proofFlags, leaves) == root;\n }\n\n /**\n * @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n * proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n * leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n * respectively.\n *\n * CAUTION: Not all merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n * is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n * tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n *\n * _Available since v4.7._\n */\n function processMultiProof(\n bytes32[] memory proof,\n bool[] memory proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 totalHashes = proofFlags.length;\n\n // Check proof validity.\n require(leavesLen + proof.length - 1 == totalHashes, \"MerkleProof: invalid multiproof\");\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](totalHashes);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value for the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < totalHashes; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i] ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++] : proof[proofPos++];\n hashes[i] = _hashPair(a, b);\n }\n\n if (totalHashes > 0) {\n return hashes[totalHashes - 1];\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n /**\n * @dev Calldata version of {processMultiProof}.\n *\n * CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n *\n * _Available since v4.7._\n */\n function processMultiProofCalldata(\n bytes32[] calldata proof,\n bool[] calldata proofFlags,\n bytes32[] memory leaves\n ) internal pure returns (bytes32 merkleRoot) {\n // This function rebuild the root hash by traversing the tree up from the leaves. The root is rebuilt by\n // consuming and producing values on a queue. The queue starts with the `leaves` array, then goes onto the\n // `hashes` array. At the end of the process, the last hash in the `hashes` array should contain the root of\n // the merkle tree.\n uint256 leavesLen = leaves.length;\n uint256 totalHashes = proofFlags.length;\n\n // Check proof validity.\n require(leavesLen + proof.length - 1 == totalHashes, \"MerkleProof: invalid multiproof\");\n\n // The xxxPos values are \"pointers\" to the next value to consume in each array. All accesses are done using\n // `xxx[xxxPos++]`, which return the current value and increment the pointer, thus mimicking a queue's \"pop\".\n bytes32[] memory hashes = new bytes32[](totalHashes);\n uint256 leafPos = 0;\n uint256 hashPos = 0;\n uint256 proofPos = 0;\n // At each step, we compute the next hash using two values:\n // - a value from the \"main queue\". If not all leaves have been consumed, we get the next leaf, otherwise we\n // get the next hash.\n // - depending on the flag, either another value for the \"main queue\" (merging branches) or an element from the\n // `proof` array.\n for (uint256 i = 0; i < totalHashes; i++) {\n bytes32 a = leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++];\n bytes32 b = proofFlags[i] ? leafPos < leavesLen ? leaves[leafPos++] : hashes[hashPos++] : proof[proofPos++];\n hashes[i] = _hashPair(a, b);\n }\n\n if (totalHashes > 0) {\n return hashes[totalHashes - 1];\n } else if (leavesLen > 0) {\n return leaves[0];\n } else {\n return proof[0];\n }\n }\n\n function _hashPair(bytes32 a, bytes32 b) private pure returns (bytes32) {\n return a < b ? _efficientHash(a, b) : _efficientHash(b, a);\n }\n\n function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) {\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, a)\n mstore(0x20, b)\n value := keccak256(0x00, 0x40)\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/SignatureChecker.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ECDSA.sol\";\nimport \"../Address.sol\";\nimport \"../../interfaces/IERC1271.sol\";\n\n/**\n * @dev Signature verification helper that can be used instead of `ECDSA.recover` to seamlessly support both ECDSA\n * signatures from externally owned accounts (EOAs) as well as ERC1271 signatures from smart contract wallets like\n * Argent and Gnosis Safe.\n *\n * _Available since v4.1._\n */\nlibrary SignatureChecker {\n /**\n * @dev Checks if a signature is valid for a given signer and data hash. If the signer is a smart contract, the\n * signature is validated against that smart contract using ERC1271, otherwise it's validated using `ECDSA.recover`.\n *\n * NOTE: Unlike ECDSA signatures, contract signatures are revocable, and the outcome of this function can thus\n * change through time. It could return true at block N and false at block N+1 (or the opposite).\n */\n function isValidSignatureNow(\n address signer,\n bytes32 hash,\n bytes memory signature\n ) internal view returns (bool) {\n (address recovered, ECDSA.RecoverError error) = ECDSA.tryRecover(hash, signature);\n if (error == ECDSA.RecoverError.NoError && recovered == signer) {\n return true;\n }\n\n (bool success, bytes memory result) = signer.staticcall(\n abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, signature)\n );\n return (success &&\n result.length == 32 &&\n abi.decode(result, (bytes32)) == bytes32(IERC1271.isValidSignature.selector));\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/escrow/ConditionalEscrow.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./Escrow.sol\";\n\n/**\n * @title ConditionalEscrow\n * @dev Base abstract escrow to only allow withdrawal if a condition is met.\n * @dev Intended usage: See {Escrow}. Same usage guidelines apply here.\n */\nabstract contract ConditionalEscrow is Escrow {\n /**\n * @dev Returns whether an address is allowed to withdraw their funds. To be\n * implemented by derived contracts.\n * @param payee The destination address of the funds.\n */\n function withdrawalAllowed(address payee) public view virtual returns (bool);\n\n function withdraw(address payable payee) public virtual override {\n require(withdrawalAllowed(payee), \"ConditionalEscrow: payee is not allowed to withdraw\");\n super.withdraw(payee);\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/escrow/Escrow.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../access/Ownable.sol\";\nimport \"../Address.sol\";\n\n/**\n * @title Escrow\n * @dev Base escrow contract, holds funds designated for a payee until they\n * withdraw them.\n *\n * Intended usage: This contract (and derived escrow contracts) should be a\n * standalone contract, that only interacts with the contract that instantiated\n * it. That way, it is guaranteed that all Ether will be handled according to\n * the `Escrow` rules, and there is no need to check for payable functions or\n * transfers in the inheritance tree. The contract that uses the escrow as its\n * payment method should be its owner, and provide public methods redirecting\n * to the escrow's deposit and withdraw.\n */\ncontract Escrow is Ownable {\n using Address for address payable;\n\n event Deposited(address indexed payee, uint256 weiAmount);\n event Withdrawn(address indexed payee, uint256 weiAmount);\n\n mapping(address => uint256) private _deposits;\n\n function depositsOf(address payee) public view returns (uint256) {\n return _deposits[payee];\n }\n\n /**\n * @dev Stores the sent amount as credit to be withdrawn.\n * @param payee The destination address of the funds.\n *\n * Emits a {Deposited} event.\n */\n function deposit(address payee) public payable virtual onlyOwner {\n uint256 amount = msg.value;\n _deposits[payee] += amount;\n emit Deposited(payee, amount);\n }\n\n /**\n * @dev Withdraw accumulated balance for a payee, forwarding all gas to the\n * recipient.\n *\n * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities.\n * Make sure you trust the recipient, or are either following the\n * checks-effects-interactions pattern or using {ReentrancyGuard}.\n *\n * @param payee The address whose funds will be withdrawn and transferred to.\n *\n * Emits a {Withdrawn} event.\n */\n function withdraw(address payable payee) public virtual onlyOwner {\n uint256 payment = _deposits[payee];\n\n _deposits[payee] = 0;\n\n payee.sendValue(payment);\n\n emit Withdrawn(payee, payment);\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/escrow/RefundEscrow.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ConditionalEscrow.sol\";\n\n/**\n * @title RefundEscrow\n * @dev Escrow that holds funds for a beneficiary, deposited from multiple\n * parties.\n * @dev Intended usage: See {Escrow}. Same usage guidelines apply here.\n * @dev The owner account (that is, the contract that instantiates this\n * contract) may deposit, close the deposit period, and allow for either\n * withdrawal by the beneficiary, or refunds to the depositors. All interactions\n * with `RefundEscrow` will be made through the owner contract.\n */\ncontract RefundEscrow is ConditionalEscrow {\n using Address for address payable;\n\n enum State {\n Active,\n Refunding,\n Closed\n }\n\n event RefundsClosed();\n event RefundsEnabled();\n\n State private _state;\n address payable private immutable _beneficiary;\n\n /**\n * @dev Constructor.\n * @param beneficiary_ The beneficiary of the deposits.\n */\n constructor(address payable beneficiary_) {\n require(beneficiary_ != address(0), \"RefundEscrow: beneficiary is the zero address\");\n _beneficiary = beneficiary_;\n _state = State.Active;\n }\n\n /**\n * @return The current state of the escrow.\n */\n function state() public view virtual returns (State) {\n return _state;\n }\n\n /**\n * @return The beneficiary of the escrow.\n */\n function beneficiary() public view virtual returns (address payable) {\n return _beneficiary;\n }\n\n /**\n * @dev Stores funds that may later be refunded.\n * @param refundee The address funds will be sent to if a refund occurs.\n */\n function deposit(address refundee) public payable virtual override {\n require(state() == State.Active, \"RefundEscrow: can only deposit while active\");\n super.deposit(refundee);\n }\n\n /**\n * @dev Allows for the beneficiary to withdraw their funds, rejecting\n * further deposits.\n */\n function close() public virtual onlyOwner {\n require(state() == State.Active, \"RefundEscrow: can only close while active\");\n _state = State.Closed;\n emit RefundsClosed();\n }\n\n /**\n * @dev Allows for refunds to take place, rejecting further deposits.\n */\n function enableRefunds() public virtual onlyOwner {\n require(state() == State.Active, \"RefundEscrow: can only enable refunds while active\");\n _state = State.Refunding;\n emit RefundsEnabled();\n }\n\n /**\n * @dev Withdraws the beneficiary's funds.\n */\n function beneficiaryWithdraw() public virtual {\n require(state() == State.Closed, \"RefundEscrow: beneficiary can only withdraw while closed\");\n beneficiary().sendValue(address(this).balance);\n }\n\n /**\n * @dev Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a\n * 'payee' argument, but we ignore it here since the condition is global, not per-payee.\n */\n function withdrawalAllowed(address) public view override returns (bool) {\n return state() == State.Refunding;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/introspection/ERC165Checker.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Library used to query support of an interface declared via {IERC165}.\n *\n * Note that these functions return the actual result of the query: they do not\n * `revert` if an interface is not supported. It is up to the caller to decide\n * what to do in these cases.\n */\nlibrary ERC165Checker {\n // As per the EIP-165 spec, no interface should ever match 0xffffffff\n bytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff;\n\n /**\n * @dev Returns true if `account` supports the {IERC165} interface.\n */\n function supportsERC165(address account) internal view returns (bool) {\n // Any contract that implements ERC165 must explicitly indicate support of\n // InterfaceId_ERC165 and explicitly indicate non-support of InterfaceId_Invalid\n return\n supportsERC165InterfaceUnchecked(account, type(IERC165).interfaceId) &&\n !supportsERC165InterfaceUnchecked(account, _INTERFACE_ID_INVALID);\n }\n\n /**\n * @dev Returns true if `account` supports the interface defined by\n * `interfaceId`. Support for {IERC165} itself is queried automatically.\n *\n * See {IERC165-supportsInterface}.\n */\n function supportsInterface(address account, bytes4 interfaceId) internal view returns (bool) {\n // query support of both ERC165 as per the spec and support of _interfaceId\n return supportsERC165(account) && supportsERC165InterfaceUnchecked(account, interfaceId);\n }\n\n /**\n * @dev Returns a boolean array where each value corresponds to the\n * interfaces passed in and whether they're supported or not. This allows\n * you to batch check interfaces for a contract where your expectation\n * is that some interfaces may not be supported.\n *\n * See {IERC165-supportsInterface}.\n *\n * _Available since v3.4._\n */\n function getSupportedInterfaces(address account, bytes4[] memory interfaceIds)\n internal\n view\n returns (bool[] memory)\n {\n // an array of booleans corresponding to interfaceIds and whether they're supported or not\n bool[] memory interfaceIdsSupported = new bool[](interfaceIds.length);\n\n // query support of ERC165 itself\n if (supportsERC165(account)) {\n // query support of each interface in interfaceIds\n for (uint256 i = 0; i < interfaceIds.length; i++) {\n interfaceIdsSupported[i] = supportsERC165InterfaceUnchecked(account, interfaceIds[i]);\n }\n }\n\n return interfaceIdsSupported;\n }\n\n /**\n * @dev Returns true if `account` supports all the interfaces defined in\n * `interfaceIds`. Support for {IERC165} itself is queried automatically.\n *\n * Batch-querying can lead to gas savings by skipping repeated checks for\n * {IERC165} support.\n *\n * See {IERC165-supportsInterface}.\n */\n function supportsAllInterfaces(address account, bytes4[] memory interfaceIds) internal view returns (bool) {\n // query support of ERC165 itself\n if (!supportsERC165(account)) {\n return false;\n }\n\n // query support of each interface in interfaceIds\n for (uint256 i = 0; i < interfaceIds.length; i++) {\n if (!supportsERC165InterfaceUnchecked(account, interfaceIds[i])) {\n return false;\n }\n }\n\n // all interfaces supported\n return true;\n }\n\n /**\n * @notice Query if a contract implements an interface, does not check ERC165 support\n * @param account The address of the contract to query for support of an interface\n * @param interfaceId The interface identifier, as specified in ERC-165\n * @return true if the contract at account indicates support of the interface with\n * identifier interfaceId, false otherwise\n * @dev Assumes that account contains a contract that supports ERC165, otherwise\n * the behavior of this method is undefined. This precondition can be checked\n * with {supportsERC165}.\n * Interface identification is specified in ERC-165.\n */\n function supportsERC165InterfaceUnchecked(address account, bytes4 interfaceId) internal view returns (bool) {\n // prepare call\n bytes memory encodedParams = abi.encodeWithSelector(IERC165.supportsInterface.selector, interfaceId);\n\n // perform static call\n bool success;\n uint256 returnSize;\n uint256 returnValue;\n assembly {\n success := staticcall(30000, account, add(encodedParams, 0x20), mload(encodedParams), 0x00, 0x20)\n returnSize := returndatasize()\n returnValue := mload(0x00)\n }\n\n return success && returnSize >= 0x20 && returnValue > 0;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165Storage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ERC165.sol\";\n\n/**\n * @dev Storage based implementation of the {IERC165} interface.\n *\n * Contracts may inherit from this and call {_registerInterface} to declare\n * their support of an interface.\n */\nabstract contract ERC165Storage is ERC165 {\n /**\n * @dev Mapping of interface ids to whether or not it's supported.\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return super.supportsInterface(interfaceId) || _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev Registers the contract as an implementer of the interface defined by\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\n * registering its interface id is not required.\n *\n * See {IERC165-supportsInterface}.\n *\n * Requirements:\n *\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).\n */\n function _registerInterface(bytes4 interfaceId) internal virtual {\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface id\");\n _supportedInterfaces[interfaceId] = true;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC1820Implementer.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC1820Implementer.sol\";\n\n/**\n * @dev Implementation of the {IERC1820Implementer} interface.\n *\n * Contracts may inherit from this and call {_registerInterfaceForAddress} to\n * declare their willingness to be implementers.\n * {IERC1820Registry-setInterfaceImplementer} should then be called for the\n * registration to be complete.\n */\ncontract ERC1820Implementer is IERC1820Implementer {\n bytes32 private constant _ERC1820_ACCEPT_MAGIC = keccak256(\"ERC1820_ACCEPT_MAGIC\");\n\n mapping(bytes32 => mapping(address => bool)) private _supportedInterfaces;\n\n /**\n * @dev See {IERC1820Implementer-canImplementInterfaceForAddress}.\n */\n function canImplementInterfaceForAddress(bytes32 interfaceHash, address account)\n public\n view\n virtual\n override\n returns (bytes32)\n {\n return _supportedInterfaces[interfaceHash][account] ? _ERC1820_ACCEPT_MAGIC : bytes32(0x00);\n }\n\n /**\n * @dev Declares the contract as willing to be an implementer of\n * `interfaceHash` for `account`.\n *\n * See {IERC1820Registry-setInterfaceImplementer} and\n * {IERC1820Registry-interfaceHash}.\n */\n function _registerInterfaceForAddress(bytes32 interfaceHash, address account) internal virtual {\n _supportedInterfaces[interfaceHash][account] = true;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC1820Implementer.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface for an ERC1820 implementer, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP].\n * Used by contracts that will be registered as implementers in the\n * {IERC1820Registry}.\n */\ninterface IERC1820Implementer {\n /**\n * @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract\n * implements `interfaceHash` for `account`.\n *\n * See {IERC1820Registry-setInterfaceImplementer}.\n */\n function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) external view returns (bytes32);\n}\n"},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/introspection/IERC1820Registry.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the global ERC1820 Registry, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1820[EIP]. Accounts may register\n * implementers for interfaces in this registry, as well as query support.\n *\n * Implementers may be shared by multiple accounts, and can also implement more\n * than a single interface for each account. Contracts can implement interfaces\n * for themselves, but externally-owned accounts (EOA) must delegate this to a\n * contract.\n *\n * {IERC165} interfaces can also be queried via the registry.\n *\n * For an in-depth explanation and source code analysis, see the EIP text.\n */\ninterface IERC1820Registry {\n event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer);\n\n event ManagerChanged(address indexed account, address indexed newManager);\n\n /**\n * @dev Sets `newManager` as the manager for `account`. A manager of an\n * account is able to set interface implementers for it.\n *\n * By default, each account is its own manager. Passing a value of `0x0` in\n * `newManager` will reset the manager to this initial state.\n *\n * Emits a {ManagerChanged} event.\n *\n * Requirements:\n *\n * - the caller must be the current manager for `account`.\n */\n function setManager(address account, address newManager) external;\n\n /**\n * @dev Returns the manager for `account`.\n *\n * See {setManager}.\n */\n function getManager(address account) external view returns (address);\n\n /**\n * @dev Sets the `implementer` contract as ``account``'s implementer for\n * `interfaceHash`.\n *\n * `account` being the zero address is an alias for the caller's address.\n * The zero address can also be used in `implementer` to remove an old one.\n *\n * See {interfaceHash} to learn how these are created.\n *\n * Emits an {InterfaceImplementerSet} event.\n *\n * Requirements:\n *\n * - the caller must be the current manager for `account`.\n * - `interfaceHash` must not be an {IERC165} interface id (i.e. it must not\n * end in 28 zeroes).\n * - `implementer` must implement {IERC1820Implementer} and return true when\n * queried for support, unless `implementer` is the caller. See\n * {IERC1820Implementer-canImplementInterfaceForAddress}.\n */\n function setInterfaceImplementer(\n address account,\n bytes32 _interfaceHash,\n address implementer\n ) external;\n\n /**\n * @dev Returns the implementer of `interfaceHash` for `account`. If no such\n * implementer is registered, returns the zero address.\n *\n * If `interfaceHash` is an {IERC165} interface id (i.e. it ends with 28\n * zeroes), `account` will be queried for support of it.\n *\n * `account` being the zero address is an alias for the caller's address.\n */\n function getInterfaceImplementer(address account, bytes32 _interfaceHash) external view returns (address);\n\n /**\n * @dev Returns the interface hash for an `interfaceName`, as defined in the\n * corresponding\n * https://eips.ethereum.org/EIPS/eip-1820#interface-name[section of the EIP].\n */\n function interfaceHash(string calldata interfaceName) external pure returns (bytes32);\n\n /**\n * @notice Updates the cache with whether the contract implements an ERC165 interface or not.\n * @param account Address of the contract for which to update the cache.\n * @param interfaceId ERC165 interface for which to update the cache.\n */\n function updateERC165Cache(address account, bytes4 interfaceId) external;\n\n /**\n * @notice Checks whether a contract implements an ERC165 interface or not.\n * If the result is not cached a direct lookup on the contract address is performed.\n * If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling\n * {updateERC165Cache} with the contract address.\n * @param account Address of the contract to check.\n * @param interfaceId ERC165 interface to check.\n * @return True if `account` implements `interfaceId`, false otherwise.\n */\n function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);\n\n /**\n * @notice Checks whether a contract implements an ERC165 interface or not without using or updating the cache.\n * @param account Address of the contract to check.\n * @param interfaceId ERC165 interface to check.\n * @return True if `account` implements `interfaceId`, false otherwise.\n */\n function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);\n}\n"},"contracts/@openzeppelin/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(\n uint256 x,\n uint256 y,\n uint256 denominator\n ) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1);\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(\n uint256 x,\n uint256 y,\n uint256 denominator,\n Rounding rounding\n ) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10**64) {\n value /= 10**64;\n result += 64;\n }\n if (value >= 10**32) {\n value /= 10**32;\n result += 32;\n }\n if (value >= 10**16) {\n value /= 10**16;\n result += 16;\n }\n if (value >= 10**8) {\n value /= 10**8;\n result += 8;\n }\n if (value >= 10**4) {\n value /= 10**4;\n result += 4;\n }\n if (value >= 10**2) {\n value /= 10**2;\n result += 2;\n }\n if (value >= 10**1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10**result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result * 8) < value ? 1 : 0);\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n *\n * Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing\n * all math on `uint256` and `int256` and then downcasting.\n */\nlibrary SafeCast {\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n *\n * _Available since v4.7._\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n require(value <= type(uint248).max, \"SafeCast: value doesn't fit in 248 bits\");\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n *\n * _Available since v4.7._\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n require(value <= type(uint240).max, \"SafeCast: value doesn't fit in 240 bits\");\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n *\n * _Available since v4.7._\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n require(value <= type(uint232).max, \"SafeCast: value doesn't fit in 232 bits\");\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n *\n * _Available since v4.2._\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n require(value <= type(uint224).max, \"SafeCast: value doesn't fit in 224 bits\");\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n *\n * _Available since v4.7._\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n require(value <= type(uint216).max, \"SafeCast: value doesn't fit in 216 bits\");\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n *\n * _Available since v4.7._\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n require(value <= type(uint208).max, \"SafeCast: value doesn't fit in 208 bits\");\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n *\n * _Available since v4.7._\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n require(value <= type(uint200).max, \"SafeCast: value doesn't fit in 200 bits\");\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n *\n * _Available since v4.7._\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n require(value <= type(uint192).max, \"SafeCast: value doesn't fit in 192 bits\");\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n *\n * _Available since v4.7._\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n require(value <= type(uint184).max, \"SafeCast: value doesn't fit in 184 bits\");\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n *\n * _Available since v4.7._\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n require(value <= type(uint176).max, \"SafeCast: value doesn't fit in 176 bits\");\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n *\n * _Available since v4.7._\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n require(value <= type(uint168).max, \"SafeCast: value doesn't fit in 168 bits\");\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n *\n * _Available since v4.7._\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n require(value <= type(uint160).max, \"SafeCast: value doesn't fit in 160 bits\");\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n *\n * _Available since v4.7._\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n require(value <= type(uint152).max, \"SafeCast: value doesn't fit in 152 bits\");\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n *\n * _Available since v4.7._\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n require(value <= type(uint144).max, \"SafeCast: value doesn't fit in 144 bits\");\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n *\n * _Available since v4.7._\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n require(value <= type(uint136).max, \"SafeCast: value doesn't fit in 136 bits\");\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n *\n * _Available since v2.5._\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n require(value <= type(uint128).max, \"SafeCast: value doesn't fit in 128 bits\");\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n *\n * _Available since v4.7._\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n require(value <= type(uint120).max, \"SafeCast: value doesn't fit in 120 bits\");\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n *\n * _Available since v4.7._\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n require(value <= type(uint112).max, \"SafeCast: value doesn't fit in 112 bits\");\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n *\n * _Available since v4.7._\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n require(value <= type(uint104).max, \"SafeCast: value doesn't fit in 104 bits\");\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n *\n * _Available since v4.2._\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n require(value <= type(uint96).max, \"SafeCast: value doesn't fit in 96 bits\");\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n *\n * _Available since v4.7._\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n require(value <= type(uint88).max, \"SafeCast: value doesn't fit in 88 bits\");\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n *\n * _Available since v4.7._\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n require(value <= type(uint80).max, \"SafeCast: value doesn't fit in 80 bits\");\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n *\n * _Available since v4.7._\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n require(value <= type(uint72).max, \"SafeCast: value doesn't fit in 72 bits\");\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n *\n * _Available since v2.5._\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n require(value <= type(uint64).max, \"SafeCast: value doesn't fit in 64 bits\");\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n *\n * _Available since v4.7._\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n require(value <= type(uint56).max, \"SafeCast: value doesn't fit in 56 bits\");\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n *\n * _Available since v4.7._\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n require(value <= type(uint48).max, \"SafeCast: value doesn't fit in 48 bits\");\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n *\n * _Available since v4.7._\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n require(value <= type(uint40).max, \"SafeCast: value doesn't fit in 40 bits\");\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n *\n * _Available since v2.5._\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n require(value <= type(uint32).max, \"SafeCast: value doesn't fit in 32 bits\");\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n *\n * _Available since v4.7._\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n require(value <= type(uint24).max, \"SafeCast: value doesn't fit in 24 bits\");\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n *\n * _Available since v2.5._\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n require(value <= type(uint16).max, \"SafeCast: value doesn't fit in 16 bits\");\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n *\n * _Available since v2.5._\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n require(value <= type(uint8).max, \"SafeCast: value doesn't fit in 8 bits\");\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n *\n * _Available since v3.0._\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n require(value >= 0, \"SafeCast: value must be positive\");\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n *\n * _Available since v4.7._\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 248 bits\");\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n *\n * _Available since v4.7._\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 240 bits\");\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n *\n * _Available since v4.7._\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 232 bits\");\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n *\n * _Available since v4.7._\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 224 bits\");\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n *\n * _Available since v4.7._\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 216 bits\");\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n *\n * _Available since v4.7._\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 208 bits\");\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n *\n * _Available since v4.7._\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 200 bits\");\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n *\n * _Available since v4.7._\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 192 bits\");\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n *\n * _Available since v4.7._\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 184 bits\");\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n *\n * _Available since v4.7._\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 176 bits\");\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n *\n * _Available since v4.7._\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 168 bits\");\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n *\n * _Available since v4.7._\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 160 bits\");\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n *\n * _Available since v4.7._\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 152 bits\");\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n *\n * _Available since v4.7._\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 144 bits\");\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n *\n * _Available since v4.7._\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 136 bits\");\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n *\n * _Available since v3.1._\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 128 bits\");\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n *\n * _Available since v4.7._\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 120 bits\");\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n *\n * _Available since v4.7._\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 112 bits\");\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n *\n * _Available since v4.7._\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 104 bits\");\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n *\n * _Available since v4.7._\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 96 bits\");\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n *\n * _Available since v4.7._\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 88 bits\");\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n *\n * _Available since v4.7._\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 80 bits\");\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n *\n * _Available since v4.7._\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 72 bits\");\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n *\n * _Available since v3.1._\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 64 bits\");\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n *\n * _Available since v4.7._\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 56 bits\");\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n *\n * _Available since v4.7._\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 48 bits\");\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n *\n * _Available since v4.7._\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 40 bits\");\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n *\n * _Available since v3.1._\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 32 bits\");\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n *\n * _Available since v4.7._\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 24 bits\");\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n *\n * _Available since v3.1._\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 16 bits\");\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n *\n * _Available since v3.1._\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 8 bits\");\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n *\n * _Available since v3.0._\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n require(value <= uint256(type(int256).max), \"SafeCast: value doesn't fit in an int256\");\n return int256(value);\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (utils/math/SafeMath.sol)\n\npragma solidity ^0.8.0;\n\n// CAUTION\n// This version of SafeMath should only be used with Solidity 0.8 or later,\n// because it relies on the compiler's built in overflow checks.\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations.\n *\n * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\n * now has built in overflow checking.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n return a + b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return a - b;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n return a * b;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator.\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return a % b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b <= a, errorMessage);\n return a - b;\n }\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b > 0, errorMessage);\n return a / b;\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b > 0, errorMessage);\n return a % b;\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/math/SignedSafeMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations.\n *\n * NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler\n * now has built in overflow checking.\n */\nlibrary SignedSafeMath {\n /**\n * @dev Returns the multiplication of two signed integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(int256 a, int256 b) internal pure returns (int256) {\n return a * b;\n }\n\n /**\n * @dev Returns the integer division of two signed integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator.\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(int256 a, int256 b) internal pure returns (int256) {\n return a / b;\n }\n\n /**\n * @dev Returns the subtraction of two signed integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(int256 a, int256 b) internal pure returns (int256) {\n return a - b;\n }\n\n /**\n * @dev Returns the addition of two signed integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(int256 a, int256 b) internal pure returns (int256) {\n return a + b;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Multicall.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (utils/Multicall.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./Address.sol\";\n\n/**\n * @dev Provides a function to batch together multiple calls in a single external call.\n *\n * _Available since v4.1._\n */\nabstract contract Multicall {\n /**\n * @dev Receives and executes a batch of function calls on this contract.\n */\n function multicall(bytes[] calldata data) external virtual returns (bytes[] memory results) {\n results = new bytes[](data.length);\n for (uint256 i = 0; i < data.length; i++) {\n results[i] = Address.functionDelegateCall(address(this), data[i]);\n }\n return results;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/StorageSlot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/StorageSlot.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC1967 implementation slot:\n * ```\n * contract ERC1967 {\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/structs/BitMaps.sol)\npragma solidity ^0.8.0;\n\n/**\n * @dev Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential.\n * Largely inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor].\n */\nlibrary BitMaps {\n struct BitMap {\n mapping(uint256 => uint256) _data;\n }\n\n /**\n * @dev Returns whether the bit at `index` is set.\n */\n function get(BitMap storage bitmap, uint256 index) internal view returns (bool) {\n uint256 bucket = index >> 8;\n uint256 mask = 1 << (index & 0xff);\n return bitmap._data[bucket] & mask != 0;\n }\n\n /**\n * @dev Sets the bit at `index` to the boolean `value`.\n */\n function setTo(\n BitMap storage bitmap,\n uint256 index,\n bool value\n ) internal {\n if (value) {\n set(bitmap, index);\n } else {\n unset(bitmap, index);\n }\n }\n\n /**\n * @dev Sets the bit at `index`.\n */\n function set(BitMap storage bitmap, uint256 index) internal {\n uint256 bucket = index >> 8;\n uint256 mask = 1 << (index & 0xff);\n bitmap._data[bucket] |= mask;\n }\n\n /**\n * @dev Unsets the bit at `index`.\n */\n function unset(BitMap storage bitmap, uint256 index) internal {\n uint256 bucket = index >> 8;\n uint256 mask = 1 << (index & 0xff);\n bitmap._data[bucket] &= ~mask;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (utils/structs/DoubleEndedQueue.sol)\npragma solidity ^0.8.4;\n\nimport \"../math/SafeCast.sol\";\n\n/**\n * @dev A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of\n * the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and\n * FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that\n * the existing queue contents are left in storage.\n *\n * The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be\n * used in storage, and not in memory.\n * ```\n * DoubleEndedQueue.Bytes32Deque queue;\n * ```\n *\n * _Available since v4.6._\n */\nlibrary DoubleEndedQueue {\n /**\n * @dev An operation (e.g. {front}) couldn't be completed due to the queue being empty.\n */\n error Empty();\n\n /**\n * @dev An operation (e.g. {at}) couldn't be completed due to an index being out of bounds.\n */\n error OutOfBounds();\n\n /**\n * @dev Indices are signed integers because the queue can grow in any direction. They are 128 bits so begin and end\n * are packed in a single storage slot for efficient access. Since the items are added one at a time we can safely\n * assume that these 128-bit indices will not overflow, and use unchecked arithmetic.\n *\n * Struct members have an underscore prefix indicating that they are \"private\" and should not be read or written to\n * directly. Use the functions provided below instead. Modifying the struct manually may violate assumptions and\n * lead to unexpected behavior.\n *\n * Indices are in the range [begin, end) which means the first item is at data[begin] and the last item is at\n * data[end - 1].\n */\n struct Bytes32Deque {\n int128 _begin;\n int128 _end;\n mapping(int128 => bytes32) _data;\n }\n\n /**\n * @dev Inserts an item at the end of the queue.\n */\n function pushBack(Bytes32Deque storage deque, bytes32 value) internal {\n int128 backIndex = deque._end;\n deque._data[backIndex] = value;\n unchecked {\n deque._end = backIndex + 1;\n }\n }\n\n /**\n * @dev Removes the item at the end of the queue and returns it.\n *\n * Reverts with `Empty` if the queue is empty.\n */\n function popBack(Bytes32Deque storage deque) internal returns (bytes32 value) {\n if (empty(deque)) revert Empty();\n int128 backIndex;\n unchecked {\n backIndex = deque._end - 1;\n }\n value = deque._data[backIndex];\n delete deque._data[backIndex];\n deque._end = backIndex;\n }\n\n /**\n * @dev Inserts an item at the beginning of the queue.\n */\n function pushFront(Bytes32Deque storage deque, bytes32 value) internal {\n int128 frontIndex;\n unchecked {\n frontIndex = deque._begin - 1;\n }\n deque._data[frontIndex] = value;\n deque._begin = frontIndex;\n }\n\n /**\n * @dev Removes the item at the beginning of the queue and returns it.\n *\n * Reverts with `Empty` if the queue is empty.\n */\n function popFront(Bytes32Deque storage deque) internal returns (bytes32 value) {\n if (empty(deque)) revert Empty();\n int128 frontIndex = deque._begin;\n value = deque._data[frontIndex];\n delete deque._data[frontIndex];\n unchecked {\n deque._begin = frontIndex + 1;\n }\n }\n\n /**\n * @dev Returns the item at the beginning of the queue.\n *\n * Reverts with `Empty` if the queue is empty.\n */\n function front(Bytes32Deque storage deque) internal view returns (bytes32 value) {\n if (empty(deque)) revert Empty();\n int128 frontIndex = deque._begin;\n return deque._data[frontIndex];\n }\n\n /**\n * @dev Returns the item at the end of the queue.\n *\n * Reverts with `Empty` if the queue is empty.\n */\n function back(Bytes32Deque storage deque) internal view returns (bytes32 value) {\n if (empty(deque)) revert Empty();\n int128 backIndex;\n unchecked {\n backIndex = deque._end - 1;\n }\n return deque._data[backIndex];\n }\n\n /**\n * @dev Return the item at a position in the queue given by `index`, with the first item at 0 and last item at\n * `length(deque) - 1`.\n *\n * Reverts with `OutOfBounds` if the index is out of bounds.\n */\n function at(Bytes32Deque storage deque, uint256 index) internal view returns (bytes32 value) {\n // int256(deque._begin) is a safe upcast\n int128 idx = SafeCast.toInt128(int256(deque._begin) + SafeCast.toInt256(index));\n if (idx >= deque._end) revert OutOfBounds();\n return deque._data[idx];\n }\n\n /**\n * @dev Resets the queue back to being empty.\n *\n * NOTE: The current items are left behind in storage. This does not affect the functioning of the queue, but misses\n * out on potential gas refunds.\n */\n function clear(Bytes32Deque storage deque) internal {\n deque._begin = 0;\n deque._end = 0;\n }\n\n /**\n * @dev Returns the number of items in the queue.\n */\n function length(Bytes32Deque storage deque) internal view returns (uint256) {\n // The interface preserves the invariant that begin <= end so we assume this will not overflow.\n // We also assume there are at most int256.max items in the queue.\n unchecked {\n return uint256(int256(deque._end) - int256(deque._begin));\n }\n }\n\n /**\n * @dev Returns true if the queue is empty.\n */\n function empty(Bytes32Deque storage deque) internal view returns (bool) {\n return deque._end <= deque._begin;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/structs/EnumerableMap.sol)\n// This file was procedurally generated from scripts/generate/templates/EnumerableMap.js.\n\npragma solidity ^0.8.0;\n\nimport \"./EnumerableSet.sol\";\n\n/**\n * @dev Library for managing an enumerable variant of Solidity's\n * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\n * type.\n *\n * Maps have the following properties:\n *\n * - Entries are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Entries are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableMap for EnumerableMap.UintToAddressMap;\n *\n * // Declare a set state variable\n * EnumerableMap.UintToAddressMap private myMap;\n * }\n * ```\n *\n * The following map types are supported:\n *\n * - `uint256 -> address` (`UintToAddressMap`) since v3.0.0\n * - `address -> uint256` (`AddressToUintMap`) since v4.6.0\n * - `bytes32 -> bytes32` (`Bytes32ToBytes32Map`) since v4.6.0\n * - `uint256 -> uint256` (`UintToUintMap`) since v4.7.0\n * - `bytes32 -> uint256` (`Bytes32ToUintMap`) since v4.7.0\n *\n * [WARNING]\n * ====\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n * unusable.\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n *\n * In order to clean an EnumerableMap, you can either remove all elements one by one or create a fresh instance using an\n * array of EnumerableMap.\n * ====\n */\nlibrary EnumerableMap {\n using EnumerableSet for EnumerableSet.Bytes32Set;\n\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Map type with\n // bytes32 keys and values.\n // The Map implementation uses private functions, and user-facing\n // implementations (such as Uint256ToAddressMap) are just wrappers around\n // the underlying Map.\n // This means that we can only create new EnumerableMaps for types that fit\n // in bytes32.\n\n struct Bytes32ToBytes32Map {\n // Storage of keys\n EnumerableSet.Bytes32Set _keys;\n mapping(bytes32 => bytes32) _values;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(\n Bytes32ToBytes32Map storage map,\n bytes32 key,\n bytes32 value\n ) internal returns (bool) {\n map._values[key] = value;\n return map._keys.add(key);\n }\n\n /**\n * @dev Removes a key-value pair from a map. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(Bytes32ToBytes32Map storage map, bytes32 key) internal returns (bool) {\n delete map._values[key];\n return map._keys.remove(key);\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(Bytes32ToBytes32Map storage map, bytes32 key) internal view returns (bool) {\n return map._keys.contains(key);\n }\n\n /**\n * @dev Returns the number of key-value pairs in the map. O(1).\n */\n function length(Bytes32ToBytes32Map storage map) internal view returns (uint256) {\n return map._keys.length();\n }\n\n /**\n * @dev Returns the key-value pair stored at position `index` in the map. O(1).\n *\n * Note that there are no guarantees on the ordering of entries inside the\n * array, and it may change when more entries are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32ToBytes32Map storage map, uint256 index) internal view returns (bytes32, bytes32) {\n bytes32 key = map._keys.at(index);\n return (key, map._values[key]);\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function tryGet(Bytes32ToBytes32Map storage map, bytes32 key) internal view returns (bool, bytes32) {\n bytes32 value = map._values[key];\n if (value == bytes32(0)) {\n return (contains(map, key), bytes32(0));\n } else {\n return (true, value);\n }\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(Bytes32ToBytes32Map storage map, bytes32 key) internal view returns (bytes32) {\n bytes32 value = map._values[key];\n require(value != 0 || contains(map, key), \"EnumerableMap: nonexistent key\");\n return value;\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(\n Bytes32ToBytes32Map storage map,\n bytes32 key,\n string memory errorMessage\n ) internal view returns (bytes32) {\n bytes32 value = map._values[key];\n require(value != 0 || contains(map, key), errorMessage);\n return value;\n }\n\n // UintToUintMap\n\n struct UintToUintMap {\n Bytes32ToBytes32Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(\n UintToUintMap storage map,\n uint256 key,\n uint256 value\n ) internal returns (bool) {\n return set(map._inner, bytes32(key), bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(UintToUintMap storage map, uint256 key) internal returns (bool) {\n return remove(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(UintToUintMap storage map, uint256 key) internal view returns (bool) {\n return contains(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(UintToUintMap storage map) internal view returns (uint256) {\n return length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintToUintMap storage map, uint256 index) internal view returns (uint256, uint256) {\n (bytes32 key, bytes32 value) = at(map._inner, index);\n return (uint256(key), uint256(value));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function tryGet(UintToUintMap storage map, uint256 key) internal view returns (bool, uint256) {\n (bool success, bytes32 value) = tryGet(map._inner, bytes32(key));\n return (success, uint256(value));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(UintToUintMap storage map, uint256 key) internal view returns (uint256) {\n return uint256(get(map._inner, bytes32(key)));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(\n UintToUintMap storage map,\n uint256 key,\n string memory errorMessage\n ) internal view returns (uint256) {\n return uint256(get(map._inner, bytes32(key), errorMessage));\n }\n\n // UintToAddressMap\n\n struct UintToAddressMap {\n Bytes32ToBytes32Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(\n UintToAddressMap storage map,\n uint256 key,\n address value\n ) internal returns (bool) {\n return set(map._inner, bytes32(key), bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) {\n return remove(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) {\n return contains(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(UintToAddressMap storage map) internal view returns (uint256) {\n return length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {\n (bytes32 key, bytes32 value) = at(map._inner, index);\n return (uint256(key), address(uint160(uint256(value))));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) {\n (bool success, bytes32 value) = tryGet(map._inner, bytes32(key));\n return (success, address(uint160(uint256(value))));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(UintToAddressMap storage map, uint256 key) internal view returns (address) {\n return address(uint160(uint256(get(map._inner, bytes32(key)))));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(\n UintToAddressMap storage map,\n uint256 key,\n string memory errorMessage\n ) internal view returns (address) {\n return address(uint160(uint256(get(map._inner, bytes32(key), errorMessage))));\n }\n\n // AddressToUintMap\n\n struct AddressToUintMap {\n Bytes32ToBytes32Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(\n AddressToUintMap storage map,\n address key,\n uint256 value\n ) internal returns (bool) {\n return set(map._inner, bytes32(uint256(uint160(key))), bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(AddressToUintMap storage map, address key) internal returns (bool) {\n return remove(map._inner, bytes32(uint256(uint160(key))));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(AddressToUintMap storage map, address key) internal view returns (bool) {\n return contains(map._inner, bytes32(uint256(uint160(key))));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(AddressToUintMap storage map) internal view returns (uint256) {\n return length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressToUintMap storage map, uint256 index) internal view returns (address, uint256) {\n (bytes32 key, bytes32 value) = at(map._inner, index);\n return (address(uint160(uint256(key))), uint256(value));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function tryGet(AddressToUintMap storage map, address key) internal view returns (bool, uint256) {\n (bool success, bytes32 value) = tryGet(map._inner, bytes32(uint256(uint160(key))));\n return (success, uint256(value));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(AddressToUintMap storage map, address key) internal view returns (uint256) {\n return uint256(get(map._inner, bytes32(uint256(uint160(key)))));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(\n AddressToUintMap storage map,\n address key,\n string memory errorMessage\n ) internal view returns (uint256) {\n return uint256(get(map._inner, bytes32(uint256(uint160(key))), errorMessage));\n }\n\n // Bytes32ToUintMap\n\n struct Bytes32ToUintMap {\n Bytes32ToBytes32Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(\n Bytes32ToUintMap storage map,\n bytes32 key,\n uint256 value\n ) internal returns (bool) {\n return set(map._inner, key, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(Bytes32ToUintMap storage map, bytes32 key) internal returns (bool) {\n return remove(map._inner, key);\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(Bytes32ToUintMap storage map, bytes32 key) internal view returns (bool) {\n return contains(map._inner, key);\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(Bytes32ToUintMap storage map) internal view returns (uint256) {\n return length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32ToUintMap storage map, uint256 index) internal view returns (bytes32, uint256) {\n (bytes32 key, bytes32 value) = at(map._inner, index);\n return (key, uint256(value));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function tryGet(Bytes32ToUintMap storage map, bytes32 key) internal view returns (bool, uint256) {\n (bool success, bytes32 value) = tryGet(map._inner, key);\n return (success, uint256(value));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(Bytes32ToUintMap storage map, bytes32 key) internal view returns (uint256) {\n return uint256(get(map._inner, key));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(\n Bytes32ToUintMap storage map,\n bytes32 key,\n string memory errorMessage\n ) internal view returns (uint256) {\n return uint256(get(map._inner, key, errorMessage));\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/structs/EnumerableSet.sol)\n// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n * and `uint256` (`UintSet`) are supported.\n *\n * [WARNING]\n * ====\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n * unusable.\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n *\n * In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n * array of EnumerableSet.\n * ====\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n // Position of the value in the `values` array, plus 1 because index 0\n // means a value is not in the set.\n mapping(bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._indexes[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We read and store the value's index to prevent multiple reads from the same storage slot\n uint256 valueIndex = set._indexes[value];\n\n if (valueIndex != 0) {\n // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = valueIndex - 1;\n uint256 lastIndex = set._values.length - 1;\n\n if (lastIndex != toDeleteIndex) {\n bytes32 lastValue = set._values[lastIndex];\n\n // Move the last value to the index where the value to delete is\n set._values[toDeleteIndex] = lastValue;\n // Update the index for the moved value\n set._indexes[lastValue] = valueIndex; // Replace lastValue's index to valueIndex\n }\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the index for the deleted slot\n delete set._indexes[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._indexes[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\n return set._values[index];\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function _values(Set storage set) private view returns (bytes32[] memory) {\n return set._values;\n }\n\n // Bytes32Set\n\n struct Bytes32Set {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _add(set._inner, value);\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _remove(set._inner, value);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n return _contains(set._inner, value);\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(Bytes32Set storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n return _at(set._inner, index);\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {\n bytes32[] memory store = _values(set._inner);\n bytes32[] memory result;\n\n /// @solidity memory-safe-assembly\n assembly {\n result := store\n }\n\n return result;\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint160(uint256(_at(set._inner, index))));\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(AddressSet storage set) internal view returns (address[] memory) {\n bytes32[] memory store = _values(set._inner);\n address[] memory result;\n\n /// @solidity memory-safe-assembly\n assembly {\n result := store\n }\n\n return result;\n }\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(UintSet storage set) internal view returns (uint256[] memory) {\n bytes32[] memory store = _values(set._inner);\n uint256[] memory result;\n\n /// @solidity memory-safe-assembly\n assembly {\n result := store\n }\n\n return result;\n }\n}\n"},"contracts/@openzeppelin/contracts/utils/Timers.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Timers.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Tooling for timepoints, timers and delays\n */\nlibrary Timers {\n struct Timestamp {\n uint64 _deadline;\n }\n\n function getDeadline(Timestamp memory timer) internal pure returns (uint64) {\n return timer._deadline;\n }\n\n function setDeadline(Timestamp storage timer, uint64 timestamp) internal {\n timer._deadline = timestamp;\n }\n\n function reset(Timestamp storage timer) internal {\n timer._deadline = 0;\n }\n\n function isUnset(Timestamp memory timer) internal pure returns (bool) {\n return timer._deadline == 0;\n }\n\n function isStarted(Timestamp memory timer) internal pure returns (bool) {\n return timer._deadline > 0;\n }\n\n function isPending(Timestamp memory timer) internal view returns (bool) {\n return timer._deadline > block.timestamp;\n }\n\n function isExpired(Timestamp memory timer) internal view returns (bool) {\n return isStarted(timer) && timer._deadline <= block.timestamp;\n }\n\n struct BlockNumber {\n uint64 _deadline;\n }\n\n function getDeadline(BlockNumber memory timer) internal pure returns (uint64) {\n return timer._deadline;\n }\n\n function setDeadline(BlockNumber storage timer, uint64 timestamp) internal {\n timer._deadline = timestamp;\n }\n\n function reset(BlockNumber storage timer) internal {\n timer._deadline = 0;\n }\n\n function isUnset(BlockNumber memory timer) internal pure returns (bool) {\n return timer._deadline == 0;\n }\n\n function isStarted(BlockNumber memory timer) internal pure returns (bool) {\n return timer._deadline > 0;\n }\n\n function isPending(BlockNumber memory timer) internal view returns (bool) {\n return timer._deadline > block.number;\n }\n\n function isExpired(BlockNumber memory timer) internal view returns (bool) {\n return isStarted(timer) && timer._deadline <= block.number;\n }\n}\n"},"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (vendor/amb/IAMB.sol)\npragma solidity ^0.8.0;\n\ninterface IAMB {\n event UserRequestForAffirmation(bytes32 indexed messageId, bytes encodedData);\n event UserRequestForSignature(bytes32 indexed messageId, bytes encodedData);\n event AffirmationCompleted(\n address indexed sender,\n address indexed executor,\n bytes32 indexed messageId,\n bool status\n );\n event RelayedMessage(address indexed sender, address indexed executor, bytes32 indexed messageId, bool status);\n\n function messageSender() external view returns (address);\n\n function maxGasPerTx() external view returns (uint256);\n\n function transactionHash() external view returns (bytes32);\n\n function messageId() external view returns (bytes32);\n\n function messageSourceChainId() external view returns (bytes32);\n\n function messageCallStatus(bytes32 _messageId) external view returns (bool);\n\n function failedMessageDataHash(bytes32 _messageId) external view returns (bytes32);\n\n function failedMessageReceiver(bytes32 _messageId) external view returns (address);\n\n function failedMessageSender(bytes32 _messageId) external view returns (address);\n\n function requireToPassMessage(\n address _contract,\n bytes calldata _data,\n uint256 _gas\n ) external returns (bytes32);\n\n function requireToConfirmMessage(\n address _contract,\n bytes calldata _data,\n uint256 _gas\n ) external returns (bytes32);\n\n function sourceChainId() external view returns (uint256);\n\n function destinationChainId() external view returns (uint256);\n}\n"},"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol":{"content":"// Copyright 2021-2022, Offchain Labs, Inc.\n// For license information, see https://github.com/OffchainLabs/nitro/blob/master/LICENSE\n// SPDX-License-Identifier: BUSL-1.1\n// OpenZeppelin Contracts (last updated v4.8.0) (vendor/arbitrum/IArbSys.sol)\n\npragma solidity >=0.4.21 <0.9.0;\n\n/**\n * @title System level functionality\n * @notice For use by contracts to interact with core L2-specific functionality.\n * Precompiled contract that exists in every Arbitrum chain at address(100), 0x0000000000000000000000000000000000000064.\n */\ninterface IArbSys {\n /**\n * @notice Get Arbitrum block number (distinct from L1 block number; Arbitrum genesis block has block number 0)\n * @return block number as int\n */\n function arbBlockNumber() external view returns (uint256);\n\n /**\n * @notice Get Arbitrum block hash (reverts unless currentBlockNum-256 <= arbBlockNum < currentBlockNum)\n * @return block hash\n */\n function arbBlockHash(uint256 arbBlockNum) external view returns (bytes32);\n\n /**\n * @notice Gets the rollup's unique chain identifier\n * @return Chain identifier as int\n */\n function arbChainID() external view returns (uint256);\n\n /**\n * @notice Get internal version number identifying an ArbOS build\n * @return version number as int\n */\n function arbOSVersion() external view returns (uint256);\n\n /**\n * @notice Returns 0 since Nitro has no concept of storage gas\n * @return uint 0\n */\n function getStorageGasAvailable() external view returns (uint256);\n\n /**\n * @notice (deprecated) check if current call is top level (meaning it was triggered by an EoA or a L1 contract)\n * @dev this call has been deprecated and may be removed in a future release\n * @return true if current execution frame is not a call by another L2 contract\n */\n function isTopLevelCall() external view returns (bool);\n\n /**\n * @notice map L1 sender contract address to its L2 alias\n * @param sender sender address\n * @param unused argument no longer used\n * @return aliased sender address\n */\n function mapL1SenderContractAddressToL2Alias(address sender, address unused) external pure returns (address);\n\n /**\n * @notice check if the caller (of this caller of this) is an aliased L1 contract address\n * @return true iff the caller's address is an alias for an L1 contract address\n */\n function wasMyCallersAddressAliased() external view returns (bool);\n\n /**\n * @notice return the address of the caller (of this caller of this), without applying L1 contract address aliasing\n * @return address of the caller's caller, without applying L1 contract address aliasing\n */\n function myCallersAddressWithoutAliasing() external view returns (address);\n\n /**\n * @notice Send given amount of Eth to dest from sender.\n * This is a convenience function, which is equivalent to calling sendTxToL1 with empty data.\n * @param destination recipient address on L1\n * @return unique identifier for this L2-to-L1 transaction.\n */\n function withdrawEth(address destination) external payable returns (uint256);\n\n /**\n * @notice Send a transaction to L1\n * @dev it is not possible to execute on the L1 any L2-to-L1 transaction which contains data\n * to a contract address without any code (as enforced by the Bridge contract).\n * @param destination recipient address on L1\n * @param data (optional) calldata for L1 contract call\n * @return a unique identifier for this L2-to-L1 transaction.\n */\n function sendTxToL1(address destination, bytes calldata data) external payable returns (uint256);\n\n /**\n * @notice Get send Merkle tree state\n * @return size number of sends in the history\n * @return root root hash of the send history\n * @return partials hashes of partial subtrees in the send history tree\n */\n function sendMerkleTreeState()\n external\n view\n returns (\n uint256 size,\n bytes32 root,\n bytes32[] memory partials\n );\n\n /**\n * @notice creates a send txn from L2 to L1\n * @param position = (level << 192) + leaf = (0 << 192) + leaf = leaf\n */\n event L2ToL1Tx(\n address caller,\n address indexed destination,\n uint256 indexed hash,\n uint256 indexed position,\n uint256 arbBlockNum,\n uint256 ethBlockNum,\n uint256 timestamp,\n uint256 callvalue,\n bytes data\n );\n\n /// @dev DEPRECATED in favour of the new L2ToL1Tx event above after the nitro upgrade\n event L2ToL1Transaction(\n address caller,\n address indexed destination,\n uint256 indexed uniqueId,\n uint256 indexed batchNumber,\n uint256 indexInBatch,\n uint256 arbBlockNum,\n uint256 ethBlockNum,\n uint256 timestamp,\n uint256 callvalue,\n bytes data\n );\n\n /**\n * @notice logs a merkle branch for proof synthesis\n * @param reserved an index meant only to align the 4th index with L2ToL1Transaction's 4th event\n * @param hash the merkle hash\n * @param position = (level << 192) + leaf\n */\n event SendMerkleUpdate(uint256 indexed reserved, bytes32 indexed hash, uint256 indexed position);\n}\n"},"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol":{"content":"// Copyright 2021-2022, Offchain Labs, Inc.\n// For license information, see https://github.com/nitro/blob/master/LICENSE\n// SPDX-License-Identifier: BUSL-1.1\n// OpenZeppelin Contracts (last updated v4.8.0) (vendor/arbitrum/IBridge.sol)\n\n// solhint-disable-next-line compiler-version\npragma solidity >=0.6.9 <0.9.0;\n\ninterface IBridge {\n event MessageDelivered(\n uint256 indexed messageIndex,\n bytes32 indexed beforeInboxAcc,\n address inbox,\n uint8 kind,\n address sender,\n bytes32 messageDataHash,\n uint256 baseFeeL1,\n uint64 timestamp\n );\n\n event BridgeCallTriggered(address indexed outbox, address indexed to, uint256 value, bytes data);\n\n event InboxToggle(address indexed inbox, bool enabled);\n\n event OutboxToggle(address indexed outbox, bool enabled);\n\n event SequencerInboxUpdated(address newSequencerInbox);\n\n function allowedDelayedInboxList(uint256) external returns (address);\n\n function allowedOutboxList(uint256) external returns (address);\n\n /// @dev Accumulator for delayed inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message.\n function delayedInboxAccs(uint256) external view returns (bytes32);\n\n /// @dev Accumulator for sequencer inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message.\n function sequencerInboxAccs(uint256) external view returns (bytes32);\n\n // OpenZeppelin: changed return type from IOwnable\n function rollup() external view returns (address);\n\n function sequencerInbox() external view returns (address);\n\n function activeOutbox() external view returns (address);\n\n function allowedDelayedInboxes(address inbox) external view returns (bool);\n\n function allowedOutboxes(address outbox) external view returns (bool);\n\n function sequencerReportedSubMessageCount() external view returns (uint256);\n\n /**\n * @dev Enqueue a message in the delayed inbox accumulator.\n * These messages are later sequenced in the SequencerInbox, either\n * by the sequencer as part of a normal batch, or by force inclusion.\n */\n function enqueueDelayedMessage(\n uint8 kind,\n address sender,\n bytes32 messageDataHash\n ) external payable returns (uint256);\n\n function executeCall(\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (bool success, bytes memory returnData);\n\n function delayedMessageCount() external view returns (uint256);\n\n function sequencerMessageCount() external view returns (uint256);\n\n // ---------- onlySequencerInbox functions ----------\n\n function enqueueSequencerMessage(\n bytes32 dataHash,\n uint256 afterDelayedMessagesRead,\n uint256 prevMessageCount,\n uint256 newMessageCount\n )\n external\n returns (\n uint256 seqMessageIndex,\n bytes32 beforeAcc,\n bytes32 delayedAcc,\n bytes32 acc\n );\n\n /**\n * @dev Allows the sequencer inbox to submit a delayed message of the batchPostingReport type\n * This is done through a separate function entrypoint instead of allowing the sequencer inbox\n * to call `enqueueDelayedMessage` to avoid the gas overhead of an extra SLOAD in either\n * every delayed inbox or every sequencer inbox call.\n */\n function submitBatchSpendingReport(address batchPoster, bytes32 dataHash) external returns (uint256 msgNum);\n\n // ---------- onlyRollupOrOwner functions ----------\n\n function setSequencerInbox(address _sequencerInbox) external;\n\n function setDelayedInbox(address inbox, bool enabled) external;\n\n function setOutbox(address inbox, bool enabled) external;\n\n // ---------- initializer ----------\n\n // OpenZeppelin: changed rollup_ type from IOwnable\n function initialize(address rollup_) external;\n}\n"},"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol":{"content":"// Copyright 2021-2022, Offchain Labs, Inc.\n// For license information, see https://github.com/nitro/blob/master/LICENSE\n// SPDX-License-Identifier: BUSL-1.1\n// OpenZeppelin Contracts (last updated v4.8.0) (vendor/arbitrum/IDelayedMessageProvider.sol)\n\n// solhint-disable-next-line compiler-version\npragma solidity >=0.6.9 <0.9.0;\n\ninterface IDelayedMessageProvider {\n /// @dev event emitted when a inbox message is added to the Bridge's delayed accumulator\n event InboxMessageDelivered(uint256 indexed messageNum, bytes data);\n\n /// @dev event emitted when a inbox message is added to the Bridge's delayed accumulator\n /// same as InboxMessageDelivered but the batch data is available in tx.input\n event InboxMessageDeliveredFromOrigin(uint256 indexed messageNum);\n}\n"},"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol":{"content":"// Copyright 2021-2022, Offchain Labs, Inc.\n// For license information, see https://github.com/nitro/blob/master/LICENSE\n// SPDX-License-Identifier: BUSL-1.1\n// OpenZeppelin Contracts (last updated v4.8.0) (vendor/arbitrum/IInbox.sol)\n\n// solhint-disable-next-line compiler-version\npragma solidity >=0.6.9 <0.9.0;\n\nimport \"./IBridge.sol\";\nimport \"./IDelayedMessageProvider.sol\";\n\ninterface IInbox is IDelayedMessageProvider {\n function bridge() external view returns (IBridge);\n\n // OpenZeppelin: changed return type from ISequencerInbox\n function sequencerInbox() external view returns (address);\n\n /**\n * @notice Send a generic L2 message to the chain\n * @dev This method is an optimization to avoid having to emit the entirety of the messageData in a log. Instead validators are expected to be able to parse the data from the transaction's input\n * @param messageData Data of the message being sent\n */\n function sendL2MessageFromOrigin(bytes calldata messageData) external returns (uint256);\n\n /**\n * @notice Send a generic L2 message to the chain\n * @dev This method can be used to send any type of message that doesn't require L1 validation\n * @param messageData Data of the message being sent\n */\n function sendL2Message(bytes calldata messageData) external returns (uint256);\n\n function sendL1FundedUnsignedTransaction(\n uint256 gasLimit,\n uint256 maxFeePerGas,\n uint256 nonce,\n address to,\n bytes calldata data\n ) external payable returns (uint256);\n\n function sendL1FundedContractTransaction(\n uint256 gasLimit,\n uint256 maxFeePerGas,\n address to,\n bytes calldata data\n ) external payable returns (uint256);\n\n function sendUnsignedTransaction(\n uint256 gasLimit,\n uint256 maxFeePerGas,\n uint256 nonce,\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (uint256);\n\n function sendContractTransaction(\n uint256 gasLimit,\n uint256 maxFeePerGas,\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (uint256);\n\n /**\n * @notice Get the L1 fee for submitting a retryable\n * @dev This fee can be paid by funds already in the L2 aliased address or by the current message value\n * @dev This formula may change in the future, to future proof your code query this method instead of inlining!!\n * @param dataLength The length of the retryable's calldata, in bytes\n * @param baseFee The block basefee when the retryable is included in the chain, if 0 current block.basefee will be used\n */\n function calculateRetryableSubmissionFee(uint256 dataLength, uint256 baseFee) external view returns (uint256);\n\n /**\n * @notice Deposit eth from L1 to L2 to address of the sender if sender is an EOA, and to its aliased address if the sender is a contract\n * @dev This does not trigger the fallback function when receiving in the L2 side.\n * Look into retryable tickets if you are interested in this functionality.\n * @dev This function should not be called inside contract constructors\n */\n function depositEth() external payable returns (uint256);\n\n /**\n * @notice Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\n * @dev all msg.value will deposited to callValueRefundAddress on L2\n * @dev Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\n * @param to destination L2 contract address\n * @param l2CallValue call value for retryable L2 message\n * @param maxSubmissionCost Max gas deducted from user's L2 balance to cover base submission fee\n * @param excessFeeRefundAddress gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\n * @param callValueRefundAddress l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\n * @param gasLimit Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n * @param maxFeePerGas price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n * @param data ABI encoded data of L2 message\n * @return unique message number of the retryable transaction\n */\n function createRetryableTicket(\n address to,\n uint256 l2CallValue,\n uint256 maxSubmissionCost,\n address excessFeeRefundAddress,\n address callValueRefundAddress,\n uint256 gasLimit,\n uint256 maxFeePerGas,\n bytes calldata data\n ) external payable returns (uint256);\n\n /**\n * @notice Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\n * @dev Same as createRetryableTicket, but does not guarantee that submission will succeed by requiring the needed funds\n * come from the deposit alone, rather than falling back on the user's L2 balance\n * @dev Advanced usage only (does not rewrite aliases for excessFeeRefundAddress and callValueRefundAddress).\n * createRetryableTicket method is the recommended standard.\n * @dev Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\n * @param to destination L2 contract address\n * @param l2CallValue call value for retryable L2 message\n * @param maxSubmissionCost Max gas deducted from user's L2 balance to cover base submission fee\n * @param excessFeeRefundAddress gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\n * @param callValueRefundAddress l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\n * @param gasLimit Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n * @param maxFeePerGas price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n * @param data ABI encoded data of L2 message\n * @return unique message number of the retryable transaction\n */\n function unsafeCreateRetryableTicket(\n address to,\n uint256 l2CallValue,\n uint256 maxSubmissionCost,\n address excessFeeRefundAddress,\n address callValueRefundAddress,\n uint256 gasLimit,\n uint256 maxFeePerGas,\n bytes calldata data\n ) external payable returns (uint256);\n\n // ---------- onlyRollupOrOwner functions ----------\n\n /// @notice pauses all inbox functionality\n function pause() external;\n\n /// @notice unpauses all inbox functionality\n function unpause() external;\n\n // ---------- initializer ----------\n\n /**\n * @dev function to be called one time during the inbox upgrade process\n * this is used to fix the storage slots\n */\n function postUpgradeInit(IBridge _bridge) external;\n\n // OpenZeppelin: changed _sequencerInbox type from ISequencerInbox\n function initialize(IBridge _bridge, address _sequencerInbox) external;\n}\n"},"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol":{"content":"// Copyright 2021-2022, Offchain Labs, Inc.\n// For license information, see https://github.com/nitro/blob/master/LICENSE\n// SPDX-License-Identifier: BUSL-1.1\n// OpenZeppelin Contracts (last updated v4.8.0) (vendor/arbitrum/IOutbox.sol)\n\n// solhint-disable-next-line compiler-version\npragma solidity >=0.6.9 <0.9.0;\n\nimport \"./IBridge.sol\";\n\ninterface IOutbox {\n event SendRootUpdated(bytes32 indexed blockHash, bytes32 indexed outputRoot);\n event OutBoxTransactionExecuted(\n address indexed to,\n address indexed l2Sender,\n uint256 indexed zero,\n uint256 transactionIndex\n );\n\n function rollup() external view returns (address); // the rollup contract\n\n function bridge() external view returns (IBridge); // the bridge contract\n\n function spent(uint256) external view returns (bytes32); // packed spent bitmap\n\n function roots(bytes32) external view returns (bytes32); // maps root hashes => L2 block hash\n\n // solhint-disable-next-line func-name-mixedcase\n function OUTBOX_VERSION() external view returns (uint128); // the outbox version\n\n function updateSendRoot(bytes32 sendRoot, bytes32 l2BlockHash) external;\n\n /// @notice When l2ToL1Sender returns a nonzero address, the message was originated by an L2 account\n /// When the return value is zero, that means this is a system message\n /// @dev the l2ToL1Sender behaves as the tx.origin, the msg.sender should be validated to protect against reentrancies\n function l2ToL1Sender() external view returns (address);\n\n /// @return l2Block return L2 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\n function l2ToL1Block() external view returns (uint256);\n\n /// @return l1Block return L1 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\n function l2ToL1EthBlock() external view returns (uint256);\n\n /// @return timestamp return L2 timestamp when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\n function l2ToL1Timestamp() external view returns (uint256);\n\n /// @return outputId returns the unique output identifier of the L2 to L1 tx or 0 if no L2 to L1 transaction is active\n function l2ToL1OutputId() external view returns (bytes32);\n\n /**\n * @notice Executes a messages in an Outbox entry.\n * @dev Reverts if dispute period hasn't expired, since the outbox entry\n * is only created once the rollup confirms the respective assertion.\n * @dev it is not possible to execute any L2-to-L1 transaction which contains data\n * to a contract address without any code (as enforced by the Bridge contract).\n * @param proof Merkle proof of message inclusion in send root\n * @param index Merkle path to message\n * @param l2Sender sender if original message (i.e., caller of ArbSys.sendTxToL1)\n * @param to destination address for L1 contract call\n * @param l2Block l2 block number at which sendTxToL1 call was made\n * @param l1Block l1 block number at which sendTxToL1 call was made\n * @param l2Timestamp l2 Timestamp at which sendTxToL1 call was made\n * @param value wei in L1 message\n * @param data abi-encoded L1 message data\n */\n function executeTransaction(\n bytes32[] calldata proof,\n uint256 index,\n address l2Sender,\n address to,\n uint256 l2Block,\n uint256 l1Block,\n uint256 l2Timestamp,\n uint256 value,\n bytes calldata data\n ) external;\n\n /**\n * @dev function used to simulate the result of a particular function call from the outbox\n * it is useful for things such as gas estimates. This function includes all costs except for\n * proof validation (which can be considered offchain as a somewhat of a fixed cost - it's\n * not really a fixed cost, but can be treated as so with a fixed overhead for gas estimation).\n * We can't include the cost of proof validation since this is intended to be used to simulate txs\n * that are included in yet-to-be confirmed merkle roots. The simulation entrypoint could instead pretend\n * to confirm a pending merkle root, but that would be less practical for integrating with tooling.\n * It is only possible to trigger it when the msg sender is address zero, which should be impossible\n * unless under simulation in an eth_call or eth_estimateGas\n */\n function executeTransactionSimulation(\n uint256 index,\n address l2Sender,\n address to,\n uint256 l2Block,\n uint256 l1Block,\n uint256 l2Timestamp,\n uint256 value,\n bytes calldata data\n ) external;\n\n /**\n * @param index Merkle path to message\n * @return true if the message has been spent\n */\n function isSpent(uint256 index) external view returns (bool);\n\n function calculateItemHash(\n address l2Sender,\n address to,\n uint256 l2Block,\n uint256 l1Block,\n uint256 l2Timestamp,\n uint256 value,\n bytes calldata data\n ) external pure returns (bytes32);\n\n function calculateMerkleRoot(\n bytes32[] memory proof,\n uint256 path,\n bytes32 item\n ) external pure returns (bytes32);\n}\n"},"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (vendor/compound/ICompoundTimelock.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface\n */\ninterface ICompoundTimelock {\n event NewAdmin(address indexed newAdmin);\n event NewPendingAdmin(address indexed newPendingAdmin);\n event NewDelay(uint256 indexed newDelay);\n event CancelTransaction(\n bytes32 indexed txHash,\n address indexed target,\n uint256 value,\n string signature,\n bytes data,\n uint256 eta\n );\n event ExecuteTransaction(\n bytes32 indexed txHash,\n address indexed target,\n uint256 value,\n string signature,\n bytes data,\n uint256 eta\n );\n event QueueTransaction(\n bytes32 indexed txHash,\n address indexed target,\n uint256 value,\n string signature,\n bytes data,\n uint256 eta\n );\n\n receive() external payable;\n\n // solhint-disable-next-line func-name-mixedcase\n function GRACE_PERIOD() external view returns (uint256);\n\n // solhint-disable-next-line func-name-mixedcase\n function MINIMUM_DELAY() external view returns (uint256);\n\n // solhint-disable-next-line func-name-mixedcase\n function MAXIMUM_DELAY() external view returns (uint256);\n\n function admin() external view returns (address);\n\n function pendingAdmin() external view returns (address);\n\n function delay() external view returns (uint256);\n\n function queuedTransactions(bytes32) external view returns (bool);\n\n function setDelay(uint256) external;\n\n function acceptAdmin() external;\n\n function setPendingAdmin(address) external;\n\n function queueTransaction(\n address target,\n uint256 value,\n string memory signature,\n bytes memory data,\n uint256 eta\n ) external returns (bytes32);\n\n function cancelTransaction(\n address target,\n uint256 value,\n string memory signature,\n bytes memory data,\n uint256 eta\n ) external;\n\n function executeTransaction(\n address target,\n uint256 value,\n string memory signature,\n bytes memory data,\n uint256 eta\n ) external payable returns (bytes memory);\n}\n"},"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (vendor/optimism/ICrossDomainMessenger.sol)\npragma solidity >0.5.0 <0.9.0;\n\n/**\n * @title ICrossDomainMessenger\n */\ninterface ICrossDomainMessenger {\n /**********\n * Events *\n **********/\n\n event SentMessage(address indexed target, address sender, bytes message, uint256 messageNonce, uint256 gasLimit);\n event RelayedMessage(bytes32 indexed msgHash);\n event FailedRelayedMessage(bytes32 indexed msgHash);\n\n /*************\n * Variables *\n *************/\n\n function xDomainMessageSender() external view returns (address);\n\n /********************\n * Public Functions *\n ********************/\n\n /**\n * Sends a cross domain message to the target messenger.\n * @param _target Target contract address.\n * @param _message Message to send to the target.\n * @param _gasLimit Gas limit for the provided message.\n */\n function sendMessage(\n address _target,\n bytes calldata _message,\n uint32 _gasLimit\n ) external;\n}\n"},"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (vendor/polygon/IFxMessageProcessor.sol)\npragma solidity ^0.8.0;\n\ninterface IFxMessageProcessor {\n function processMessageFromRoot(\n uint256 stateId,\n address rootMessageSender,\n bytes calldata data\n ) external;\n}\n"},"contracts/CompilerCheck.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.0.0;\ncontract CompilerCheck {}\n"},"contracts/Migrations.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n constructor() {\n owner = msg.sender;\n }\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}"},"contracts/Token.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\ncontract Token is ERC20 {\n constructor() ERC20(\"Token\", \"XYZ\") {\n _mint(msg.sender, 1000000000);\n }\n}"}},"settings":{"optimizer":{"enabled":true,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","exportedSymbols":{"Context":[711],"ERC20":[586],"IERC20":[664],"IERC20Metadata":[689]},"id":587,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"105:23:0"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":587,"sourceUnit":665,"src":"130:22:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":587,"sourceUnit":690,"src":"153:41:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":4,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":587,"sourceUnit":712,"src":"195:33:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":6,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":711,"src":"1419:7:0"},"id":7,"nodeType":"InheritanceSpecifier","src":"1419:7:0"},{"baseName":{"id":8,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":664,"src":"1428:6:0"},"id":9,"nodeType":"InheritanceSpecifier","src":"1428:6:0"},{"baseName":{"id":10,"name":"IERC20Metadata","nodeType":"IdentifierPath","referencedDeclaration":689,"src":"1436:14:0"},"id":11,"nodeType":"InheritanceSpecifier","src":"1436:14:0"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":5,"nodeType":"StructuredDocumentation","src":"230:1170:0","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"id":586,"linearizedBaseContracts":[586,689,664,711],"name":"ERC20","nameLocation":"1410:5:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":15,"mutability":"mutable","name":"_balances","nameLocation":"1493:9:0","nodeType":"VariableDeclaration","scope":586,"src":"1457:45:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":14,"keyType":{"id":12,"name":"address","nodeType":"ElementaryTypeName","src":"1465:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1457:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":13,"name":"uint256","nodeType":"ElementaryTypeName","src":"1476:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":21,"mutability":"mutable","name":"_allowances","nameLocation":"1565:11:0","nodeType":"VariableDeclaration","scope":586,"src":"1509:67:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":20,"keyType":{"id":16,"name":"address","nodeType":"ElementaryTypeName","src":"1517:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1509:47:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":19,"keyType":{"id":17,"name":"address","nodeType":"ElementaryTypeName","src":"1536:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1528:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":18,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":23,"mutability":"mutable","name":"_totalSupply","nameLocation":"1599:12:0","nodeType":"VariableDeclaration","scope":586,"src":"1583:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":25,"mutability":"mutable","name":"_name","nameLocation":"1633:5:0","nodeType":"VariableDeclaration","scope":586,"src":"1618:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":24,"name":"string","nodeType":"ElementaryTypeName","src":"1618:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":27,"mutability":"mutable","name":"_symbol","nameLocation":"1659:7:0","nodeType":"VariableDeclaration","scope":586,"src":"1644:22:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":26,"name":"string","nodeType":"ElementaryTypeName","src":"1644:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":43,"nodeType":"Block","src":"2032:57:0","statements":[{"expression":{"id":37,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":35,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2042:5:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":36,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2050:5:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2042:13:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38,"nodeType":"ExpressionStatement","src":"2042:13:0"},{"expression":{"id":41,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":39,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27,"src":"2065:7:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"2075:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2065:17:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":42,"nodeType":"ExpressionStatement","src":"2065:17:0"}]},"documentation":{"id":28,"nodeType":"StructuredDocumentation","src":"1673:298:0","text":" @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction."},"id":44,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30,"mutability":"mutable","name":"name_","nameLocation":"2002:5:0","nodeType":"VariableDeclaration","scope":44,"src":"1988:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29,"name":"string","nodeType":"ElementaryTypeName","src":"1988:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32,"mutability":"mutable","name":"symbol_","nameLocation":"2023:7:0","nodeType":"VariableDeclaration","scope":44,"src":"2009:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1987:44:0"},"returnParameters":{"id":34,"nodeType":"ParameterList","parameters":[],"src":"2032:0:0"},"scope":586,"src":"1976:113:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[676],"body":{"id":53,"nodeType":"Block","src":"2223:29:0","statements":[{"expression":{"id":51,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"2240:5:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":50,"id":52,"nodeType":"Return","src":"2233:12:0"}]},"documentation":{"id":45,"nodeType":"StructuredDocumentation","src":"2095:54:0","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":54,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2163:4:0","nodeType":"FunctionDefinition","overrides":{"id":47,"nodeType":"OverrideSpecifier","overrides":[],"src":"2190:8:0"},"parameters":{"id":46,"nodeType":"ParameterList","parameters":[],"src":"2167:2:0"},"returnParameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54,"src":"2208:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48,"name":"string","nodeType":"ElementaryTypeName","src":"2208:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2207:15:0"},"scope":586,"src":"2154:98:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[682],"body":{"id":63,"nodeType":"Block","src":"2436:31:0","statements":[{"expression":{"id":61,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27,"src":"2453:7:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":60,"id":62,"nodeType":"Return","src":"2446:14:0"}]},"documentation":{"id":55,"nodeType":"StructuredDocumentation","src":"2258:102:0","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":64,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2374:6:0","nodeType":"FunctionDefinition","overrides":{"id":57,"nodeType":"OverrideSpecifier","overrides":[],"src":"2403:8:0"},"parameters":{"id":56,"nodeType":"ParameterList","parameters":[],"src":"2380:2:0"},"returnParameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64,"src":"2421:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58,"name":"string","nodeType":"ElementaryTypeName","src":"2421:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2420:15:0"},"scope":586,"src":"2365:102:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[688],"body":{"id":73,"nodeType":"Block","src":"3156:26:0","statements":[{"expression":{"hexValue":"3138","id":71,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3173:2:0","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":70,"id":72,"nodeType":"Return","src":"3166:9:0"}]},"documentation":{"id":65,"nodeType":"StructuredDocumentation","src":"2473:613:0","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","id":74,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3100:8:0","nodeType":"FunctionDefinition","overrides":{"id":67,"nodeType":"OverrideSpecifier","overrides":[],"src":"3131:8:0"},"parameters":{"id":66,"nodeType":"ParameterList","parameters":[],"src":"3108:2:0"},"returnParameters":{"id":70,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74,"src":"3149:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":68,"name":"uint8","nodeType":"ElementaryTypeName","src":"3149:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3148:7:0"},"scope":586,"src":"3091:91:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[613],"body":{"id":83,"nodeType":"Block","src":"3312:36:0","statements":[{"expression":{"id":81,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"3329:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80,"id":82,"nodeType":"Return","src":"3322:19:0"}]},"documentation":{"id":75,"nodeType":"StructuredDocumentation","src":"3188:49:0","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","id":84,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3251:11:0","nodeType":"FunctionDefinition","overrides":{"id":77,"nodeType":"OverrideSpecifier","overrides":[],"src":"3285:8:0"},"parameters":{"id":76,"nodeType":"ParameterList","parameters":[],"src":"3262:2:0"},"returnParameters":{"id":80,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84,"src":"3303:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78,"name":"uint256","nodeType":"ElementaryTypeName","src":"3303:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3302:9:0"},"scope":586,"src":"3242:106:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[621],"body":{"id":97,"nodeType":"Block","src":"3489:42:0","statements":[{"expression":{"baseExpression":{"id":93,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"3506:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":95,"indexExpression":{"id":94,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87,"src":"3516:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3506:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":92,"id":96,"nodeType":"Return","src":"3499:25:0"}]},"documentation":{"id":85,"nodeType":"StructuredDocumentation","src":"3354:47:0","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","id":98,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3415:9:0","nodeType":"FunctionDefinition","overrides":{"id":89,"nodeType":"OverrideSpecifier","overrides":[],"src":"3462:8:0"},"parameters":{"id":88,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87,"mutability":"mutable","name":"account","nameLocation":"3433:7:0","nodeType":"VariableDeclaration","scope":98,"src":"3425:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3424:17:0"},"returnParameters":{"id":92,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98,"src":"3480:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90,"name":"uint256","nodeType":"ElementaryTypeName","src":"3480:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3479:9:0"},"scope":586,"src":"3406:125:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[631],"body":{"id":122,"nodeType":"Block","src":"3812:104:0","statements":[{"assignments":[110],"declarations":[{"constant":false,"id":110,"mutability":"mutable","name":"owner","nameLocation":"3830:5:0","nodeType":"VariableDeclaration","scope":122,"src":"3822:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"3822:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":113,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":111,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"3838:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3838:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3822:28:0"},{"expression":{"arguments":[{"id":115,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"3870:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":116,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"3877:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":117,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"3881:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":114,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"3860:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3860:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":119,"nodeType":"ExpressionStatement","src":"3860:28:0"},{"expression":{"hexValue":"74727565","id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3905:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":108,"id":121,"nodeType":"Return","src":"3898:11:0"}]},"documentation":{"id":99,"nodeType":"StructuredDocumentation","src":"3537:185:0","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","id":123,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3736:8:0","nodeType":"FunctionDefinition","overrides":{"id":105,"nodeType":"OverrideSpecifier","overrides":[],"src":"3788:8:0"},"parameters":{"id":104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"mutability":"mutable","name":"to","nameLocation":"3753:2:0","nodeType":"VariableDeclaration","scope":123,"src":"3745:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":100,"name":"address","nodeType":"ElementaryTypeName","src":"3745:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":103,"mutability":"mutable","name":"amount","nameLocation":"3765:6:0","nodeType":"VariableDeclaration","scope":123,"src":"3757:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102,"name":"uint256","nodeType":"ElementaryTypeName","src":"3757:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3744:28:0"},"returnParameters":{"id":108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":123,"src":"3806:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":106,"name":"bool","nodeType":"ElementaryTypeName","src":"3806:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3805:6:0"},"scope":586,"src":"3727:189:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[641],"body":{"id":140,"nodeType":"Block","src":"4072:51:0","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":134,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"4089:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":136,"indexExpression":{"id":135,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"4101:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4089:18:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":138,"indexExpression":{"id":137,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"4108:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4089:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":133,"id":139,"nodeType":"Return","src":"4082:34:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"3922:47:0","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","id":141,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3983:9:0","nodeType":"FunctionDefinition","overrides":{"id":130,"nodeType":"OverrideSpecifier","overrides":[],"src":"4045:8:0"},"parameters":{"id":129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"owner","nameLocation":"4001:5:0","nodeType":"VariableDeclaration","scope":141,"src":"3993:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"3993:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"spender","nameLocation":"4016:7:0","nodeType":"VariableDeclaration","scope":141,"src":"4008:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3992:32:0"},"returnParameters":{"id":133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":141,"src":"4063:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":131,"name":"uint256","nodeType":"ElementaryTypeName","src":"4063:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4062:9:0"},"scope":586,"src":"3974:149:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[651],"body":{"id":165,"nodeType":"Block","src":"4520:108:0","statements":[{"assignments":[153],"declarations":[{"constant":false,"id":153,"mutability":"mutable","name":"owner","nameLocation":"4538:5:0","nodeType":"VariableDeclaration","scope":165,"src":"4530:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":152,"name":"address","nodeType":"ElementaryTypeName","src":"4530:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":156,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":154,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"4546:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4530:28:0"},{"expression":{"arguments":[{"id":158,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":153,"src":"4577:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":159,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":144,"src":"4584:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":160,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"4593:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":157,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"4568:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4568:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":162,"nodeType":"ExpressionStatement","src":"4568:32:0"},{"expression":{"hexValue":"74727565","id":163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4617:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":151,"id":164,"nodeType":"Return","src":"4610:11:0"}]},"documentation":{"id":142,"nodeType":"StructuredDocumentation","src":"4129:297:0","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","id":166,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4440:7:0","nodeType":"FunctionDefinition","overrides":{"id":148,"nodeType":"OverrideSpecifier","overrides":[],"src":"4496:8:0"},"parameters":{"id":147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":144,"mutability":"mutable","name":"spender","nameLocation":"4456:7:0","nodeType":"VariableDeclaration","scope":166,"src":"4448:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":143,"name":"address","nodeType":"ElementaryTypeName","src":"4448:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":146,"mutability":"mutable","name":"amount","nameLocation":"4473:6:0","nodeType":"VariableDeclaration","scope":166,"src":"4465:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":145,"name":"uint256","nodeType":"ElementaryTypeName","src":"4465:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4447:33:0"},"returnParameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":166,"src":"4514:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":149,"name":"bool","nodeType":"ElementaryTypeName","src":"4514:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4513:6:0"},"scope":586,"src":"4431:197:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[663],"body":{"id":198,"nodeType":"Block","src":"5323:153:0","statements":[{"assignments":[180],"declarations":[{"constant":false,"id":180,"mutability":"mutable","name":"spender","nameLocation":"5341:7:0","nodeType":"VariableDeclaration","scope":198,"src":"5333:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"5333:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":183,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":181,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"5351:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5351:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5333:30:0"},{"expression":{"arguments":[{"id":185,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"5389:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":186,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"5395:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":187,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5404:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":184,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"5373:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5373:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":189,"nodeType":"ExpressionStatement","src":"5373:38:0"},{"expression":{"arguments":[{"id":191,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"5431:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":192,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5437:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":193,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5441:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":190,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"5421:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5421:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":195,"nodeType":"ExpressionStatement","src":"5421:27:0"},{"expression":{"hexValue":"74727565","id":196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5465:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":178,"id":197,"nodeType":"Return","src":"5458:11:0"}]},"documentation":{"id":167,"nodeType":"StructuredDocumentation","src":"4634:551:0","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","id":199,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5199:12:0","nodeType":"FunctionDefinition","overrides":{"id":175,"nodeType":"OverrideSpecifier","overrides":[],"src":"5299:8:0"},"parameters":{"id":174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":169,"mutability":"mutable","name":"from","nameLocation":"5229:4:0","nodeType":"VariableDeclaration","scope":199,"src":"5221:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":168,"name":"address","nodeType":"ElementaryTypeName","src":"5221:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"to","nameLocation":"5251:2:0","nodeType":"VariableDeclaration","scope":199,"src":"5243:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":170,"name":"address","nodeType":"ElementaryTypeName","src":"5243:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":173,"mutability":"mutable","name":"amount","nameLocation":"5271:6:0","nodeType":"VariableDeclaration","scope":199,"src":"5263:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":172,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5211:72:0"},"returnParameters":{"id":178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":199,"src":"5317:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176,"name":"bool","nodeType":"ElementaryTypeName","src":"5317:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5316:6:0"},"scope":586,"src":"5190:286:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":227,"nodeType":"Block","src":"5965:140:0","statements":[{"assignments":[210],"declarations":[{"constant":false,"id":210,"mutability":"mutable","name":"owner","nameLocation":"5983:5:0","nodeType":"VariableDeclaration","scope":227,"src":"5975:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":209,"name":"address","nodeType":"ElementaryTypeName","src":"5975:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":213,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":211,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"5991:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5991:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5975:28:0"},{"expression":{"arguments":[{"id":215,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6022:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":216,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"6029:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":218,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6048:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":219,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"6055:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":217,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"6038:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6038:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":221,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"6066:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6038:38:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":214,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"6013:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6013:64:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":224,"nodeType":"ExpressionStatement","src":"6013:64:0"},{"expression":{"hexValue":"74727565","id":225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6094:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":208,"id":226,"nodeType":"Return","src":"6087:11:0"}]},"documentation":{"id":200,"nodeType":"StructuredDocumentation","src":"5482:384:0","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","id":228,"implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5880:17:0","nodeType":"FunctionDefinition","parameters":{"id":205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":202,"mutability":"mutable","name":"spender","nameLocation":"5906:7:0","nodeType":"VariableDeclaration","scope":228,"src":"5898:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":201,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":204,"mutability":"mutable","name":"addedValue","nameLocation":"5923:10:0","nodeType":"VariableDeclaration","scope":228,"src":"5915:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":203,"name":"uint256","nodeType":"ElementaryTypeName","src":"5915:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5897:37:0"},"returnParameters":{"id":208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":207,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":228,"src":"5959:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":206,"name":"bool","nodeType":"ElementaryTypeName","src":"5959:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5958:6:0"},"scope":586,"src":"5871:234:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":268,"nodeType":"Block","src":"6691:328:0","statements":[{"assignments":[239],"declarations":[{"constant":false,"id":239,"mutability":"mutable","name":"owner","nameLocation":"6709:5:0","nodeType":"VariableDeclaration","scope":268,"src":"6701:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":238,"name":"address","nodeType":"ElementaryTypeName","src":"6701:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":242,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":240,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"6717:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6717:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6701:28:0"},{"assignments":[244],"declarations":[{"constant":false,"id":244,"mutability":"mutable","name":"currentAllowance","nameLocation":"6747:16:0","nodeType":"VariableDeclaration","scope":268,"src":"6739:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":243,"name":"uint256","nodeType":"ElementaryTypeName","src":"6739:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":249,"initialValue":{"arguments":[{"id":246,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":239,"src":"6776:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":247,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"6783:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":245,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"6766:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6766:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6739:52:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":251,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"6809:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":252,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"6829:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6809:35:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6846:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6801:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6801:85:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":256,"nodeType":"ExpressionStatement","src":"6801:85:0"},{"id":265,"nodeType":"UncheckedBlock","src":"6896:95:0","statements":[{"expression":{"arguments":[{"id":258,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":239,"src":"6929:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":259,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"6936:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":260,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"6945:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":261,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"6964:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6945:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":257,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"6920:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6920:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":264,"nodeType":"ExpressionStatement","src":"6920:60:0"}]},{"expression":{"hexValue":"74727565","id":266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7008:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":237,"id":267,"nodeType":"Return","src":"7001:11:0"}]},"documentation":{"id":229,"nodeType":"StructuredDocumentation","src":"6111:476:0","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","id":269,"implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6601:17:0","nodeType":"FunctionDefinition","parameters":{"id":234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":231,"mutability":"mutable","name":"spender","nameLocation":"6627:7:0","nodeType":"VariableDeclaration","scope":269,"src":"6619:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"6619:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":233,"mutability":"mutable","name":"subtractedValue","nameLocation":"6644:15:0","nodeType":"VariableDeclaration","scope":269,"src":"6636:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":232,"name":"uint256","nodeType":"ElementaryTypeName","src":"6636:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6618:42:0"},"returnParameters":{"id":237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":236,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":269,"src":"6685:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":235,"name":"bool","nodeType":"ElementaryTypeName","src":"6685:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6684:6:0"},"scope":586,"src":"6592:427:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":345,"nodeType":"Block","src":"7581:710:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":280,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"7599:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7615: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":282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7607:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":281,"name":"address","nodeType":"ElementaryTypeName","src":"7607:7:0","typeDescriptions":{}}},"id":284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7607:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7599:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7619:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7591:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7591:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":288,"nodeType":"ExpressionStatement","src":"7591:68:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":290,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"7677:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7691: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":292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7683:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":291,"name":"address","nodeType":"ElementaryTypeName","src":"7683:7:0","typeDescriptions":{}}},"id":294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7683:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7677:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7695:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":289,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7669:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7669:64:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"ExpressionStatement","src":"7669:64:0"},{"expression":{"arguments":[{"id":300,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"7765:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":301,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"7771:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":302,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"7775:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":299,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"7744:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7744:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":304,"nodeType":"ExpressionStatement","src":"7744:38:0"},{"assignments":[306],"declarations":[{"constant":false,"id":306,"mutability":"mutable","name":"fromBalance","nameLocation":"7801:11:0","nodeType":"VariableDeclaration","scope":345,"src":"7793:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"7793:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":310,"initialValue":{"baseExpression":{"id":307,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"7815:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":309,"indexExpression":{"id":308,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"7825:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7815:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7793:37:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":312,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"7848:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":313,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"7863:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7848:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7871:40:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7840:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7840:72:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":317,"nodeType":"ExpressionStatement","src":"7840:72:0"},{"id":332,"nodeType":"UncheckedBlock","src":"7922:273:0","statements":[{"expression":{"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":318,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"7946:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":320,"indexExpression":{"id":319,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"7956:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7946:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":321,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"7964:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":322,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"7978:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7964:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7946:38:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":325,"nodeType":"ExpressionStatement","src":"7946:38:0"},{"expression":{"id":330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":326,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"8161:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":328,"indexExpression":{"id":327,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"8171:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8161:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":329,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"8178:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8161:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":331,"nodeType":"ExpressionStatement","src":"8161:23:0"}]},{"eventCall":{"arguments":[{"id":334,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"8219:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":335,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"8225:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":336,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"8229:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":333,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"8210:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8210:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":338,"nodeType":"EmitStatement","src":"8205:31:0"},{"expression":{"arguments":[{"id":340,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"8267:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":341,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":274,"src":"8273:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":342,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"8277:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":339,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":585,"src":"8247:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8247:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":344,"nodeType":"ExpressionStatement","src":"8247:37:0"}]},"documentation":{"id":270,"nodeType":"StructuredDocumentation","src":"7025:443:0","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"id":346,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7482:9:0","nodeType":"FunctionDefinition","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":272,"mutability":"mutable","name":"from","nameLocation":"7509:4:0","nodeType":"VariableDeclaration","scope":346,"src":"7501:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":271,"name":"address","nodeType":"ElementaryTypeName","src":"7501:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":274,"mutability":"mutable","name":"to","nameLocation":"7531:2:0","nodeType":"VariableDeclaration","scope":346,"src":"7523:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":273,"name":"address","nodeType":"ElementaryTypeName","src":"7523:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":276,"mutability":"mutable","name":"amount","nameLocation":"7551:6:0","nodeType":"VariableDeclaration","scope":346,"src":"7543:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":275,"name":"uint256","nodeType":"ElementaryTypeName","src":"7543:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7491:72:0"},"returnParameters":{"id":278,"nodeType":"ParameterList","parameters":[],"src":"7581:0:0"},"scope":586,"src":"7473:818:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":402,"nodeType":"Block","src":"8632:470:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":355,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"8650:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8669: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":357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8661:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":356,"name":"address","nodeType":"ElementaryTypeName","src":"8661:7:0","typeDescriptions":{}}},"id":359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8661:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8650:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8673:33:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":354,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8642:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8642:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":363,"nodeType":"ExpressionStatement","src":"8642:65:0"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8747: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":366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8739:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":365,"name":"address","nodeType":"ElementaryTypeName","src":"8739:7:0","typeDescriptions":{}}},"id":368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8739:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":369,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"8751:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":370,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"8760:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":364,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"8718:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8718:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":372,"nodeType":"ExpressionStatement","src":"8718:49:0"},{"expression":{"id":375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":373,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"8778:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"8794:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8778:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":376,"nodeType":"ExpressionStatement","src":"8778:22:0"},{"id":383,"nodeType":"UncheckedBlock","src":"8810:175:0","statements":[{"expression":{"id":381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":377,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"8946:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":379,"indexExpression":{"id":378,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"8956:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8946:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":380,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"8968:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8946:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":382,"nodeType":"ExpressionStatement","src":"8946:28:0"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9016: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":386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9008:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":385,"name":"address","nodeType":"ElementaryTypeName","src":"9008:7:0","typeDescriptions":{}}},"id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9008:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":389,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"9020:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":390,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"9029:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":384,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"8999:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8999:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":392,"nodeType":"EmitStatement","src":"8994:42:0"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9075: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":395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9067:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"9067:7:0","typeDescriptions":{}}},"id":397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9067:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":398,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"9079:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":399,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"9088:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":393,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":585,"src":"9047:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9047:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":401,"nodeType":"ExpressionStatement","src":"9047:48:0"}]},"documentation":{"id":347,"nodeType":"StructuredDocumentation","src":"8297:265:0","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"id":403,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8576:5:0","nodeType":"FunctionDefinition","parameters":{"id":352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":349,"mutability":"mutable","name":"account","nameLocation":"8590:7:0","nodeType":"VariableDeclaration","scope":403,"src":"8582:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":348,"name":"address","nodeType":"ElementaryTypeName","src":"8582:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":351,"mutability":"mutable","name":"amount","nameLocation":"8607:6:0","nodeType":"VariableDeclaration","scope":403,"src":"8599:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":350,"name":"uint256","nodeType":"ElementaryTypeName","src":"8599:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8581:33:0"},"returnParameters":{"id":353,"nodeType":"ParameterList","parameters":[],"src":"8632:0:0"},"scope":586,"src":"8567:535:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":474,"nodeType":"Block","src":"9487:594:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":412,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"9505:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9524: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":414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9516:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":413,"name":"address","nodeType":"ElementaryTypeName","src":"9516:7:0","typeDescriptions":{}}},"id":416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9516:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9505:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9528:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":411,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9497:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9497:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":420,"nodeType":"ExpressionStatement","src":"9497:67:0"},{"expression":{"arguments":[{"id":422,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"9596:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9613: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":424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9605:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":423,"name":"address","nodeType":"ElementaryTypeName","src":"9605:7:0","typeDescriptions":{}}},"id":426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9605:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":427,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"9617:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":421,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"9575:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9575:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":429,"nodeType":"ExpressionStatement","src":"9575:49:0"},{"assignments":[431],"declarations":[{"constant":false,"id":431,"mutability":"mutable","name":"accountBalance","nameLocation":"9643:14:0","nodeType":"VariableDeclaration","scope":474,"src":"9635:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":430,"name":"uint256","nodeType":"ElementaryTypeName","src":"9635:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":435,"initialValue":{"baseExpression":{"id":432,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"9660:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":434,"indexExpression":{"id":433,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"9670:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9660:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9635:43:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":437,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"9696:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":438,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"9714:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9696:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9722:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":436,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9688:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9688:71:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":442,"nodeType":"ExpressionStatement","src":"9688:71:0"},{"id":455,"nodeType":"UncheckedBlock","src":"9769:194:0","statements":[{"expression":{"id":449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":443,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"9793:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":445,"indexExpression":{"id":444,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"9803:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9793:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":446,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"9814:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":447,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"9831:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9814:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9793:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":450,"nodeType":"ExpressionStatement","src":"9793:44:0"},{"expression":{"id":453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":451,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"9930:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":452,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"9946:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9930:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":454,"nodeType":"ExpressionStatement","src":"9930:22:0"}]},{"eventCall":{"arguments":[{"id":457,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"9987:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10004: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":459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9996:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":458,"name":"address","nodeType":"ElementaryTypeName","src":"9996:7:0","typeDescriptions":{}}},"id":461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9996:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":462,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"10008:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":456,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"9978:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9978:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":464,"nodeType":"EmitStatement","src":"9973:42:0"},{"expression":{"arguments":[{"id":466,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"10046:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10063: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":468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10055:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":467,"name":"address","nodeType":"ElementaryTypeName","src":"10055:7:0","typeDescriptions":{}}},"id":470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10055:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":471,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"10067:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":465,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":585,"src":"10026:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10026:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"10026:48:0"}]},"documentation":{"id":404,"nodeType":"StructuredDocumentation","src":"9108:309:0","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"id":475,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9431:5:0","nodeType":"FunctionDefinition","parameters":{"id":409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":406,"mutability":"mutable","name":"account","nameLocation":"9445:7:0","nodeType":"VariableDeclaration","scope":475,"src":"9437:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":405,"name":"address","nodeType":"ElementaryTypeName","src":"9437:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":408,"mutability":"mutable","name":"amount","nameLocation":"9462:6:0","nodeType":"VariableDeclaration","scope":475,"src":"9454:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":407,"name":"uint256","nodeType":"ElementaryTypeName","src":"9454:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9436:33:0"},"returnParameters":{"id":410,"nodeType":"ParameterList","parameters":[],"src":"9487:0:0"},"scope":586,"src":"9422:659:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":519,"nodeType":"Block","src":"10617:257:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":486,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"10635:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10652: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":488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10644:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":487,"name":"address","nodeType":"ElementaryTypeName","src":"10644:7:0","typeDescriptions":{}}},"id":490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10644:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10635:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10656:38:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":485,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10627:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10627:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":494,"nodeType":"ExpressionStatement","src":"10627:68:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":496,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":480,"src":"10713:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10732: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":498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10724:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":497,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:0","typeDescriptions":{}}},"id":500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10724:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10713:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10736:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":495,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10705:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10705:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":504,"nodeType":"ExpressionStatement","src":"10705:68:0"},{"expression":{"id":511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":505,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"10784:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":508,"indexExpression":{"id":506,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"10796:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10784:18:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":509,"indexExpression":{"id":507,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":480,"src":"10803:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10784:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":510,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":482,"src":"10814:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10784:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":512,"nodeType":"ExpressionStatement","src":"10784:36:0"},{"eventCall":{"arguments":[{"id":514,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"10844:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":515,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":480,"src":"10851:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":516,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":482,"src":"10860:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":513,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10835:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10835:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":518,"nodeType":"EmitStatement","src":"10830:37:0"}]},"documentation":{"id":476,"nodeType":"StructuredDocumentation","src":"10087:412:0","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"id":520,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10513:8:0","nodeType":"FunctionDefinition","parameters":{"id":483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"owner","nameLocation":"10539:5:0","nodeType":"VariableDeclaration","scope":520,"src":"10531:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":477,"name":"address","nodeType":"ElementaryTypeName","src":"10531:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":480,"mutability":"mutable","name":"spender","nameLocation":"10562:7:0","nodeType":"VariableDeclaration","scope":520,"src":"10554:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":479,"name":"address","nodeType":"ElementaryTypeName","src":"10554:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":482,"mutability":"mutable","name":"amount","nameLocation":"10587:6:0","nodeType":"VariableDeclaration","scope":520,"src":"10579:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":481,"name":"uint256","nodeType":"ElementaryTypeName","src":"10579:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10521:78:0"},"returnParameters":{"id":484,"nodeType":"ParameterList","parameters":[],"src":"10617:0:0"},"scope":586,"src":"10504:370:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":562,"nodeType":"Block","src":"11275:321:0","statements":[{"assignments":[531],"declarations":[{"constant":false,"id":531,"mutability":"mutable","name":"currentAllowance","nameLocation":"11293:16:0","nodeType":"VariableDeclaration","scope":562,"src":"11285:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":530,"name":"uint256","nodeType":"ElementaryTypeName","src":"11285:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":536,"initialValue":{"arguments":[{"id":533,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"11322:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":534,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"11329:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":532,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"11312:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11312:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11285:52:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":537,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"11351:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11376:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":539,"name":"uint256","nodeType":"ElementaryTypeName","src":"11376:7:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":538,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11371:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11371:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"11371:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11351:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":561,"nodeType":"IfStatement","src":"11347:243:0","trueBody":{"id":560,"nodeType":"Block","src":"11390:200:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":545,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"11412:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":546,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":527,"src":"11432:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11412:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11440:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":544,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11404:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11404:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"ExpressionStatement","src":"11404:68:0"},{"id":559,"nodeType":"UncheckedBlock","src":"11486:94:0","statements":[{"expression":{"arguments":[{"id":552,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"11523:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":553,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"11530:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":554,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"11539:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":555,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":527,"src":"11558:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11539:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":551,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"11514:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11514:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"ExpressionStatement","src":"11514:51:0"}]}]}}]},"documentation":{"id":521,"nodeType":"StructuredDocumentation","src":"10880:270:0","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"id":563,"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11164:15:0","nodeType":"FunctionDefinition","parameters":{"id":528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":523,"mutability":"mutable","name":"owner","nameLocation":"11197:5:0","nodeType":"VariableDeclaration","scope":563,"src":"11189:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":522,"name":"address","nodeType":"ElementaryTypeName","src":"11189:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":525,"mutability":"mutable","name":"spender","nameLocation":"11220:7:0","nodeType":"VariableDeclaration","scope":563,"src":"11212:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":524,"name":"address","nodeType":"ElementaryTypeName","src":"11212:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":527,"mutability":"mutable","name":"amount","nameLocation":"11245:6:0","nodeType":"VariableDeclaration","scope":563,"src":"11237:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":526,"name":"uint256","nodeType":"ElementaryTypeName","src":"11237:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11179:78:0"},"returnParameters":{"id":529,"nodeType":"ParameterList","parameters":[],"src":"11275:0:0"},"scope":586,"src":"11155:441:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":573,"nodeType":"Block","src":"12299:2:0","statements":[]},"documentation":{"id":564,"nodeType":"StructuredDocumentation","src":"11602:573:0","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":574,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12189:20:0","nodeType":"FunctionDefinition","parameters":{"id":571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":566,"mutability":"mutable","name":"from","nameLocation":"12227:4:0","nodeType":"VariableDeclaration","scope":574,"src":"12219:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":565,"name":"address","nodeType":"ElementaryTypeName","src":"12219:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":568,"mutability":"mutable","name":"to","nameLocation":"12249:2:0","nodeType":"VariableDeclaration","scope":574,"src":"12241:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":567,"name":"address","nodeType":"ElementaryTypeName","src":"12241:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":570,"mutability":"mutable","name":"amount","nameLocation":"12269:6:0","nodeType":"VariableDeclaration","scope":574,"src":"12261:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":569,"name":"uint256","nodeType":"ElementaryTypeName","src":"12261:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12209:72:0"},"returnParameters":{"id":572,"nodeType":"ParameterList","parameters":[],"src":"12299:0:0"},"scope":586,"src":"12180:121:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":584,"nodeType":"Block","src":"13007:2:0","statements":[]},"documentation":{"id":575,"nodeType":"StructuredDocumentation","src":"12307:577:0","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":585,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12898:19:0","nodeType":"FunctionDefinition","parameters":{"id":582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":577,"mutability":"mutable","name":"from","nameLocation":"12935:4:0","nodeType":"VariableDeclaration","scope":585,"src":"12927:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"12927:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":579,"mutability":"mutable","name":"to","nameLocation":"12957:2:0","nodeType":"VariableDeclaration","scope":585,"src":"12949:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":578,"name":"address","nodeType":"ElementaryTypeName","src":"12949:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"amount","nameLocation":"12977:6:0","nodeType":"VariableDeclaration","scope":585,"src":"12969:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":580,"name":"uint256","nodeType":"ElementaryTypeName","src":"12969:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12917:72:0"},"returnParameters":{"id":583,"nodeType":"ParameterList","parameters":[],"src":"13007:0:0"},"scope":586,"src":"12889:120:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":587,"src":"1401:11610:0","usedErrors":[]}],"src":"105:12907:0"},"id":0},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[664]},"id":665,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":588,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"106:23:1"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"131:70:1","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":664,"linearizedBaseContracts":[664],"name":"IERC20","nameLocation":"212:6:1","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":590,"nodeType":"StructuredDocumentation","src":"225:158:1","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"id":598,"name":"Transfer","nameLocation":"394:8:1","nodeType":"EventDefinition","parameters":{"id":597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":592,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:1","nodeType":"VariableDeclaration","scope":598,"src":"403:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":591,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":594,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:1","nodeType":"VariableDeclaration","scope":598,"src":"425:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":593,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":596,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:1","nodeType":"VariableDeclaration","scope":598,"src":"445:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":595,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:1"},"src":"388:72:1"},{"anonymous":false,"documentation":{"id":599,"nodeType":"StructuredDocumentation","src":"466:148:1","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"id":607,"name":"Approval","nameLocation":"625:8:1","nodeType":"EventDefinition","parameters":{"id":606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":601,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:1","nodeType":"VariableDeclaration","scope":607,"src":"634:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":600,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":603,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:1","nodeType":"VariableDeclaration","scope":607,"src":"657:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":602,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":605,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:1","nodeType":"VariableDeclaration","scope":607,"src":"682:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":604,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:1"},"src":"619:78:1"},{"documentation":{"id":608,"nodeType":"StructuredDocumentation","src":"703:66:1","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":613,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:1","nodeType":"FunctionDefinition","parameters":{"id":609,"nodeType":"ParameterList","parameters":[],"src":"794:2:1"},"returnParameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":613,"src":"820:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":610,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:1"},"scope":664,"src":"774:55:1","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":614,"nodeType":"StructuredDocumentation","src":"835:72:1","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":621,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:1","nodeType":"FunctionDefinition","parameters":{"id":617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":616,"mutability":"mutable","name":"account","nameLocation":"939:7:1","nodeType":"VariableDeclaration","scope":621,"src":"931:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":615,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:1"},"returnParameters":{"id":620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":621,"src":"971:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":618,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:1"},"scope":664,"src":"912:68:1","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":622,"nodeType":"StructuredDocumentation","src":"986:202:1","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":631,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:1","nodeType":"FunctionDefinition","parameters":{"id":627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":624,"mutability":"mutable","name":"to","nameLocation":"1219:2:1","nodeType":"VariableDeclaration","scope":631,"src":"1211:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":623,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":626,"mutability":"mutable","name":"amount","nameLocation":"1231:6:1","nodeType":"VariableDeclaration","scope":631,"src":"1223:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":625,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:1"},"returnParameters":{"id":630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":631,"src":"1257:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":628,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:1"},"scope":664,"src":"1193:70:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":632,"nodeType":"StructuredDocumentation","src":"1269:264:1","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":641,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:1","nodeType":"FunctionDefinition","parameters":{"id":637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":634,"mutability":"mutable","name":"owner","nameLocation":"1565:5:1","nodeType":"VariableDeclaration","scope":641,"src":"1557:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":633,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":636,"mutability":"mutable","name":"spender","nameLocation":"1580:7:1","nodeType":"VariableDeclaration","scope":641,"src":"1572:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":635,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:1"},"returnParameters":{"id":640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":641,"src":"1612:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":638,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:1"},"scope":664,"src":"1538:83:1","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":642,"nodeType":"StructuredDocumentation","src":"1627:642:1","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":651,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:1","nodeType":"FunctionDefinition","parameters":{"id":647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":644,"mutability":"mutable","name":"spender","nameLocation":"2299:7:1","nodeType":"VariableDeclaration","scope":651,"src":"2291:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":643,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":646,"mutability":"mutable","name":"amount","nameLocation":"2316:6:1","nodeType":"VariableDeclaration","scope":651,"src":"2308:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":645,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:1"},"returnParameters":{"id":650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":651,"src":"2342:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":648,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:1"},"scope":664,"src":"2274:74:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"2354:287:1","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":663,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:1","nodeType":"FunctionDefinition","parameters":{"id":659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"from","nameLocation":"2685:4:1","nodeType":"VariableDeclaration","scope":663,"src":"2677:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":653,"name":"address","nodeType":"ElementaryTypeName","src":"2677:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":656,"mutability":"mutable","name":"to","nameLocation":"2707:2:1","nodeType":"VariableDeclaration","scope":663,"src":"2699:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":658,"mutability":"mutable","name":"amount","nameLocation":"2727:6:1","nodeType":"VariableDeclaration","scope":663,"src":"2719:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":657,"name":"uint256","nodeType":"ElementaryTypeName","src":"2719:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:72:1"},"returnParameters":{"id":662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":663,"src":"2758:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":660,"name":"bool","nodeType":"ElementaryTypeName","src":"2758:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2757:6:1"},"scope":664,"src":"2646:118:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":665,"src":"202:2564:1","usedErrors":[]}],"src":"106:2661:1"},"id":1},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","exportedSymbols":{"IERC20":[664],"IERC20Metadata":[689]},"id":690,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":666,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"110:23:2"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","id":667,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":690,"sourceUnit":665,"src":"135:23:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":669,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":664,"src":"305:6:2"},"id":670,"nodeType":"InheritanceSpecifier","src":"305:6:2"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":668,"nodeType":"StructuredDocumentation","src":"160:116:2","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"id":689,"linearizedBaseContracts":[689,664],"name":"IERC20Metadata","nameLocation":"287:14:2","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":671,"nodeType":"StructuredDocumentation","src":"318:54:2","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":676,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:2","nodeType":"FunctionDefinition","parameters":{"id":672,"nodeType":"ParameterList","parameters":[],"src":"390:2:2"},"returnParameters":{"id":675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":676,"src":"416:13:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":673,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:2"},"scope":689,"src":"377:54:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"437:56:2","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","id":682,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:2","nodeType":"FunctionDefinition","parameters":{"id":678,"nodeType":"ParameterList","parameters":[],"src":"513:2:2"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":682,"src":"539:13:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":679,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:2"},"scope":689,"src":"498:56:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":683,"nodeType":"StructuredDocumentation","src":"560:65:2","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","id":688,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:2","nodeType":"FunctionDefinition","parameters":{"id":684,"nodeType":"ParameterList","parameters":[],"src":"647:2:2"},"returnParameters":{"id":687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":688,"src":"673:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":685,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:2"},"scope":689,"src":"630:50:2","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":690,"src":"277:405:2","usedErrors":[]}],"src":"110:573:2"},"id":2},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[711]},"id":712,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":691,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"86:23:3"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":692,"nodeType":"StructuredDocumentation","src":"111:496:3","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":711,"linearizedBaseContracts":[711],"name":"Context","nameLocation":"626:7:3","nodeType":"ContractDefinition","nodes":[{"body":{"id":700,"nodeType":"Block","src":"702:34:3","statements":[{"expression":{"expression":{"id":697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"719:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"719:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":696,"id":699,"nodeType":"Return","src":"712:17:3"}]},"id":701,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"649:10:3","nodeType":"FunctionDefinition","parameters":{"id":693,"nodeType":"ParameterList","parameters":[],"src":"659:2:3"},"returnParameters":{"id":696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":695,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":701,"src":"693:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":694,"name":"address","nodeType":"ElementaryTypeName","src":"693:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"692:9:3"},"scope":711,"src":"640:96:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":709,"nodeType":"Block","src":"809:32:3","statements":[{"expression":{"expression":{"id":706,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"826:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"826:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":705,"id":708,"nodeType":"Return","src":"819:15:3"}]},"id":710,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"751:8:3","nodeType":"FunctionDefinition","parameters":{"id":702,"nodeType":"ParameterList","parameters":[],"src":"759:2:3"},"returnParameters":{"id":705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":710,"src":"793:14:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":703,"name":"bytes","nodeType":"ElementaryTypeName","src":"793:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"792:16:3"},"scope":711,"src":"742:99:3","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":712,"src":"608:235:3","usedErrors":[]}],"src":"86:758:3"},"id":3},"contracts/@openzeppelin/contracts/access/AccessControl.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControl.sol","exportedSymbols":{"AccessControl":[1027],"Context":[22281],"ERC165":[24377],"IAccessControl":[1280],"IERC165":[24693],"Math":[25662],"Strings":[22726]},"id":1028,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":713,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:4"},{"absolutePath":"contracts/@openzeppelin/contracts/access/IAccessControl.sol","file":"./IAccessControl.sol","id":714,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1028,"sourceUnit":1281,"src":"133:30:4","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":715,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1028,"sourceUnit":22282,"src":"164:30:4","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Strings.sol","file":"../utils/Strings.sol","id":716,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1028,"sourceUnit":22727,"src":"195:30:4","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../utils/introspection/ERC165.sol","id":717,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1028,"sourceUnit":24378,"src":"226:43:4","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":719,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1841:7:4"},"id":720,"nodeType":"InheritanceSpecifier","src":"1841:7:4"},{"baseName":{"id":721,"name":"IAccessControl","nodeType":"IdentifierPath","referencedDeclaration":1280,"src":"1850:14:4"},"id":722,"nodeType":"InheritanceSpecifier","src":"1850:14:4"},{"baseName":{"id":723,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1866:6:4"},"id":724,"nodeType":"InheritanceSpecifier","src":"1866:6:4"}],"canonicalName":"AccessControl","contractDependencies":[],"contractKind":"contract","documentation":{"id":718,"nodeType":"StructuredDocumentation","src":"271:1534:4","text":" @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it."},"fullyImplemented":true,"id":1027,"linearizedBaseContracts":[1027,24377,24693,1280,22281],"name":"AccessControl","nameLocation":"1824:13:4","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AccessControl.RoleData","id":731,"members":[{"constant":false,"id":728,"mutability":"mutable","name":"members","nameLocation":"1930:7:4","nodeType":"VariableDeclaration","scope":731,"src":"1905:32:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":727,"keyType":{"id":725,"name":"address","nodeType":"ElementaryTypeName","src":"1913:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1905:24:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":726,"name":"bool","nodeType":"ElementaryTypeName","src":"1924:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":730,"mutability":"mutable","name":"adminRole","nameLocation":"1955:9:4","nodeType":"VariableDeclaration","scope":731,"src":"1947:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1947:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"RoleData","nameLocation":"1886:8:4","nodeType":"StructDefinition","scope":1027,"src":"1879:92:4","visibility":"public"},{"constant":false,"id":736,"mutability":"mutable","name":"_roles","nameLocation":"2014:6:4","nodeType":"VariableDeclaration","scope":1027,"src":"1977:43:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"typeName":{"id":735,"keyType":{"id":732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1985:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1977:28:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"valueType":{"id":734,"nodeType":"UserDefinedTypeName","pathNode":{"id":733,"name":"RoleData","nodeType":"IdentifierPath","referencedDeclaration":731,"src":"1996:8:4"},"referencedDeclaration":731,"src":"1996:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage_ptr","typeString":"struct AccessControl.RoleData"}}},"visibility":"private"},{"constant":true,"functionSelector":"a217fddf","id":739,"mutability":"constant","name":"DEFAULT_ADMIN_ROLE","nameLocation":"2051:18:4","nodeType":"VariableDeclaration","scope":1027,"src":"2027:49:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2027:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"30783030","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2072:4:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"public"},{"body":{"id":749,"nodeType":"Block","src":"2495:44:4","statements":[{"expression":{"arguments":[{"id":745,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":742,"src":"2516:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":744,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[804,843],"referencedDeclaration":804,"src":"2505:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2505:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":747,"nodeType":"ExpressionStatement","src":"2505:16:4"},{"id":748,"nodeType":"PlaceholderStatement","src":"2531:1:4"}]},"documentation":{"id":740,"nodeType":"StructuredDocumentation","src":"2083:375:4","text":" @dev Modifier that checks that an account has a specific role. Reverts\n with a standardized message including the required role.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n _Available since v4.1._"},"id":750,"name":"onlyRole","nameLocation":"2472:8:4","nodeType":"ModifierDefinition","parameters":{"id":743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":742,"mutability":"mutable","name":"role","nameLocation":"2489:4:4","nodeType":"VariableDeclaration","scope":750,"src":"2481:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2481:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2480:14:4"},"src":"2463:76:4","virtual":false,"visibility":"internal"},{"baseFunctions":[24376],"body":{"id":771,"nodeType":"Block","src":"2697:111:4","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":759,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"2714:11:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":761,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1280,"src":"2734:14:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$1280_$","typeString":"type(contract IAccessControl)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$1280_$","typeString":"type(contract IAccessControl)"}],"id":760,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2729:4:4","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2729:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControl_$1280","typeString":"type(contract IAccessControl)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"2729:32:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2714:47:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":767,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"2789:11:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":765,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2765:5:4","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControl_$1027_$","typeString":"type(contract super AccessControl)"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"2765:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2765:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2714:87:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":758,"id":770,"nodeType":"Return","src":"2707:94:4"}]},"documentation":{"id":751,"nodeType":"StructuredDocumentation","src":"2545:56:4","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":772,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2615:17:4","nodeType":"FunctionDefinition","overrides":{"id":755,"nodeType":"OverrideSpecifier","overrides":[],"src":"2673:8:4"},"parameters":{"id":754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":753,"mutability":"mutable","name":"interfaceId","nameLocation":"2640:11:4","nodeType":"VariableDeclaration","scope":772,"src":"2633:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":752,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2633:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2632:20:4"},"returnParameters":{"id":758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":772,"src":"2691:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":756,"name":"bool","nodeType":"ElementaryTypeName","src":"2691:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2690:6:4"},"scope":1027,"src":"2606:202:4","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1247],"body":{"id":790,"nodeType":"Block","src":"2987:53:4","statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":783,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"3004:6:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":785,"indexExpression":{"id":784,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":775,"src":"3011:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3004:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"members","nodeType":"MemberAccess","referencedDeclaration":728,"src":"3004:20:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":788,"indexExpression":{"id":787,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"3025:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3004:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":782,"id":789,"nodeType":"Return","src":"2997:36:4"}]},"documentation":{"id":773,"nodeType":"StructuredDocumentation","src":"2814:76:4","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":791,"implemented":true,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"2904:7:4","nodeType":"FunctionDefinition","overrides":{"id":779,"nodeType":"OverrideSpecifier","overrides":[],"src":"2963:8:4"},"parameters":{"id":778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":775,"mutability":"mutable","name":"role","nameLocation":"2920:4:4","nodeType":"VariableDeclaration","scope":791,"src":"2912:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2912:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":777,"mutability":"mutable","name":"account","nameLocation":"2934:7:4","nodeType":"VariableDeclaration","scope":791,"src":"2926:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":776,"name":"address","nodeType":"ElementaryTypeName","src":"2926:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2911:31:4"},"returnParameters":{"id":782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":791,"src":"2981:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":780,"name":"bool","nodeType":"ElementaryTypeName","src":"2981:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2980:6:4"},"scope":1027,"src":"2895:145:4","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":803,"nodeType":"Block","src":"3390:47:4","statements":[{"expression":{"arguments":[{"id":798,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"3411:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":799,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3417:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3417:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":797,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[804,843],"referencedDeclaration":843,"src":"3400:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3400:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"ExpressionStatement","src":"3400:30:4"}]},"documentation":{"id":792,"nodeType":"StructuredDocumentation","src":"3046:283:4","text":" @dev Revert with a standard message if `_msgSender()` is missing `role`.\n Overriding this function changes the behavior of the {onlyRole} modifier.\n Format of the revert message is described in {_checkRole}.\n _Available since v4.6._"},"id":804,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"3343:10:4","nodeType":"FunctionDefinition","parameters":{"id":795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":794,"mutability":"mutable","name":"role","nameLocation":"3362:4:4","nodeType":"VariableDeclaration","scope":804,"src":"3354:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3354:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3353:14:4"},"returnParameters":{"id":796,"nodeType":"ParameterList","parameters":[],"src":"3390:0:4"},"scope":1027,"src":"3334:103:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":842,"nodeType":"Block","src":"3791:406:4","statements":[{"condition":{"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3805:23:4","subExpression":{"arguments":[{"id":813,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"3814:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":814,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"3820:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":812,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"3806:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3806:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":841,"nodeType":"IfStatement","src":"3801:390:4","trueBody":{"id":840,"nodeType":"Block","src":"3830:361:4","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"416363657373436f6e74726f6c3a206163636f756e7420","id":822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3938:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874","typeString":"literal_string \"AccessControl: account \""},"value":"AccessControl: account "},{"arguments":[{"id":825,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"4009:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":823,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22726,"src":"3989:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$22726_$","typeString":"type(library Strings)"}},"id":824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toHexString","nodeType":"MemberAccess","referencedDeclaration":22725,"src":"3989:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3989:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206973206d697373696e6720726f6c6520","id":827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4043:19:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69","typeString":"literal_string \" is missing role \""},"value":" is missing role "},{"arguments":[{"arguments":[{"id":832,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"4116:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4108:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4108:7:4","typeDescriptions":{}}},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4108:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3332","id":834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":828,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22726,"src":"4088:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$22726_$","typeString":"type(library Strings)"}},"id":829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toHexString","nodeType":"MemberAccess","referencedDeclaration":22705,"src":"4088:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4088:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874","typeString":"literal_string \"AccessControl: account \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69","typeString":"literal_string \" is missing role \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3896:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3896:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3896:252:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3868:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":818,"name":"string","nodeType":"ElementaryTypeName","src":"3868:6:4","typeDescriptions":{}}},"id":837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3868:298:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":817,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3844:6:4","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3844:336:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":839,"nodeType":"ExpressionStatement","src":"3844:336:4"}]}}]},"documentation":{"id":805,"nodeType":"StructuredDocumentation","src":"3443:270:4","text":" @dev Revert with a standard message if `account` is missing `role`.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/"},"id":843,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"3727:10:4","nodeType":"FunctionDefinition","parameters":{"id":810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":807,"mutability":"mutable","name":"role","nameLocation":"3746:4:4","nodeType":"VariableDeclaration","scope":843,"src":"3738:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3738:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":809,"mutability":"mutable","name":"account","nameLocation":"3760:7:4","nodeType":"VariableDeclaration","scope":843,"src":"3752:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":808,"name":"address","nodeType":"ElementaryTypeName","src":"3752:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3737:31:4"},"returnParameters":{"id":811,"nodeType":"ParameterList","parameters":[],"src":"3791:0:4"},"scope":1027,"src":"3718:479:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1255],"body":{"id":857,"nodeType":"Block","src":"4461:46:4","statements":[{"expression":{"expression":{"baseExpression":{"id":852,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"4478:6:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":854,"indexExpression":{"id":853,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":846,"src":"4485:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4478:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":855,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":730,"src":"4478:22:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":851,"id":856,"nodeType":"Return","src":"4471:29:4"}]},"documentation":{"id":844,"nodeType":"StructuredDocumentation","src":"4203:170:4","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}."},"functionSelector":"248a9ca3","id":858,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"4387:12:4","nodeType":"FunctionDefinition","overrides":{"id":848,"nodeType":"OverrideSpecifier","overrides":[],"src":"4434:8:4"},"parameters":{"id":847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":846,"mutability":"mutable","name":"role","nameLocation":"4408:4:4","nodeType":"VariableDeclaration","scope":858,"src":"4400:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4400:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4399:14:4"},"returnParameters":{"id":851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":858,"src":"4452:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4452:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4451:9:4"},"scope":1027,"src":"4378:129:4","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1263],"body":{"id":877,"nodeType":"Block","src":"4906:42:4","statements":[{"expression":{"arguments":[{"id":873,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"4927:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":874,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"4933:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":872,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"4916:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4916:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":876,"nodeType":"ExpressionStatement","src":"4916:25:4"}]},"documentation":{"id":859,"nodeType":"StructuredDocumentation","src":"4513:285:4","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event."},"functionSelector":"2f2ff15d","id":878,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":868,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"4899:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":867,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"4886:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4886:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":870,"kind":"modifierInvocation","modifierName":{"id":866,"name":"onlyRole","nodeType":"IdentifierPath","referencedDeclaration":750,"src":"4877:8:4"},"nodeType":"ModifierInvocation","src":"4877:28:4"}],"name":"grantRole","nameLocation":"4812:9:4","nodeType":"FunctionDefinition","overrides":{"id":865,"nodeType":"OverrideSpecifier","overrides":[],"src":"4868:8:4"},"parameters":{"id":864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":861,"mutability":"mutable","name":"role","nameLocation":"4830:4:4","nodeType":"VariableDeclaration","scope":878,"src":"4822:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4822:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":863,"mutability":"mutable","name":"account","nameLocation":"4844:7:4","nodeType":"VariableDeclaration","scope":878,"src":"4836:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":862,"name":"address","nodeType":"ElementaryTypeName","src":"4836:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4821:31:4"},"returnParameters":{"id":871,"nodeType":"ParameterList","parameters":[],"src":"4906:0:4"},"scope":1027,"src":"4803:145:4","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1271],"body":{"id":897,"nodeType":"Block","src":"5332:43:4","statements":[{"expression":{"arguments":[{"id":893,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"5354:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":894,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"5360:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":892,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1026,"src":"5342:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5342:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"5342:26:4"}]},"documentation":{"id":879,"nodeType":"StructuredDocumentation","src":"4954:269:4","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event."},"functionSelector":"d547741f","id":898,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":888,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"5325:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":887,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"5312:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":890,"kind":"modifierInvocation","modifierName":{"id":886,"name":"onlyRole","nodeType":"IdentifierPath","referencedDeclaration":750,"src":"5303:8:4"},"nodeType":"ModifierInvocation","src":"5303:28:4"}],"name":"revokeRole","nameLocation":"5237:10:4","nodeType":"FunctionDefinition","overrides":{"id":885,"nodeType":"OverrideSpecifier","overrides":[],"src":"5294:8:4"},"parameters":{"id":884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":881,"mutability":"mutable","name":"role","nameLocation":"5256:4:4","nodeType":"VariableDeclaration","scope":898,"src":"5248:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5248:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":883,"mutability":"mutable","name":"account","nameLocation":"5270:7:4","nodeType":"VariableDeclaration","scope":898,"src":"5262:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":882,"name":"address","nodeType":"ElementaryTypeName","src":"5262:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5247:31:4"},"returnParameters":{"id":891,"nodeType":"ParameterList","parameters":[],"src":"5332:0:4"},"scope":1027,"src":"5228:147:4","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1279],"body":{"id":920,"nodeType":"Block","src":"5989:137:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":908,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"6007:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":909,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6018:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6018:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6007:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66","id":912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6032:49:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b","typeString":"literal_string \"AccessControl: can only renounce roles for self\""},"value":"AccessControl: can only renounce roles for self"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b","typeString":"literal_string \"AccessControl: can only renounce roles for self\""}],"id":907,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5999:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5999:83:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":914,"nodeType":"ExpressionStatement","src":"5999:83:4"},{"expression":{"arguments":[{"id":916,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"6105:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":917,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"6111:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":915,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1026,"src":"6093:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6093:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":919,"nodeType":"ExpressionStatement","src":"6093:26:4"}]},"documentation":{"id":899,"nodeType":"StructuredDocumentation","src":"5381:526:4","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`.\n May emit a {RoleRevoked} event."},"functionSelector":"36568abe","id":921,"implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"5921:12:4","nodeType":"FunctionDefinition","overrides":{"id":905,"nodeType":"OverrideSpecifier","overrides":[],"src":"5980:8:4"},"parameters":{"id":904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":901,"mutability":"mutable","name":"role","nameLocation":"5942:4:4","nodeType":"VariableDeclaration","scope":921,"src":"5934:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5934:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":903,"mutability":"mutable","name":"account","nameLocation":"5956:7:4","nodeType":"VariableDeclaration","scope":921,"src":"5948:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":902,"name":"address","nodeType":"ElementaryTypeName","src":"5948:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5933:31:4"},"returnParameters":{"id":906,"nodeType":"ParameterList","parameters":[],"src":"5989:0:4"},"scope":1027,"src":"5912:214:4","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":934,"nodeType":"Block","src":"6879:42:4","statements":[{"expression":{"arguments":[{"id":930,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":924,"src":"6900:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":931,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":926,"src":"6906:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":929,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"6889:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6889:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":933,"nodeType":"ExpressionStatement","src":"6889:25:4"}]},"documentation":{"id":922,"nodeType":"StructuredDocumentation","src":"6132:674:4","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n May emit a {RoleGranted} event.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====\n NOTE: This function is deprecated in favor of {_grantRole}."},"id":935,"implemented":true,"kind":"function","modifiers":[],"name":"_setupRole","nameLocation":"6820:10:4","nodeType":"FunctionDefinition","parameters":{"id":927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":924,"mutability":"mutable","name":"role","nameLocation":"6839:4:4","nodeType":"VariableDeclaration","scope":935,"src":"6831:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6831:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":926,"mutability":"mutable","name":"account","nameLocation":"6853:7:4","nodeType":"VariableDeclaration","scope":935,"src":"6845:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":925,"name":"address","nodeType":"ElementaryTypeName","src":"6845:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6830:31:4"},"returnParameters":{"id":928,"nodeType":"ParameterList","parameters":[],"src":"6879:0:4"},"scope":1027,"src":"6811:110:4","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":962,"nodeType":"Block","src":"7119:174:4","statements":[{"assignments":[944],"declarations":[{"constant":false,"id":944,"mutability":"mutable","name":"previousAdminRole","nameLocation":"7137:17:4","nodeType":"VariableDeclaration","scope":962,"src":"7129:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7129:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":948,"initialValue":{"arguments":[{"id":946,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"7170:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":945,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"7157:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7157:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7129:46:4"},{"expression":{"id":954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":949,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"7185:6:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":951,"indexExpression":{"id":950,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"7192:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7185:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":730,"src":"7185:22:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":953,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":940,"src":"7210:9:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7185:34:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":955,"nodeType":"ExpressionStatement","src":"7185:34:4"},{"eventCall":{"arguments":[{"id":957,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"7251:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":958,"name":"previousAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":944,"src":"7257:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":959,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":940,"src":"7276:9:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":956,"name":"RoleAdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1219,"src":"7234:16:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7234:52:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":961,"nodeType":"EmitStatement","src":"7229:57:4"}]},"documentation":{"id":936,"nodeType":"StructuredDocumentation","src":"6927:114:4","text":" @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event."},"id":963,"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"7055:13:4","nodeType":"FunctionDefinition","parameters":{"id":941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":938,"mutability":"mutable","name":"role","nameLocation":"7077:4:4","nodeType":"VariableDeclaration","scope":963,"src":"7069:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7069:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":940,"mutability":"mutable","name":"adminRole","nameLocation":"7091:9:4","nodeType":"VariableDeclaration","scope":963,"src":"7083:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7083:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7068:33:4"},"returnParameters":{"id":942,"nodeType":"ParameterList","parameters":[],"src":"7119:0:4"},"scope":1027,"src":"7046:247:4","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":994,"nodeType":"Block","src":"7529:165:4","statements":[{"condition":{"id":975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7543:23:4","subExpression":{"arguments":[{"id":972,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"7552:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":973,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"7558:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":971,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"7544:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7544:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":993,"nodeType":"IfStatement","src":"7539:149:4","trueBody":{"id":992,"nodeType":"Block","src":"7568:120:4","statements":[{"expression":{"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":976,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"7582:6:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":978,"indexExpression":{"id":977,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"7589:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7582:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"members","nodeType":"MemberAccess","referencedDeclaration":728,"src":"7582:20:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":981,"indexExpression":{"id":980,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"7603:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7582:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7614:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7582:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":984,"nodeType":"ExpressionStatement","src":"7582:36:4"},{"eventCall":{"arguments":[{"id":986,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"7649:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":987,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"7655:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":988,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"7664:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7664:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":985,"name":"RoleGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"7637:11:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7637:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":991,"nodeType":"EmitStatement","src":"7632:45:4"}]}}]},"documentation":{"id":964,"nodeType":"StructuredDocumentation","src":"7299:157:4","text":" @dev Grants `role` to `account`.\n Internal function without access restriction.\n May emit a {RoleGranted} event."},"id":995,"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"7470:10:4","nodeType":"FunctionDefinition","parameters":{"id":969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":966,"mutability":"mutable","name":"role","nameLocation":"7489:4:4","nodeType":"VariableDeclaration","scope":995,"src":"7481:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7481:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":968,"mutability":"mutable","name":"account","nameLocation":"7503:7:4","nodeType":"VariableDeclaration","scope":995,"src":"7495:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":967,"name":"address","nodeType":"ElementaryTypeName","src":"7495:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7480:31:4"},"returnParameters":{"id":970,"nodeType":"ParameterList","parameters":[],"src":"7529:0:4"},"scope":1027,"src":"7461:233:4","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1025,"nodeType":"Block","src":"7934:165:4","statements":[{"condition":{"arguments":[{"id":1004,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"7956:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1005,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"7962:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1003,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"7948:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7948:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1024,"nodeType":"IfStatement","src":"7944:149:4","trueBody":{"id":1023,"nodeType":"Block","src":"7972:121:4","statements":[{"expression":{"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":1007,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"7986:6:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$731_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":1009,"indexExpression":{"id":1008,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"7993:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7986:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$731_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":1010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"members","nodeType":"MemberAccess","referencedDeclaration":728,"src":"7986:20:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1012,"indexExpression":{"id":1011,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"8007:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7986:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8018:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"7986:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"7986:37:4"},{"eventCall":{"arguments":[{"id":1017,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"8054:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1018,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"8060:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":1019,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"8069:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8069:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1016,"name":"RoleRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1237,"src":"8042:11:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":1021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8042:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1022,"nodeType":"EmitStatement","src":"8037:45:4"}]}}]},"documentation":{"id":996,"nodeType":"StructuredDocumentation","src":"7700:160:4","text":" @dev Revokes `role` from `account`.\n Internal function without access restriction.\n May emit a {RoleRevoked} event."},"id":1026,"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"7874:11:4","nodeType":"FunctionDefinition","parameters":{"id":1001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":998,"mutability":"mutable","name":"role","nameLocation":"7894:4:4","nodeType":"VariableDeclaration","scope":1026,"src":"7886:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7886:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"account","nameLocation":"7908:7:4","nodeType":"VariableDeclaration","scope":1026,"src":"7900:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":999,"name":"address","nodeType":"ElementaryTypeName","src":"7900:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7885:31:4"},"returnParameters":{"id":1002,"nodeType":"ParameterList","parameters":[],"src":"7934:0:4"},"scope":1027,"src":"7865:234:4","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1028,"src":"1806:6295:4","usedErrors":[]}],"src":"108:7994:4"},"id":4},"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol","exportedSymbols":{"AccessControl":[1027],"AccessControlCrossChain":[1082],"Context":[22281],"CrossChainEnabled":[1551],"ERC165":[24377],"IAccessControl":[1280],"IERC165":[24693],"InvalidCrossChainSender":[1855],"Math":[25662],"NotCrossChainCall":[1849],"Strings":[22726]},"id":1083,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1029,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"118:23:5"},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControl.sol","file":"./AccessControl.sol","id":1030,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1083,"sourceUnit":1028,"src":"143:29:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../crosschain/CrossChainEnabled.sol","id":1031,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1083,"sourceUnit":1552,"src":"173:45:5","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1033,"name":"AccessControl","nodeType":"IdentifierPath","referencedDeclaration":1027,"src":"1075:13:5"},"id":1034,"nodeType":"InheritanceSpecifier","src":"1075:13:5"},{"baseName":{"id":1035,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"1090:17:5"},"id":1036,"nodeType":"InheritanceSpecifier","src":"1090:17:5"}],"canonicalName":"AccessControlCrossChain","contractDependencies":[],"contractKind":"contract","documentation":{"id":1032,"nodeType":"StructuredDocumentation","src":"220:809:5","text":" @dev An extension to {AccessControl} with support for cross-chain access management.\n For each role, is extension implements an equivalent \"aliased\" role that is used for\n restricting calls originating from other chains.\n For example, if a function `myFunction` is protected by `onlyRole(SOME_ROLE)`, and\n if an address `x` has role `SOME_ROLE`, it would be able to call `myFunction` directly.\n A wallet or contract at the same address on another chain would however not be able\n to call this function. In order to do so, it would require to have the role\n `_crossChainRoleAlias(SOME_ROLE)`.\n This aliasing is required to protect against multiple contracts living at the same\n address on different chains but controlled by conflicting entities.\n _Available since v4.6._"},"fullyImplemented":false,"id":1082,"linearizedBaseContracts":[1082,1551,1027,24377,24693,1280,22281],"name":"AccessControlCrossChain","nameLocation":"1048:23:5","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"f9d04295","id":1041,"mutability":"constant","name":"CROSSCHAIN_ALIAS","nameLocation":"1138:16:5","nodeType":"VariableDeclaration","scope":1082,"src":"1114:72:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1114:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"43524f5353434841494e5f414c494153","id":1039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1167:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e870e9cffded00b0b933338bc23ae12648d8d2d4829802ab37a0908f14773b4d","typeString":"literal_string \"CROSSCHAIN_ALIAS\""},"value":"CROSSCHAIN_ALIAS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e870e9cffded00b0b933338bc23ae12648d8d2d4829802ab37a0908f14773b4d","typeString":"literal_string \"CROSSCHAIN_ALIAS\""}],"id":1038,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1157:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1157:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"baseFunctions":[804],"body":{"id":1067,"nodeType":"Block","src":"1318:174:5","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":1048,"name":"_isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1544,"src":"1332:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":1049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1332:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1065,"nodeType":"Block","src":"1439:47:5","statements":[{"expression":{"arguments":[{"id":1062,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1044,"src":"1470:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1059,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1453:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlCrossChain_$1082_$","typeString":"type(contract super AccessControlCrossChain)"}},"id":1061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_checkRole","nodeType":"MemberAccess","referencedDeclaration":804,"src":"1453:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1453:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1064,"nodeType":"ExpressionStatement","src":"1453:22:5"}]},"id":1066,"nodeType":"IfStatement","src":"1328:158:5","trueBody":{"id":1058,"nodeType":"Block","src":"1349:84:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":1052,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1044,"src":"1395:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1051,"name":"_crossChainRoleAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"1374:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1374:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":1054,"name":"_crossChainSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1550,"src":"1402:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1402:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1050,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[1068,843],"referencedDeclaration":843,"src":"1363:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":1056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1363:59:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1057,"nodeType":"ExpressionStatement","src":"1363:59:5"}]}}]},"documentation":{"id":1042,"nodeType":"StructuredDocumentation","src":"1193:55:5","text":" @dev See {AccessControl-_checkRole}."},"id":1068,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"1262:10:5","nodeType":"FunctionDefinition","overrides":{"id":1046,"nodeType":"OverrideSpecifier","overrides":[],"src":"1309:8:5"},"parameters":{"id":1045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1044,"mutability":"mutable","name":"role","nameLocation":"1281:4:5","nodeType":"VariableDeclaration","scope":1068,"src":"1273:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1273:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1272:14:5"},"returnParameters":{"id":1047,"nodeType":"ParameterList","parameters":[],"src":"1318:0:5"},"scope":1082,"src":"1253:239:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1080,"nodeType":"Block","src":"1660:47:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1076,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"1677:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":1077,"name":"CROSSCHAIN_ALIAS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"1684:16:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1677:23:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1075,"id":1079,"nodeType":"Return","src":"1670:30:5"}]},"documentation":{"id":1069,"nodeType":"StructuredDocumentation","src":"1498:73:5","text":" @dev Returns the aliased role corresponding to `role`."},"id":1081,"implemented":true,"kind":"function","modifiers":[],"name":"_crossChainRoleAlias","nameLocation":"1585:20:5","nodeType":"FunctionDefinition","parameters":{"id":1072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1071,"mutability":"mutable","name":"role","nameLocation":"1614:4:5","nodeType":"VariableDeclaration","scope":1081,"src":"1606:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1606:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1605:14:5"},"returnParameters":{"id":1075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1074,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1081,"src":"1651:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1651:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1650:9:5"},"scope":1082,"src":"1576:131:5","stateMutability":"pure","virtual":true,"visibility":"internal"}],"scope":1083,"src":"1030:679:5","usedErrors":[]}],"src":"118:1592:5"},"id":5},"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol","exportedSymbols":{"AccessControl":[1027],"AccessControlEnumerable":[1207],"Context":[22281],"ERC165":[24377],"EnumerableSet":[29898],"IAccessControl":[1280],"IAccessControlEnumerable":[1305],"IERC165":[24693],"Math":[25662],"Strings":[22726]},"id":1208,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1084,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"118:23:6"},{"absolutePath":"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol","file":"./IAccessControlEnumerable.sol","id":1085,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1208,"sourceUnit":1306,"src":"143:40:6","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControl.sol","file":"./AccessControl.sol","id":1086,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1208,"sourceUnit":1028,"src":"184:29:6","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol","file":"../utils/structs/EnumerableSet.sol","id":1087,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1208,"sourceUnit":29899,"src":"214:44:6","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1089,"name":"IAccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1305,"src":"400:24:6"},"id":1090,"nodeType":"InheritanceSpecifier","src":"400:24:6"},{"baseName":{"id":1091,"name":"AccessControl","nodeType":"IdentifierPath","referencedDeclaration":1027,"src":"426:13:6"},"id":1092,"nodeType":"InheritanceSpecifier","src":"426:13:6"}],"canonicalName":"AccessControlEnumerable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1088,"nodeType":"StructuredDocumentation","src":"260:94:6","text":" @dev Extension of {AccessControl} that allows enumerating the members of each role."},"fullyImplemented":true,"id":1207,"linearizedBaseContracts":[1207,1027,24377,24693,1305,1280,22281],"name":"AccessControlEnumerable","nameLocation":"373:23:6","nodeType":"ContractDefinition","nodes":[{"id":1096,"libraryName":{"id":1093,"name":"EnumerableSet","nodeType":"IdentifierPath","referencedDeclaration":29898,"src":"452:13:6"},"nodeType":"UsingForDirective","src":"446:49:6","typeName":{"id":1095,"nodeType":"UserDefinedTypeName","pathNode":{"id":1094,"name":"EnumerableSet.AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"470:24:6"},"referencedDeclaration":29611,"src":"470:24:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},{"constant":false,"id":1101,"mutability":"mutable","name":"_roleMembers","nameLocation":"554:12:6","nodeType":"VariableDeclaration","scope":1207,"src":"501:65:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet)"},"typeName":{"id":1100,"keyType":{"id":1097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"509:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"501:44:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet)"},"valueType":{"id":1099,"nodeType":"UserDefinedTypeName","pathNode":{"id":1098,"name":"EnumerableSet.AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"520:24:6"},"referencedDeclaration":29611,"src":"520:24:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},"visibility":"private"},{"baseFunctions":[772],"body":{"id":1122,"nodeType":"Block","src":"725:121:6","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1110,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1104,"src":"742:11:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":1112,"name":"IAccessControlEnumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"762:24:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControlEnumerable_$1305_$","typeString":"type(contract IAccessControlEnumerable)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControlEnumerable_$1305_$","typeString":"type(contract IAccessControlEnumerable)"}],"id":1111,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"757:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"757:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControlEnumerable_$1305","typeString":"type(contract IAccessControlEnumerable)"}},"id":1114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"757:42:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"742:57:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1118,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1104,"src":"827:11:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1116,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"803:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlEnumerable_$1207_$","typeString":"type(contract super AccessControlEnumerable)"}},"id":1117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":772,"src":"803:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"803:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"742:97:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1109,"id":1121,"nodeType":"Return","src":"735:104:6"}]},"documentation":{"id":1102,"nodeType":"StructuredDocumentation","src":"573:56:6","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":1123,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"643:17:6","nodeType":"FunctionDefinition","overrides":{"id":1106,"nodeType":"OverrideSpecifier","overrides":[],"src":"701:8:6"},"parameters":{"id":1105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1104,"mutability":"mutable","name":"interfaceId","nameLocation":"668:11:6","nodeType":"VariableDeclaration","scope":1123,"src":"661:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1103,"name":"bytes4","nodeType":"ElementaryTypeName","src":"661:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"660:20:6"},"returnParameters":{"id":1109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1123,"src":"719:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1107,"name":"bool","nodeType":"ElementaryTypeName","src":"719:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"718:6:6"},"scope":1207,"src":"634:212:6","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1296],"body":{"id":1141,"nodeType":"Block","src":"1530:52:6","statements":[{"expression":{"arguments":[{"id":1138,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1128,"src":"1569:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":1134,"name":"_roleMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1101,"src":"1547:12:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)"}},"id":1136,"indexExpression":{"id":1135,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1126,"src":"1560:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1547:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":1137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"at","nodeType":"MemberAccess","referencedDeclaration":29734,"src":"1547:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$29611_storage_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_struct$_AddressSet_$29611_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,uint256) view returns (address)"}},"id":1139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1547:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1133,"id":1140,"nodeType":"Return","src":"1540:35:6"}]},"documentation":{"id":1124,"nodeType":"StructuredDocumentation","src":"852:574:6","text":" @dev Returns one of the accounts that have `role`. `index` must be a\n value between 0 and {getRoleMemberCount}, non-inclusive.\n Role bearers are not sorted in any particular way, and their ordering may\n change at any point.\n WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n you perform all queries on the same block. See the following\n https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n for more information."},"functionSelector":"9010d07c","id":1142,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleMember","nameLocation":"1440:13:6","nodeType":"FunctionDefinition","overrides":{"id":1130,"nodeType":"OverrideSpecifier","overrides":[],"src":"1503:8:6"},"parameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1126,"mutability":"mutable","name":"role","nameLocation":"1462:4:6","nodeType":"VariableDeclaration","scope":1142,"src":"1454:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1454:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1128,"mutability":"mutable","name":"index","nameLocation":"1476:5:6","nodeType":"VariableDeclaration","scope":1142,"src":"1468:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1127,"name":"uint256","nodeType":"ElementaryTypeName","src":"1468:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1453:29:6"},"returnParameters":{"id":1133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1142,"src":"1521:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1131,"name":"address","nodeType":"ElementaryTypeName","src":"1521:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1520:9:6"},"scope":1207,"src":"1431:151:6","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1304],"body":{"id":1157,"nodeType":"Block","src":"1839:51:6","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":1151,"name":"_roleMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1101,"src":"1856:12:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)"}},"id":1153,"indexExpression":{"id":1152,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"1869:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1856:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":1154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":29707,"src":"1856:25:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$29611_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_AddressSet_$29611_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer) view returns (uint256)"}},"id":1155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1856:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1150,"id":1156,"nodeType":"Return","src":"1849:34:6"}]},"documentation":{"id":1143,"nodeType":"StructuredDocumentation","src":"1588:157:6","text":" @dev Returns the number of accounts that have `role`. Can be used\n together with {getRoleMember} to enumerate all bearers of a role."},"functionSelector":"ca15c873","id":1158,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleMemberCount","nameLocation":"1759:18:6","nodeType":"FunctionDefinition","overrides":{"id":1147,"nodeType":"OverrideSpecifier","overrides":[],"src":"1812:8:6"},"parameters":{"id":1146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1145,"mutability":"mutable","name":"role","nameLocation":"1786:4:6","nodeType":"VariableDeclaration","scope":1158,"src":"1778:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1778:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1777:14:6"},"returnParameters":{"id":1150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1158,"src":"1830:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1148,"name":"uint256","nodeType":"ElementaryTypeName","src":"1830:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1829:9:6"},"scope":1207,"src":"1750:140:6","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[995],"body":{"id":1181,"nodeType":"Block","src":"2055:89:6","statements":[{"expression":{"arguments":[{"id":1170,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1161,"src":"2082:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1171,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"2088:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1167,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2065:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlEnumerable_$1207_$","typeString":"type(contract super AccessControlEnumerable)"}},"id":1169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_grantRole","nodeType":"MemberAccess","referencedDeclaration":995,"src":"2065:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2065:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1173,"nodeType":"ExpressionStatement","src":"2065:31:6"},{"expression":{"arguments":[{"id":1178,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"2129:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":1174,"name":"_roleMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1101,"src":"2106:12:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)"}},"id":1176,"indexExpression":{"id":1175,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1161,"src":"2119:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2106:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":1177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"2106:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$29611_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$29611_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":1179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2106:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1180,"nodeType":"ExpressionStatement","src":"2106:31:6"}]},"documentation":{"id":1159,"nodeType":"StructuredDocumentation","src":"1896:77:6","text":" @dev Overload {_grantRole} to track enumerable memberships"},"id":1182,"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"1987:10:6","nodeType":"FunctionDefinition","overrides":{"id":1165,"nodeType":"OverrideSpecifier","overrides":[],"src":"2046:8:6"},"parameters":{"id":1164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1161,"mutability":"mutable","name":"role","nameLocation":"2006:4:6","nodeType":"VariableDeclaration","scope":1182,"src":"1998:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1998:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1163,"mutability":"mutable","name":"account","nameLocation":"2020:7:6","nodeType":"VariableDeclaration","scope":1182,"src":"2012:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1162,"name":"address","nodeType":"ElementaryTypeName","src":"2012:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1997:31:6"},"returnParameters":{"id":1166,"nodeType":"ParameterList","parameters":[],"src":"2055:0:6"},"scope":1207,"src":"1978:166:6","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[1026],"body":{"id":1205,"nodeType":"Block","src":"2311:93:6","statements":[{"expression":{"arguments":[{"id":1194,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1185,"src":"2339:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1195,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1187,"src":"2345:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1191,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2321:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlEnumerable_$1207_$","typeString":"type(contract super AccessControlEnumerable)"}},"id":1193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_revokeRole","nodeType":"MemberAccess","referencedDeclaration":1026,"src":"2321:17:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2321:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1197,"nodeType":"ExpressionStatement","src":"2321:32:6"},{"expression":{"arguments":[{"id":1202,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1187,"src":"2389:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":1198,"name":"_roleMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1101,"src":"2363:12:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_AddressSet_$29611_storage_$","typeString":"mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)"}},"id":1200,"indexExpression":{"id":1199,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1185,"src":"2376:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2363:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":1201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":29665,"src":"2363:25:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$29611_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$29611_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":1203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2363:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1204,"nodeType":"ExpressionStatement","src":"2363:34:6"}]},"documentation":{"id":1183,"nodeType":"StructuredDocumentation","src":"2150:78:6","text":" @dev Overload {_revokeRole} to track enumerable memberships"},"id":1206,"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"2242:11:6","nodeType":"FunctionDefinition","overrides":{"id":1189,"nodeType":"OverrideSpecifier","overrides":[],"src":"2302:8:6"},"parameters":{"id":1188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1185,"mutability":"mutable","name":"role","nameLocation":"2262:4:6","nodeType":"VariableDeclaration","scope":1206,"src":"2254:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1187,"mutability":"mutable","name":"account","nameLocation":"2276:7:6","nodeType":"VariableDeclaration","scope":1206,"src":"2268:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1186,"name":"address","nodeType":"ElementaryTypeName","src":"2268:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2253:31:6"},"returnParameters":{"id":1190,"nodeType":"ParameterList","parameters":[],"src":"2311:0:6"},"scope":1207,"src":"2233:171:6","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1208,"src":"355:2051:6","usedErrors":[]}],"src":"118:2289:6"},"id":6},"contracts/@openzeppelin/contracts/access/IAccessControl.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/IAccessControl.sol","exportedSymbols":{"IAccessControl":[1280]},"id":1281,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1209,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"94:23:7"},{"abstract":false,"baseContracts":[],"canonicalName":"IAccessControl","contractDependencies":[],"contractKind":"interface","documentation":{"id":1210,"nodeType":"StructuredDocumentation","src":"119:89:7","text":" @dev External interface of AccessControl declared to support ERC165 detection."},"fullyImplemented":false,"id":1280,"linearizedBaseContracts":[1280],"name":"IAccessControl","nameLocation":"219:14:7","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":1211,"nodeType":"StructuredDocumentation","src":"240:292:7","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._"},"id":1219,"name":"RoleAdminChanged","nameLocation":"543:16:7","nodeType":"EventDefinition","parameters":{"id":1218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1213,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"576:4:7","nodeType":"VariableDeclaration","scope":1219,"src":"560:20:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"560:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1215,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"598:17:7","nodeType":"VariableDeclaration","scope":1219,"src":"582:33:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"582:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1217,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"633:12:7","nodeType":"VariableDeclaration","scope":1219,"src":"617:28:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"617:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"559:87:7"},"src":"537:110:7"},{"anonymous":false,"documentation":{"id":1220,"nodeType":"StructuredDocumentation","src":"653:212:7","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}."},"id":1228,"name":"RoleGranted","nameLocation":"876:11:7","nodeType":"EventDefinition","parameters":{"id":1227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1222,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"904:4:7","nodeType":"VariableDeclaration","scope":1228,"src":"888:20:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"888:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1224,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"926:7:7","nodeType":"VariableDeclaration","scope":1228,"src":"910:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1223,"name":"address","nodeType":"ElementaryTypeName","src":"910:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1226,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"951:6:7","nodeType":"VariableDeclaration","scope":1228,"src":"935:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1225,"name":"address","nodeType":"ElementaryTypeName","src":"935:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"887:71:7"},"src":"870:89:7"},{"anonymous":false,"documentation":{"id":1229,"nodeType":"StructuredDocumentation","src":"965:275:7","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"id":1237,"name":"RoleRevoked","nameLocation":"1251:11:7","nodeType":"EventDefinition","parameters":{"id":1236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1231,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1279:4:7","nodeType":"VariableDeclaration","scope":1237,"src":"1263:20:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1263:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1233,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1301:7:7","nodeType":"VariableDeclaration","scope":1237,"src":"1285:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1232,"name":"address","nodeType":"ElementaryTypeName","src":"1285:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1235,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1326:6:7","nodeType":"VariableDeclaration","scope":1237,"src":"1310:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1234,"name":"address","nodeType":"ElementaryTypeName","src":"1310:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1262:71:7"},"src":"1245:89:7"},{"documentation":{"id":1238,"nodeType":"StructuredDocumentation","src":"1340:76:7","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":1247,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1430:7:7","nodeType":"FunctionDefinition","parameters":{"id":1243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1240,"mutability":"mutable","name":"role","nameLocation":"1446:4:7","nodeType":"VariableDeclaration","scope":1247,"src":"1438:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1438:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1242,"mutability":"mutable","name":"account","nameLocation":"1460:7:7","nodeType":"VariableDeclaration","scope":1247,"src":"1452:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1241,"name":"address","nodeType":"ElementaryTypeName","src":"1452:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1437:31:7"},"returnParameters":{"id":1246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1247,"src":"1492:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1244,"name":"bool","nodeType":"ElementaryTypeName","src":"1492:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1491:6:7"},"scope":1280,"src":"1421:77:7","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1248,"nodeType":"StructuredDocumentation","src":"1504:184:7","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}."},"functionSelector":"248a9ca3","id":1255,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"1702:12:7","nodeType":"FunctionDefinition","parameters":{"id":1251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1250,"mutability":"mutable","name":"role","nameLocation":"1723:4:7","nodeType":"VariableDeclaration","scope":1255,"src":"1715:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1715:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1714:14:7"},"returnParameters":{"id":1254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1255,"src":"1752:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1752:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1751:9:7"},"scope":1280,"src":"1693:68:7","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1256,"nodeType":"StructuredDocumentation","src":"1767:239:7","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","id":1263,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"2020:9:7","nodeType":"FunctionDefinition","parameters":{"id":1261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1258,"mutability":"mutable","name":"role","nameLocation":"2038:4:7","nodeType":"VariableDeclaration","scope":1263,"src":"2030:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2030:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1260,"mutability":"mutable","name":"account","nameLocation":"2052:7:7","nodeType":"VariableDeclaration","scope":1263,"src":"2044:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1259,"name":"address","nodeType":"ElementaryTypeName","src":"2044:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2029:31:7"},"returnParameters":{"id":1262,"nodeType":"ParameterList","parameters":[],"src":"2069:0:7"},"scope":1280,"src":"2011:59:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1264,"nodeType":"StructuredDocumentation","src":"2076:223:7","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","id":1271,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2313:10:7","nodeType":"FunctionDefinition","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1266,"mutability":"mutable","name":"role","nameLocation":"2332:4:7","nodeType":"VariableDeclaration","scope":1271,"src":"2324:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1268,"mutability":"mutable","name":"account","nameLocation":"2346:7:7","nodeType":"VariableDeclaration","scope":1271,"src":"2338:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1267,"name":"address","nodeType":"ElementaryTypeName","src":"2338:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2323:31:7"},"returnParameters":{"id":1270,"nodeType":"ParameterList","parameters":[],"src":"2363:0:7"},"scope":1280,"src":"2304:60:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1272,"nodeType":"StructuredDocumentation","src":"2370:480:7","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`."},"functionSelector":"36568abe","id":1279,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"2864:12:7","nodeType":"FunctionDefinition","parameters":{"id":1277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1274,"mutability":"mutable","name":"role","nameLocation":"2885:4:7","nodeType":"VariableDeclaration","scope":1279,"src":"2877:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2877:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1276,"mutability":"mutable","name":"account","nameLocation":"2899:7:7","nodeType":"VariableDeclaration","scope":1279,"src":"2891:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1275,"name":"address","nodeType":"ElementaryTypeName","src":"2891:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2876:31:7"},"returnParameters":{"id":1278,"nodeType":"ParameterList","parameters":[],"src":"2916:0:7"},"scope":1280,"src":"2855:62:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1281,"src":"209:2710:7","usedErrors":[]}],"src":"94:2826:7"},"id":7},"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol","exportedSymbols":{"IAccessControl":[1280],"IAccessControlEnumerable":[1305]},"id":1306,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1282,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"104:23:8"},{"absolutePath":"contracts/@openzeppelin/contracts/access/IAccessControl.sol","file":"./IAccessControl.sol","id":1283,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1306,"sourceUnit":1281,"src":"129:30:8","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1285,"name":"IAccessControl","nodeType":"IdentifierPath","referencedDeclaration":1280,"src":"299:14:8"},"id":1286,"nodeType":"InheritanceSpecifier","src":"299:14:8"}],"canonicalName":"IAccessControlEnumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":1284,"nodeType":"StructuredDocumentation","src":"161:99:8","text":" @dev External interface of AccessControlEnumerable declared to support ERC165 detection."},"fullyImplemented":false,"id":1305,"linearizedBaseContracts":[1305,1280],"name":"IAccessControlEnumerable","nameLocation":"271:24:8","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1287,"nodeType":"StructuredDocumentation","src":"320:574:8","text":" @dev Returns one of the accounts that have `role`. `index` must be a\n value between 0 and {getRoleMemberCount}, non-inclusive.\n Role bearers are not sorted in any particular way, and their ordering may\n change at any point.\n WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n you perform all queries on the same block. See the following\n https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n for more information."},"functionSelector":"9010d07c","id":1296,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleMember","nameLocation":"908:13:8","nodeType":"FunctionDefinition","parameters":{"id":1292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1289,"mutability":"mutable","name":"role","nameLocation":"930:4:8","nodeType":"VariableDeclaration","scope":1296,"src":"922:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"922:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1291,"mutability":"mutable","name":"index","nameLocation":"944:5:8","nodeType":"VariableDeclaration","scope":1296,"src":"936:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1290,"name":"uint256","nodeType":"ElementaryTypeName","src":"936:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"921:29:8"},"returnParameters":{"id":1295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1296,"src":"974:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1293,"name":"address","nodeType":"ElementaryTypeName","src":"974:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"973:9:8"},"scope":1305,"src":"899:84:8","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1297,"nodeType":"StructuredDocumentation","src":"989:157:8","text":" @dev Returns the number of accounts that have `role`. Can be used\n together with {getRoleMember} to enumerate all bearers of a role."},"functionSelector":"ca15c873","id":1304,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleMemberCount","nameLocation":"1160:18:8","nodeType":"FunctionDefinition","parameters":{"id":1300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1299,"mutability":"mutable","name":"role","nameLocation":"1187:4:8","nodeType":"VariableDeclaration","scope":1304,"src":"1179:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1179:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1178:14:8"},"returnParameters":{"id":1303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1304,"src":"1216:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1301,"name":"uint256","nodeType":"ElementaryTypeName","src":"1216:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1215:9:8"},"scope":1305,"src":"1151:74:8","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1306,"src":"261:966:8","usedErrors":[]}],"src":"104:1124:8"},"id":8},"contracts/@openzeppelin/contracts/access/Ownable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable.sol","exportedSymbols":{"Context":[22281],"Ownable":[1418]},"id":1419,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1307,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"102:23:9"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":1308,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1419,"sourceUnit":22282,"src":"127:30:9","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1310,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"683:7:9"},"id":1311,"nodeType":"InheritanceSpecifier","src":"683:7:9"}],"canonicalName":"Ownable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"159:494:9","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"id":1418,"linearizedBaseContracts":[1418,22281],"name":"Ownable","nameLocation":"672:7:9","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":1313,"mutability":"mutable","name":"_owner","nameLocation":"713:6:9","nodeType":"VariableDeclaration","scope":1418,"src":"697:22:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1312,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"id":1319,"name":"OwnershipTransferred","nameLocation":"732:20:9","nodeType":"EventDefinition","parameters":{"id":1318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1315,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"769:13:9","nodeType":"VariableDeclaration","scope":1319,"src":"753:29:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1314,"name":"address","nodeType":"ElementaryTypeName","src":"753:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1317,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"800:8:9","nodeType":"VariableDeclaration","scope":1319,"src":"784:24:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"752:57:9"},"src":"726:84:9"},{"body":{"id":1328,"nodeType":"Block","src":"926:49:9","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1324,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"955:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"955:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1323,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"936:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"936:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1327,"nodeType":"ExpressionStatement","src":"936:32:9"}]},"documentation":{"id":1320,"nodeType":"StructuredDocumentation","src":"816:91:9","text":" @dev Initializes the contract setting the deployer as the initial owner."},"id":1329,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1321,"nodeType":"ParameterList","parameters":[],"src":"923:2:9"},"returnParameters":{"id":1322,"nodeType":"ParameterList","parameters":[],"src":"926:0:9"},"scope":1418,"src":"912:63:9","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1336,"nodeType":"Block","src":"1084:41:9","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1332,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"1094:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1094:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1334,"nodeType":"ExpressionStatement","src":"1094:13:9"},{"id":1335,"nodeType":"PlaceholderStatement","src":"1117:1:9"}]},"documentation":{"id":1330,"nodeType":"StructuredDocumentation","src":"981:77:9","text":" @dev Throws if called by any account other than the owner."},"id":1337,"name":"onlyOwner","nameLocation":"1072:9:9","nodeType":"ModifierDefinition","parameters":{"id":1331,"nodeType":"ParameterList","parameters":[],"src":"1081:2:9"},"src":"1063:62:9","virtual":false,"visibility":"internal"},{"body":{"id":1345,"nodeType":"Block","src":"1256:30:9","statements":[{"expression":{"id":1343,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"1273:6:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1342,"id":1344,"nodeType":"Return","src":"1266:13:9"}]},"documentation":{"id":1338,"nodeType":"StructuredDocumentation","src":"1131:65:9","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","id":1346,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1210:5:9","nodeType":"FunctionDefinition","parameters":{"id":1339,"nodeType":"ParameterList","parameters":[],"src":"1215:2:9"},"returnParameters":{"id":1342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1346,"src":"1247:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1340,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1246:9:9"},"scope":1418,"src":"1201:85:9","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":1359,"nodeType":"Block","src":"1404:85:9","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1351,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1346,"src":"1422:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1422:7:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1353,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1433:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1433:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1422:23:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":1356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1447:34:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"id":1350,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1414:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1414:68:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1358,"nodeType":"ExpressionStatement","src":"1414:68:9"}]},"documentation":{"id":1347,"nodeType":"StructuredDocumentation","src":"1292:62:9","text":" @dev Throws if the sender is not the owner."},"id":1360,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"1368:11:9","nodeType":"FunctionDefinition","parameters":{"id":1348,"nodeType":"ParameterList","parameters":[],"src":"1379:2:9"},"returnParameters":{"id":1349,"nodeType":"ParameterList","parameters":[],"src":"1404:0:9"},"scope":1418,"src":"1359:130:9","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1373,"nodeType":"Block","src":"1885:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":1369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1922:1:9","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":1368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1914:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1367,"name":"address","nodeType":"ElementaryTypeName","src":"1914:7:9","typeDescriptions":{}}},"id":1370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1914:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1366,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"1895:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1895:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1372,"nodeType":"ExpressionStatement","src":"1895:30:9"}]},"documentation":{"id":1361,"nodeType":"StructuredDocumentation","src":"1495:331:9","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner."},"functionSelector":"715018a6","id":1374,"implemented":true,"kind":"function","modifiers":[{"id":1364,"kind":"modifierInvocation","modifierName":{"id":1363,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"1875:9:9"},"nodeType":"ModifierInvocation","src":"1875:9:9"}],"name":"renounceOwnership","nameLocation":"1840:17:9","nodeType":"FunctionDefinition","parameters":{"id":1362,"nodeType":"ParameterList","parameters":[],"src":"1857:2:9"},"returnParameters":{"id":1365,"nodeType":"ParameterList","parameters":[],"src":"1885:0:9"},"scope":1418,"src":"1831:101:9","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1396,"nodeType":"Block","src":"2151:128:9","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1383,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1377,"src":"2169:8:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2189:1:9","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":1385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2181:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1384,"name":"address","nodeType":"ElementaryTypeName","src":"2181:7:9","typeDescriptions":{}}},"id":1387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2181:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2169:22:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373","id":1389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2193:40:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""},"value":"Ownable: new owner is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""}],"id":1382,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2161:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2161:73:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1391,"nodeType":"ExpressionStatement","src":"2161:73:9"},{"expression":{"arguments":[{"id":1393,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1377,"src":"2263:8:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1392,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"2244:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2244:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1395,"nodeType":"ExpressionStatement","src":"2244:28:9"}]},"documentation":{"id":1375,"nodeType":"StructuredDocumentation","src":"1938:138:9","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","id":1397,"implemented":true,"kind":"function","modifiers":[{"id":1380,"kind":"modifierInvocation","modifierName":{"id":1379,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2141:9:9"},"nodeType":"ModifierInvocation","src":"2141:9:9"}],"name":"transferOwnership","nameLocation":"2090:17:9","nodeType":"FunctionDefinition","parameters":{"id":1378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1377,"mutability":"mutable","name":"newOwner","nameLocation":"2116:8:9","nodeType":"VariableDeclaration","scope":1397,"src":"2108:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1376,"name":"address","nodeType":"ElementaryTypeName","src":"2108:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2107:18:9"},"returnParameters":{"id":1381,"nodeType":"ParameterList","parameters":[],"src":"2151:0:9"},"scope":1418,"src":"2081:198:9","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1416,"nodeType":"Block","src":"2496:124:9","statements":[{"assignments":[1404],"declarations":[{"constant":false,"id":1404,"mutability":"mutable","name":"oldOwner","nameLocation":"2514:8:9","nodeType":"VariableDeclaration","scope":1416,"src":"2506:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1403,"name":"address","nodeType":"ElementaryTypeName","src":"2506:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1406,"initialValue":{"id":1405,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"2525:6:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2506:25:9"},{"expression":{"id":1409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1407,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"2541:6:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1408,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1400,"src":"2550:8:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2541:17:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1410,"nodeType":"ExpressionStatement","src":"2541:17:9"},{"eventCall":{"arguments":[{"id":1412,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1404,"src":"2594:8:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1413,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1400,"src":"2604:8:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1411,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"2573:20:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":1414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2573:40:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1415,"nodeType":"EmitStatement","src":"2568:45:9"}]},"documentation":{"id":1398,"nodeType":"StructuredDocumentation","src":"2285:143:9","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"id":1417,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2442:18:9","nodeType":"FunctionDefinition","parameters":{"id":1401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1400,"mutability":"mutable","name":"newOwner","nameLocation":"2469:8:9","nodeType":"VariableDeclaration","scope":1417,"src":"2461:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1399,"name":"address","nodeType":"ElementaryTypeName","src":"2461:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2460:18:9"},"returnParameters":{"id":1402,"nodeType":"ParameterList","parameters":[],"src":"2496:0:9"},"scope":1418,"src":"2433:187:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1419,"src":"654:1968:9","usedErrors":[]}],"src":"102:2521:9"},"id":9},"contracts/@openzeppelin/contracts/access/Ownable2Step.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable2Step.sol","exportedSymbols":{"Context":[22281],"Ownable":[1418],"Ownable2Step":[1501]},"id":1502,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1420,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:10"},{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable.sol","file":"./Ownable.sol","id":1421,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1502,"sourceUnit":1419,"src":"132:23:10","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1423,"name":"Ownable","nodeType":"IdentifierPath","referencedDeclaration":1418,"src":"633:7:10"},"id":1424,"nodeType":"InheritanceSpecifier","src":"633:7:10"}],"canonicalName":"Ownable2Step","contractDependencies":[],"contractKind":"contract","documentation":{"id":1422,"nodeType":"StructuredDocumentation","src":"157:441:10","text":" @dev Contract module which provides access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership} and {acceptOwnership}.\n This module is used through inheritance. It will make available all functions\n from parent (Ownable)."},"fullyImplemented":true,"id":1501,"linearizedBaseContracts":[1501,1418,22281],"name":"Ownable2Step","nameLocation":"617:12:10","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":1426,"mutability":"mutable","name":"_pendingOwner","nameLocation":"663:13:10","nodeType":"VariableDeclaration","scope":1501,"src":"647:29:10","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1425,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"id":1432,"name":"OwnershipTransferStarted","nameLocation":"689:24:10","nodeType":"EventDefinition","parameters":{"id":1431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1428,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"730:13:10","nodeType":"VariableDeclaration","scope":1432,"src":"714:29:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1427,"name":"address","nodeType":"ElementaryTypeName","src":"714:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1430,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"761:8:10","nodeType":"VariableDeclaration","scope":1432,"src":"745:24:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1429,"name":"address","nodeType":"ElementaryTypeName","src":"745:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"713:57:10"},"src":"683:88:10"},{"body":{"id":1440,"nodeType":"Block","src":"909:37:10","statements":[{"expression":{"id":1438,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1426,"src":"926:13:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1437,"id":1439,"nodeType":"Return","src":"919:20:10"}]},"documentation":{"id":1433,"nodeType":"StructuredDocumentation","src":"777:65:10","text":" @dev Returns the address of the pending owner."},"functionSelector":"e30c3978","id":1441,"implemented":true,"kind":"function","modifiers":[],"name":"pendingOwner","nameLocation":"856:12:10","nodeType":"FunctionDefinition","parameters":{"id":1434,"nodeType":"ParameterList","parameters":[],"src":"868:2:10"},"returnParameters":{"id":1437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1436,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1441,"src":"900:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1435,"name":"address","nodeType":"ElementaryTypeName","src":"900:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"899:9:10"},"scope":1501,"src":"847:99:10","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1397],"body":{"id":1460,"nodeType":"Block","src":"1218:99:10","statements":[{"expression":{"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1450,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1426,"src":"1228:13:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1451,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1444,"src":"1244:8:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1228:24:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1453,"nodeType":"ExpressionStatement","src":"1228:24:10"},{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1455,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1346,"src":"1292:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1292:7:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1457,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1444,"src":"1301:8:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1454,"name":"OwnershipTransferStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1432,"src":"1267:24:10","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":1458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1267:43:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1459,"nodeType":"EmitStatement","src":"1262:48:10"}]},"documentation":{"id":1442,"nodeType":"StructuredDocumentation","src":"952:182:10","text":" @dev Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one.\n Can only be called by the current owner."},"functionSelector":"f2fde38b","id":1461,"implemented":true,"kind":"function","modifiers":[{"id":1448,"kind":"modifierInvocation","modifierName":{"id":1447,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"1208:9:10"},"nodeType":"ModifierInvocation","src":"1208:9:10"}],"name":"transferOwnership","nameLocation":"1148:17:10","nodeType":"FunctionDefinition","overrides":{"id":1446,"nodeType":"OverrideSpecifier","overrides":[],"src":"1199:8:10"},"parameters":{"id":1445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1444,"mutability":"mutable","name":"newOwner","nameLocation":"1174:8:10","nodeType":"VariableDeclaration","scope":1461,"src":"1166:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1443,"name":"address","nodeType":"ElementaryTypeName","src":"1166:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1165:18:10"},"returnParameters":{"id":1449,"nodeType":"ParameterList","parameters":[],"src":"1218:0:10"},"scope":1501,"src":"1139:178:10","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1417],"body":{"id":1477,"nodeType":"Block","src":"1573:81:10","statements":[{"expression":{"id":1469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"1583:20:10","subExpression":{"id":1468,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1426,"src":"1590:13:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1470,"nodeType":"ExpressionStatement","src":"1583:20:10"},{"expression":{"arguments":[{"id":1474,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1464,"src":"1638:8:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1471,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1613:5:10","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_Ownable2Step_$1501_$","typeString":"type(contract super Ownable2Step)"}},"id":1473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_transferOwnership","nodeType":"MemberAccess","referencedDeclaration":1417,"src":"1613:24:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1613:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1476,"nodeType":"ExpressionStatement","src":"1613:34:10"}]},"documentation":{"id":1462,"nodeType":"StructuredDocumentation","src":"1323:173:10","text":" @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner.\n Internal function without access restriction."},"id":1478,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"1510:18:10","nodeType":"FunctionDefinition","overrides":{"id":1466,"nodeType":"OverrideSpecifier","overrides":[],"src":"1564:8:10"},"parameters":{"id":1465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1464,"mutability":"mutable","name":"newOwner","nameLocation":"1537:8:10","nodeType":"VariableDeclaration","scope":1478,"src":"1529:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1463,"name":"address","nodeType":"ElementaryTypeName","src":"1529:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1528:18:10"},"returnParameters":{"id":1467,"nodeType":"ParameterList","parameters":[],"src":"1573:0:10"},"scope":1501,"src":"1501:153:10","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1499,"nodeType":"Block","src":"1770:170:10","statements":[{"assignments":[1483],"declarations":[{"constant":false,"id":1483,"mutability":"mutable","name":"sender","nameLocation":"1788:6:10","nodeType":"VariableDeclaration","scope":1499,"src":"1780:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1482,"name":"address","nodeType":"ElementaryTypeName","src":"1780:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1486,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1484,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1797:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1797:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1780:29:10"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1488,"name":"pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"1827:12:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1827:14:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1490,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1483,"src":"1845:6:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1827:24:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572","id":1492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1853:43:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc","typeString":"literal_string \"Ownable2Step: caller is not the new owner\""},"value":"Ownable2Step: caller is not the new owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc","typeString":"literal_string \"Ownable2Step: caller is not the new owner\""}],"id":1487,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1819:7:10","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1819:78:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1494,"nodeType":"ExpressionStatement","src":"1819:78:10"},{"expression":{"arguments":[{"id":1496,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1483,"src":"1926:6:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1495,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[1478],"referencedDeclaration":1478,"src":"1907:18:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1907:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1498,"nodeType":"ExpressionStatement","src":"1907:26:10"}]},"documentation":{"id":1479,"nodeType":"StructuredDocumentation","src":"1660:69:10","text":" @dev The new owner accepts the ownership transfer."},"functionSelector":"79ba5097","id":1500,"implemented":true,"kind":"function","modifiers":[],"name":"acceptOwnership","nameLocation":"1743:15:10","nodeType":"FunctionDefinition","parameters":{"id":1480,"nodeType":"ParameterList","parameters":[],"src":"1758:2:10"},"returnParameters":{"id":1481,"nodeType":"ParameterList","parameters":[],"src":"1770:0:10"},"scope":1501,"src":"1734:206:10","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1502,"src":"599:1343:10","usedErrors":[]}],"src":"107:1836:10"},"id":10},"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","exportedSymbols":{"CrossChainEnabled":[1551],"InvalidCrossChainSender":[1855],"NotCrossChainCall":[1849]},"id":1552,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1503,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"116:23:11"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","file":"./errors.sol","id":1504,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1552,"sourceUnit":1856,"src":"141:22:11","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"CrossChainEnabled","contractDependencies":[],"contractKind":"contract","documentation":{"id":1505,"nodeType":"StructuredDocumentation","src":"165:496:11","text":" @dev Provides information for building cross-chain aware contracts. This\n abstract contract provides accessors and modifiers to control the execution\n flow when receiving cross-chain messages.\n Actual implementations of cross-chain aware contracts, which are based on\n this abstraction, will have to inherit from a bridge-specific\n specialization. Such specializations are provided under\n `crosschain//CrossChainEnabled.sol`.\n _Available since v4.6._"},"fullyImplemented":false,"id":1551,"linearizedBaseContracts":[1551],"name":"CrossChainEnabled","nameLocation":"680:17:11","nodeType":"ContractDefinition","nodes":[{"body":{"id":1516,"nodeType":"Block","src":"847:76:11","statements":[{"condition":{"id":1510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"861:16:11","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1508,"name":"_isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1544,"src":"862:13:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":1509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"862:15:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1514,"nodeType":"IfStatement","src":"857:48:11","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1511,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"886:17:11","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"886:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1513,"nodeType":"RevertStatement","src":"879:26:11"}},{"id":1515,"nodeType":"PlaceholderStatement","src":"915:1:11"}]},"documentation":{"id":1506,"nodeType":"StructuredDocumentation","src":"704:112:11","text":" @dev Throws if the current function call is not the result of a\n cross-chain execution."},"id":1517,"name":"onlyCrossChain","nameLocation":"830:14:11","nodeType":"ModifierDefinition","parameters":{"id":1507,"nodeType":"ParameterList","parameters":[],"src":"844:2:11"},"src":"821:102:11","virtual":false,"visibility":"internal"},{"body":{"id":1537,"nodeType":"Block","src":"1117:146:11","statements":[{"assignments":[1523],"declarations":[{"constant":false,"id":1523,"mutability":"mutable","name":"actual","nameLocation":"1135:6:11","nodeType":"VariableDeclaration","scope":1537,"src":"1127:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1526,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1524,"name":"_crossChainSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1550,"src":"1144:17:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1144:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1127:36:11"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1527,"name":"expected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1520,"src":"1177:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1528,"name":"actual","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"1189:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1177:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1535,"nodeType":"IfStatement","src":"1173:72:11","trueBody":{"errorCall":{"arguments":[{"id":1531,"name":"actual","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"1228:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1532,"name":"expected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1520,"src":"1236:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1530,"name":"InvalidCrossChainSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1855,"src":"1204:23:11","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":1533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1204:41:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1534,"nodeType":"RevertStatement","src":"1197:48:11"}},{"id":1536,"nodeType":"PlaceholderStatement","src":"1255:1:11"}]},"documentation":{"id":1518,"nodeType":"StructuredDocumentation","src":"929:135:11","text":" @dev Throws if the current function call is not the result of a\n cross-chain execution initiated by `account`."},"id":1538,"name":"onlyCrossChainSender","nameLocation":"1078:20:11","nodeType":"ModifierDefinition","parameters":{"id":1521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1520,"mutability":"mutable","name":"expected","nameLocation":"1107:8:11","nodeType":"VariableDeclaration","scope":1538,"src":"1099:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1519,"name":"address","nodeType":"ElementaryTypeName","src":"1099:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1098:18:11"},"src":"1069:194:11","virtual":false,"visibility":"internal"},{"documentation":{"id":1539,"nodeType":"StructuredDocumentation","src":"1269:112:11","text":" @dev Returns whether the current function call is the result of a\n cross-chain message."},"id":1544,"implemented":false,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1395:13:11","nodeType":"FunctionDefinition","parameters":{"id":1540,"nodeType":"ParameterList","parameters":[],"src":"1408:2:11"},"returnParameters":{"id":1543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1542,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1544,"src":"1442:4:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1541,"name":"bool","nodeType":"ElementaryTypeName","src":"1442:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1441:6:11"},"scope":1551,"src":"1386:62:11","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":1545,"nodeType":"StructuredDocumentation","src":"1454:277:11","text":" @dev Returns the address of the sender of the cross-chain message that\n triggered the current function call.\n IMPORTANT: Should revert with `NotCrossChainCall` if the current function\n call is not the result of a cross-chain message."},"id":1550,"implemented":false,"kind":"function","modifiers":[],"name":"_crossChainSender","nameLocation":"1745:17:11","nodeType":"FunctionDefinition","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[],"src":"1762:2:11"},"returnParameters":{"id":1549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1550,"src":"1796:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1547,"name":"address","nodeType":"ElementaryTypeName","src":"1796:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1795:9:11"},"scope":1551,"src":"1736:69:11","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1552,"src":"662:1145:11","usedErrors":[]}],"src":"116:1692:11"},"id":11},"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol","exportedSymbols":{"AMB_Bridge":[30018],"CrossChainEnabled":[1551],"CrossChainEnabledAMB":[1601],"InvalidCrossChainSender":[1855],"LibAMB":[1645],"NotCrossChainCall":[1849]},"id":1602,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1553,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"123:23:12"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../CrossChainEnabled.sol","id":1554,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1602,"sourceUnit":1552,"src":"148:34:12","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol","file":"./LibAMB.sol","id":1555,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1602,"sourceUnit":1646,"src":"183:22:12","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1557,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"1298:17:12"},"id":1558,"nodeType":"InheritanceSpecifier","src":"1298:17:12"}],"canonicalName":"CrossChainEnabledAMB","contractDependencies":[],"contractKind":"contract","documentation":{"id":1556,"nodeType":"StructuredDocumentation","src":"207:1057:12","text":" @dev https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB]\n specialization or the {CrossChainEnabled} abstraction.\n As of february 2020, AMB bridges are available between the following chains:\n - https://docs.tokenbridge.net/eth-xdai-amb-bridge/about-the-eth-xdai-amb[ETH ⇌ xDai]\n - https://docs.tokenbridge.net/eth-qdai-bridge/about-the-eth-qdai-amb[ETH ⇌ qDai]\n - https://docs.tokenbridge.net/eth-etc-amb-bridge/about-the-eth-etc-amb[ETH ⇌ ETC]\n - https://docs.tokenbridge.net/eth-bsc-amb/about-the-eth-bsc-amb[ETH ⇌ BSC]\n - https://docs.tokenbridge.net/eth-poa-amb-bridge/about-the-eth-poa-amb[ETH ⇌ POA]\n - https://docs.tokenbridge.net/bsc-xdai-amb/about-the-bsc-xdai-amb[BSC ⇌ xDai]\n - https://docs.tokenbridge.net/poa-xdai-amb/about-the-poa-xdai-amb[POA ⇌ xDai]\n - https://docs.tokenbridge.net/rinkeby-xdai-amb-bridge/about-the-rinkeby-xdai-amb[Rinkeby ⇌ xDai]\n - https://docs.tokenbridge.net/kovan-sokol-amb-bridge/about-the-kovan-sokol-amb[Kovan ⇌ Sokol]\n _Available since v4.6._"},"fullyImplemented":true,"id":1601,"linearizedBaseContracts":[1601,1551],"name":"CrossChainEnabledAMB","nameLocation":"1274:20:12","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":1559,"nodeType":"StructuredDocumentation","src":"1322:61:12","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":1561,"mutability":"immutable","name":"_bridge","nameLocation":"1414:7:12","nodeType":"VariableDeclaration","scope":1601,"src":"1388:33:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1560,"name":"address","nodeType":"ElementaryTypeName","src":"1388:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":1571,"nodeType":"Block","src":"1509:33:12","statements":[{"expression":{"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1567,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"1519:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1568,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1564,"src":"1529:6:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1519:16:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1570,"nodeType":"ExpressionStatement","src":"1519:16:12"}]},"documentation":{"id":1562,"nodeType":"StructuredDocumentation","src":"1428:48:12","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":1572,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1564,"mutability":"mutable","name":"bridge","nameLocation":"1501:6:12","nodeType":"VariableDeclaration","scope":1572,"src":"1493:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1492:16:12"},"returnParameters":{"id":1566,"nodeType":"ParameterList","parameters":[],"src":"1509:0:12"},"scope":1601,"src":"1481:61:12","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[1544],"body":{"id":1584,"nodeType":"Block","src":"1685:52:12","statements":[{"expression":{"arguments":[{"id":1581,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"1722:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1579,"name":"LibAMB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1645,"src":"1702:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibAMB_$1645_$","typeString":"type(library LibAMB)"}},"id":1580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isCrossChain","nodeType":"MemberAccess","referencedDeclaration":1621,"src":"1702:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1702:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1578,"id":1583,"nodeType":"Return","src":"1695:35:12"}]},"documentation":{"id":1573,"nodeType":"StructuredDocumentation","src":"1548:61:12","text":" @dev see {CrossChainEnabled-_isCrossChain}"},"id":1585,"implemented":true,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1623:13:12","nodeType":"FunctionDefinition","overrides":{"id":1575,"nodeType":"OverrideSpecifier","overrides":[],"src":"1661:8:12"},"parameters":{"id":1574,"nodeType":"ParameterList","parameters":[],"src":"1636:2:12"},"returnParameters":{"id":1578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1585,"src":"1679:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1576,"name":"bool","nodeType":"ElementaryTypeName","src":"1679:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1678:6:12"},"scope":1601,"src":"1614:123:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1550],"body":{"id":1599,"nodeType":"Block","src":"1906:56:12","statements":[{"expression":{"arguments":[{"id":1596,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"1947:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1594,"name":"LibAMB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1645,"src":"1923:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibAMB_$1645_$","typeString":"type(library LibAMB)"}},"id":1595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"crossChainSender","nodeType":"MemberAccess","referencedDeclaration":1644,"src":"1923:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":1597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1923:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1593,"id":1598,"nodeType":"Return","src":"1916:39:12"}]},"documentation":{"id":1586,"nodeType":"StructuredDocumentation","src":"1743:65:12","text":" @dev see {CrossChainEnabled-_crossChainSender}"},"id":1600,"implemented":true,"kind":"function","modifiers":[{"id":1590,"kind":"modifierInvocation","modifierName":{"id":1589,"name":"onlyCrossChain","nodeType":"IdentifierPath","referencedDeclaration":1517,"src":"1873:14:12"},"nodeType":"ModifierInvocation","src":"1873:14:12"}],"name":"_crossChainSender","nameLocation":"1822:17:12","nodeType":"FunctionDefinition","overrides":{"id":1588,"nodeType":"OverrideSpecifier","overrides":[],"src":"1864:8:12"},"parameters":{"id":1587,"nodeType":"ParameterList","parameters":[],"src":"1839:2:12"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1600,"src":"1897:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1591,"name":"address","nodeType":"ElementaryTypeName","src":"1897:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1896:9:12"},"scope":1601,"src":"1813:149:12","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1602,"src":"1265:699:12","usedErrors":[]}],"src":"123:1842:12"},"id":12},"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol","exportedSymbols":{"AMB_Bridge":[30018],"InvalidCrossChainSender":[1855],"LibAMB":[1645],"NotCrossChainCall":[1849]},"id":1646,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1603,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"109:23:13"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol","file":"../../vendor/amb/IAMB.sol","id":1605,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1646,"sourceUnit":30019,"src":"134:61:13","symbolAliases":[{"foreign":{"id":1604,"name":"IAMB","nodeType":"Identifier","overloadedDeclarations":[],"src":"142:4:13","typeDescriptions":{}},"local":"AMB_Bridge","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","file":"../errors.sol","id":1606,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1646,"sourceUnit":1856,"src":"196:23:13","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibAMB","contractDependencies":[],"contractKind":"library","documentation":{"id":1607,"nodeType":"StructuredDocumentation","src":"221:155:13","text":" @dev Primitives for cross-chain aware contracts using the\n https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB]\n family of bridges."},"fullyImplemented":true,"id":1645,"linearizedBaseContracts":[1645],"name":"LibAMB","nameLocation":"385:6:13","nodeType":"ContractDefinition","nodes":[{"body":{"id":1620,"nodeType":"Block","src":"602:44:13","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1615,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"619:3:13","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"619:10:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1617,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1610,"src":"633:6:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"619:20:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1614,"id":1619,"nodeType":"Return","src":"612:27:13"}]},"documentation":{"id":1608,"nodeType":"StructuredDocumentation","src":"398:132:13","text":" @dev Returns whether the current function call is the result of a\n cross-chain message relayed by `bridge`."},"id":1621,"implemented":true,"kind":"function","modifiers":[],"name":"isCrossChain","nameLocation":"544:12:13","nodeType":"FunctionDefinition","parameters":{"id":1611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1610,"mutability":"mutable","name":"bridge","nameLocation":"565:6:13","nodeType":"VariableDeclaration","scope":1621,"src":"557:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1609,"name":"address","nodeType":"ElementaryTypeName","src":"557:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"556:16:13"},"returnParameters":{"id":1614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1621,"src":"596:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1612,"name":"bool","nodeType":"ElementaryTypeName","src":"596:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"595:6:13"},"scope":1645,"src":"535:111:13","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1643,"nodeType":"Block","src":"1080:121:13","statements":[{"condition":{"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1094:21:13","subExpression":{"arguments":[{"id":1630,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1624,"src":"1108:6:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1629,"name":"isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1621,"src":"1095:12:13","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1095:20:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1636,"nodeType":"IfStatement","src":"1090:53:13","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1633,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"1124:17:13","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1124:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1635,"nodeType":"RevertStatement","src":"1117:26:13"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1638,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1624,"src":"1171:6:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1637,"name":"AMB_Bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30018,"src":"1160:10:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAMB_$30018_$","typeString":"type(contract IAMB)"}},"id":1639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1160:18:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAMB_$30018","typeString":"contract IAMB"}},"id":1640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"messageSender","nodeType":"MemberAccess","referencedDeclaration":29937,"src":"1160:32:13","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":1641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1160:34:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1628,"id":1642,"nodeType":"Return","src":"1153:41:13"}]},"documentation":{"id":1622,"nodeType":"StructuredDocumentation","src":"652:349:13","text":" @dev Returns the address of the sender that triggered the current\n cross-chain message through `bridge`.\n NOTE: {isCrossChain} should be checked before trying to recover the\n sender, as it will revert with `NotCrossChainCall` if the current\n function call is not the result of a cross-chain message."},"id":1644,"implemented":true,"kind":"function","modifiers":[],"name":"crossChainSender","nameLocation":"1015:16:13","nodeType":"FunctionDefinition","parameters":{"id":1625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1624,"mutability":"mutable","name":"bridge","nameLocation":"1040:6:13","nodeType":"VariableDeclaration","scope":1644,"src":"1032:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"1032:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1031:16:13"},"returnParameters":{"id":1628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1644,"src":"1071:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1626,"name":"address","nodeType":"ElementaryTypeName","src":"1071:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1070:9:13"},"scope":1645,"src":"1006:195:13","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":1646,"src":"377:826:13","usedErrors":[]}],"src":"109:1095:13"},"id":13},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol","exportedSymbols":{"ArbitrumL1_Bridge":[30363],"ArbitrumL1_Outbox":[30724],"CrossChainEnabled":[1551],"CrossChainEnabledArbitrumL1":[1695],"InvalidCrossChainSender":[1855],"LibArbitrumL1":[1797],"NotCrossChainCall":[1849]},"id":1696,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1647,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"135:23:14"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../CrossChainEnabled.sol","id":1648,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1696,"sourceUnit":1552,"src":"160:34:14","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol","file":"./LibArbitrumL1.sol","id":1649,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1696,"sourceUnit":1798,"src":"195:29:14","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1651,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"835:17:14"},"id":1652,"nodeType":"InheritanceSpecifier","src":"835:17:14"}],"canonicalName":"CrossChainEnabledArbitrumL1","contractDependencies":[],"contractKind":"contract","documentation":{"id":1650,"nodeType":"StructuredDocumentation","src":"226:559:14","text":" @dev https://arbitrum.io/[Arbitrum] specialization or the\n {CrossChainEnabled} abstraction the L1 side (mainnet).\n This version should only be deployed on L1 to process cross-chain messages\n originating from L2. For the other side, use {CrossChainEnabledArbitrumL2}.\n The bridge contract is provided and maintained by the arbitrum team. You can\n find the address of this contract on the rinkeby testnet in\n https://developer.offchainlabs.com/docs/useful_addresses[Arbitrum's developer documentation].\n _Available since v4.6._"},"fullyImplemented":true,"id":1695,"linearizedBaseContracts":[1695,1551],"name":"CrossChainEnabledArbitrumL1","nameLocation":"804:27:14","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":1653,"nodeType":"StructuredDocumentation","src":"859:61:14","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":1655,"mutability":"immutable","name":"_bridge","nameLocation":"951:7:14","nodeType":"VariableDeclaration","scope":1695,"src":"925:33:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1654,"name":"address","nodeType":"ElementaryTypeName","src":"925:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":1665,"nodeType":"Block","src":"1046:33:14","statements":[{"expression":{"id":1663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1661,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1655,"src":"1056:7:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1662,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1658,"src":"1066:6:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1056:16:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1664,"nodeType":"ExpressionStatement","src":"1056:16:14"}]},"documentation":{"id":1656,"nodeType":"StructuredDocumentation","src":"965:48:14","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":1666,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1658,"mutability":"mutable","name":"bridge","nameLocation":"1038:6:14","nodeType":"VariableDeclaration","scope":1666,"src":"1030:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1657,"name":"address","nodeType":"ElementaryTypeName","src":"1030:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1029:16:14"},"returnParameters":{"id":1660,"nodeType":"ParameterList","parameters":[],"src":"1046:0:14"},"scope":1695,"src":"1018:61:14","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[1544],"body":{"id":1678,"nodeType":"Block","src":"1222:59:14","statements":[{"expression":{"arguments":[{"id":1675,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1655,"src":"1266:7:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1673,"name":"LibArbitrumL1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1797,"src":"1239:13:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL1_$1797_$","typeString":"type(library LibArbitrumL1)"}},"id":1674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isCrossChain","nodeType":"MemberAccess","referencedDeclaration":1755,"src":"1239:26:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1239:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1672,"id":1677,"nodeType":"Return","src":"1232:42:14"}]},"documentation":{"id":1667,"nodeType":"StructuredDocumentation","src":"1085:61:14","text":" @dev see {CrossChainEnabled-_isCrossChain}"},"id":1679,"implemented":true,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1160:13:14","nodeType":"FunctionDefinition","overrides":{"id":1669,"nodeType":"OverrideSpecifier","overrides":[],"src":"1198:8:14"},"parameters":{"id":1668,"nodeType":"ParameterList","parameters":[],"src":"1173:2:14"},"returnParameters":{"id":1672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1679,"src":"1216:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1670,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1215:6:14"},"scope":1695,"src":"1151:130:14","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1550],"body":{"id":1693,"nodeType":"Block","src":"1450:63:14","statements":[{"expression":{"arguments":[{"id":1690,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1655,"src":"1498:7:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1688,"name":"LibArbitrumL1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1797,"src":"1467:13:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL1_$1797_$","typeString":"type(library LibArbitrumL1)"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"crossChainSender","nodeType":"MemberAccess","referencedDeclaration":1796,"src":"1467:30:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1467:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1687,"id":1692,"nodeType":"Return","src":"1460:46:14"}]},"documentation":{"id":1680,"nodeType":"StructuredDocumentation","src":"1287:65:14","text":" @dev see {CrossChainEnabled-_crossChainSender}"},"id":1694,"implemented":true,"kind":"function","modifiers":[{"id":1684,"kind":"modifierInvocation","modifierName":{"id":1683,"name":"onlyCrossChain","nodeType":"IdentifierPath","referencedDeclaration":1517,"src":"1417:14:14"},"nodeType":"ModifierInvocation","src":"1417:14:14"}],"name":"_crossChainSender","nameLocation":"1366:17:14","nodeType":"FunctionDefinition","overrides":{"id":1682,"nodeType":"OverrideSpecifier","overrides":[],"src":"1408:8:14"},"parameters":{"id":1681,"nodeType":"ParameterList","parameters":[],"src":"1383:2:14"},"returnParameters":{"id":1687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1694,"src":"1441:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1685,"name":"address","nodeType":"ElementaryTypeName","src":"1441:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1440:9:14"},"scope":1695,"src":"1357:156:14","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1696,"src":"786:729:14","usedErrors":[]}],"src":"135:1381:14"},"id":14},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol","exportedSymbols":{"ArbitrumL2_Bridge":[30164],"CrossChainEnabled":[1551],"CrossChainEnabledArbitrumL2":[1733],"InvalidCrossChainSender":[1855],"LibArbitrumL2":[1845],"NotCrossChainCall":[1849]},"id":1734,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1697,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"135:23:15"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../CrossChainEnabled.sol","id":1698,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1734,"sourceUnit":1552,"src":"160:34:15","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol","file":"./LibArbitrumL2.sol","id":1699,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1734,"sourceUnit":1846,"src":"195:29:15","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1701,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"1013:17:15"},"id":1702,"nodeType":"InheritanceSpecifier","src":"1013:17:15"}],"canonicalName":"CrossChainEnabledArbitrumL2","contractDependencies":[],"contractKind":"contract","documentation":{"id":1700,"nodeType":"StructuredDocumentation","src":"226:737:15","text":" @dev https://arbitrum.io/[Arbitrum] specialization or the\n {CrossChainEnabled} abstraction the L2 side (arbitrum).\n This version should only be deployed on L2 to process cross-chain messages\n originating from L1. For the other side, use {CrossChainEnabledArbitrumL1}.\n Arbitrum L2 includes the `ArbSys` contract at a fixed address. Therefore,\n this specialization of {CrossChainEnabled} does not include a constructor.\n _Available since v4.6._\n WARNING: There is currently a bug in Arbitrum that causes this contract to\n fail to detect cross-chain calls when deployed behind a proxy. This will be\n fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for\n August 31st 2022."},"fullyImplemented":true,"id":1733,"linearizedBaseContracts":[1733,1551],"name":"CrossChainEnabledArbitrumL2","nameLocation":"982:27:15","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[1544],"body":{"id":1715,"nodeType":"Block","src":"1174:72:15","statements":[{"expression":{"arguments":[{"expression":{"id":1711,"name":"LibArbitrumL2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"1218:13:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL2_$1845_$","typeString":"type(library LibArbitrumL2)"}},"id":1712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ARBSYS","nodeType":"MemberAccess","referencedDeclaration":1807,"src":"1218:20:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1709,"name":"LibArbitrumL2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"1191:13:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL2_$1845_$","typeString":"type(library LibArbitrumL2)"}},"id":1710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isCrossChain","nodeType":"MemberAccess","referencedDeclaration":1821,"src":"1191:26:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1191:48:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1708,"id":1714,"nodeType":"Return","src":"1184:55:15"}]},"documentation":{"id":1703,"nodeType":"StructuredDocumentation","src":"1037:61:15","text":" @dev see {CrossChainEnabled-_isCrossChain}"},"id":1716,"implemented":true,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1112:13:15","nodeType":"FunctionDefinition","overrides":{"id":1705,"nodeType":"OverrideSpecifier","overrides":[],"src":"1150:8:15"},"parameters":{"id":1704,"nodeType":"ParameterList","parameters":[],"src":"1125:2:15"},"returnParameters":{"id":1708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1716,"src":"1168:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1706,"name":"bool","nodeType":"ElementaryTypeName","src":"1168:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1167:6:15"},"scope":1733,"src":"1103:143:15","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1550],"body":{"id":1731,"nodeType":"Block","src":"1415:76:15","statements":[{"expression":{"arguments":[{"expression":{"id":1727,"name":"LibArbitrumL2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"1463:13:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL2_$1845_$","typeString":"type(library LibArbitrumL2)"}},"id":1728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ARBSYS","nodeType":"MemberAccess","referencedDeclaration":1807,"src":"1463:20:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1725,"name":"LibArbitrumL2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"1432:13:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibArbitrumL2_$1845_$","typeString":"type(library LibArbitrumL2)"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"crossChainSender","nodeType":"MemberAccess","referencedDeclaration":1844,"src":"1432:30:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":1729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1432:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1724,"id":1730,"nodeType":"Return","src":"1425:59:15"}]},"documentation":{"id":1717,"nodeType":"StructuredDocumentation","src":"1252:65:15","text":" @dev see {CrossChainEnabled-_crossChainSender}"},"id":1732,"implemented":true,"kind":"function","modifiers":[{"id":1721,"kind":"modifierInvocation","modifierName":{"id":1720,"name":"onlyCrossChain","nodeType":"IdentifierPath","referencedDeclaration":1517,"src":"1382:14:15"},"nodeType":"ModifierInvocation","src":"1382:14:15"}],"name":"_crossChainSender","nameLocation":"1331:17:15","nodeType":"FunctionDefinition","overrides":{"id":1719,"nodeType":"OverrideSpecifier","overrides":[],"src":"1373:8:15"},"parameters":{"id":1718,"nodeType":"ParameterList","parameters":[],"src":"1348:2:15"},"returnParameters":{"id":1724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1732,"src":"1406:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1722,"name":"address","nodeType":"ElementaryTypeName","src":"1406:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1405:9:15"},"scope":1733,"src":"1322:169:15","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1734,"src":"964:529:15","usedErrors":[]}],"src":"135:1359:15"},"id":15},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol","exportedSymbols":{"ArbitrumL1_Bridge":[30363],"ArbitrumL1_Outbox":[30724],"InvalidCrossChainSender":[1855],"LibArbitrumL1":[1797],"NotCrossChainCall":[1849]},"id":1798,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1735,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"121:23:16"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol","file":"../../vendor/arbitrum/IBridge.sol","id":1737,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1798,"sourceUnit":30364,"src":"146:79:16","symbolAliases":[{"foreign":{"id":1736,"name":"IBridge","nodeType":"Identifier","overloadedDeclarations":[],"src":"154:7:16","typeDescriptions":{}},"local":"ArbitrumL1_Bridge","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol","file":"../../vendor/arbitrum/IOutbox.sol","id":1739,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1798,"sourceUnit":30725,"src":"226:79:16","symbolAliases":[{"foreign":{"id":1738,"name":"IOutbox","nodeType":"Identifier","overloadedDeclarations":[],"src":"234:7:16","typeDescriptions":{}},"local":"ArbitrumL1_Outbox","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","file":"../errors.sol","id":1740,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1798,"sourceUnit":1856,"src":"306:23:16","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibArbitrumL1","contractDependencies":[],"contractKind":"library","documentation":{"id":1741,"nodeType":"StructuredDocumentation","src":"331:239:16","text":" @dev Primitives for cross-chain aware contracts for\n https://arbitrum.io/[Arbitrum].\n This version should only be used on L1 to process cross-chain messages\n originating from L2. For the other side, use {LibArbitrumL2}."},"fullyImplemented":true,"id":1797,"linearizedBaseContracts":[1797],"name":"LibArbitrumL1","nameLocation":"579:13:16","nodeType":"ContractDefinition","nodes":[{"body":{"id":1754,"nodeType":"Block","src":"807:44:16","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1749,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"824:3:16","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"824:10:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1751,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1744,"src":"838:6:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"824:20:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1748,"id":1753,"nodeType":"Return","src":"817:27:16"}]},"documentation":{"id":1742,"nodeType":"StructuredDocumentation","src":"599:136:16","text":" @dev Returns whether the current function call is the result of a\n cross-chain message relayed by the `bridge`."},"id":1755,"implemented":true,"kind":"function","modifiers":[],"name":"isCrossChain","nameLocation":"749:12:16","nodeType":"FunctionDefinition","parameters":{"id":1745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1744,"mutability":"mutable","name":"bridge","nameLocation":"770:6:16","nodeType":"VariableDeclaration","scope":1755,"src":"762:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1743,"name":"address","nodeType":"ElementaryTypeName","src":"762:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"761:16:16"},"returnParameters":{"id":1748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1755,"src":"801:4:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1746,"name":"bool","nodeType":"ElementaryTypeName","src":"801:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"800:6:16"},"scope":1797,"src":"740:111:16","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1795,"nodeType":"Block","src":"1289:284:16","statements":[{"condition":{"id":1766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1303:21:16","subExpression":{"arguments":[{"id":1764,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1758,"src":"1317:6:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1763,"name":"isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1755,"src":"1304:12:16","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1304:20:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1770,"nodeType":"IfStatement","src":"1299:53:16","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1767,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"1333:17:16","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1333:19:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1769,"nodeType":"RevertStatement","src":"1326:26:16"}},{"assignments":[1772],"declarations":[{"constant":false,"id":1772,"mutability":"mutable","name":"sender","nameLocation":"1371:6:16","nodeType":"VariableDeclaration","scope":1795,"src":"1363:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1771,"name":"address","nodeType":"ElementaryTypeName","src":"1363:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1782,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1775,"name":"bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1758,"src":"1416:6:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1774,"name":"ArbitrumL1_Bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30363,"src":"1398:17:16","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBridge_$30363_$","typeString":"type(contract IBridge)"}},"id":1776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1398:25:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"}},"id":1777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"activeOutbox","nodeType":"MemberAccess","referencedDeclaration":30255,"src":"1398:38:16","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":1778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1398:40:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1773,"name":"ArbitrumL1_Outbox","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30724,"src":"1380:17:16","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IOutbox_$30724_$","typeString":"type(contract IOutbox)"}},"id":1779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1380:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IOutbox_$30724","typeString":"contract IOutbox"}},"id":1780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l2ToL1Sender","nodeType":"MemberAccess","referencedDeclaration":30617,"src":"1380:72:16","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1380:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1363:91:16"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1784,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"1472:6:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1490:1:16","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":1786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1482:7:16","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1785,"name":"address","nodeType":"ElementaryTypeName","src":"1482:7:16","typeDescriptions":{}}},"id":1788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1482:10:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1472:20:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4c6962417262697472756d4c313a2073797374656d206d6573736167657320776974686f75742073656e646572","id":1790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1494:47:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d658411d0561b99f9fb199be39e8001e28574097edaed4471e2c7d7066c63b9a","typeString":"literal_string \"LibArbitrumL1: system messages without sender\""},"value":"LibArbitrumL1: system messages without sender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d658411d0561b99f9fb199be39e8001e28574097edaed4471e2c7d7066c63b9a","typeString":"literal_string \"LibArbitrumL1: system messages without sender\""}],"id":1783,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1464:7:16","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1464:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1792,"nodeType":"ExpressionStatement","src":"1464:78:16"},{"expression":{"id":1793,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"1560:6:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1762,"id":1794,"nodeType":"Return","src":"1553:13:16"}]},"documentation":{"id":1756,"nodeType":"StructuredDocumentation","src":"857:353:16","text":" @dev Returns the address of the sender that triggered the current\n cross-chain message through the `bridge`.\n NOTE: {isCrossChain} should be checked before trying to recover the\n sender, as it will revert with `NotCrossChainCall` if the current\n function call is not the result of a cross-chain message."},"id":1796,"implemented":true,"kind":"function","modifiers":[],"name":"crossChainSender","nameLocation":"1224:16:16","nodeType":"FunctionDefinition","parameters":{"id":1759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1758,"mutability":"mutable","name":"bridge","nameLocation":"1249:6:16","nodeType":"VariableDeclaration","scope":1796,"src":"1241:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1757,"name":"address","nodeType":"ElementaryTypeName","src":"1241:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1240:16:16"},"returnParameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1796,"src":"1280:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1760,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1279:9:16"},"scope":1797,"src":"1215:358:16","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":1798,"src":"571:1004:16","usedErrors":[]}],"src":"121:1455:16"},"id":16},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol","exportedSymbols":{"ArbitrumL2_Bridge":[30164],"InvalidCrossChainSender":[1855],"LibArbitrumL2":[1845],"NotCrossChainCall":[1849]},"id":1846,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1799,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"121:23:17"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol","file":"../../vendor/arbitrum/IArbSys.sol","id":1801,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1846,"sourceUnit":30165,"src":"146:79:17","symbolAliases":[{"foreign":{"id":1800,"name":"IArbSys","nodeType":"Identifier","overloadedDeclarations":[],"src":"154:7:17","typeDescriptions":{}},"local":"ArbitrumL2_Bridge","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","file":"../errors.sol","id":1802,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1846,"sourceUnit":1856,"src":"226:23:17","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibArbitrumL2","contractDependencies":[],"contractKind":"library","documentation":{"id":1803,"nodeType":"StructuredDocumentation","src":"251:501:17","text":" @dev Primitives for cross-chain aware contracts for\n https://arbitrum.io/[Arbitrum].\n This version should only be used on L2 to process cross-chain messages\n originating from L1. For the other side, use {LibArbitrumL1}.\n WARNING: There is currently a bug in Arbitrum that causes this contract to\n fail to detect cross-chain calls when deployed behind a proxy. This will be\n fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for\n August 31st 2022."},"fullyImplemented":true,"id":1845,"linearizedBaseContracts":[1845],"name":"LibArbitrumL2","nameLocation":"761:13:17","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":1804,"nodeType":"StructuredDocumentation","src":"781:132:17","text":" @dev Returns whether the current function call is the result of a\n cross-chain message relayed by `arbsys`."},"functionSelector":"bf0a12cf","id":1807,"mutability":"constant","name":"ARBSYS","nameLocation":"942:6:17","nodeType":"VariableDeclaration","scope":1845,"src":"918:75:17","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1805,"name":"address","nodeType":"ElementaryTypeName","src":"918:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":1806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"951:42:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"},"visibility":"public"},{"body":{"id":1820,"nodeType":"Block","src":"1067:78:17","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1815,"name":"arbsys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1809,"src":"1102:6:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1814,"name":"ArbitrumL2_Bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30164,"src":"1084:17:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbSys_$30164_$","typeString":"type(contract IArbSys)"}},"id":1816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1084:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbSys_$30164","typeString":"contract IArbSys"}},"id":1817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"wasMyCallersAddressAliased","nodeType":"MemberAccess","referencedDeclaration":30075,"src":"1084:52:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":1818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1084:54:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1813,"id":1819,"nodeType":"Return","src":"1077:61:17"}]},"id":1821,"implemented":true,"kind":"function","modifiers":[],"name":"isCrossChain","nameLocation":"1009:12:17","nodeType":"FunctionDefinition","parameters":{"id":1810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1809,"mutability":"mutable","name":"arbsys","nameLocation":"1030:6:17","nodeType":"VariableDeclaration","scope":1821,"src":"1022:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1808,"name":"address","nodeType":"ElementaryTypeName","src":"1022:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1021:16:17"},"returnParameters":{"id":1813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1821,"src":"1061:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1811,"name":"bool","nodeType":"ElementaryTypeName","src":"1061:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1060:6:17"},"scope":1845,"src":"1000:145:17","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1843,"nodeType":"Block","src":"1579:147:17","statements":[{"condition":{"id":1832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1593:21:17","subExpression":{"arguments":[{"id":1830,"name":"arbsys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1824,"src":"1607:6:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1829,"name":"isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1821,"src":"1594:12:17","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1594:20:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1836,"nodeType":"IfStatement","src":"1589:53:17","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1833,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"1623:17:17","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1623:19:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1835,"nodeType":"RevertStatement","src":"1616:26:17"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1838,"name":"arbsys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1824,"src":"1678:6:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1837,"name":"ArbitrumL2_Bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30164,"src":"1660:17:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbSys_$30164_$","typeString":"type(contract IArbSys)"}},"id":1839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbSys_$30164","typeString":"contract IArbSys"}},"id":1840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"myCallersAddressWithoutAliasing","nodeType":"MemberAccess","referencedDeclaration":30081,"src":"1660:57:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":1841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:59:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1828,"id":1842,"nodeType":"Return","src":"1653:66:17"}]},"documentation":{"id":1822,"nodeType":"StructuredDocumentation","src":"1151:349:17","text":" @dev Returns the address of the sender that triggered the current\n cross-chain message through `arbsys`.\n NOTE: {isCrossChain} should be checked before trying to recover the\n sender, as it will revert with `NotCrossChainCall` if the current\n function call is not the result of a cross-chain message."},"id":1844,"implemented":true,"kind":"function","modifiers":[],"name":"crossChainSender","nameLocation":"1514:16:17","nodeType":"FunctionDefinition","parameters":{"id":1825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1824,"mutability":"mutable","name":"arbsys","nameLocation":"1539:6:17","nodeType":"VariableDeclaration","scope":1844,"src":"1531:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1823,"name":"address","nodeType":"ElementaryTypeName","src":"1531:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1530:16:17"},"returnParameters":{"id":1828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1844,"src":"1570:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1826,"name":"address","nodeType":"ElementaryTypeName","src":"1570:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1569:9:17"},"scope":1845,"src":"1505:221:17","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":1846,"src":"753:975:17","usedErrors":[]}],"src":"121:1608:17"},"id":17},"contracts/@openzeppelin/contracts/crosschain/errors.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","exportedSymbols":{"InvalidCrossChainSender":[1855],"NotCrossChainCall":[1849]},"id":1856,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1847,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"105:23:18"},{"id":1849,"name":"NotCrossChainCall","nameLocation":"136:17:18","nodeType":"ErrorDefinition","parameters":{"id":1848,"nodeType":"ParameterList","parameters":[],"src":"153:2:18"},"src":"130:26:18"},{"id":1855,"name":"InvalidCrossChainSender","nameLocation":"163:23:18","nodeType":"ErrorDefinition","parameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1851,"mutability":"mutable","name":"actual","nameLocation":"195:6:18","nodeType":"VariableDeclaration","scope":1855,"src":"187:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1850,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1853,"mutability":"mutable","name":"expected","nameLocation":"211:8:18","nodeType":"VariableDeclaration","scope":1855,"src":"203:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1852,"name":"address","nodeType":"ElementaryTypeName","src":"203:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:34:18"},"src":"157:64:18"}],"src":"105:117:18"},"id":18},"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol","exportedSymbols":{"CrossChainEnabled":[1551],"CrossChainEnabledOptimism":[1905],"InvalidCrossChainSender":[1855],"LibOptimism":[1949],"NotCrossChainCall":[1849],"Optimism_Bridge":[30917]},"id":1906,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1857,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"133:23:19"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../CrossChainEnabled.sol","id":1858,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1906,"sourceUnit":1552,"src":"158:34:19","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol","file":"./LibOptimism.sol","id":1859,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1906,"sourceUnit":1950,"src":"193:27:19","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1861,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"720:17:19"},"id":1862,"nodeType":"InheritanceSpecifier","src":"720:17:19"}],"canonicalName":"CrossChainEnabledOptimism","contractDependencies":[],"contractKind":"contract","documentation":{"id":1860,"nodeType":"StructuredDocumentation","src":"222:450:19","text":" @dev https://www.optimism.io/[Optimism] specialization or the\n {CrossChainEnabled} abstraction.\n The messenger (`CrossDomainMessenger`) contract is provided and maintained by\n the optimism team. You can find the address of this contract on mainnet and\n kovan in the https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts/deployments[deployments section of Optimism monorepo].\n _Available since v4.6._"},"fullyImplemented":true,"id":1905,"linearizedBaseContracts":[1905,1551],"name":"CrossChainEnabledOptimism","nameLocation":"691:25:19","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":1863,"nodeType":"StructuredDocumentation","src":"744:61:19","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":1865,"mutability":"immutable","name":"_messenger","nameLocation":"836:10:19","nodeType":"VariableDeclaration","scope":1905,"src":"810:36:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1864,"name":"address","nodeType":"ElementaryTypeName","src":"810:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":1875,"nodeType":"Block","src":"937:39:19","statements":[{"expression":{"id":1873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1871,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1865,"src":"947:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1872,"name":"messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1868,"src":"960:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"947:22:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1874,"nodeType":"ExpressionStatement","src":"947:22:19"}]},"documentation":{"id":1866,"nodeType":"StructuredDocumentation","src":"853:48:19","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":1876,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1868,"mutability":"mutable","name":"messenger","nameLocation":"926:9:19","nodeType":"VariableDeclaration","scope":1876,"src":"918:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1867,"name":"address","nodeType":"ElementaryTypeName","src":"918:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"917:19:19"},"returnParameters":{"id":1870,"nodeType":"ParameterList","parameters":[],"src":"937:0:19"},"scope":1905,"src":"906:70:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[1544],"body":{"id":1888,"nodeType":"Block","src":"1119:60:19","statements":[{"expression":{"arguments":[{"id":1885,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1865,"src":"1161:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1883,"name":"LibOptimism","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1949,"src":"1136:11:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibOptimism_$1949_$","typeString":"type(library LibOptimism)"}},"id":1884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isCrossChain","nodeType":"MemberAccess","referencedDeclaration":1925,"src":"1136:24:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1136:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1882,"id":1887,"nodeType":"Return","src":"1129:43:19"}]},"documentation":{"id":1877,"nodeType":"StructuredDocumentation","src":"982:61:19","text":" @dev see {CrossChainEnabled-_isCrossChain}"},"id":1889,"implemented":true,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1057:13:19","nodeType":"FunctionDefinition","overrides":{"id":1879,"nodeType":"OverrideSpecifier","overrides":[],"src":"1095:8:19"},"parameters":{"id":1878,"nodeType":"ParameterList","parameters":[],"src":"1070:2:19"},"returnParameters":{"id":1882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1889,"src":"1113:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1880,"name":"bool","nodeType":"ElementaryTypeName","src":"1113:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1112:6:19"},"scope":1905,"src":"1048:131:19","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1550],"body":{"id":1903,"nodeType":"Block","src":"1348:64:19","statements":[{"expression":{"arguments":[{"id":1900,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1865,"src":"1394:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1898,"name":"LibOptimism","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1949,"src":"1365:11:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibOptimism_$1949_$","typeString":"type(library LibOptimism)"}},"id":1899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"crossChainSender","nodeType":"MemberAccess","referencedDeclaration":1948,"src":"1365:28:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":1901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1365:40:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1897,"id":1902,"nodeType":"Return","src":"1358:47:19"}]},"documentation":{"id":1890,"nodeType":"StructuredDocumentation","src":"1185:65:19","text":" @dev see {CrossChainEnabled-_crossChainSender}"},"id":1904,"implemented":true,"kind":"function","modifiers":[{"id":1894,"kind":"modifierInvocation","modifierName":{"id":1893,"name":"onlyCrossChain","nodeType":"IdentifierPath","referencedDeclaration":1517,"src":"1315:14:19"},"nodeType":"ModifierInvocation","src":"1315:14:19"}],"name":"_crossChainSender","nameLocation":"1264:17:19","nodeType":"FunctionDefinition","overrides":{"id":1892,"nodeType":"OverrideSpecifier","overrides":[],"src":"1306:8:19"},"parameters":{"id":1891,"nodeType":"ParameterList","parameters":[],"src":"1281:2:19"},"returnParameters":{"id":1897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1904,"src":"1339:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1895,"name":"address","nodeType":"ElementaryTypeName","src":"1339:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1338:9:19"},"scope":1905,"src":"1255:157:19","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1906,"src":"673:741:19","usedErrors":[]}],"src":"133:1282:19"},"id":19},"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol","exportedSymbols":{"InvalidCrossChainSender":[1855],"LibOptimism":[1949],"NotCrossChainCall":[1849],"Optimism_Bridge":[30917]},"id":1950,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1907,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"119:23:20"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol","file":"../../vendor/optimism/ICrossDomainMessenger.sol","id":1909,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1950,"sourceUnit":30918,"src":"144:105:20","symbolAliases":[{"foreign":{"id":1908,"name":"ICrossDomainMessenger","nodeType":"Identifier","overloadedDeclarations":[],"src":"152:21:20","typeDescriptions":{}},"local":"Optimism_Bridge","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/errors.sol","file":"../errors.sol","id":1910,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1950,"sourceUnit":1856,"src":"250:23:20","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibOptimism","contractDependencies":[],"contractKind":"library","documentation":{"id":1911,"nodeType":"StructuredDocumentation","src":"275:245:20","text":" @dev Primitives for cross-chain aware contracts for https://www.optimism.io/[Optimism].\n See the https://community.optimism.io/docs/developers/bridge/messaging/#accessing-msg-sender[documentation]\n for the functionality used here."},"fullyImplemented":true,"id":1949,"linearizedBaseContracts":[1949],"name":"LibOptimism","nameLocation":"529:11:20","nodeType":"ContractDefinition","nodes":[{"body":{"id":1924,"nodeType":"Block","src":"757:47:20","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1919,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"774:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"774:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1921,"name":"messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"788:9:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"774:23:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1918,"id":1923,"nodeType":"Return","src":"767:30:20"}]},"documentation":{"id":1912,"nodeType":"StructuredDocumentation","src":"547:135:20","text":" @dev Returns whether the current function call is the result of a\n cross-chain message relayed by `messenger`."},"id":1925,"implemented":true,"kind":"function","modifiers":[],"name":"isCrossChain","nameLocation":"696:12:20","nodeType":"FunctionDefinition","parameters":{"id":1915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1914,"mutability":"mutable","name":"messenger","nameLocation":"717:9:20","nodeType":"VariableDeclaration","scope":1925,"src":"709:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1913,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:19:20"},"returnParameters":{"id":1918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1925,"src":"751:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1916,"name":"bool","nodeType":"ElementaryTypeName","src":"751:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"750:6:20"},"scope":1949,"src":"687:117:20","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1947,"nodeType":"Block","src":"1244:140:20","statements":[{"condition":{"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1258:24:20","subExpression":{"arguments":[{"id":1934,"name":"messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1928,"src":"1272:9:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1933,"name":"isCrossChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1925,"src":"1259:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1259:23:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1940,"nodeType":"IfStatement","src":"1254:56:20","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1937,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"1291:17:20","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1291:19:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1939,"nodeType":"RevertStatement","src":"1284:26:20"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1942,"name":"messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1928,"src":"1344:9:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1941,"name":"Optimism_Bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30917,"src":"1328:15:20","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICrossDomainMessenger_$30917_$","typeString":"type(contract ICrossDomainMessenger)"}},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1328:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICrossDomainMessenger_$30917","typeString":"contract ICrossDomainMessenger"}},"id":1944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"xDomainMessageSender","nodeType":"MemberAccess","referencedDeclaration":30906,"src":"1328:47:20","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1328:49:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1932,"id":1946,"nodeType":"Return","src":"1321:56:20"}]},"documentation":{"id":1926,"nodeType":"StructuredDocumentation","src":"810:352:20","text":" @dev Returns the address of the sender that triggered the current\n cross-chain message through `messenger`.\n NOTE: {isCrossChain} should be checked before trying to recover the\n sender, as it will revert with `NotCrossChainCall` if the current\n function call is not the result of a cross-chain message."},"id":1948,"implemented":true,"kind":"function","modifiers":[],"name":"crossChainSender","nameLocation":"1176:16:20","nodeType":"FunctionDefinition","parameters":{"id":1929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1928,"mutability":"mutable","name":"messenger","nameLocation":"1201:9:20","nodeType":"VariableDeclaration","scope":1948,"src":"1193:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1927,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1192:19:20"},"returnParameters":{"id":1932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1948,"src":"1235:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1930,"name":"address","nodeType":"ElementaryTypeName","src":"1235:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1234:9:20"},"scope":1949,"src":"1167:217:20","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":1950,"src":"521:865:20","usedErrors":[]}],"src":"119:1268:20"},"id":20},"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol","exportedSymbols":{"Address":[20688],"CrossChainEnabled":[1551],"CrossChainEnabledPolygonChild":[2048],"DEFAULT_SENDER":[1958],"IFxMessageProcessor":[30929],"InvalidCrossChainSender":[1855],"NotCrossChainCall":[1849],"ReentrancyGuard":[10759]},"id":2049,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1951,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"136:23:21"},{"absolutePath":"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol","file":"../CrossChainEnabled.sol","id":1952,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2049,"sourceUnit":1552,"src":"161:34:21","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol","file":"../../security/ReentrancyGuard.sol","id":1953,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2049,"sourceUnit":10760,"src":"196:44:21","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":1954,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2049,"sourceUnit":20689,"src":"241:33:21","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol","file":"../../vendor/polygon/IFxMessageProcessor.sol","id":1955,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2049,"sourceUnit":30930,"src":"275:54:21","symbolAliases":[],"unitAlias":""},{"constant":true,"id":1958,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"348:14:21","nodeType":"VariableDeclaration","scope":2049,"src":"331:76:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1956,"name":"address","nodeType":"ElementaryTypeName","src":"331:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303064456144","id":1957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365:42:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000000000000000000000dEaD"},"visibility":"internal"},{"abstract":true,"baseContracts":[{"baseName":{"id":1960,"name":"IFxMessageProcessor","nodeType":"IdentifierPath","referencedDeclaration":30929,"src":"1038:19:21"},"id":1961,"nodeType":"InheritanceSpecifier","src":"1038:19:21"},{"baseName":{"id":1962,"name":"CrossChainEnabled","nodeType":"IdentifierPath","referencedDeclaration":1551,"src":"1059:17:21"},"id":1963,"nodeType":"InheritanceSpecifier","src":"1059:17:21"},{"baseName":{"id":1964,"name":"ReentrancyGuard","nodeType":"IdentifierPath","referencedDeclaration":10759,"src":"1078:15:21"},"id":1965,"nodeType":"InheritanceSpecifier","src":"1078:15:21"}],"canonicalName":"CrossChainEnabledPolygonChild","contractDependencies":[],"contractKind":"contract","documentation":{"id":1959,"nodeType":"StructuredDocumentation","src":"410:576:21","text":" @dev https://polygon.technology/[Polygon] specialization or the\n {CrossChainEnabled} abstraction the child side (polygon/mumbai).\n This version should only be deployed on child chain to process cross-chain\n messages originating from the parent chain.\n The fxChild contract is provided and maintained by the polygon team. You can\n find the address of this contract polygon and mumbai in\n https://docs.polygon.technology/docs/develop/l1-l2-communication/fx-portal/#contract-addresses[Polygon's Fx-Portal documentation].\n _Available since v4.6._"},"fullyImplemented":true,"id":2048,"linearizedBaseContracts":[2048,10759,1551,30929],"name":"CrossChainEnabledPolygonChild","nameLocation":"1005:29:21","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":1966,"nodeType":"StructuredDocumentation","src":"1100:61:21","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":1968,"mutability":"immutable","name":"_fxChild","nameLocation":"1192:8:21","nodeType":"VariableDeclaration","scope":2048,"src":"1166:34:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1967,"name":"address","nodeType":"ElementaryTypeName","src":"1166:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"id":1971,"mutability":"mutable","name":"_sender","nameLocation":"1222:7:21","nodeType":"VariableDeclaration","scope":2048,"src":"1206:40:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1969,"name":"address","nodeType":"ElementaryTypeName","src":"1206:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"id":1970,"name":"DEFAULT_SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1958,"src":"1232:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":1981,"nodeType":"Block","src":"1335:35:21","statements":[{"expression":{"id":1979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1977,"name":"_fxChild","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1968,"src":"1345:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1978,"name":"fxChild","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1974,"src":"1356:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1345:18:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1980,"nodeType":"ExpressionStatement","src":"1345:18:21"}]},"documentation":{"id":1972,"nodeType":"StructuredDocumentation","src":"1253:48:21","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":1982,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1974,"mutability":"mutable","name":"fxChild","nameLocation":"1326:7:21","nodeType":"VariableDeclaration","scope":1982,"src":"1318:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1973,"name":"address","nodeType":"ElementaryTypeName","src":"1318:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1317:17:21"},"returnParameters":{"id":1976,"nodeType":"ParameterList","parameters":[],"src":"1335:0:21"},"scope":2048,"src":"1306:64:21","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[1544],"body":{"id":1994,"nodeType":"Block","src":"1513:46:21","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1989,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1530:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1530:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1991,"name":"_fxChild","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1968,"src":"1544:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1530:22:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1988,"id":1993,"nodeType":"Return","src":"1523:29:21"}]},"documentation":{"id":1983,"nodeType":"StructuredDocumentation","src":"1376:61:21","text":" @dev see {CrossChainEnabled-_isCrossChain}"},"id":1995,"implemented":true,"kind":"function","modifiers":[],"name":"_isCrossChain","nameLocation":"1451:13:21","nodeType":"FunctionDefinition","overrides":{"id":1985,"nodeType":"OverrideSpecifier","overrides":[],"src":"1489:8:21"},"parameters":{"id":1984,"nodeType":"ParameterList","parameters":[],"src":"1464:2:21"},"returnParameters":{"id":1988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1995,"src":"1507:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1986,"name":"bool","nodeType":"ElementaryTypeName","src":"1507:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1506:6:21"},"scope":2048,"src":"1442:117:21","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1550],"body":{"id":2006,"nodeType":"Block","src":"1728:31:21","statements":[{"expression":{"id":2004,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"1745:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2003,"id":2005,"nodeType":"Return","src":"1738:14:21"}]},"documentation":{"id":1996,"nodeType":"StructuredDocumentation","src":"1565:65:21","text":" @dev see {CrossChainEnabled-_crossChainSender}"},"id":2007,"implemented":true,"kind":"function","modifiers":[{"id":2000,"kind":"modifierInvocation","modifierName":{"id":1999,"name":"onlyCrossChain","nodeType":"IdentifierPath","referencedDeclaration":1517,"src":"1695:14:21"},"nodeType":"ModifierInvocation","src":"1695:14:21"}],"name":"_crossChainSender","nameLocation":"1644:17:21","nodeType":"FunctionDefinition","overrides":{"id":1998,"nodeType":"OverrideSpecifier","overrides":[],"src":"1686:8:21"},"parameters":{"id":1997,"nodeType":"ParameterList","parameters":[],"src":"1661:2:21"},"returnParameters":{"id":2003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2007,"src":"1719:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2001,"name":"address","nodeType":"ElementaryTypeName","src":"1719:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1718:9:21"},"scope":2048,"src":"1635:124:21","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[30928],"body":{"id":2046,"nodeType":"Block","src":"2345:228:21","statements":[{"condition":{"id":2022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2359:16:21","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2020,"name":"_isCrossChain","nodeType":"Identifier","overloadedDeclarations":[1995],"referencedDeclaration":1995,"src":"2360:13:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":2021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2360:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2026,"nodeType":"IfStatement","src":"2355:48:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2023,"name":"NotCrossChainCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"2384:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2384:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2025,"nodeType":"RevertStatement","src":"2377:26:21"}},{"expression":{"id":2029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2027,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"2414:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2028,"name":"rootMessageSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2012,"src":"2424:17:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2414:27:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2030,"nodeType":"ExpressionStatement","src":"2414:27:21"},{"expression":{"arguments":[{"arguments":[{"id":2036,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2488:4:21","typeDescriptions":{"typeIdentifier":"t_contract$_CrossChainEnabledPolygonChild_$2048","typeString":"contract CrossChainEnabledPolygonChild"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CrossChainEnabledPolygonChild_$2048","typeString":"contract CrossChainEnabledPolygonChild"}],"id":2035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2480:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2034,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:21","typeDescriptions":{}}},"id":2037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2480:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2038,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2014,"src":"2495:4:21","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"hexValue":"63726f73732d636861696e20657865637574696f6e206661696c6564","id":2039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2501:30:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_a949afe3bafe819a3e8c4fec74116865cc8be9002fbe6b9f0b3377efea55df6a","typeString":"literal_string \"cross-chain execution failed\""},"value":"cross-chain execution failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_stringliteral_a949afe3bafe819a3e8c4fec74116865cc8be9002fbe6b9f0b3377efea55df6a","typeString":"literal_string \"cross-chain execution failed\""}],"expression":{"id":2031,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"2451:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":2033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":20604,"src":"2451:28:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":2040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2451:81:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2041,"nodeType":"ExpressionStatement","src":"2451:81:21"},{"expression":{"id":2044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2042,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"2542:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2043,"name":"DEFAULT_SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1958,"src":"2552:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2542:24:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2045,"nodeType":"ExpressionStatement","src":"2542:24:21"}]},"documentation":{"id":2008,"nodeType":"StructuredDocumentation","src":"1765:411:21","text":" @dev External entry point to receive and relay messages originating\n from the fxChild.\n Non-reentrancy is crucial to avoid a cross-chain call being able\n to impersonate anyone by just looping through this with user-defined\n arguments.\n Note: if _fxChild calls any other function that does a delegate-call,\n then security could be compromised."},"functionSelector":"9a7c4b71","id":2047,"implemented":true,"kind":"function","modifiers":[{"id":2018,"kind":"modifierInvocation","modifierName":{"id":2017,"name":"nonReentrant","nodeType":"IdentifierPath","referencedDeclaration":10735,"src":"2332:12:21"},"nodeType":"ModifierInvocation","src":"2332:12:21"}],"name":"processMessageFromRoot","nameLocation":"2190:22:21","nodeType":"FunctionDefinition","overrides":{"id":2016,"nodeType":"OverrideSpecifier","overrides":[],"src":"2323:8:21"},"parameters":{"id":2015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2010,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2047,"src":"2222:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2009,"name":"uint256","nodeType":"ElementaryTypeName","src":"2222:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2012,"mutability":"mutable","name":"rootMessageSender","nameLocation":"2261:17:21","nodeType":"VariableDeclaration","scope":2047,"src":"2253:25:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2011,"name":"address","nodeType":"ElementaryTypeName","src":"2253:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2014,"mutability":"mutable","name":"data","nameLocation":"2303:4:21","nodeType":"VariableDeclaration","scope":2047,"src":"2288:19:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":2013,"name":"bytes","nodeType":"ElementaryTypeName","src":"2288:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2212:101:21"},"returnParameters":{"id":2019,"nodeType":"ParameterList","parameters":[],"src":"2345:0:21"},"scope":2048,"src":"2181:392:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":2049,"src":"987:1588:21","usedErrors":[1849]}],"src":"136:2440:21"},"id":21},"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"IERC20":[13470],"IERC20Permit":[15968],"PaymentSplitter":[2521],"SafeERC20":[16414]},"id":2522,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2050,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"111:23:22"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","file":"../token/ERC20/utils/SafeERC20.sol","id":2051,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2522,"sourceUnit":16415,"src":"136:44:22","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../utils/Address.sol","id":2052,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2522,"sourceUnit":20689,"src":"181:30:22","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":2053,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2522,"sourceUnit":22282,"src":"212:30:22","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":2055,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1499:7:22"},"id":2056,"nodeType":"InheritanceSpecifier","src":"1499:7:22"}],"canonicalName":"PaymentSplitter","contractDependencies":[],"contractKind":"contract","documentation":{"id":2054,"nodeType":"StructuredDocumentation","src":"244:1226:22","text":" @title PaymentSplitter\n @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware\n that the Ether will be split in this way, since it is handled transparently by the contract.\n The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each\n account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim\n an amount proportional to the percentage of total shares they were assigned. The distribution of shares is set at the\n time of contract deployment and can't be updated thereafter.\n `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the\n accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release}\n function.\n NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and\n tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you\n to run tests before sending real value to this contract."},"fullyImplemented":true,"id":2521,"linearizedBaseContracts":[2521,22281],"name":"PaymentSplitter","nameLocation":"1480:15:22","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":2062,"name":"PayeeAdded","nameLocation":"1519:10:22","nodeType":"EventDefinition","parameters":{"id":2061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2058,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1538:7:22","nodeType":"VariableDeclaration","scope":2062,"src":"1530:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2057,"name":"address","nodeType":"ElementaryTypeName","src":"1530:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2060,"indexed":false,"mutability":"mutable","name":"shares","nameLocation":"1555:6:22","nodeType":"VariableDeclaration","scope":2062,"src":"1547:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2059,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1529:33:22"},"src":"1513:50:22"},{"anonymous":false,"id":2068,"name":"PaymentReleased","nameLocation":"1574:15:22","nodeType":"EventDefinition","parameters":{"id":2067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2064,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"1598:2:22","nodeType":"VariableDeclaration","scope":2068,"src":"1590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2063,"name":"address","nodeType":"ElementaryTypeName","src":"1590:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2066,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1610:6:22","nodeType":"VariableDeclaration","scope":2068,"src":"1602:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2065,"name":"uint256","nodeType":"ElementaryTypeName","src":"1602:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1589:28:22"},"src":"1568:50:22"},{"anonymous":false,"id":2077,"name":"ERC20PaymentReleased","nameLocation":"1629:20:22","nodeType":"EventDefinition","parameters":{"id":2076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2071,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"1665:5:22","nodeType":"VariableDeclaration","scope":2077,"src":"1650:20:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":2070,"nodeType":"UserDefinedTypeName","pathNode":{"id":2069,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1650:6:22"},"referencedDeclaration":13470,"src":"1650:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":2073,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"1680:2:22","nodeType":"VariableDeclaration","scope":2077,"src":"1672:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2072,"name":"address","nodeType":"ElementaryTypeName","src":"1672:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2075,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1692:6:22","nodeType":"VariableDeclaration","scope":2077,"src":"1684:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2074,"name":"uint256","nodeType":"ElementaryTypeName","src":"1684:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1649:50:22"},"src":"1623:77:22"},{"anonymous":false,"id":2083,"name":"PaymentReceived","nameLocation":"1711:15:22","nodeType":"EventDefinition","parameters":{"id":2082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"1735:4:22","nodeType":"VariableDeclaration","scope":2083,"src":"1727:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"1727:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2081,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1749:6:22","nodeType":"VariableDeclaration","scope":2083,"src":"1741:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2080,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1726:30:22"},"src":"1705:52:22"},{"constant":false,"id":2085,"mutability":"mutable","name":"_totalShares","nameLocation":"1779:12:22","nodeType":"VariableDeclaration","scope":2521,"src":"1763:28:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2084,"name":"uint256","nodeType":"ElementaryTypeName","src":"1763:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":2087,"mutability":"mutable","name":"_totalReleased","nameLocation":"1813:14:22","nodeType":"VariableDeclaration","scope":2521,"src":"1797:30:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2086,"name":"uint256","nodeType":"ElementaryTypeName","src":"1797:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":2091,"mutability":"mutable","name":"_shares","nameLocation":"1870:7:22","nodeType":"VariableDeclaration","scope":2521,"src":"1834:43:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2090,"keyType":{"id":2088,"name":"address","nodeType":"ElementaryTypeName","src":"1842:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1834:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2089,"name":"uint256","nodeType":"ElementaryTypeName","src":"1853:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":2095,"mutability":"mutable","name":"_released","nameLocation":"1919:9:22","nodeType":"VariableDeclaration","scope":2521,"src":"1883:45:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2094,"keyType":{"id":2092,"name":"address","nodeType":"ElementaryTypeName","src":"1891:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1883:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2093,"name":"uint256","nodeType":"ElementaryTypeName","src":"1902:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":2098,"mutability":"mutable","name":"_payees","nameLocation":"1952:7:22","nodeType":"VariableDeclaration","scope":2521,"src":"1934:25:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":2096,"name":"address","nodeType":"ElementaryTypeName","src":"1934:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2097,"nodeType":"ArrayTypeName","src":"1934:9:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":2103,"mutability":"mutable","name":"_erc20TotalReleased","nameLocation":"2001:19:22","nodeType":"VariableDeclaration","scope":2521,"src":"1966:54:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_uint256_$","typeString":"mapping(contract IERC20 => uint256)"},"typeName":{"id":2102,"keyType":{"id":2100,"nodeType":"UserDefinedTypeName","pathNode":{"id":2099,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1974:6:22"},"referencedDeclaration":13470,"src":"1974:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"nodeType":"Mapping","src":"1966:26:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_uint256_$","typeString":"mapping(contract IERC20 => uint256)"},"valueType":{"id":2101,"name":"uint256","nodeType":"ElementaryTypeName","src":"1984:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":2110,"mutability":"mutable","name":"_erc20Released","nameLocation":"2081:14:22","nodeType":"VariableDeclaration","scope":2521,"src":"2026:69:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(contract IERC20 => mapping(address => uint256))"},"typeName":{"id":2109,"keyType":{"id":2105,"nodeType":"UserDefinedTypeName","pathNode":{"id":2104,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"2034:6:22"},"referencedDeclaration":13470,"src":"2034:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"nodeType":"Mapping","src":"2026:46:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(contract IERC20 => mapping(address => uint256))"},"valueType":{"id":2108,"keyType":{"id":2106,"name":"address","nodeType":"ElementaryTypeName","src":"2052:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2044:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2107,"name":"uint256","nodeType":"ElementaryTypeName","src":"2063:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"body":{"id":2159,"nodeType":"Block","src":"2519:288:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2121,"name":"payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"2537:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2537:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2123,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"2554:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2554:14:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2537:31:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a2070617965657320616e6420736861726573206c656e677468206d69736d61746368","id":2126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2570:52:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5e39d6690ea50b22e040fe9ba22acf868e3d7f78e6ca8dc7ae3224a0aade89f","typeString":"literal_string \"PaymentSplitter: payees and shares length mismatch\""},"value":"PaymentSplitter: payees and shares length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a5e39d6690ea50b22e040fe9ba22acf868e3d7f78e6ca8dc7ae3224a0aade89f","typeString":"literal_string \"PaymentSplitter: payees and shares length mismatch\""}],"id":2120,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2529:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2529:94:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2128,"nodeType":"ExpressionStatement","src":"2529:94:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2130,"name":"payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"2641:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2641:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2657:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2641:17:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206e6f20706179656573","id":2134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2660:28:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1437b0f4053e38629626a98d8100226576b62fcebc211e7a49225bd05994643","typeString":"literal_string \"PaymentSplitter: no payees\""},"value":"PaymentSplitter: no payees"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f1437b0f4053e38629626a98d8100226576b62fcebc211e7a49225bd05994643","typeString":"literal_string \"PaymentSplitter: no payees\""}],"id":2129,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2633:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2633:56:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2136,"nodeType":"ExpressionStatement","src":"2633:56:22"},{"body":{"id":2157,"nodeType":"Block","src":"2744:57:22","statements":[{"expression":{"arguments":[{"baseExpression":{"id":2149,"name":"payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"2768:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2151,"indexExpression":{"id":2150,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2775:1:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2768:9:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":2152,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"2779:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":2154,"indexExpression":{"id":2153,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2787:1:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2779:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2148,"name":"_addPayee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"2758:9:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2758:32:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2156,"nodeType":"ExpressionStatement","src":"2758:32:22"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2141,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2720:1:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":2142,"name":"payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"2724:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2724:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2720:17:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2158,"initializationExpression":{"assignments":[2138],"declarations":[{"constant":false,"id":2138,"mutability":"mutable","name":"i","nameLocation":"2713:1:22","nodeType":"VariableDeclaration","scope":2158,"src":"2705:9:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2137,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2140,"initialValue":{"hexValue":"30","id":2139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2705:13:22"},"loopExpression":{"expression":{"id":2146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2739:3:22","subExpression":{"id":2145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2739:1:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2147,"nodeType":"ExpressionStatement","src":"2739:3:22"},"nodeType":"ForStatement","src":"2700:101:22"}]},"documentation":{"id":2111,"nodeType":"StructuredDocumentation","src":"2102:341:22","text":" @dev Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at\n the matching position in the `shares` array.\n All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no\n duplicates in `payees`."},"id":2160,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2114,"mutability":"mutable","name":"payees","nameLocation":"2477:6:22","nodeType":"VariableDeclaration","scope":2160,"src":"2460:23:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2112,"name":"address","nodeType":"ElementaryTypeName","src":"2460:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2113,"nodeType":"ArrayTypeName","src":"2460:9:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2117,"mutability":"mutable","name":"shares_","nameLocation":"2502:7:22","nodeType":"VariableDeclaration","scope":2160,"src":"2485:24:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2115,"name":"uint256","nodeType":"ElementaryTypeName","src":"2485:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2116,"nodeType":"ArrayTypeName","src":"2485:9:22","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2459:51:22"},"returnParameters":{"id":2119,"nodeType":"ParameterList","parameters":[],"src":"2519:0:22"},"scope":2521,"src":"2448:359:22","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":2171,"nodeType":"Block","src":"3354:62:22","statements":[{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":2165,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3385:10:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3385:12:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2167,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3399:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"3399:9:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2164,"name":"PaymentReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"3369:15:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3369:40:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2170,"nodeType":"EmitStatement","src":"3364:45:22"}]},"documentation":{"id":2161,"nodeType":"StructuredDocumentation","src":"2813:501:22","text":" @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully\n reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the\n reliability of the events, and not the actual splitting of Ether.\n To learn more about this see the Solidity documentation for\n https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback\n functions]."},"id":2172,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2162,"nodeType":"ParameterList","parameters":[],"src":"3326:2:22"},"returnParameters":{"id":2163,"nodeType":"ParameterList","parameters":[],"src":"3354:0:22"},"scope":2521,"src":"3319:97:22","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":2180,"nodeType":"Block","src":"3547:36:22","statements":[{"expression":{"id":2178,"name":"_totalShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2085,"src":"3564:12:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2177,"id":2179,"nodeType":"Return","src":"3557:19:22"}]},"documentation":{"id":2173,"nodeType":"StructuredDocumentation","src":"3422:67:22","text":" @dev Getter for the total shares held by payees."},"functionSelector":"3a98ef39","id":2181,"implemented":true,"kind":"function","modifiers":[],"name":"totalShares","nameLocation":"3503:11:22","nodeType":"FunctionDefinition","parameters":{"id":2174,"nodeType":"ParameterList","parameters":[],"src":"3514:2:22"},"returnParameters":{"id":2177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2181,"src":"3538:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2175,"name":"uint256","nodeType":"ElementaryTypeName","src":"3538:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3537:9:22"},"scope":2521,"src":"3494:89:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2189,"nodeType":"Block","src":"3727:38:22","statements":[{"expression":{"id":2187,"name":"_totalReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2087,"src":"3744:14:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2186,"id":2188,"nodeType":"Return","src":"3737:21:22"}]},"documentation":{"id":2182,"nodeType":"StructuredDocumentation","src":"3589:78:22","text":" @dev Getter for the total amount of Ether already released."},"functionSelector":"e33b7de3","id":2190,"implemented":true,"kind":"function","modifiers":[],"name":"totalReleased","nameLocation":"3681:13:22","nodeType":"FunctionDefinition","parameters":{"id":2183,"nodeType":"ParameterList","parameters":[],"src":"3694:2:22"},"returnParameters":{"id":2186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2190,"src":"3718:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2184,"name":"uint256","nodeType":"ElementaryTypeName","src":"3718:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3717:9:22"},"scope":2521,"src":"3672:93:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2203,"nodeType":"Block","src":"3983:50:22","statements":[{"expression":{"baseExpression":{"id":2199,"name":"_erc20TotalReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2103,"src":"4000:19:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_uint256_$","typeString":"mapping(contract IERC20 => uint256)"}},"id":2201,"indexExpression":{"id":2200,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2194,"src":"4020:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4000:26:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2198,"id":2202,"nodeType":"Return","src":"3993:33:22"}]},"documentation":{"id":2191,"nodeType":"StructuredDocumentation","src":"3771:140:22","text":" @dev Getter for the total amount of `token` already released. `token` should be the address of an IERC20\n contract."},"functionSelector":"d79779b2","id":2204,"implemented":true,"kind":"function","modifiers":[],"name":"totalReleased","nameLocation":"3925:13:22","nodeType":"FunctionDefinition","parameters":{"id":2195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2194,"mutability":"mutable","name":"token","nameLocation":"3946:5:22","nodeType":"VariableDeclaration","scope":2204,"src":"3939:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":2193,"nodeType":"UserDefinedTypeName","pathNode":{"id":2192,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"3939:6:22"},"referencedDeclaration":13470,"src":"3939:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"3938:14:22"},"returnParameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2204,"src":"3974:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2196,"name":"uint256","nodeType":"ElementaryTypeName","src":"3974:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3973:9:22"},"scope":2521,"src":"3916:117:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2216,"nodeType":"Block","src":"4182:40:22","statements":[{"expression":{"baseExpression":{"id":2212,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"4199:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2214,"indexExpression":{"id":2213,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2207,"src":"4207:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4199:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2211,"id":2215,"nodeType":"Return","src":"4192:23:22"}]},"documentation":{"id":2205,"nodeType":"StructuredDocumentation","src":"4039:75:22","text":" @dev Getter for the amount of shares held by an account."},"functionSelector":"ce7c2ac2","id":2217,"implemented":true,"kind":"function","modifiers":[],"name":"shares","nameLocation":"4128:6:22","nodeType":"FunctionDefinition","parameters":{"id":2208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2207,"mutability":"mutable","name":"account","nameLocation":"4143:7:22","nodeType":"VariableDeclaration","scope":2217,"src":"4135:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2206,"name":"address","nodeType":"ElementaryTypeName","src":"4135:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4134:17:22"},"returnParameters":{"id":2211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2217,"src":"4173:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2209,"name":"uint256","nodeType":"ElementaryTypeName","src":"4173:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4172:9:22"},"scope":2521,"src":"4119:103:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2229,"nodeType":"Block","src":"4381:42:22","statements":[{"expression":{"baseExpression":{"id":2225,"name":"_released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2095,"src":"4398:9:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2227,"indexExpression":{"id":2226,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2220,"src":"4408:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4398:18:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2224,"id":2228,"nodeType":"Return","src":"4391:25:22"}]},"documentation":{"id":2218,"nodeType":"StructuredDocumentation","src":"4228:83:22","text":" @dev Getter for the amount of Ether already released to a payee."},"functionSelector":"9852595c","id":2230,"implemented":true,"kind":"function","modifiers":[],"name":"released","nameLocation":"4325:8:22","nodeType":"FunctionDefinition","parameters":{"id":2221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2220,"mutability":"mutable","name":"account","nameLocation":"4342:7:22","nodeType":"VariableDeclaration","scope":2230,"src":"4334:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2219,"name":"address","nodeType":"ElementaryTypeName","src":"4334:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4333:17:22"},"returnParameters":{"id":2224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2230,"src":"4372:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2222,"name":"uint256","nodeType":"ElementaryTypeName","src":"4372:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4371:9:22"},"scope":2521,"src":"4316:107:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2247,"nodeType":"Block","src":"4665:54:22","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":2241,"name":"_erc20Released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2110,"src":"4682:14:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(contract IERC20 => mapping(address => uint256))"}},"id":2243,"indexExpression":{"id":2242,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"4697:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4682:21:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2245,"indexExpression":{"id":2244,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"4704:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4682:30:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2240,"id":2246,"nodeType":"Return","src":"4675:37:22"}]},"documentation":{"id":2231,"nodeType":"StructuredDocumentation","src":"4429:152:22","text":" @dev Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an\n IERC20 contract."},"functionSelector":"406072a9","id":2248,"implemented":true,"kind":"function","modifiers":[],"name":"released","nameLocation":"4595:8:22","nodeType":"FunctionDefinition","parameters":{"id":2237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2234,"mutability":"mutable","name":"token","nameLocation":"4611:5:22","nodeType":"VariableDeclaration","scope":2248,"src":"4604:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":2233,"nodeType":"UserDefinedTypeName","pathNode":{"id":2232,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"4604:6:22"},"referencedDeclaration":13470,"src":"4604:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":2236,"mutability":"mutable","name":"account","nameLocation":"4626:7:22","nodeType":"VariableDeclaration","scope":2248,"src":"4618:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2235,"name":"address","nodeType":"ElementaryTypeName","src":"4618:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4603:31:22"},"returnParameters":{"id":2240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2248,"src":"4656:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2238,"name":"uint256","nodeType":"ElementaryTypeName","src":"4656:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4655:9:22"},"scope":2521,"src":"4586:133:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2260,"nodeType":"Block","src":"4865:38:22","statements":[{"expression":{"baseExpression":{"id":2256,"name":"_payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2098,"src":"4882:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":2258,"indexExpression":{"id":2257,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"4890:5:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4882:14:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2255,"id":2259,"nodeType":"Return","src":"4875:21:22"}]},"documentation":{"id":2249,"nodeType":"StructuredDocumentation","src":"4725:75:22","text":" @dev Getter for the address of the payee number `index`."},"functionSelector":"8b83209b","id":2261,"implemented":true,"kind":"function","modifiers":[],"name":"payee","nameLocation":"4814:5:22","nodeType":"FunctionDefinition","parameters":{"id":2252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2251,"mutability":"mutable","name":"index","nameLocation":"4828:5:22","nodeType":"VariableDeclaration","scope":2261,"src":"4820:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2250,"name":"uint256","nodeType":"ElementaryTypeName","src":"4820:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4819:15:22"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2261,"src":"4856:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2253,"name":"address","nodeType":"ElementaryTypeName","src":"4856:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4855:9:22"},"scope":2521,"src":"4805:98:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2288,"nodeType":"Block","src":"5055:155:22","statements":[{"assignments":[2270],"declarations":[{"constant":false,"id":2270,"mutability":"mutable","name":"totalReceived","nameLocation":"5073:13:22","nodeType":"VariableDeclaration","scope":2288,"src":"5065:21:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2269,"name":"uint256","nodeType":"ElementaryTypeName","src":"5065:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2279,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5097:4:22","typeDescriptions":{"typeIdentifier":"t_contract$_PaymentSplitter_$2521","typeString":"contract PaymentSplitter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PaymentSplitter_$2521","typeString":"contract PaymentSplitter"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5089:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"5089:7:22","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5089:13:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"5089:21:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2276,"name":"totalReleased","nodeType":"Identifier","overloadedDeclarations":[2190,2204],"referencedDeclaration":2190,"src":"5113:13:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5113:15:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5089:39:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5065:63:22"},{"expression":{"arguments":[{"id":2281,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"5161:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2282,"name":"totalReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2270,"src":"5170:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2284,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"5194:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2283,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2230,2248],"referencedDeclaration":2230,"src":"5185:8:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5185:17:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2280,"name":"_pendingPayment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"5145:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":2286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5145:58:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2268,"id":2287,"nodeType":"Return","src":"5138:65:22"}]},"documentation":{"id":2262,"nodeType":"StructuredDocumentation","src":"4909:74:22","text":" @dev Getter for the amount of payee's releasable Ether."},"functionSelector":"a3f8eace","id":2289,"implemented":true,"kind":"function","modifiers":[],"name":"releasable","nameLocation":"4997:10:22","nodeType":"FunctionDefinition","parameters":{"id":2265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2264,"mutability":"mutable","name":"account","nameLocation":"5016:7:22","nodeType":"VariableDeclaration","scope":2289,"src":"5008:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2263,"name":"address","nodeType":"ElementaryTypeName","src":"5008:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5007:17:22"},"returnParameters":{"id":2268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2289,"src":"5046:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"5046:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5045:9:22"},"scope":2521,"src":"4988:222:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2323,"nodeType":"Block","src":"5445:176:22","statements":[{"assignments":[2301],"declarations":[{"constant":false,"id":2301,"mutability":"mutable","name":"totalReceived","nameLocation":"5463:13:22","nodeType":"VariableDeclaration","scope":2323,"src":"5455:21:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2300,"name":"uint256","nodeType":"ElementaryTypeName","src":"5455:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2313,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2306,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5503:4:22","typeDescriptions":{"typeIdentifier":"t_contract$_PaymentSplitter_$2521","typeString":"contract PaymentSplitter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PaymentSplitter_$2521","typeString":"contract PaymentSplitter"}],"id":2305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5495:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2304,"name":"address","nodeType":"ElementaryTypeName","src":"5495:7:22","typeDescriptions":{}}},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5495:13:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2302,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"5479:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":2303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":13427,"src":"5479:15:22","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5479:30:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":2310,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"5526:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":2309,"name":"totalReleased","nodeType":"Identifier","overloadedDeclarations":[2190,2204],"referencedDeclaration":2204,"src":"5512:13:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IERC20_$13470_$returns$_t_uint256_$","typeString":"function (contract IERC20) view returns (uint256)"}},"id":2311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5512:20:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5479:53:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5455:77:22"},{"expression":{"arguments":[{"id":2315,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"5565:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2316,"name":"totalReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2301,"src":"5574:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2318,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"5598:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":2319,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"5605:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2317,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2230,2248],"referencedDeclaration":2248,"src":"5589:8:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IERC20_$13470_$_t_address_$returns$_t_uint256_$","typeString":"function (contract IERC20,address) view returns (uint256)"}},"id":2320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5589:24:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2314,"name":"_pendingPayment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"5549:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":2321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5549:65:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2299,"id":2322,"nodeType":"Return","src":"5542:72:22"}]},"documentation":{"id":2290,"nodeType":"StructuredDocumentation","src":"5216:143:22","text":" @dev Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an\n IERC20 contract."},"functionSelector":"c45ac050","id":2324,"implemented":true,"kind":"function","modifiers":[],"name":"releasable","nameLocation":"5373:10:22","nodeType":"FunctionDefinition","parameters":{"id":2296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2293,"mutability":"mutable","name":"token","nameLocation":"5391:5:22","nodeType":"VariableDeclaration","scope":2324,"src":"5384:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":2292,"nodeType":"UserDefinedTypeName","pathNode":{"id":2291,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"5384:6:22"},"referencedDeclaration":13470,"src":"5384:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":2295,"mutability":"mutable","name":"account","nameLocation":"5406:7:22","nodeType":"VariableDeclaration","scope":2324,"src":"5398:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2294,"name":"address","nodeType":"ElementaryTypeName","src":"5398:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5383:31:22"},"returnParameters":{"id":2299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2324,"src":"5436:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2297,"name":"uint256","nodeType":"ElementaryTypeName","src":"5436:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5435:9:22"},"scope":2521,"src":"5364:257:22","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2375,"nodeType":"Block","src":"5872:598:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":2331,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"5890:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2333,"indexExpression":{"id":2332,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"5898:7:22","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5890:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5909:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5890:20:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420686173206e6f20736861726573","id":2336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5912:40:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd","typeString":"literal_string \"PaymentSplitter: account has no shares\""},"value":"PaymentSplitter: account has no shares"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd","typeString":"literal_string \"PaymentSplitter: account has no shares\""}],"id":2330,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5882:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5882:71:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2338,"nodeType":"ExpressionStatement","src":"5882:71:22"},{"assignments":[2340],"declarations":[{"constant":false,"id":2340,"mutability":"mutable","name":"payment","nameLocation":"5972:7:22","nodeType":"VariableDeclaration","scope":2375,"src":"5964:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2339,"name":"uint256","nodeType":"ElementaryTypeName","src":"5964:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2344,"initialValue":{"arguments":[{"id":2342,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"5993:7:22","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2341,"name":"releasable","nodeType":"Identifier","overloadedDeclarations":[2289,2324],"referencedDeclaration":2289,"src":"5982:10:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5982:19:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5964:37:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2346,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2340,"src":"6020:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6031:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6020:12:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e74206973206e6f7420647565207061796d656e74","id":2349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6034:45:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4","typeString":"literal_string \"PaymentSplitter: account is not due payment\""},"value":"PaymentSplitter: account is not due payment"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4","typeString":"literal_string \"PaymentSplitter: account is not due payment\""}],"id":2345,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6012:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6012:68:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2351,"nodeType":"ExpressionStatement","src":"6012:68:22"},{"expression":{"id":2354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2352,"name":"_totalReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2087,"src":"6271:14:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2353,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2340,"src":"6289:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6271:25:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2355,"nodeType":"ExpressionStatement","src":"6271:25:22"},{"id":2362,"nodeType":"UncheckedBlock","src":"6306:64:22","statements":[{"expression":{"id":2360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2356,"name":"_released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2095,"src":"6330:9:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2358,"indexExpression":{"id":2357,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"6340:7:22","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:18:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2359,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2340,"src":"6352:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:29:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2361,"nodeType":"ExpressionStatement","src":"6330:29:22"}]},{"expression":{"arguments":[{"id":2366,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"6398:7:22","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":2367,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2340,"src":"6407:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2363,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"6380:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":2365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sendValue","nodeType":"MemberAccess","referencedDeclaration":20410,"src":"6380:17:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6380:35:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2369,"nodeType":"ExpressionStatement","src":"6380:35:22"},{"eventCall":{"arguments":[{"id":2371,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"6446:7:22","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":2372,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2340,"src":"6455:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2370,"name":"PaymentReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2068,"src":"6430:15:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6430:33:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2374,"nodeType":"EmitStatement","src":"6425:38:22"}]},"documentation":{"id":2325,"nodeType":"StructuredDocumentation","src":"5627:183:22","text":" @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the\n total shares and their previous withdrawals."},"functionSelector":"19165587","id":2376,"implemented":true,"kind":"function","modifiers":[],"name":"release","nameLocation":"5824:7:22","nodeType":"FunctionDefinition","parameters":{"id":2328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2327,"mutability":"mutable","name":"account","nameLocation":"5848:7:22","nodeType":"VariableDeclaration","scope":2376,"src":"5832:23:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2326,"name":"address","nodeType":"ElementaryTypeName","src":"5832:15:22","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"5831:25:22"},"returnParameters":{"id":2329,"nodeType":"ParameterList","parameters":[],"src":"5872:0:22"},"scope":2521,"src":"5815:655:22","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":2437,"nodeType":"Block","src":"6794:712:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":2386,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6812:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2388,"indexExpression":{"id":2387,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"6820:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6812:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6812:20:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420686173206e6f20736861726573","id":2391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6834:40:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd","typeString":"literal_string \"PaymentSplitter: account has no shares\""},"value":"PaymentSplitter: account has no shares"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd","typeString":"literal_string \"PaymentSplitter: account has no shares\""}],"id":2385,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6804:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6804:71:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2393,"nodeType":"ExpressionStatement","src":"6804:71:22"},{"assignments":[2395],"declarations":[{"constant":false,"id":2395,"mutability":"mutable","name":"payment","nameLocation":"6894:7:22","nodeType":"VariableDeclaration","scope":2437,"src":"6886:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2394,"name":"uint256","nodeType":"ElementaryTypeName","src":"6886:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2400,"initialValue":{"arguments":[{"id":2397,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"6915:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":2398,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"6922:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2396,"name":"releasable","nodeType":"Identifier","overloadedDeclarations":[2289,2324],"referencedDeclaration":2324,"src":"6904:10:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IERC20_$13470_$_t_address_$returns$_t_uint256_$","typeString":"function (contract IERC20,address) view returns (uint256)"}},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6904:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6886:44:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2402,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"6949:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6960:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6949:12:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e74206973206e6f7420647565207061796d656e74","id":2405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6963:45:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4","typeString":"literal_string \"PaymentSplitter: account is not due payment\""},"value":"PaymentSplitter: account is not due payment"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4","typeString":"literal_string \"PaymentSplitter: account is not due payment\""}],"id":2401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6941:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6941:68:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2407,"nodeType":"ExpressionStatement","src":"6941:68:22"},{"expression":{"id":2412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2408,"name":"_erc20TotalReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2103,"src":"7259:19:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_uint256_$","typeString":"mapping(contract IERC20 => uint256)"}},"id":2410,"indexExpression":{"id":2409,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"7279:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7259:26:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2411,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7289:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7259:37:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2413,"nodeType":"ExpressionStatement","src":"7259:37:22"},{"id":2422,"nodeType":"UncheckedBlock","src":"7306:76:22","statements":[{"expression":{"id":2420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":2414,"name":"_erc20Released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2110,"src":"7330:14:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$13470_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(contract IERC20 => mapping(address => uint256))"}},"id":2417,"indexExpression":{"id":2415,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"7345:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7330:21:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2418,"indexExpression":{"id":2416,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"7352:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7330:30:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2419,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7364:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7330:41:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2421,"nodeType":"ExpressionStatement","src":"7330:41:22"}]},{"expression":{"arguments":[{"id":2426,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"7415:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":2427,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"7422:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2428,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7431:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2423,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"7392:9:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":2425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"7392:22:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":2429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7392:47:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2430,"nodeType":"ExpressionStatement","src":"7392:47:22"},{"eventCall":{"arguments":[{"id":2432,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"7475:5:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":2433,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"7482:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2434,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7491:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2431,"name":"ERC20PaymentReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2077,"src":"7454:20:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":2435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7454:45:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2436,"nodeType":"EmitStatement","src":"7449:50:22"}]},"documentation":{"id":2377,"nodeType":"StructuredDocumentation","src":"6476:250:22","text":" @dev Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their\n percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20\n contract."},"functionSelector":"48b75044","id":2438,"implemented":true,"kind":"function","modifiers":[],"name":"release","nameLocation":"6740:7:22","nodeType":"FunctionDefinition","parameters":{"id":2383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2380,"mutability":"mutable","name":"token","nameLocation":"6755:5:22","nodeType":"VariableDeclaration","scope":2438,"src":"6748:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":2379,"nodeType":"UserDefinedTypeName","pathNode":{"id":2378,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"6748:6:22"},"referencedDeclaration":13470,"src":"6748:6:22","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":2382,"mutability":"mutable","name":"account","nameLocation":"6770:7:22","nodeType":"VariableDeclaration","scope":2438,"src":"6762:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2381,"name":"address","nodeType":"ElementaryTypeName","src":"6762:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6747:31:22"},"returnParameters":{"id":2384,"nodeType":"ParameterList","parameters":[],"src":"6794:0:22"},"scope":2521,"src":"6731:775:22","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":2461,"nodeType":"Block","src":"7829:91:22","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2450,"name":"totalReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2443,"src":"7847:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"baseExpression":{"id":2451,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"7863:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2453,"indexExpression":{"id":2452,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2441,"src":"7871:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7863:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7847:32:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2455,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7846:34:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2456,"name":"_totalShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2085,"src":"7883:12:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7846:49:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2458,"name":"alreadyReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2445,"src":"7898:15:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7846:67:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2449,"id":2460,"nodeType":"Return","src":"7839:74:22"}]},"documentation":{"id":2439,"nodeType":"StructuredDocumentation","src":"7512:161:22","text":" @dev internal logic for computing the pending payment of an `account` given the token historical balances and\n already released amounts."},"id":2462,"implemented":true,"kind":"function","modifiers":[],"name":"_pendingPayment","nameLocation":"7687:15:22","nodeType":"FunctionDefinition","parameters":{"id":2446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2441,"mutability":"mutable","name":"account","nameLocation":"7720:7:22","nodeType":"VariableDeclaration","scope":2462,"src":"7712:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2440,"name":"address","nodeType":"ElementaryTypeName","src":"7712:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2443,"mutability":"mutable","name":"totalReceived","nameLocation":"7745:13:22","nodeType":"VariableDeclaration","scope":2462,"src":"7737:21:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2442,"name":"uint256","nodeType":"ElementaryTypeName","src":"7737:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2445,"mutability":"mutable","name":"alreadyReleased","nameLocation":"7776:15:22","nodeType":"VariableDeclaration","scope":2462,"src":"7768:23:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2444,"name":"uint256","nodeType":"ElementaryTypeName","src":"7768:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7702:95:22"},"returnParameters":{"id":2449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2462,"src":"7820:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2447,"name":"uint256","nodeType":"ElementaryTypeName","src":"7820:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7819:9:22"},"scope":2521,"src":"7678:242:22","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":2519,"nodeType":"Block","src":"8166:403:22","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2471,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"8184:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8203:1:22","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":2473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8195:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2472,"name":"address","nodeType":"ElementaryTypeName","src":"8195:7:22","typeDescriptions":{}}},"id":2475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8195:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8184:21:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420697320746865207a65726f2061646472657373","id":2477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8207:46:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_22db6c622fd62a15ab5fca8fc78156905c4f1b5914d7d1db97b192b87e8c816b","typeString":"literal_string \"PaymentSplitter: account is the zero address\""},"value":"PaymentSplitter: account is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_22db6c622fd62a15ab5fca8fc78156905c4f1b5914d7d1db97b192b87e8c816b","typeString":"literal_string \"PaymentSplitter: account is the zero address\""}],"id":2470,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8176:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8176:78:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2479,"nodeType":"ExpressionStatement","src":"8176:78:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2481,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2467,"src":"8272:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8282:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8272:11:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a20736861726573206172652030","id":2484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8285:31:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9c1be4d5245e2b1590d7367c9c09f1ac5365954d05fed4172915681bdc80ed4","typeString":"literal_string \"PaymentSplitter: shares are 0\""},"value":"PaymentSplitter: shares are 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f9c1be4d5245e2b1590d7367c9c09f1ac5365954d05fed4172915681bdc80ed4","typeString":"literal_string \"PaymentSplitter: shares are 0\""}],"id":2480,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8264:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8264:53:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2486,"nodeType":"ExpressionStatement","src":"8264:53:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":2488,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"8335:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2490,"indexExpression":{"id":2489,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"8343:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8335:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8355:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8335:21:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420616c72656164792068617320736861726573","id":2493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8358:45:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_df40dd957dfb1d655a61a3d20a7083773a63031454719eb1eb83074b56cf5635","typeString":"literal_string \"PaymentSplitter: account already has shares\""},"value":"PaymentSplitter: account already has shares"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df40dd957dfb1d655a61a3d20a7083773a63031454719eb1eb83074b56cf5635","typeString":"literal_string \"PaymentSplitter: account already has shares\""}],"id":2487,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8327:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8327:77:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2495,"nodeType":"ExpressionStatement","src":"8327:77:22"},{"expression":{"arguments":[{"id":2499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"8428:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2496,"name":"_payees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2098,"src":"8415:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":2498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"8415:12:22","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":2500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8415:21:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2501,"nodeType":"ExpressionStatement","src":"8415:21:22"},{"expression":{"id":2506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2502,"name":"_shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"8446:7:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2504,"indexExpression":{"id":2503,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"8454:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8446:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2505,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2467,"src":"8465:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8446:26:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2507,"nodeType":"ExpressionStatement","src":"8446:26:22"},{"expression":{"id":2512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2508,"name":"_totalShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2085,"src":"8482:12:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2509,"name":"_totalShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2085,"src":"8497:12:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2510,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2467,"src":"8512:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8497:22:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8482:37:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2513,"nodeType":"ExpressionStatement","src":"8482:37:22"},{"eventCall":{"arguments":[{"id":2515,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"8545:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2516,"name":"shares_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2467,"src":"8554:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2514,"name":"PayeeAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2062,"src":"8534:10:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8534:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2518,"nodeType":"EmitStatement","src":"8529:33:22"}]},"documentation":{"id":2463,"nodeType":"StructuredDocumentation","src":"7926:174:22","text":" @dev Add a new payee to the contract.\n @param account The address of the payee to add.\n @param shares_ The number of shares owned by the payee."},"id":2520,"implemented":true,"kind":"function","modifiers":[],"name":"_addPayee","nameLocation":"8114:9:22","nodeType":"FunctionDefinition","parameters":{"id":2468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2465,"mutability":"mutable","name":"account","nameLocation":"8132:7:22","nodeType":"VariableDeclaration","scope":2520,"src":"8124:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2464,"name":"address","nodeType":"ElementaryTypeName","src":"8124:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2467,"mutability":"mutable","name":"shares_","nameLocation":"8149:7:22","nodeType":"VariableDeclaration","scope":2520,"src":"8141:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2466,"name":"uint256","nodeType":"ElementaryTypeName","src":"8141:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:34:22"},"returnParameters":{"id":2469,"nodeType":"ParameterList","parameters":[],"src":"8166:0:22"},"scope":2521,"src":"8105:464:22","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":2522,"src":"1471:7100:22","usedErrors":[]}],"src":"111:8461:22"},"id":22},"contracts/@openzeppelin/contracts/finance/VestingWallet.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/finance/VestingWallet.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"IERC20":[13470],"IERC20Permit":[15968],"SafeERC20":[16414],"VestingWallet":[2835]},"id":2836,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2523,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:23"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","file":"../token/ERC20/utils/SafeERC20.sol","id":2524,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2836,"sourceUnit":16415,"src":"133:44:23","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../utils/Address.sol","id":2525,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2836,"sourceUnit":20689,"src":"178:30:23","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":2526,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2836,"sourceUnit":22282,"src":"209:30:23","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":2528,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"882:7:23"},"id":2529,"nodeType":"InheritanceSpecifier","src":"882:7:23"}],"canonicalName":"VestingWallet","contractDependencies":[],"contractKind":"contract","documentation":{"id":2527,"nodeType":"StructuredDocumentation","src":"241:614:23","text":" @title VestingWallet\n @dev This contract handles the vesting of Eth and ERC20 tokens for a given beneficiary. Custody of multiple tokens\n can be given to this contract, which will release the token to the beneficiary following a given vesting schedule.\n The vesting schedule is customizable through the {vestedAmount} function.\n Any token transferred to this contract will follow the vesting schedule as if they were locked from the beginning.\n Consequently, if the vesting has already started, any amount of tokens sent to this contract will (at least partly)\n be immediately releasable."},"fullyImplemented":true,"id":2835,"linearizedBaseContracts":[2835,22281],"name":"VestingWallet","nameLocation":"865:13:23","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":2533,"name":"EtherReleased","nameLocation":"902:13:23","nodeType":"EventDefinition","parameters":{"id":2532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2531,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"924:6:23","nodeType":"VariableDeclaration","scope":2533,"src":"916:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2530,"name":"uint256","nodeType":"ElementaryTypeName","src":"916:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"915:16:23"},"src":"896:36:23"},{"anonymous":false,"id":2539,"name":"ERC20Released","nameLocation":"943:13:23","nodeType":"EventDefinition","parameters":{"id":2538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2535,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"973:5:23","nodeType":"VariableDeclaration","scope":2539,"src":"957:21:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2534,"name":"address","nodeType":"ElementaryTypeName","src":"957:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2537,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"988:6:23","nodeType":"VariableDeclaration","scope":2539,"src":"980:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2536,"name":"uint256","nodeType":"ElementaryTypeName","src":"980:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"956:39:23"},"src":"937:59:23"},{"constant":false,"id":2541,"mutability":"mutable","name":"_released","nameLocation":"1018:9:23","nodeType":"VariableDeclaration","scope":2835,"src":"1002:25:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2540,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":2545,"mutability":"mutable","name":"_erc20Released","nameLocation":"1069:14:23","nodeType":"VariableDeclaration","scope":2835,"src":"1033:50:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2544,"keyType":{"id":2542,"name":"address","nodeType":"ElementaryTypeName","src":"1041:7:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1033:27:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2543,"name":"uint256","nodeType":"ElementaryTypeName","src":"1052:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":2547,"mutability":"immutable","name":"_beneficiary","nameLocation":"1115:12:23","nodeType":"VariableDeclaration","scope":2835,"src":"1089:38:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2546,"name":"address","nodeType":"ElementaryTypeName","src":"1089:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"id":2549,"mutability":"immutable","name":"_start","nameLocation":"1158:6:23","nodeType":"VariableDeclaration","scope":2835,"src":"1133:31:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2548,"name":"uint64","nodeType":"ElementaryTypeName","src":"1133:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"private"},{"constant":false,"id":2551,"mutability":"immutable","name":"_duration","nameLocation":"1195:9:23","nodeType":"VariableDeclaration","scope":2835,"src":"1170:34:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2550,"name":"uint64","nodeType":"ElementaryTypeName","src":"1170:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"private"},{"body":{"id":2583,"nodeType":"Block","src":"1445:217:23","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2562,"name":"beneficiaryAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"1463:18:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1493:1:23","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":2564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1485:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2563,"name":"address","nodeType":"ElementaryTypeName","src":"1485:7:23","typeDescriptions":{}}},"id":2566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1485:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1463:32:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"56657374696e6757616c6c65743a2062656e6566696369617279206973207a65726f2061646472657373","id":2568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1497:44:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_929adb52ede496b5ca2e6f2928d5ba886a15ec00481cf62dcfd83df2cff45918","typeString":"literal_string \"VestingWallet: beneficiary is zero address\""},"value":"VestingWallet: beneficiary is zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_929adb52ede496b5ca2e6f2928d5ba886a15ec00481cf62dcfd83df2cff45918","typeString":"literal_string \"VestingWallet: beneficiary is zero address\""}],"id":2561,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1455:7:23","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1455:87:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2570,"nodeType":"ExpressionStatement","src":"1455:87:23"},{"expression":{"id":2573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2571,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"1552:12:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2572,"name":"beneficiaryAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"1567:18:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1552:33:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2574,"nodeType":"ExpressionStatement","src":"1552:33:23"},{"expression":{"id":2577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2575,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2549,"src":"1595:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2576,"name":"startTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"1604:14:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"1595:23:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":2578,"nodeType":"ExpressionStatement","src":"1595:23:23"},{"expression":{"id":2581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2579,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"1628:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2580,"name":"durationSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2558,"src":"1640:15:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"1628:27:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":2582,"nodeType":"ExpressionStatement","src":"1628:27:23"}]},"documentation":{"id":2552,"nodeType":"StructuredDocumentation","src":"1211:104:23","text":" @dev Set the beneficiary, start timestamp and vesting duration of the vesting wallet."},"id":2584,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2554,"mutability":"mutable","name":"beneficiaryAddress","nameLocation":"1349:18:23","nodeType":"VariableDeclaration","scope":2584,"src":"1341:26:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2553,"name":"address","nodeType":"ElementaryTypeName","src":"1341:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2556,"mutability":"mutable","name":"startTimestamp","nameLocation":"1384:14:23","nodeType":"VariableDeclaration","scope":2584,"src":"1377:21:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2555,"name":"uint64","nodeType":"ElementaryTypeName","src":"1377:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":2558,"mutability":"mutable","name":"durationSeconds","nameLocation":"1415:15:23","nodeType":"VariableDeclaration","scope":2584,"src":"1408:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2557,"name":"uint64","nodeType":"ElementaryTypeName","src":"1408:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1331:105:23"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[],"src":"1445:0:23"},"scope":2835,"src":"1320:342:23","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":2588,"nodeType":"Block","src":"1775:2:23","statements":[]},"documentation":{"id":2585,"nodeType":"StructuredDocumentation","src":"1668:67:23","text":" @dev The contract should be able to receive Eth."},"id":2589,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2586,"nodeType":"ParameterList","parameters":[],"src":"1747:2:23"},"returnParameters":{"id":2587,"nodeType":"ParameterList","parameters":[],"src":"1775:0:23"},"scope":2835,"src":"1740:37:23","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":2597,"nodeType":"Block","src":"1908:36:23","statements":[{"expression":{"id":2595,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2547,"src":"1925:12:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2594,"id":2596,"nodeType":"Return","src":"1918:19:23"}]},"documentation":{"id":2590,"nodeType":"StructuredDocumentation","src":"1783:59:23","text":" @dev Getter for the beneficiary address."},"functionSelector":"38af3eed","id":2598,"implemented":true,"kind":"function","modifiers":[],"name":"beneficiary","nameLocation":"1856:11:23","nodeType":"FunctionDefinition","parameters":{"id":2591,"nodeType":"ParameterList","parameters":[],"src":"1867:2:23"},"returnParameters":{"id":2594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2598,"src":"1899:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2592,"name":"address","nodeType":"ElementaryTypeName","src":"1899:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1898:9:23"},"scope":2835,"src":"1847:97:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2606,"nodeType":"Block","src":"2065:30:23","statements":[{"expression":{"id":2604,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2549,"src":"2082:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":2603,"id":2605,"nodeType":"Return","src":"2075:13:23"}]},"documentation":{"id":2599,"nodeType":"StructuredDocumentation","src":"1950:55:23","text":" @dev Getter for the start timestamp."},"functionSelector":"be9a6555","id":2607,"implemented":true,"kind":"function","modifiers":[],"name":"start","nameLocation":"2019:5:23","nodeType":"FunctionDefinition","parameters":{"id":2600,"nodeType":"ParameterList","parameters":[],"src":"2024:2:23"},"returnParameters":{"id":2603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2607,"src":"2056:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2601,"name":"uint256","nodeType":"ElementaryTypeName","src":"2056:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2055:9:23"},"scope":2835,"src":"2010:85:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2615,"nodeType":"Block","src":"2220:33:23","statements":[{"expression":{"id":2613,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"2237:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":2612,"id":2614,"nodeType":"Return","src":"2230:16:23"}]},"documentation":{"id":2608,"nodeType":"StructuredDocumentation","src":"2101:56:23","text":" @dev Getter for the vesting duration."},"functionSelector":"0fb5a6b4","id":2616,"implemented":true,"kind":"function","modifiers":[],"name":"duration","nameLocation":"2171:8:23","nodeType":"FunctionDefinition","parameters":{"id":2609,"nodeType":"ParameterList","parameters":[],"src":"2179:2:23"},"returnParameters":{"id":2612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2616,"src":"2211:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2610,"name":"uint256","nodeType":"ElementaryTypeName","src":"2211:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2210:9:23"},"scope":2835,"src":"2162:91:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2624,"nodeType":"Block","src":"2376:33:23","statements":[{"expression":{"id":2622,"name":"_released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2541,"src":"2393:9:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2621,"id":2623,"nodeType":"Return","src":"2386:16:23"}]},"documentation":{"id":2617,"nodeType":"StructuredDocumentation","src":"2259:54:23","text":" @dev Amount of eth already released"},"functionSelector":"96132521","id":2625,"implemented":true,"kind":"function","modifiers":[],"name":"released","nameLocation":"2327:8:23","nodeType":"FunctionDefinition","parameters":{"id":2618,"nodeType":"ParameterList","parameters":[],"src":"2335:2:23"},"returnParameters":{"id":2621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2625,"src":"2367:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2619,"name":"uint256","nodeType":"ElementaryTypeName","src":"2367:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2366:9:23"},"scope":2835,"src":"2318:91:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2637,"nodeType":"Block","src":"2547:45:23","statements":[{"expression":{"baseExpression":{"id":2633,"name":"_erc20Released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2545,"src":"2564:14:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2635,"indexExpression":{"id":2634,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2628,"src":"2579:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2632,"id":2636,"nodeType":"Return","src":"2557:28:23"}]},"documentation":{"id":2626,"nodeType":"StructuredDocumentation","src":"2415:56:23","text":" @dev Amount of token already released"},"functionSelector":"9852595c","id":2638,"implemented":true,"kind":"function","modifiers":[],"name":"released","nameLocation":"2485:8:23","nodeType":"FunctionDefinition","parameters":{"id":2629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2628,"mutability":"mutable","name":"token","nameLocation":"2502:5:23","nodeType":"VariableDeclaration","scope":2638,"src":"2494:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"2494:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2493:15:23"},"returnParameters":{"id":2632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2638,"src":"2538:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"2538:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2537:9:23"},"scope":2835,"src":"2476:116:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2655,"nodeType":"Block","src":"2727:74:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":2647,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2764:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":2648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2764:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2757:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":2645,"name":"uint64","nodeType":"ElementaryTypeName","src":"2757:6:23","typeDescriptions":{}}},"id":2649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2757:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":2644,"name":"vestedAmount","nodeType":"Identifier","overloadedDeclarations":[2763,2791],"referencedDeclaration":2763,"src":"2744:12:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint64_$returns$_t_uint256_$","typeString":"function (uint64) view returns (uint256)"}},"id":2650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2744:37:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2651,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2625,2638],"referencedDeclaration":2625,"src":"2784:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2784:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2744:50:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2643,"id":2654,"nodeType":"Return","src":"2737:57:23"}]},"documentation":{"id":2639,"nodeType":"StructuredDocumentation","src":"2598:64:23","text":" @dev Getter for the amount of releasable eth."},"functionSelector":"fbccedae","id":2656,"implemented":true,"kind":"function","modifiers":[],"name":"releasable","nameLocation":"2676:10:23","nodeType":"FunctionDefinition","parameters":{"id":2640,"nodeType":"ParameterList","parameters":[],"src":"2686:2:23"},"returnParameters":{"id":2643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2642,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2656,"src":"2718:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2641,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2717:9:23"},"scope":2835,"src":"2667:134:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2677,"nodeType":"Block","src":"3020:86:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2665,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2659,"src":"3050:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":2668,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3064:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":2669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"3064:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3057:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":2666,"name":"uint64","nodeType":"ElementaryTypeName","src":"3057:6:23","typeDescriptions":{}}},"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3057:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":2664,"name":"vestedAmount","nodeType":"Identifier","overloadedDeclarations":[2763,2791],"referencedDeclaration":2791,"src":"3037:12:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint64_$returns$_t_uint256_$","typeString":"function (address,uint64) view returns (uint256)"}},"id":2671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3037:44:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":2673,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2659,"src":"3093:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2672,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2625,2638],"referencedDeclaration":2638,"src":"3084:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3084:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3037:62:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2663,"id":2676,"nodeType":"Return","src":"3030:69:23"}]},"documentation":{"id":2657,"nodeType":"StructuredDocumentation","src":"2807:135:23","text":" @dev Getter for the amount of releasable `token` tokens. `token` should be the address of an\n IERC20 contract."},"functionSelector":"a3f8eace","id":2678,"implemented":true,"kind":"function","modifiers":[],"name":"releasable","nameLocation":"2956:10:23","nodeType":"FunctionDefinition","parameters":{"id":2660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2659,"mutability":"mutable","name":"token","nameLocation":"2975:5:23","nodeType":"VariableDeclaration","scope":2678,"src":"2967:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2658,"name":"address","nodeType":"ElementaryTypeName","src":"2967:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2966:15:23"},"returnParameters":{"id":2663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2678,"src":"3011:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2661,"name":"uint256","nodeType":"ElementaryTypeName","src":"3011:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3010:9:23"},"scope":2835,"src":"2947:159:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2706,"nodeType":"Block","src":"3278:170:23","statements":[{"assignments":[2683],"declarations":[{"constant":false,"id":2683,"mutability":"mutable","name":"amount","nameLocation":"3296:6:23","nodeType":"VariableDeclaration","scope":2706,"src":"3288:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2682,"name":"uint256","nodeType":"ElementaryTypeName","src":"3288:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2686,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2684,"name":"releasable","nodeType":"Identifier","overloadedDeclarations":[2656,2678],"referencedDeclaration":2656,"src":"3305:10:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3305:12:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3288:29:23"},{"expression":{"id":2689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2687,"name":"_released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2541,"src":"3327:9:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2688,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2683,"src":"3340:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3327:19:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2690,"nodeType":"ExpressionStatement","src":"3327:19:23"},{"eventCall":{"arguments":[{"id":2692,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2683,"src":"3375:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2691,"name":"EtherReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2533,"src":"3361:13:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":2693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3361:21:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2694,"nodeType":"EmitStatement","src":"3356:26:23"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":2700,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"3418:11:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3418:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3410:8:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"3410:8:23","stateMutability":"payable","typeDescriptions":{}}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3410:22:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":2703,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2683,"src":"3434:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2695,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"3392:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sendValue","nodeType":"MemberAccess","referencedDeclaration":20410,"src":"3392:17:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":2704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3392:49:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2705,"nodeType":"ExpressionStatement","src":"3392:49:23"}]},"documentation":{"id":2679,"nodeType":"StructuredDocumentation","src":"3112:127:23","text":" @dev Release the native token (ether) that have already vested.\n Emits a {EtherReleased} event."},"functionSelector":"86d1a69f","id":2707,"implemented":true,"kind":"function","modifiers":[],"name":"release","nameLocation":"3253:7:23","nodeType":"FunctionDefinition","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[],"src":"3260:2:23"},"returnParameters":{"id":2681,"nodeType":"ParameterList","parameters":[],"src":"3278:0:23"},"scope":2835,"src":"3244:204:23","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":2741,"nodeType":"Block","src":"3619:205:23","statements":[{"assignments":[2714],"declarations":[{"constant":false,"id":2714,"mutability":"mutable","name":"amount","nameLocation":"3637:6:23","nodeType":"VariableDeclaration","scope":2741,"src":"3629:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2713,"name":"uint256","nodeType":"ElementaryTypeName","src":"3629:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2718,"initialValue":{"arguments":[{"id":2716,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"3657:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2715,"name":"releasable","nodeType":"Identifier","overloadedDeclarations":[2656,2678],"referencedDeclaration":2678,"src":"3646:10:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3646:17:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3629:34:23"},{"expression":{"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2719,"name":"_erc20Released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2545,"src":"3673:14:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2721,"indexExpression":{"id":2720,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"3688:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3673:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2722,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"3698:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3673:31:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2724,"nodeType":"ExpressionStatement","src":"3673:31:23"},{"eventCall":{"arguments":[{"id":2726,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"3733:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2727,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"3740:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2725,"name":"ERC20Released","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2539,"src":"3719:13:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3719:28:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2729,"nodeType":"EmitStatement","src":"3714:33:23"},{"expression":{"arguments":[{"arguments":[{"id":2734,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"3787:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2733,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13470,"src":"3780:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$13470_$","typeString":"type(contract IERC20)"}},"id":2735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[],"expression":{"argumentTypes":[],"id":2736,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"3795:11:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3795:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2738,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"3810:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2730,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"3757:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":2732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"3757:22:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":2739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3757:60:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2740,"nodeType":"ExpressionStatement","src":"3757:60:23"}]},"documentation":{"id":2708,"nodeType":"StructuredDocumentation","src":"3454:113:23","text":" @dev Release the tokens that have already vested.\n Emits a {ERC20Released} event."},"functionSelector":"19165587","id":2742,"implemented":true,"kind":"function","modifiers":[],"name":"release","nameLocation":"3581:7:23","nodeType":"FunctionDefinition","parameters":{"id":2711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2710,"mutability":"mutable","name":"token","nameLocation":"3597:5:23","nodeType":"VariableDeclaration","scope":2742,"src":"3589:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2709,"name":"address","nodeType":"ElementaryTypeName","src":"3589:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3588:15:23"},"returnParameters":{"id":2712,"nodeType":"ParameterList","parameters":[],"src":"3619:0:23"},"scope":2835,"src":"3572:252:23","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":2762,"nodeType":"Block","src":"4042:87:23","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2753,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4084:4:23","typeDescriptions":{"typeIdentifier":"t_contract$_VestingWallet_$2835","typeString":"contract VestingWallet"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VestingWallet_$2835","typeString":"contract VestingWallet"}],"id":2752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4076:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2751,"name":"address","nodeType":"ElementaryTypeName","src":"4076:7:23","typeDescriptions":{}}},"id":2754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4076:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"4076:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2756,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2625,2638],"referencedDeclaration":2625,"src":"4100:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4100:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4076:34:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2759,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2745,"src":"4112:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":2750,"name":"_vestingSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2834,"src":"4059:16:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint64_$returns$_t_uint256_$","typeString":"function (uint256,uint64) view returns (uint256)"}},"id":2760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4059:63:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2749,"id":2761,"nodeType":"Return","src":"4052:70:23"}]},"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"3830:129:23","text":" @dev Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve."},"functionSelector":"0a17b06b","id":2763,"implemented":true,"kind":"function","modifiers":[],"name":"vestedAmount","nameLocation":"3973:12:23","nodeType":"FunctionDefinition","parameters":{"id":2746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"timestamp","nameLocation":"3993:9:23","nodeType":"VariableDeclaration","scope":2763,"src":"3986:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2744,"name":"uint64","nodeType":"ElementaryTypeName","src":"3986:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3985:18:23"},"returnParameters":{"id":2749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2763,"src":"4033:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2747,"name":"uint256","nodeType":"ElementaryTypeName","src":"4033:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4032:9:23"},"scope":2835,"src":"3964:165:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2790,"nodeType":"Block","src":"4363:109:23","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2780,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4429:4:23","typeDescriptions":{"typeIdentifier":"t_contract$_VestingWallet_$2835","typeString":"contract VestingWallet"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VestingWallet_$2835","typeString":"contract VestingWallet"}],"id":2779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4421:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2778,"name":"address","nodeType":"ElementaryTypeName","src":"4421:7:23","typeDescriptions":{}}},"id":2781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4421:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2775,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"4404:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2774,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13470,"src":"4397:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$13470_$","typeString":"type(contract IERC20)"}},"id":2776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4397:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":2777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":13427,"src":"4397:23:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4397:38:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":2784,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"4447:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2783,"name":"released","nodeType":"Identifier","overloadedDeclarations":[2625,2638],"referencedDeclaration":2638,"src":"4438:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4438:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4397:56:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2787,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2768,"src":"4455:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":2773,"name":"_vestingSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2834,"src":"4380:16:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint64_$returns$_t_uint256_$","typeString":"function (uint256,uint64) view returns (uint256)"}},"id":2788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4380:85:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2772,"id":2789,"nodeType":"Return","src":"4373:92:23"}]},"documentation":{"id":2764,"nodeType":"StructuredDocumentation","src":"4135:130:23","text":" @dev Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve."},"functionSelector":"810ec23b","id":2791,"implemented":true,"kind":"function","modifiers":[],"name":"vestedAmount","nameLocation":"4279:12:23","nodeType":"FunctionDefinition","parameters":{"id":2769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2766,"mutability":"mutable","name":"token","nameLocation":"4300:5:23","nodeType":"VariableDeclaration","scope":2791,"src":"4292:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"4292:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2768,"mutability":"mutable","name":"timestamp","nameLocation":"4314:9:23","nodeType":"VariableDeclaration","scope":2791,"src":"4307:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2767,"name":"uint64","nodeType":"ElementaryTypeName","src":"4307:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4291:33:23"},"returnParameters":{"id":2772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2791,"src":"4354:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2770,"name":"uint256","nodeType":"ElementaryTypeName","src":"4354:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4353:9:23"},"scope":2835,"src":"4270:202:23","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2833,"nodeType":"Block","src":"4776:257:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2801,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"4790:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2802,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"4802:5:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4802:7:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4790:19:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2808,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"4854:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2809,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"4866:5:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4866:7:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2811,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"4876:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4876:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4866:20:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4854:32:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2830,"nodeType":"Block","src":"4941:86:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2818,"name":"totalAllocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2794,"src":"4963:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2819,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"4982:9:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2820,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"4994:5:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4994:7:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4982:19:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2823,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4981:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4963:39:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2825,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4962:41:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2826,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"5006:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5006:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4962:54:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2800,"id":2829,"nodeType":"Return","src":"4955:61:23"}]},"id":2831,"nodeType":"IfStatement","src":"4850:177:23","trueBody":{"id":2817,"nodeType":"Block","src":"4888:47:23","statements":[{"expression":{"id":2815,"name":"totalAllocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2794,"src":"4909:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2800,"id":2816,"nodeType":"Return","src":"4902:22:23"}]}},"id":2832,"nodeType":"IfStatement","src":"4786:241:23","trueBody":{"id":2807,"nodeType":"Block","src":"4811:33:23","statements":[{"expression":{"hexValue":"30","id":2805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4832:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":2800,"id":2806,"nodeType":"Return","src":"4825:8:23"}]}}]},"documentation":{"id":2792,"nodeType":"StructuredDocumentation","src":"4478:184:23","text":" @dev Virtual implementation of the vesting formula. This returns the amount vested, as a function of time, for\n an asset given its total historical allocation."},"id":2834,"implemented":true,"kind":"function","modifiers":[],"name":"_vestingSchedule","nameLocation":"4676:16:23","nodeType":"FunctionDefinition","parameters":{"id":2797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2794,"mutability":"mutable","name":"totalAllocation","nameLocation":"4701:15:23","nodeType":"VariableDeclaration","scope":2834,"src":"4693:23:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2793,"name":"uint256","nodeType":"ElementaryTypeName","src":"4693:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2796,"mutability":"mutable","name":"timestamp","nameLocation":"4725:9:23","nodeType":"VariableDeclaration","scope":2834,"src":"4718:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":2795,"name":"uint64","nodeType":"ElementaryTypeName","src":"4718:6:23","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4692:43:23"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2834,"src":"4767:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4767:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4766:9:23"},"scope":2835,"src":"4667:366:23","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":2836,"src":"856:4179:23","usedErrors":[]}],"src":"108:4928:23"},"id":23},"contracts/@openzeppelin/contracts/governance/Governor.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":4144,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2837,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:24"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"../token/ERC721/IERC721Receiver.sol","id":2838,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":17610,"src":"132:45:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"../token/ERC1155/IERC1155Receiver.sol","id":2839,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":12146,"src":"178:47:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"../utils/cryptography/ECDSA.sol","id":2840,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":23302,"src":"226:41:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"../utils/cryptography/EIP712.sol","id":2841,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":23456,"src":"268:42:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../utils/introspection/ERC165.sol","id":2842,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":24378,"src":"311:43:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../utils/math/SafeCast.sol","id":2843,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":27204,"src":"355:36:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"../utils/structs/DoubleEndedQueue.sol","id":2844,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":28164,"src":"392:47:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../utils/Address.sol","id":2845,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":20689,"src":"440:30:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":2846,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":22282,"src":"471:30:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Timers.sol","file":"../utils/Timers.sol","id":2847,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":22941,"src":"502:29:24","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/IGovernor.sol","file":"./IGovernor.sol","id":2848,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4144,"sourceUnit":4441,"src":"532:25:24","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":2850,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1028:7:24"},"id":2851,"nodeType":"InheritanceSpecifier","src":"1028:7:24"},{"baseName":{"id":2852,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1037:6:24"},"id":2853,"nodeType":"InheritanceSpecifier","src":"1037:6:24"},{"baseName":{"id":2854,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"1045:6:24"},"id":2855,"nodeType":"InheritanceSpecifier","src":"1045:6:24"},{"baseName":{"id":2856,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"1053:9:24"},"id":2857,"nodeType":"InheritanceSpecifier","src":"1053:9:24"},{"baseName":{"id":2858,"name":"IERC721Receiver","nodeType":"IdentifierPath","referencedDeclaration":17609,"src":"1064:15:24"},"id":2859,"nodeType":"InheritanceSpecifier","src":"1064:15:24"},{"baseName":{"id":2860,"name":"IERC1155Receiver","nodeType":"IdentifierPath","referencedDeclaration":12145,"src":"1081:16:24"},"id":2861,"nodeType":"InheritanceSpecifier","src":"1081:16:24"}],"canonicalName":"Governor","contractDependencies":[],"contractKind":"contract","documentation":{"id":2849,"nodeType":"StructuredDocumentation","src":"559:438:24","text":" @dev Core of the governance system, designed to be extended though various modules.\n This contract is abstract and requires several function to be implemented in various modules:\n - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote}\n - A voting module must implement {_getVotes}\n - Additionanly, the {votingPeriod} must also be implemented\n _Available since v4.3._"},"fullyImplemented":false,"id":4143,"linearizedBaseContracts":[4143,12145,17609,4440,23455,24377,24693,22281],"name":"Governor","nameLocation":"1016:8:24","nodeType":"ContractDefinition","nodes":[{"id":2865,"libraryName":{"id":2862,"name":"DoubleEndedQueue","nodeType":"IdentifierPath","referencedDeclaration":28163,"src":"1110:16:24"},"nodeType":"UsingForDirective","src":"1104:57:24","typeName":{"id":2864,"nodeType":"UserDefinedTypeName","pathNode":{"id":2863,"name":"DoubleEndedQueue.Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"1131:29:24"},"referencedDeclaration":27841,"src":"1131:29:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}}},{"id":2868,"libraryName":{"id":2866,"name":"SafeCast","nodeType":"IdentifierPath","referencedDeclaration":27203,"src":"1172:8:24"},"nodeType":"UsingForDirective","src":"1166:27:24","typeName":{"id":2867,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":2872,"libraryName":{"id":2869,"name":"Timers","nodeType":"IdentifierPath","referencedDeclaration":22940,"src":"1204:6:24"},"nodeType":"UsingForDirective","src":"1198:36:24","typeName":{"id":2871,"nodeType":"UserDefinedTypeName","pathNode":{"id":2870,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1215:18:24"},"referencedDeclaration":22837,"src":"1215:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}}},{"constant":true,"functionSelector":"deaaa7cc","id":2877,"mutability":"constant","name":"BALLOT_TYPEHASH","nameLocation":"1264:15:24","nodeType":"VariableDeclaration","scope":4143,"src":"1240:95:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1240:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"42616c6c6f742875696e743235362070726f706f73616c49642c75696e743820737570706f727429","id":2875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1292:42:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f","typeString":"literal_string \"Ballot(uint256 proposalId,uint8 support)\""},"value":"Ballot(uint256 proposalId,uint8 support)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f","typeString":"literal_string \"Ballot(uint256 proposalId,uint8 support)\""}],"id":2874,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1282:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1282:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"2fe3e261","id":2882,"mutability":"constant","name":"EXTENDED_BALLOT_TYPEHASH","nameLocation":"1365:24:24","nodeType":"VariableDeclaration","scope":4143,"src":"1341:147:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1341:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"457874656e64656442616c6c6f742875696e743235362070726f706f73616c49642c75696e743820737570706f72742c737472696e6720726561736f6e2c627974657320706172616d7329","id":2880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1410:77:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af88","typeString":"literal_string \"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\""},"value":"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af88","typeString":"literal_string \"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\""}],"id":2879,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1400:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1400:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"Governor.ProposalCore","id":2893,"members":[{"constant":false,"id":2885,"mutability":"mutable","name":"voteStart","nameLocation":"1544:9:24","nodeType":"VariableDeclaration","scope":2893,"src":"1525:28:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":2884,"nodeType":"UserDefinedTypeName","pathNode":{"id":2883,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1525:18:24"},"referencedDeclaration":22837,"src":"1525:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"},{"constant":false,"id":2888,"mutability":"mutable","name":"voteEnd","nameLocation":"1582:7:24","nodeType":"VariableDeclaration","scope":2893,"src":"1563:26:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":2887,"nodeType":"UserDefinedTypeName","pathNode":{"id":2886,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1563:18:24"},"referencedDeclaration":22837,"src":"1563:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"},{"constant":false,"id":2890,"mutability":"mutable","name":"executed","nameLocation":"1604:8:24","nodeType":"VariableDeclaration","scope":2893,"src":"1599:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2889,"name":"bool","nodeType":"ElementaryTypeName","src":"1599:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2892,"mutability":"mutable","name":"canceled","nameLocation":"1627:8:24","nodeType":"VariableDeclaration","scope":2893,"src":"1622:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2891,"name":"bool","nodeType":"ElementaryTypeName","src":"1622:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ProposalCore","nameLocation":"1502:12:24","nodeType":"StructDefinition","scope":4143,"src":"1495:147:24","visibility":"public"},{"constant":false,"id":2895,"mutability":"mutable","name":"_name","nameLocation":"1663:5:24","nodeType":"VariableDeclaration","scope":4143,"src":"1648:20:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":2894,"name":"string","nodeType":"ElementaryTypeName","src":"1648:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":2900,"mutability":"mutable","name":"_proposals","nameLocation":"1716:10:24","nodeType":"VariableDeclaration","scope":4143,"src":"1675:51:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore)"},"typeName":{"id":2899,"keyType":{"id":2896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1675:32:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore)"},"valueType":{"id":2898,"nodeType":"UserDefinedTypeName","pathNode":{"id":2897,"name":"ProposalCore","nodeType":"IdentifierPath","referencedDeclaration":2893,"src":"1694:12:24"},"referencedDeclaration":2893,"src":"1694:12:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"}}},"visibility":"private"},{"constant":false,"id":2903,"mutability":"mutable","name":"_governanceCall","nameLocation":"2203:15:24","nodeType":"VariableDeclaration","scope":4143,"src":"2165:53:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":2902,"nodeType":"UserDefinedTypeName","pathNode":{"id":2901,"name":"DoubleEndedQueue.Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"2165:29:24"},"referencedDeclaration":27841,"src":"2165:29:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"private"},{"body":{"id":2939,"nodeType":"Block","src":"2989:378:24","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2907,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3007:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3007:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2909,"name":"_executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4076,"src":"3023:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3023:11:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3007:27:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a206f6e6c79476f7665726e616e6365","id":2912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3036:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_01397b9b23826f2770c44682f6f60114915147b09511a75fee3231adbc22847f","typeString":"literal_string \"Governor: onlyGovernance\""},"value":"Governor: onlyGovernance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01397b9b23826f2770c44682f6f60114915147b09511a75fee3231adbc22847f","typeString":"literal_string \"Governor: onlyGovernance\""}],"id":2906,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2999:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2999:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2914,"nodeType":"ExpressionStatement","src":"2999:64:24"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2915,"name":"_executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4076,"src":"3077:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3077:11:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":2919,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3100:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":2918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3092:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2917,"name":"address","nodeType":"ElementaryTypeName","src":"3092:7:24","typeDescriptions":{}}},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3092:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3077:28:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2937,"nodeType":"IfStatement","src":"3073:277:24","trueBody":{"id":2936,"nodeType":"Block","src":"3107:243:24","statements":[{"assignments":[2923],"declarations":[{"constant":false,"id":2923,"mutability":"mutable","name":"msgDataHash","nameLocation":"3129:11:24","nodeType":"VariableDeclaration","scope":2936,"src":"3121:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3121:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2928,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":2925,"name":"_msgData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22280,"src":"3153:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":2926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3153:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":2924,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3143:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3143:21:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3121:43:24"},{"body":{"id":2934,"nodeType":"Block","src":"3338:2:24","statements":[]},"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":2929,"name":"_governanceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2903,"src":"3295:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":2930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"popFront","nodeType":"MemberAccess","referencedDeclaration":27999,"src":"3295:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes32Deque_$27841_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) returns (bytes32)"}},"id":2931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3295:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2932,"name":"msgDataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2923,"src":"3325:11:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3295:41:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2935,"nodeType":"WhileStatement","src":"3288:52:24"}]}},{"id":2938,"nodeType":"PlaceholderStatement","src":"3359:1:24"}]},"documentation":{"id":2904,"nodeType":"StructuredDocumentation","src":"2225:733:24","text":" @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n parameter setters in {GovernorSettings} are protected using this modifier.\n The governance executing address may be different from the Governor's own address, for example it could be a\n timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n for example, additional timelock proposers are not able to change governance parameters without going through the\n governance protocol (since v4.6)."},"id":2940,"name":"onlyGovernance","nameLocation":"2972:14:24","nodeType":"ModifierDefinition","parameters":{"id":2905,"nodeType":"ParameterList","parameters":[],"src":"2986:2:24"},"src":"2963:404:24","virtual":false,"visibility":"internal"},{"body":{"id":2955,"nodeType":"Block","src":"3499:30:24","statements":[{"expression":{"id":2953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2951,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2895,"src":"3509:5:24","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2952,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2943,"src":"3517:5:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3509:13:24","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":2954,"nodeType":"ExpressionStatement","src":"3509:13:24"}]},"documentation":{"id":2941,"nodeType":"StructuredDocumentation","src":"3373:63:24","text":" @dev Sets the value for {name} and {version}"},"id":2956,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":2946,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2943,"src":"3481:5:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":2947,"name":"version","nodeType":"Identifier","overloadedDeclarations":[3042],"referencedDeclaration":3042,"src":"3488:7:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":2948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3488:9:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":2949,"kind":"baseConstructorSpecifier","modifierName":{"id":2945,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"3474:6:24"},"nodeType":"ModifierInvocation","src":"3474:24:24"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2943,"mutability":"mutable","name":"name_","nameLocation":"3467:5:24","nodeType":"VariableDeclaration","scope":2956,"src":"3453:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2942,"name":"string","nodeType":"ElementaryTypeName","src":"3453:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3452:21:24"},"returnParameters":{"id":2950,"nodeType":"ParameterList","parameters":[],"src":"3499:0:24"},"scope":4143,"src":"3441:88:24","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2970,"nodeType":"Block","src":"3708:54:24","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2961,"name":"_executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4076,"src":"3726:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3726:11:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2965,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3749:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":2964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3741:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2963,"name":"address","nodeType":"ElementaryTypeName","src":"3741:7:24","typeDescriptions":{}}},"id":2966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3741:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3726:28:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2960,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3718:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3718:37:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2969,"nodeType":"ExpressionStatement","src":"3718:37:24"}]},"documentation":{"id":2957,"nodeType":"StructuredDocumentation","src":"3535:133:24","text":" @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract)"},"id":2971,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":2958,"nodeType":"ParameterList","parameters":[],"src":"3680:2:24"},"returnParameters":{"id":2959,"nodeType":"ParameterList","parameters":[],"src":"3708:0:24"},"scope":4143,"src":"3673:89:24","stateMutability":"payable","virtual":true,"visibility":"external"},{"baseFunctions":[24376,24692],"body":{"id":3021,"nodeType":"Block","src":"3937:630:24","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2982,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2974,"src":"4153:11:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2984,"name":"IGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4440,"src":"4186:9:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGovernor_$4440_$","typeString":"type(contract IGovernor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IGovernor_$4440_$","typeString":"type(contract IGovernor)"}],"id":2983,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4181:4:24","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4181:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IGovernor_$4440","typeString":"type(contract IGovernor)"}},"id":2986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"4181:27:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"expression":{"expression":{"id":2987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4227:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":2988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"castVoteWithReasonAndParams","nodeType":"MemberAccess","referencedDeclaration":3827,"src":"4227:32:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint8,string memory,bytes memory) external returns (uint256)"}},"id":2989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4227:41:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4181:87:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"expression":{"expression":{"id":2991,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4287:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":2992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"castVoteWithReasonAndParamsBySig","nodeType":"MemberAccess","referencedDeclaration":3929,"src":"4287:37:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (uint256,uint8,string memory,bytes memory,uint8,bytes32,bytes32) external returns (uint256)"}},"id":2993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4287:46:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4181:152:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"expression":{"expression":{"id":2995,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4352:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":2996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getVotesWithParams","nodeType":"MemberAccess","referencedDeclaration":3748,"src":"4352:23:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view external returns (uint256)"}},"id":2997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4352:32:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4181:203:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":2999,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4180:205:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4153:232:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3001,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2974,"src":"4401:11:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":3003,"name":"IGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4440,"src":"4421:9:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGovernor_$4440_$","typeString":"type(contract IGovernor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IGovernor_$4440_$","typeString":"type(contract IGovernor)"}],"id":3002,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4416:4:24","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4416:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IGovernor_$4440","typeString":"type(contract IGovernor)"}},"id":3005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"4416:27:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4401:42:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4153:290:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3008,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2974,"src":"4459:11:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":3010,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"4479:16:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}],"id":3009,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4474:4:24","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4474:22:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$12145","typeString":"type(contract IERC1155Receiver)"}},"id":3012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"4474:34:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4459:49:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4153:355:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":3017,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2974,"src":"4548:11:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":3015,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4524:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_Governor_$4143_$","typeString":"type(contract super Governor)"}},"id":3016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"4524:23:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":3018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4524:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4153:407:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2981,"id":3020,"nodeType":"Return","src":"4134:426:24"}]},"documentation":{"id":2972,"nodeType":"StructuredDocumentation","src":"3768:56:24","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":3022,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3838:17:24","nodeType":"FunctionDefinition","overrides":{"id":2978,"nodeType":"OverrideSpecifier","overrides":[{"id":2976,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"3905:7:24"},{"id":2977,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"3914:6:24"}],"src":"3896:25:24"},"parameters":{"id":2975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2974,"mutability":"mutable","name":"interfaceId","nameLocation":"3863:11:24","nodeType":"VariableDeclaration","scope":3022,"src":"3856:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2973,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3856:6:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3855:20:24"},"returnParameters":{"id":2981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3022,"src":"3931:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2979,"name":"bool","nodeType":"ElementaryTypeName","src":"3931:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3930:6:24"},"scope":4143,"src":"3829:738:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4227],"body":{"id":3031,"nodeType":"Block","src":"4692:29:24","statements":[{"expression":{"id":3029,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2895,"src":"4709:5:24","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":3028,"id":3030,"nodeType":"Return","src":"4702:12:24"}]},"documentation":{"id":3023,"nodeType":"StructuredDocumentation","src":"4573:45:24","text":" @dev See {IGovernor-name}."},"functionSelector":"06fdde03","id":3032,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"4632:4:24","nodeType":"FunctionDefinition","overrides":{"id":3025,"nodeType":"OverrideSpecifier","overrides":[],"src":"4659:8:24"},"parameters":{"id":3024,"nodeType":"ParameterList","parameters":[],"src":"4636:2:24"},"returnParameters":{"id":3028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3032,"src":"4677:13:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3026,"name":"string","nodeType":"ElementaryTypeName","src":"4677:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4676:15:24"},"scope":4143,"src":"4623:98:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4233],"body":{"id":3041,"nodeType":"Block","src":"4852:27:24","statements":[{"expression":{"hexValue":"31","id":3039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4869:3:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},"functionReturnParameters":3038,"id":3040,"nodeType":"Return","src":"4862:10:24"}]},"documentation":{"id":3033,"nodeType":"StructuredDocumentation","src":"4727:48:24","text":" @dev See {IGovernor-version}."},"functionSelector":"54fd4d50","id":3042,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"4789:7:24","nodeType":"FunctionDefinition","overrides":{"id":3035,"nodeType":"OverrideSpecifier","overrides":[],"src":"4819:8:24"},"parameters":{"id":3034,"nodeType":"ParameterList","parameters":[],"src":"4796:2:24"},"returnParameters":{"id":3038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3042,"src":"4837:13:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3036,"name":"string","nodeType":"ElementaryTypeName","src":"4837:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4836:15:24"},"scope":4143,"src":"4780:99:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4256],"body":{"id":3073,"nodeType":"Block","src":"6033:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":3065,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"6079:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3066,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3049,"src":"6088:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3067,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"6096:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3068,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3054,"src":"6107:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6068:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"6068:10:24","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6068:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3062,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6058:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6058:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6050:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3060,"name":"uint256","nodeType":"ElementaryTypeName","src":"6050:7:24","typeDescriptions":{}}},"id":3071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6050:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3059,"id":3072,"nodeType":"Return","src":"6043:82:24"}]},"documentation":{"id":3043,"nodeType":"StructuredDocumentation","src":"4885:934:24","text":" @dev See {IGovernor-hashProposal}.\n The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n advance, before the proposal is submitted.\n Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n across multiple networks. This also means that in order to execute the same operation twice (on the same\n governor) the proposer will have to change the description in order to avoid proposal id conflicts."},"functionSelector":"c59057e4","id":3074,"implemented":true,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"5833:12:24","nodeType":"FunctionDefinition","overrides":{"id":3056,"nodeType":"OverrideSpecifier","overrides":[],"src":"6006:8:24"},"parameters":{"id":3055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3046,"mutability":"mutable","name":"targets","nameLocation":"5872:7:24","nodeType":"VariableDeclaration","scope":3074,"src":"5855:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3044,"name":"address","nodeType":"ElementaryTypeName","src":"5855:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3045,"nodeType":"ArrayTypeName","src":"5855:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3049,"mutability":"mutable","name":"values","nameLocation":"5906:6:24","nodeType":"VariableDeclaration","scope":3074,"src":"5889:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3047,"name":"uint256","nodeType":"ElementaryTypeName","src":"5889:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3048,"nodeType":"ArrayTypeName","src":"5889:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3052,"mutability":"mutable","name":"calldatas","nameLocation":"5937:9:24","nodeType":"VariableDeclaration","scope":3074,"src":"5922:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3050,"name":"bytes","nodeType":"ElementaryTypeName","src":"5922:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3051,"nodeType":"ArrayTypeName","src":"5922:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3054,"mutability":"mutable","name":"descriptionHash","nameLocation":"5964:15:24","nodeType":"VariableDeclaration","scope":3074,"src":"5956:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5956:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5845:140:24"},"returnParameters":{"id":3059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3074,"src":"6024:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3057,"name":"uint256","nodeType":"ElementaryTypeName","src":"6024:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6023:9:24"},"scope":4143,"src":"5824:308:24","stateMutability":"pure","virtual":true,"visibility":"public"},{"baseFunctions":[4265],"body":{"id":3160,"nodeType":"Block","src":"6277:826:24","statements":[{"assignments":[3086],"declarations":[{"constant":false,"id":3086,"mutability":"mutable","name":"proposal","nameLocation":"6308:8:24","nodeType":"VariableDeclaration","scope":3160,"src":"6287:29:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"},"typeName":{"id":3085,"nodeType":"UserDefinedTypeName","pathNode":{"id":3084,"name":"ProposalCore","nodeType":"IdentifierPath","referencedDeclaration":2893,"src":"6287:12:24"},"referencedDeclaration":2893,"src":"6287:12:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"}},"visibility":"internal"}],"id":3090,"initialValue":{"baseExpression":{"id":3087,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"6319:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3089,"indexExpression":{"id":3088,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"6330:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6319:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6287:54:24"},{"condition":{"expression":{"id":3091,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3086,"src":"6356:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":2890,"src":"6356:17:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3097,"nodeType":"IfStatement","src":"6352:77:24","trueBody":{"id":3096,"nodeType":"Block","src":"6375:54:24","statements":[{"expression":{"expression":{"id":3093,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6396:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":4157,"src":"6396:22:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3095,"nodeType":"Return","src":"6389:29:24"}]}},{"condition":{"expression":{"id":3098,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3086,"src":"6443:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":2892,"src":"6443:17:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3104,"nodeType":"IfStatement","src":"6439:77:24","trueBody":{"id":3103,"nodeType":"Block","src":"6462:54:24","statements":[{"expression":{"expression":{"id":3100,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6483:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"6483:22:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3102,"nodeType":"Return","src":"6476:29:24"}]}},{"assignments":[3106],"declarations":[{"constant":false,"id":3106,"mutability":"mutable","name":"snapshot","nameLocation":"6534:8:24","nodeType":"VariableDeclaration","scope":3160,"src":"6526:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3105,"name":"uint256","nodeType":"ElementaryTypeName","src":"6526:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3110,"initialValue":{"arguments":[{"id":3108,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"6562:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3107,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[3178],"referencedDeclaration":3178,"src":"6545:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":3109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6545:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6526:47:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3111,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"6588:8:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6600:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6588:13:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3119,"nodeType":"IfStatement","src":"6584:83:24","trueBody":{"id":3118,"nodeType":"Block","src":"6603:64:24","statements":[{"expression":{"arguments":[{"hexValue":"476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c206964","id":3115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6624:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_be0e8e67d15e920d3846a46401854a27a676d8965bbdde05e68fc2cc5672c892","typeString":"literal_string \"Governor: unknown proposal id\""},"value":"Governor: unknown proposal id"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be0e8e67d15e920d3846a46401854a27a676d8965bbdde05e68fc2cc5672c892","typeString":"literal_string \"Governor: unknown proposal id\""}],"id":3114,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6617:6:24","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6617:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3117,"nodeType":"ExpressionStatement","src":"6617:39:24"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3120,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"6681:8:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":3121,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6693:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6693:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6681:24:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3128,"nodeType":"IfStatement","src":"6677:83:24","trueBody":{"id":3127,"nodeType":"Block","src":"6707:53:24","statements":[{"expression":{"expression":{"id":3124,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6728:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":4150,"src":"6728:21:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3126,"nodeType":"Return","src":"6721:28:24"}]}},{"assignments":[3130],"declarations":[{"constant":false,"id":3130,"mutability":"mutable","name":"deadline","nameLocation":"6778:8:24","nodeType":"VariableDeclaration","scope":3160,"src":"6770:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3129,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3134,"initialValue":{"arguments":[{"id":3132,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"6806:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3131,"name":"proposalDeadline","nodeType":"Identifier","overloadedDeclarations":[3195],"referencedDeclaration":3195,"src":"6789:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6789:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6770:47:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3135,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3130,"src":"6832:8:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":3136,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6844:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6844:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6832:24:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3143,"nodeType":"IfStatement","src":"6828:82:24","trueBody":{"id":3142,"nodeType":"Block","src":"6858:52:24","statements":[{"expression":{"expression":{"id":3139,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6879:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":4151,"src":"6879:20:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3141,"nodeType":"Return","src":"6872:27:24"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3145,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"6939:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3144,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3212,"src":"6924:14:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6924:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":3148,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"6969:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3147,"name":"_voteSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3220,"src":"6954:14:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6954:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6924:56:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3158,"nodeType":"Block","src":"7043:54:24","statements":[{"expression":{"expression":{"id":3155,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"7064:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Defeated","nodeType":"MemberAccess","referencedDeclaration":4153,"src":"7064:22:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3157,"nodeType":"Return","src":"7057:29:24"}]},"id":3159,"nodeType":"IfStatement","src":"6920:177:24","trueBody":{"id":3154,"nodeType":"Block","src":"6982:55:24","statements":[{"expression":{"expression":{"id":3151,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"7003:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"7003:23:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":3083,"id":3153,"nodeType":"Return","src":"6996:30:24"}]}}]},"documentation":{"id":3075,"nodeType":"StructuredDocumentation","src":"6138:46:24","text":" @dev See {IGovernor-state}."},"functionSelector":"3e4f49e6","id":3161,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"6198:5:24","nodeType":"FunctionDefinition","overrides":{"id":3079,"nodeType":"OverrideSpecifier","overrides":[],"src":"6244:8:24"},"parameters":{"id":3078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3077,"mutability":"mutable","name":"proposalId","nameLocation":"6212:10:24","nodeType":"VariableDeclaration","scope":3161,"src":"6204:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3076,"name":"uint256","nodeType":"ElementaryTypeName","src":"6204:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6203:20:24"},"returnParameters":{"id":3083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3161,"src":"6262:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":3081,"nodeType":"UserDefinedTypeName","pathNode":{"id":3080,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"6262:13:24"},"referencedDeclaration":4158,"src":"6262:13:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"src":"6261:15:24"},"scope":4143,"src":"6189:914:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4273],"body":{"id":3177,"nodeType":"Block","src":"7264:70:24","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":3170,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"7281:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3172,"indexExpression":{"id":3171,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3164,"src":"7292:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7281:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"id":3173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":2885,"src":"7281:32:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getDeadline","nodeType":"MemberAccess","referencedDeclaration":22849,"src":"7281:44:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (uint64)"}},"id":3175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7281:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":3169,"id":3176,"nodeType":"Return","src":"7274:53:24"}]},"documentation":{"id":3162,"nodeType":"StructuredDocumentation","src":"7109:57:24","text":" @dev See {IGovernor-proposalSnapshot}."},"functionSelector":"2d63f693","id":3178,"implemented":true,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"7180:16:24","nodeType":"FunctionDefinition","overrides":{"id":3166,"nodeType":"OverrideSpecifier","overrides":[],"src":"7237:8:24"},"parameters":{"id":3165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3164,"mutability":"mutable","name":"proposalId","nameLocation":"7205:10:24","nodeType":"VariableDeclaration","scope":3178,"src":"7197:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3163,"name":"uint256","nodeType":"ElementaryTypeName","src":"7197:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7196:20:24"},"returnParameters":{"id":3169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3178,"src":"7255:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3167,"name":"uint256","nodeType":"ElementaryTypeName","src":"7255:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7254:9:24"},"scope":4143,"src":"7171:163:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4281],"body":{"id":3194,"nodeType":"Block","src":"7495:68:24","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":3187,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"7512:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3189,"indexExpression":{"id":3188,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3181,"src":"7523:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7512:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"id":3190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteEnd","nodeType":"MemberAccess","referencedDeclaration":2888,"src":"7512:30:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getDeadline","nodeType":"MemberAccess","referencedDeclaration":22849,"src":"7512:42:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (uint64)"}},"id":3192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7512:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":3186,"id":3193,"nodeType":"Return","src":"7505:51:24"}]},"documentation":{"id":3179,"nodeType":"StructuredDocumentation","src":"7340:57:24","text":" @dev See {IGovernor-proposalDeadline}."},"functionSelector":"c01f9e37","id":3195,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"7411:16:24","nodeType":"FunctionDefinition","overrides":{"id":3183,"nodeType":"OverrideSpecifier","overrides":[],"src":"7468:8:24"},"parameters":{"id":3182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3181,"mutability":"mutable","name":"proposalId","nameLocation":"7436:10:24","nodeType":"VariableDeclaration","scope":3195,"src":"7428:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3180,"name":"uint256","nodeType":"ElementaryTypeName","src":"7428:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7427:20:24"},"returnParameters":{"id":3186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3195,"src":"7486:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3184,"name":"uint256","nodeType":"ElementaryTypeName","src":"7486:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7485:9:24"},"scope":4143,"src":"7402:161:24","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":3203,"nodeType":"Block","src":"7780:25:24","statements":[{"expression":{"hexValue":"30","id":3201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7797:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":3200,"id":3202,"nodeType":"Return","src":"7790:8:24"}]},"documentation":{"id":3196,"nodeType":"StructuredDocumentation","src":"7569:139:24","text":" @dev Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_."},"functionSelector":"b58131b0","id":3204,"implemented":true,"kind":"function","modifiers":[],"name":"proposalThreshold","nameLocation":"7722:17:24","nodeType":"FunctionDefinition","parameters":{"id":3197,"nodeType":"ParameterList","parameters":[],"src":"7739:2:24"},"returnParameters":{"id":3200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3204,"src":"7771:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3198,"name":"uint256","nodeType":"ElementaryTypeName","src":"7771:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7770:9:24"},"scope":4143,"src":"7713:92:24","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":3205,"nodeType":"StructuredDocumentation","src":"7811:80:24","text":" @dev Amount of votes already cast passes the threshold limit."},"id":3212,"implemented":false,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"7905:14:24","nodeType":"FunctionDefinition","parameters":{"id":3208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3207,"mutability":"mutable","name":"proposalId","nameLocation":"7928:10:24","nodeType":"VariableDeclaration","scope":3212,"src":"7920:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3206,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7919:20:24"},"returnParameters":{"id":3211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3212,"src":"7971:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3209,"name":"bool","nodeType":"ElementaryTypeName","src":"7971:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7970:6:24"},"scope":4143,"src":"7896:81:24","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":3213,"nodeType":"StructuredDocumentation","src":"7983:58:24","text":" @dev Is the proposal successful or not."},"id":3220,"implemented":false,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"8055:14:24","nodeType":"FunctionDefinition","parameters":{"id":3216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3215,"mutability":"mutable","name":"proposalId","nameLocation":"8078:10:24","nodeType":"VariableDeclaration","scope":3220,"src":"8070:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3214,"name":"uint256","nodeType":"ElementaryTypeName","src":"8070:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8069:20:24"},"returnParameters":{"id":3219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3220,"src":"8121:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3217,"name":"bool","nodeType":"ElementaryTypeName","src":"8121:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8120:6:24"},"scope":4143,"src":"8046:81:24","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":3221,"nodeType":"StructuredDocumentation","src":"8133:124:24","text":" @dev Get the voting weight of `account` at a specific `blockNumber`, for a vote as described by `params`."},"id":3232,"implemented":false,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"8271:9:24","nodeType":"FunctionDefinition","parameters":{"id":3228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3223,"mutability":"mutable","name":"account","nameLocation":"8298:7:24","nodeType":"VariableDeclaration","scope":3232,"src":"8290:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3222,"name":"address","nodeType":"ElementaryTypeName","src":"8290:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3225,"mutability":"mutable","name":"blockNumber","nameLocation":"8323:11:24","nodeType":"VariableDeclaration","scope":3232,"src":"8315:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3224,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3227,"mutability":"mutable","name":"params","nameLocation":"8357:6:24","nodeType":"VariableDeclaration","scope":3232,"src":"8344:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3226,"name":"bytes","nodeType":"ElementaryTypeName","src":"8344:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8280:89:24"},"returnParameters":{"id":3231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3232,"src":"8401:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3229,"name":"uint256","nodeType":"ElementaryTypeName","src":"8401:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8400:9:24"},"scope":4143,"src":"8262:148:24","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":3233,"nodeType":"StructuredDocumentation","src":"8416:239:24","text":" @dev Register a vote for `proposalId` by `account` with a given `support`, voting `weight` and voting `params`.\n Note: Support is generic and can represent various things depending on the voting system used."},"id":3246,"implemented":false,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"8669:10:24","nodeType":"FunctionDefinition","parameters":{"id":3244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3235,"mutability":"mutable","name":"proposalId","nameLocation":"8697:10:24","nodeType":"VariableDeclaration","scope":3246,"src":"8689:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3234,"name":"uint256","nodeType":"ElementaryTypeName","src":"8689:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3237,"mutability":"mutable","name":"account","nameLocation":"8725:7:24","nodeType":"VariableDeclaration","scope":3246,"src":"8717:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3236,"name":"address","nodeType":"ElementaryTypeName","src":"8717:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3239,"mutability":"mutable","name":"support","nameLocation":"8748:7:24","nodeType":"VariableDeclaration","scope":3246,"src":"8742:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3238,"name":"uint8","nodeType":"ElementaryTypeName","src":"8742:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3241,"mutability":"mutable","name":"weight","nameLocation":"8773:6:24","nodeType":"VariableDeclaration","scope":3246,"src":"8765:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3240,"name":"uint256","nodeType":"ElementaryTypeName","src":"8765:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3243,"mutability":"mutable","name":"params","nameLocation":"8802:6:24","nodeType":"VariableDeclaration","scope":3246,"src":"8789:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3242,"name":"bytes","nodeType":"ElementaryTypeName","src":"8789:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8679:135:24"},"returnParameters":{"id":3245,"nodeType":"ParameterList","parameters":[],"src":"8831:0:24"},"scope":4143,"src":"8660:172:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3254,"nodeType":"Block","src":"9205:26:24","statements":[{"expression":{"hexValue":"","id":3252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9222:2:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":3251,"id":3253,"nodeType":"Return","src":"9215:9:24"}]},"documentation":{"id":3247,"nodeType":"StructuredDocumentation","src":"8838:291:24","text":" @dev Default additional encoded parameters used by castVote methods that don't include them\n Note: Should be overridden by specific implementations to use an appropriate value, the\n meaning of the additional params, in the context of that implementation"},"id":3255,"implemented":true,"kind":"function","modifiers":[],"name":"_defaultParams","nameLocation":"9143:14:24","nodeType":"FunctionDefinition","parameters":{"id":3248,"nodeType":"ParameterList","parameters":[],"src":"9157:2:24"},"returnParameters":{"id":3251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3255,"src":"9191:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3249,"name":"bytes","nodeType":"ElementaryTypeName","src":"9191:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9190:14:24"},"scope":4143,"src":"9134:97:24","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[4350],"body":{"id":3400,"nodeType":"Block","src":"9491:1207:24","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":3275,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"9531:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9531:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3277,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9545:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9545:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9560:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9545:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3274,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[3728],"referencedDeclaration":3728,"src":"9522:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9522:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":3282,"name":"proposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3204,"src":"9566:17:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9566:19:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9522:63:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73657220766f7465732062656c6f772070726f706f73616c207468726573686f6c64","id":3285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9599:51:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_df78ee0077e11770202b643d4ac130b9964a5ac311c9b8d8ed6242eb4e2dcf86","typeString":"literal_string \"Governor: proposer votes below proposal threshold\""},"value":"Governor: proposer votes below proposal threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df78ee0077e11770202b643d4ac130b9964a5ac311c9b8d8ed6242eb4e2dcf86","typeString":"literal_string \"Governor: proposer votes below proposal threshold\""}],"id":3273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9501:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9501:159:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3287,"nodeType":"ExpressionStatement","src":"9501:159:24"},{"assignments":[3289],"declarations":[{"constant":false,"id":3289,"mutability":"mutable","name":"proposalId","nameLocation":"9679:10:24","nodeType":"VariableDeclaration","scope":3400,"src":"9671:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3288,"name":"uint256","nodeType":"ElementaryTypeName","src":"9671:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3301,"initialValue":{"arguments":[{"id":3291,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"9705:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3292,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3262,"src":"9714:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3293,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"9722:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"arguments":[{"id":3297,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"9749:11:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9743:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3295,"name":"bytes","nodeType":"ElementaryTypeName","src":"9743:5:24","typeDescriptions":{}}},"id":3298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9743:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3294,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9733:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9733:29:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3290,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"9692:12:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":3300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9692:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9671:92:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3303,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"9782:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9782:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3305,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3262,"src":"9800:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9800:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9782:31:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677468","id":3308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9815:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d","typeString":"literal_string \"Governor: invalid proposal length\""},"value":"Governor: invalid proposal length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d","typeString":"literal_string \"Governor: invalid proposal length\""}],"id":3302,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9774:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9774:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3310,"nodeType":"ExpressionStatement","src":"9774:77:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3312,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"9869:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9869:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3314,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"9887:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":3315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9887:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9869:34:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677468","id":3317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9905:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d","typeString":"literal_string \"Governor: invalid proposal length\""},"value":"Governor: invalid proposal length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d","typeString":"literal_string \"Governor: invalid proposal length\""}],"id":3311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9861:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9861:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3319,"nodeType":"ExpressionStatement","src":"9861:80:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3321,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"9959:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9959:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9976:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9959:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a20656d7074792070726f706f73616c","id":3325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9979:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8400b334e0df18026c76df742cddc258619f9923d5f5b8ba67cd6eec1d1f3513","typeString":"literal_string \"Governor: empty proposal\""},"value":"Governor: empty proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8400b334e0df18026c76df742cddc258619f9923d5f5b8ba67cd6eec1d1f3513","typeString":"literal_string \"Governor: empty proposal\""}],"id":3320,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9951:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9951:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3327,"nodeType":"ExpressionStatement","src":"9951:55:24"},{"assignments":[3330],"declarations":[{"constant":false,"id":3330,"mutability":"mutable","name":"proposal","nameLocation":"10038:8:24","nodeType":"VariableDeclaration","scope":3400,"src":"10017:29:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"},"typeName":{"id":3329,"nodeType":"UserDefinedTypeName","pathNode":{"id":3328,"name":"ProposalCore","nodeType":"IdentifierPath","referencedDeclaration":2893,"src":"10017:12:24"},"referencedDeclaration":2893,"src":"10017:12:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"}},"visibility":"internal"}],"id":3334,"initialValue":{"baseExpression":{"id":3331,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"10049:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3333,"indexExpression":{"id":3332,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"10060:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10049:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10017:54:24"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":3336,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3330,"src":"10089:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":2885,"src":"10089:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isUnset","nodeType":"MemberAccess","referencedDeclaration":22891,"src":"10089:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (bool)"}},"id":3339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10089:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c20616c726561647920657869737473","id":3340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10119:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c1bb0f67bc14091429c4b8b5d74e1f929b2838d72b5fb3c5a2cbef13b2faab40","typeString":"literal_string \"Governor: proposal already exists\""},"value":"Governor: proposal already exists"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c1bb0f67bc14091429c4b8b5d74e1f929b2838d72b5fb3c5a2cbef13b2faab40","typeString":"literal_string \"Governor: proposal already exists\""}],"id":3335,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10081:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10081:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3342,"nodeType":"ExpressionStatement","src":"10081:74:24"},{"assignments":[3344],"declarations":[{"constant":false,"id":3344,"mutability":"mutable","name":"snapshot","nameLocation":"10173:8:24","nodeType":"VariableDeclaration","scope":3400,"src":"10166:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":3343,"name":"uint64","nodeType":"ElementaryTypeName","src":"10166:6:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":3354,"initialValue":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":3353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":3345,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10184:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"10184:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint64","nodeType":"MemberAccess","referencedDeclaration":26265,"src":"10184:21:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint64)"}},"id":3348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10184:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3349,"name":"votingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4287,"src":"10210:11:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10210:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint64","nodeType":"MemberAccess","referencedDeclaration":26265,"src":"10210:22:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint64)"}},"id":3352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10210:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"10184:50:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"10166:68:24"},{"assignments":[3356],"declarations":[{"constant":false,"id":3356,"mutability":"mutable","name":"deadline","nameLocation":"10251:8:24","nodeType":"VariableDeclaration","scope":3400,"src":"10244:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":3355,"name":"uint64","nodeType":"ElementaryTypeName","src":"10244:6:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":3363,"initialValue":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":3362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3357,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3344,"src":"10262:8:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3358,"name":"votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4293,"src":"10273:12:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":3359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10273:14:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint64","nodeType":"MemberAccess","referencedDeclaration":26265,"src":"10273:23:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint64)"}},"id":3361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10273:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"10262:36:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"10244:54:24"},{"expression":{"arguments":[{"id":3369,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3344,"src":"10340:8:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"expression":{"id":3364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3330,"src":"10309:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":2885,"src":"10309:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setDeadline","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"10309:30:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BlockNumber_$22837_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_BlockNumber_$22837_storage_ptr_$","typeString":"function (struct Timers.BlockNumber storage pointer,uint64)"}},"id":3370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10309:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3371,"nodeType":"ExpressionStatement","src":"10309:40:24"},{"expression":{"arguments":[{"id":3377,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3356,"src":"10388:8:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"expression":{"id":3372,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3330,"src":"10359:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteEnd","nodeType":"MemberAccess","referencedDeclaration":2888,"src":"10359:16:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setDeadline","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"10359:28:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BlockNumber_$22837_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_BlockNumber_$22837_storage_ptr_$","typeString":"function (struct Timers.BlockNumber storage pointer,uint64)"}},"id":3378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10359:38:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3379,"nodeType":"ExpressionStatement","src":"10359:38:24"},{"eventCall":{"arguments":[{"id":3381,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"10442:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":3382,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"10466:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10466:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3384,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"10492:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3385,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3262,"src":"10513:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"expression":{"id":3389,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3259,"src":"10546:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10546:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10533:12:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":3386,"name":"string","nodeType":"ElementaryTypeName","src":"10537:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3387,"nodeType":"ArrayTypeName","src":"10537:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":3391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10533:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":3392,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"10575:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3393,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3344,"src":"10598:8:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":3394,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3356,"src":"10620:8:24","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":3395,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"10642:11:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3380,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4183,"src":"10413:15:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,uint256,uint256,string memory)"}},"id":3396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10413:250:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3397,"nodeType":"EmitStatement","src":"10408:255:24"},{"expression":{"id":3398,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"10681:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3272,"id":3399,"nodeType":"Return","src":"10674:17:24"}]},"documentation":{"id":3256,"nodeType":"StructuredDocumentation","src":"9237:48:24","text":" @dev See {IGovernor-propose}."},"functionSelector":"7d5e81e2","id":3401,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"9299:7:24","nodeType":"FunctionDefinition","overrides":{"id":3269,"nodeType":"OverrideSpecifier","overrides":[],"src":"9464:8:24"},"parameters":{"id":3268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3259,"mutability":"mutable","name":"targets","nameLocation":"9333:7:24","nodeType":"VariableDeclaration","scope":3401,"src":"9316:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3257,"name":"address","nodeType":"ElementaryTypeName","src":"9316:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3258,"nodeType":"ArrayTypeName","src":"9316:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3262,"mutability":"mutable","name":"values","nameLocation":"9367:6:24","nodeType":"VariableDeclaration","scope":3401,"src":"9350:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3260,"name":"uint256","nodeType":"ElementaryTypeName","src":"9350:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3261,"nodeType":"ArrayTypeName","src":"9350:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3265,"mutability":"mutable","name":"calldatas","nameLocation":"9398:9:24","nodeType":"VariableDeclaration","scope":3401,"src":"9383:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3263,"name":"bytes","nodeType":"ElementaryTypeName","src":"9383:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3264,"nodeType":"ArrayTypeName","src":"9383:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3267,"mutability":"mutable","name":"description","nameLocation":"9431:11:24","nodeType":"VariableDeclaration","scope":3401,"src":"9417:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3266,"name":"string","nodeType":"ElementaryTypeName","src":"9417:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9306:142:24"},"returnParameters":{"id":3272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3401,"src":"9482:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3270,"name":"uint256","nodeType":"ElementaryTypeName","src":"9482:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9481:9:24"},"scope":4143,"src":"9290:1408:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4367],"body":{"id":3485,"nodeType":"Block","src":"10964:660:24","statements":[{"assignments":[3420],"declarations":[{"constant":false,"id":3420,"mutability":"mutable","name":"proposalId","nameLocation":"10982:10:24","nodeType":"VariableDeclaration","scope":3485,"src":"10974:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3419,"name":"uint256","nodeType":"ElementaryTypeName","src":"10974:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3427,"initialValue":{"arguments":[{"id":3422,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3405,"src":"11008:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3423,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3408,"src":"11017:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3424,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3411,"src":"11025:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3425,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3413,"src":"11036:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3421,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"10995:12:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":3426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10995:57:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10974:78:24"},{"assignments":[3430],"declarations":[{"constant":false,"id":3430,"mutability":"mutable","name":"status","nameLocation":"11077:6:24","nodeType":"VariableDeclaration","scope":3485,"src":"11063:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":3429,"nodeType":"UserDefinedTypeName","pathNode":{"id":3428,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"11063:13:24"},"referencedDeclaration":4158,"src":"11063:13:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"id":3434,"initialValue":{"arguments":[{"id":3432,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11092:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3431,"name":"state","nodeType":"Identifier","overloadedDeclarations":[3161],"referencedDeclaration":3161,"src":"11086:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":3433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11086:17:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"11063:40:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3436,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3430,"src":"11134:6:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3437,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"11144:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"11144:23:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"11134:33:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3440,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3430,"src":"11171:6:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3441,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"11181:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":4155,"src":"11181:20:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"11171:30:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11134:67:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756c","id":3445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11215:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""},"value":"Governor: proposal not successful"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""}],"id":3435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11113:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11113:147:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3447,"nodeType":"ExpressionStatement","src":"11113:147:24"},{"expression":{"id":3453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3448,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"11270:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3450,"indexExpression":{"id":3449,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11281:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11270:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"id":3451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":2890,"src":"11270:31:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11304:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11270:38:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3454,"nodeType":"ExpressionStatement","src":"11270:38:24"},{"eventCall":{"arguments":[{"id":3456,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11341:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3455,"name":"ProposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4193,"src":"11324:16:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11324:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3458,"nodeType":"EmitStatement","src":"11319:33:24"},{"expression":{"arguments":[{"id":3460,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11378:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3461,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3405,"src":"11390:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3462,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3408,"src":"11399:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3463,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3411,"src":"11407:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3464,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3413,"src":"11418:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3459,"name":"_beforeExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3606,"src":"11363:14:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)"}},"id":3465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11363:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3466,"nodeType":"ExpressionStatement","src":"11363:71:24"},{"expression":{"arguments":[{"id":3468,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11453:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3469,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3405,"src":"11465:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3470,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3408,"src":"11474:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3471,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3411,"src":"11482:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3472,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3413,"src":"11493:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3467,"name":"_execute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"11444:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)"}},"id":3473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11444:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3474,"nodeType":"ExpressionStatement","src":"11444:65:24"},{"expression":{"arguments":[{"id":3476,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11533:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3477,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3405,"src":"11545:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3478,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3408,"src":"11554:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3479,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3411,"src":"11562:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3480,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3413,"src":"11573:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3475,"name":"_afterExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3644,"src":"11519:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)"}},"id":3481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11519:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3482,"nodeType":"ExpressionStatement","src":"11519:70:24"},{"expression":{"id":3483,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3420,"src":"11607:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3418,"id":3484,"nodeType":"Return","src":"11600:17:24"}]},"documentation":{"id":3402,"nodeType":"StructuredDocumentation","src":"10704:48:24","text":" @dev See {IGovernor-execute}."},"functionSelector":"2656227d","id":3486,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"10766:7:24","nodeType":"FunctionDefinition","overrides":{"id":3415,"nodeType":"OverrideSpecifier","overrides":[],"src":"10937:8:24"},"parameters":{"id":3414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3405,"mutability":"mutable","name":"targets","nameLocation":"10800:7:24","nodeType":"VariableDeclaration","scope":3486,"src":"10783:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3403,"name":"address","nodeType":"ElementaryTypeName","src":"10783:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3404,"nodeType":"ArrayTypeName","src":"10783:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3408,"mutability":"mutable","name":"values","nameLocation":"10834:6:24","nodeType":"VariableDeclaration","scope":3486,"src":"10817:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3406,"name":"uint256","nodeType":"ElementaryTypeName","src":"10817:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3407,"nodeType":"ArrayTypeName","src":"10817:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3411,"mutability":"mutable","name":"calldatas","nameLocation":"10865:9:24","nodeType":"VariableDeclaration","scope":3486,"src":"10850:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3409,"name":"bytes","nodeType":"ElementaryTypeName","src":"10850:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3410,"nodeType":"ArrayTypeName","src":"10850:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3413,"mutability":"mutable","name":"descriptionHash","nameLocation":"10892:15:24","nodeType":"VariableDeclaration","scope":3486,"src":"10884:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10884:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10773:140:24"},"returnParameters":{"id":3418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3486,"src":"10955:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3416,"name":"uint256","nodeType":"ElementaryTypeName","src":"10955:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10954:9:24"},"scope":4143,"src":"10757:867:24","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":3545,"nodeType":"Block","src":"11962:328:24","statements":[{"assignments":[3504],"declarations":[{"constant":false,"id":3504,"mutability":"mutable","name":"errorMessage","nameLocation":"11986:12:24","nodeType":"VariableDeclaration","scope":3545,"src":"11972:26:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3503,"name":"string","nodeType":"ElementaryTypeName","src":"11972:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3506,"initialValue":{"hexValue":"476f7665726e6f723a2063616c6c20726576657274656420776974686f7574206d657373616765","id":3505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12001:41:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_60bfcc3776c91812db2df5ee8e14efc111acb8df47a38be82f94cf8f4bc73336","typeString":"literal_string \"Governor: call reverted without message\""},"value":"Governor: call reverted without message"},"nodeType":"VariableDeclarationStatement","src":"11972:70:24"},{"body":{"id":3543,"nodeType":"Block","src":"12097:187:24","statements":[{"assignments":[3519,3521],"declarations":[{"constant":false,"id":3519,"mutability":"mutable","name":"success","nameLocation":"12117:7:24","nodeType":"VariableDeclaration","scope":3543,"src":"12112:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3518,"name":"bool","nodeType":"ElementaryTypeName","src":"12112:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3521,"mutability":"mutable","name":"returndata","nameLocation":"12139:10:24","nodeType":"VariableDeclaration","scope":3543,"src":"12126:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3520,"name":"bytes","nodeType":"ElementaryTypeName","src":"12126:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3534,"initialValue":{"arguments":[{"baseExpression":{"id":3530,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3498,"src":"12187:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":3532,"indexExpression":{"id":3531,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12197:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12187:12:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"baseExpression":{"id":3522,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3492,"src":"12153:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3524,"indexExpression":{"id":3523,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12161:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12153:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12153:15:24","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":3529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"baseExpression":{"id":3526,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3495,"src":"12176:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3528,"indexExpression":{"id":3527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12183:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12176:9:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"12153:33:24","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":3533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12153:47:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12111:89:24"},{"expression":{"arguments":[{"id":3538,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3519,"src":"12239:7:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":3539,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3521,"src":"12248:10:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3540,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3504,"src":"12260:12:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3535,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"12214:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":3537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"verifyCallResult","nodeType":"MemberAccess","referencedDeclaration":20667,"src":"12214:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bool,bytes memory,string memory) pure returns (bytes memory)"}},"id":3541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12214:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3542,"nodeType":"ExpressionStatement","src":"12214:59:24"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3511,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12072:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3512,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3492,"src":"12076:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12076:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12072:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3544,"initializationExpression":{"assignments":[3508],"declarations":[{"constant":false,"id":3508,"mutability":"mutable","name":"i","nameLocation":"12065:1:24","nodeType":"VariableDeclaration","scope":3544,"src":"12057:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3507,"name":"uint256","nodeType":"ElementaryTypeName","src":"12057:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3510,"initialValue":{"hexValue":"30","id":3509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12069:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12057:13:24"},"loopExpression":{"expression":{"id":3516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12092:3:24","subExpression":{"id":3515,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12094:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3517,"nodeType":"ExpressionStatement","src":"12092:3:24"},"nodeType":"ForStatement","src":"12052:232:24"}]},"documentation":{"id":3487,"nodeType":"StructuredDocumentation","src":"11630:114:24","text":" @dev Internal execution mechanism. Can be overridden to implement different execution mechanism"},"id":3546,"implemented":true,"kind":"function","modifiers":[],"name":"_execute","nameLocation":"11758:8:24","nodeType":"FunctionDefinition","parameters":{"id":3501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3546,"src":"11776:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3488,"name":"uint256","nodeType":"ElementaryTypeName","src":"11776:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3492,"mutability":"mutable","name":"targets","nameLocation":"11827:7:24","nodeType":"VariableDeclaration","scope":3546,"src":"11810:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3490,"name":"address","nodeType":"ElementaryTypeName","src":"11810:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3491,"nodeType":"ArrayTypeName","src":"11810:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3495,"mutability":"mutable","name":"values","nameLocation":"11861:6:24","nodeType":"VariableDeclaration","scope":3546,"src":"11844:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3493,"name":"uint256","nodeType":"ElementaryTypeName","src":"11844:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3494,"nodeType":"ArrayTypeName","src":"11844:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3498,"mutability":"mutable","name":"calldatas","nameLocation":"11892:9:24","nodeType":"VariableDeclaration","scope":3546,"src":"11877:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3496,"name":"bytes","nodeType":"ElementaryTypeName","src":"11877:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3497,"nodeType":"ArrayTypeName","src":"11877:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3500,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3546,"src":"11911:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11911:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11766:178:24"},"returnParameters":{"id":3502,"nodeType":"ParameterList","parameters":[],"src":"11962:0:24"},"scope":4143,"src":"11749:541:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3605,"nodeType":"Block","src":"12585:274:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":3563,"name":"_executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4076,"src":"12599:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12599:11:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3567,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12622:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":3566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12614:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3565,"name":"address","nodeType":"ElementaryTypeName","src":"12614:7:24","typeDescriptions":{}}},"id":3568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12614:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12599:28:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3604,"nodeType":"IfStatement","src":"12595:258:24","trueBody":{"id":3603,"nodeType":"Block","src":"12629:224:24","statements":[{"body":{"id":3601,"nodeType":"Block","src":"12688:155:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":3581,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3552,"src":"12710:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3583,"indexExpression":{"id":3582,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"12718:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12710:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":3586,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12732:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":3585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12724:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3584,"name":"address","nodeType":"ElementaryTypeName","src":"12724:7:24","typeDescriptions":{}}},"id":3587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12724:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12710:27:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3600,"nodeType":"IfStatement","src":"12706:123:24","trueBody":{"id":3599,"nodeType":"Block","src":"12739:90:24","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":3593,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3558,"src":"12796:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":3595,"indexExpression":{"id":3594,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"12806:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12796:12:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3592,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12786:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12786:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3589,"name":"_governanceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2903,"src":"12761:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":3591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"pushBack","nodeType":"MemberAccess","referencedDeclaration":27873,"src":"12761:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$27841_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_struct$_Bytes32Deque_$27841_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer,bytes32)"}},"id":3597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12761:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3598,"nodeType":"ExpressionStatement","src":"12761:49:24"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3574,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"12663:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3575,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3552,"src":"12667:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":3576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12667:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12663:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3602,"initializationExpression":{"assignments":[3571],"declarations":[{"constant":false,"id":3571,"mutability":"mutable","name":"i","nameLocation":"12656:1:24","nodeType":"VariableDeclaration","scope":3602,"src":"12648:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3570,"name":"uint256","nodeType":"ElementaryTypeName","src":"12648:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3573,"initialValue":{"hexValue":"30","id":3572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12660:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12648:13:24"},"loopExpression":{"expression":{"id":3579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12683:3:24","subExpression":{"id":3578,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"12685:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3580,"nodeType":"ExpressionStatement","src":"12683:3:24"},"nodeType":"ForStatement","src":"12643:200:24"}]}}]},"documentation":{"id":3547,"nodeType":"StructuredDocumentation","src":"12296:59:24","text":" @dev Hook before execution is triggered."},"id":3606,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeExecute","nameLocation":"12369:14:24","nodeType":"FunctionDefinition","parameters":{"id":3561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3606,"src":"12393:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3548,"name":"uint256","nodeType":"ElementaryTypeName","src":"12393:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3552,"mutability":"mutable","name":"targets","nameLocation":"12444:7:24","nodeType":"VariableDeclaration","scope":3606,"src":"12427:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3550,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3551,"nodeType":"ArrayTypeName","src":"12427:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3606,"src":"12461:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3553,"name":"uint256","nodeType":"ElementaryTypeName","src":"12461:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3554,"nodeType":"ArrayTypeName","src":"12461:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3558,"mutability":"mutable","name":"calldatas","nameLocation":"12515:9:24","nodeType":"VariableDeclaration","scope":3606,"src":"12500:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3556,"name":"bytes","nodeType":"ElementaryTypeName","src":"12500:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3557,"nodeType":"ArrayTypeName","src":"12500:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3606,"src":"12534:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12534:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12383:184:24"},"returnParameters":{"id":3562,"nodeType":"ParameterList","parameters":[],"src":"12585:0:24"},"scope":4143,"src":"12360:499:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3643,"nodeType":"Block","src":"13164:160:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":3623,"name":"_executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4076,"src":"13178:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13178:11:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3627,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13201:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":3626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13193:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3625,"name":"address","nodeType":"ElementaryTypeName","src":"13193:7:24","typeDescriptions":{}}},"id":3628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13193:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13178:28:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3642,"nodeType":"IfStatement","src":"13174:144:24","trueBody":{"id":3641,"nodeType":"Block","src":"13208:110:24","statements":[{"condition":{"id":3633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13226:24:24","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3630,"name":"_governanceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2903,"src":"13227:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":3631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"empty","nodeType":"MemberAccess","referencedDeclaration":28162,"src":"13227:21:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Deque_$27841_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":3632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13227:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3640,"nodeType":"IfStatement","src":"13222:86:24","trueBody":{"id":3639,"nodeType":"Block","src":"13252:56:24","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3634,"name":"_governanceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2903,"src":"13270:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":3636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":28120,"src":"13270:21:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$__$bound_to$_t_struct$_Bytes32Deque_$27841_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer)"}},"id":3637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13270:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3638,"nodeType":"ExpressionStatement","src":"13270:23:24"}]}}]}}]},"documentation":{"id":3607,"nodeType":"StructuredDocumentation","src":"12865:58:24","text":" @dev Hook after execution is triggered."},"id":3644,"implemented":true,"kind":"function","modifiers":[],"name":"_afterExecute","nameLocation":"12937:13:24","nodeType":"FunctionDefinition","parameters":{"id":3621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3644,"src":"12960:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3608,"name":"uint256","nodeType":"ElementaryTypeName","src":"12960:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3644,"src":"12994:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3610,"name":"address","nodeType":"ElementaryTypeName","src":"12994:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3611,"nodeType":"ArrayTypeName","src":"12994:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3644,"src":"13034:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3613,"name":"uint256","nodeType":"ElementaryTypeName","src":"13034:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3614,"nodeType":"ArrayTypeName","src":"13034:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3644,"src":"13073:14:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3616,"name":"bytes","nodeType":"ElementaryTypeName","src":"13073:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3617,"nodeType":"ArrayTypeName","src":"13073:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3644,"src":"13113:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13113:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12950:196:24"},"returnParameters":{"id":3622,"nodeType":"ParameterList","parameters":[],"src":"13164:0:24"},"scope":4143,"src":"12928:396:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3708,"nodeType":"Block","src":"13783:455:24","statements":[{"assignments":[3662],"declarations":[{"constant":false,"id":3662,"mutability":"mutable","name":"proposalId","nameLocation":"13801:10:24","nodeType":"VariableDeclaration","scope":3708,"src":"13793:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3661,"name":"uint256","nodeType":"ElementaryTypeName","src":"13793:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3669,"initialValue":{"arguments":[{"id":3664,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3648,"src":"13827:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":3665,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3651,"src":"13836:6:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":3666,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3654,"src":"13844:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":3667,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3656,"src":"13855:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3663,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"13814:12:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":3668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13814:57:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13793:78:24"},{"assignments":[3672],"declarations":[{"constant":false,"id":3672,"mutability":"mutable","name":"status","nameLocation":"13895:6:24","nodeType":"VariableDeclaration","scope":3708,"src":"13881:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":3671,"nodeType":"UserDefinedTypeName","pathNode":{"id":3670,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"13881:13:24"},"referencedDeclaration":4158,"src":"13881:13:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"id":3676,"initialValue":{"arguments":[{"id":3674,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3662,"src":"13910:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3673,"name":"state","nodeType":"Identifier","overloadedDeclarations":[3161],"referencedDeclaration":3161,"src":"13904:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":3675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13904:17:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"13881:40:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3678,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"13953:6:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":3679,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"13963:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"13963:22:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"13953:32:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3682,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"13989:6:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":3683,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"13999:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Expired","nodeType":"MemberAccess","referencedDeclaration":4156,"src":"13999:21:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"13989:31:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13953:67:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3687,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"14024:6:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":3688,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"14034:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":4157,"src":"14034:22:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"14024:32:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13953:103:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f7420616374697665","id":3692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14070:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9df62e32cc9e9c02131fa3d2189c515bf05634e5979aec1a0e5b3a9e44a36d0b","typeString":"literal_string \"Governor: proposal not active\""},"value":"Governor: proposal not active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9df62e32cc9e9c02131fa3d2189c515bf05634e5979aec1a0e5b3a9e44a36d0b","typeString":"literal_string \"Governor: proposal not active\""}],"id":3677,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13932:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13932:179:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3694,"nodeType":"ExpressionStatement","src":"13932:179:24"},{"expression":{"id":3700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3695,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"14121:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3697,"indexExpression":{"id":3696,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3662,"src":"14132:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14121:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"id":3698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":2892,"src":"14121:31:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14155:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14121:38:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3701,"nodeType":"ExpressionStatement","src":"14121:38:24"},{"eventCall":{"arguments":[{"id":3703,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3662,"src":"14192:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3702,"name":"ProposalCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4188,"src":"14175:16:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14175:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3705,"nodeType":"EmitStatement","src":"14170:33:24"},{"expression":{"id":3706,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3662,"src":"14221:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3660,"id":3707,"nodeType":"Return","src":"14214:17:24"}]},"documentation":{"id":3645,"nodeType":"StructuredDocumentation","src":"13330:256:24","text":" @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as\n canceled to allow distinguishing it from executed proposals.\n Emits a {IGovernor-ProposalCanceled} event."},"id":3709,"implemented":true,"kind":"function","modifiers":[],"name":"_cancel","nameLocation":"13600:7:24","nodeType":"FunctionDefinition","parameters":{"id":3657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3648,"mutability":"mutable","name":"targets","nameLocation":"13634:7:24","nodeType":"VariableDeclaration","scope":3709,"src":"13617:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3646,"name":"address","nodeType":"ElementaryTypeName","src":"13617:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3647,"nodeType":"ArrayTypeName","src":"13617:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":3651,"mutability":"mutable","name":"values","nameLocation":"13668:6:24","nodeType":"VariableDeclaration","scope":3709,"src":"13651:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3649,"name":"uint256","nodeType":"ElementaryTypeName","src":"13651:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3650,"nodeType":"ArrayTypeName","src":"13651:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3654,"mutability":"mutable","name":"calldatas","nameLocation":"13699:9:24","nodeType":"VariableDeclaration","scope":3709,"src":"13684:24:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3652,"name":"bytes","nodeType":"ElementaryTypeName","src":"13684:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3653,"nodeType":"ArrayTypeName","src":"13684:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":3656,"mutability":"mutable","name":"descriptionHash","nameLocation":"13726:15:24","nodeType":"VariableDeclaration","scope":3709,"src":"13718:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13718:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13607:140:24"},"returnParameters":{"id":3660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3659,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3709,"src":"13774:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3658,"name":"uint256","nodeType":"ElementaryTypeName","src":"13774:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13773:9:24"},"scope":4143,"src":"13591:647:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[4311],"body":{"id":3727,"nodeType":"Block","src":"14401:73:24","statements":[{"expression":{"arguments":[{"id":3721,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3712,"src":"14428:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3722,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3714,"src":"14437:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":3723,"name":"_defaultParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"14450:14:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_memory_ptr_$","typeString":"function () view returns (bytes memory)"}},"id":3724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14450:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3720,"name":"_getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3232,"src":"14418:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view returns (uint256)"}},"id":3725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14418:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3719,"id":3726,"nodeType":"Return","src":"14411:56:24"}]},"documentation":{"id":3710,"nodeType":"StructuredDocumentation","src":"14244:49:24","text":" @dev See {IGovernor-getVotes}."},"functionSelector":"eb9019d4","id":3728,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"14307:8:24","nodeType":"FunctionDefinition","overrides":{"id":3716,"nodeType":"OverrideSpecifier","overrides":[],"src":"14374:8:24"},"parameters":{"id":3715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3712,"mutability":"mutable","name":"account","nameLocation":"14324:7:24","nodeType":"VariableDeclaration","scope":3728,"src":"14316:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3711,"name":"address","nodeType":"ElementaryTypeName","src":"14316:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3714,"mutability":"mutable","name":"blockNumber","nameLocation":"14341:11:24","nodeType":"VariableDeclaration","scope":3728,"src":"14333:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3713,"name":"uint256","nodeType":"ElementaryTypeName","src":"14333:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14315:38:24"},"returnParameters":{"id":3719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3728,"src":"14392:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3717,"name":"uint256","nodeType":"ElementaryTypeName","src":"14392:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14391:9:24"},"scope":4143,"src":"14298:176:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4323],"body":{"id":3747,"nodeType":"Block","src":"14708:63:24","statements":[{"expression":{"arguments":[{"id":3742,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3731,"src":"14735:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3743,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3733,"src":"14744:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3744,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3735,"src":"14757:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3741,"name":"_getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3232,"src":"14725:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view returns (uint256)"}},"id":3745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14725:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3740,"id":3746,"nodeType":"Return","src":"14718:46:24"}]},"documentation":{"id":3729,"nodeType":"StructuredDocumentation","src":"14480:59:24","text":" @dev See {IGovernor-getVotesWithParams}."},"functionSelector":"9a802a6d","id":3748,"implemented":true,"kind":"function","modifiers":[],"name":"getVotesWithParams","nameLocation":"14553:18:24","nodeType":"FunctionDefinition","overrides":{"id":3737,"nodeType":"OverrideSpecifier","overrides":[],"src":"14681:8:24"},"parameters":{"id":3736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3731,"mutability":"mutable","name":"account","nameLocation":"14589:7:24","nodeType":"VariableDeclaration","scope":3748,"src":"14581:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3730,"name":"address","nodeType":"ElementaryTypeName","src":"14581:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3733,"mutability":"mutable","name":"blockNumber","nameLocation":"14614:11:24","nodeType":"VariableDeclaration","scope":3748,"src":"14606:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3732,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3735,"mutability":"mutable","name":"params","nameLocation":"14648:6:24","nodeType":"VariableDeclaration","scope":3748,"src":"14635:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3734,"name":"bytes","nodeType":"ElementaryTypeName","src":"14635:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14571:89:24"},"returnParameters":{"id":3740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3748,"src":"14699:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3738,"name":"uint256","nodeType":"ElementaryTypeName","src":"14699:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14698:9:24"},"scope":4143,"src":"14544:227:24","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4377],"body":{"id":3771,"nodeType":"Block","src":"14926:103:24","statements":[{"assignments":[3760],"declarations":[{"constant":false,"id":3760,"mutability":"mutable","name":"voter","nameLocation":"14944:5:24","nodeType":"VariableDeclaration","scope":3771,"src":"14936:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3759,"name":"address","nodeType":"ElementaryTypeName","src":"14936:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3763,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3761,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"14952:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14952:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14936:28:24"},{"expression":{"arguments":[{"id":3765,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"14991:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3766,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3760,"src":"15003:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3767,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3753,"src":"15010:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15019:2:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":3764,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":3953,"src":"14981:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":3769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14981:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3758,"id":3770,"nodeType":"Return","src":"14974:48:24"}]},"documentation":{"id":3749,"nodeType":"StructuredDocumentation","src":"14777:49:24","text":" @dev See {IGovernor-castVote}."},"functionSelector":"56781388","id":3772,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"14840:8:24","nodeType":"FunctionDefinition","overrides":{"id":3755,"nodeType":"OverrideSpecifier","overrides":[],"src":"14899:8:24"},"parameters":{"id":3754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3751,"mutability":"mutable","name":"proposalId","nameLocation":"14857:10:24","nodeType":"VariableDeclaration","scope":3772,"src":"14849:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3750,"name":"uint256","nodeType":"ElementaryTypeName","src":"14849:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3753,"mutability":"mutable","name":"support","nameLocation":"14875:7:24","nodeType":"VariableDeclaration","scope":3772,"src":"14869:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3752,"name":"uint8","nodeType":"ElementaryTypeName","src":"14869:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"14848:35:24"},"returnParameters":{"id":3758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3772,"src":"14917:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3756,"name":"uint256","nodeType":"ElementaryTypeName","src":"14917:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14916:9:24"},"scope":4143,"src":"14831:198:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4389],"body":{"id":3797,"nodeType":"Block","src":"15258:107:24","statements":[{"assignments":[3786],"declarations":[{"constant":false,"id":3786,"mutability":"mutable","name":"voter","nameLocation":"15276:5:24","nodeType":"VariableDeclaration","scope":3797,"src":"15268:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3785,"name":"address","nodeType":"ElementaryTypeName","src":"15268:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3789,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3787,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"15284:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15284:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15268:28:24"},{"expression":{"arguments":[{"id":3791,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3775,"src":"15323:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3792,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3786,"src":"15335:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3793,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3777,"src":"15342:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3794,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3779,"src":"15351:6:24","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":3790,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":3953,"src":"15313:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":3795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15313:45:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3784,"id":3796,"nodeType":"Return","src":"15306:52:24"}]},"documentation":{"id":3773,"nodeType":"StructuredDocumentation","src":"15035:59:24","text":" @dev See {IGovernor-castVoteWithReason}."},"functionSelector":"7b3c71d3","id":3798,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"15108:18:24","nodeType":"FunctionDefinition","overrides":{"id":3781,"nodeType":"OverrideSpecifier","overrides":[],"src":"15231:8:24"},"parameters":{"id":3780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3775,"mutability":"mutable","name":"proposalId","nameLocation":"15144:10:24","nodeType":"VariableDeclaration","scope":3798,"src":"15136:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3774,"name":"uint256","nodeType":"ElementaryTypeName","src":"15136:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3777,"mutability":"mutable","name":"support","nameLocation":"15170:7:24","nodeType":"VariableDeclaration","scope":3798,"src":"15164:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3776,"name":"uint8","nodeType":"ElementaryTypeName","src":"15164:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3779,"mutability":"mutable","name":"reason","nameLocation":"15203:6:24","nodeType":"VariableDeclaration","scope":3798,"src":"15187:22:24","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":3778,"name":"string","nodeType":"ElementaryTypeName","src":"15187:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15126:89:24"},"returnParameters":{"id":3784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3798,"src":"15249:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3782,"name":"uint256","nodeType":"ElementaryTypeName","src":"15249:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15248:9:24"},"scope":4143,"src":"15099:266:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4403],"body":{"id":3826,"nodeType":"Block","src":"15641:115:24","statements":[{"assignments":[3814],"declarations":[{"constant":false,"id":3814,"mutability":"mutable","name":"voter","nameLocation":"15659:5:24","nodeType":"VariableDeclaration","scope":3826,"src":"15651:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3813,"name":"address","nodeType":"ElementaryTypeName","src":"15651:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3817,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3815,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"15667:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15667:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15651:28:24"},{"expression":{"arguments":[{"id":3819,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3801,"src":"15706:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3820,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3814,"src":"15718:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3821,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3803,"src":"15725:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3822,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3805,"src":"15734:6:24","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":3823,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3807,"src":"15742:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3818,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":4032,"src":"15696:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory,bytes memory) returns (uint256)"}},"id":3824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15696:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3812,"id":3825,"nodeType":"Return","src":"15689:60:24"}]},"documentation":{"id":3799,"nodeType":"StructuredDocumentation","src":"15371:68:24","text":" @dev See {IGovernor-castVoteWithReasonAndParams}."},"functionSelector":"5f398a14","id":3827,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteWithReasonAndParams","nameLocation":"15453:27:24","nodeType":"FunctionDefinition","overrides":{"id":3809,"nodeType":"OverrideSpecifier","overrides":[],"src":"15614:8:24"},"parameters":{"id":3808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3801,"mutability":"mutable","name":"proposalId","nameLocation":"15498:10:24","nodeType":"VariableDeclaration","scope":3827,"src":"15490:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3800,"name":"uint256","nodeType":"ElementaryTypeName","src":"15490:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3803,"mutability":"mutable","name":"support","nameLocation":"15524:7:24","nodeType":"VariableDeclaration","scope":3827,"src":"15518:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3802,"name":"uint8","nodeType":"ElementaryTypeName","src":"15518:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3805,"mutability":"mutable","name":"reason","nameLocation":"15557:6:24","nodeType":"VariableDeclaration","scope":3827,"src":"15541:22:24","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":3804,"name":"string","nodeType":"ElementaryTypeName","src":"15541:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3807,"mutability":"mutable","name":"params","nameLocation":"15586:6:24","nodeType":"VariableDeclaration","scope":3827,"src":"15573:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3806,"name":"bytes","nodeType":"ElementaryTypeName","src":"15573:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15480:118:24"},"returnParameters":{"id":3812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3827,"src":"15632:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3810,"name":"uint256","nodeType":"ElementaryTypeName","src":"15632:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15631:9:24"},"scope":4143,"src":"15444:312:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4419],"body":{"id":3870,"nodeType":"Block","src":"15998:250:24","statements":[{"assignments":[3845],"declarations":[{"constant":false,"id":3845,"mutability":"mutable","name":"voter","nameLocation":"16016:5:24","nodeType":"VariableDeclaration","scope":3870,"src":"16008:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3844,"name":"address","nodeType":"ElementaryTypeName","src":"16008:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3862,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":3852,"name":"BALLOT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2877,"src":"16089:15:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3853,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"16106:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3854,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3832,"src":"16118:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":3850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16078:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"16078:10:24","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16078:48:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3849,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"16068:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16068:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3848,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"16051:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":3857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16051:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3858,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3834,"src":"16142:1:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3859,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3836,"src":"16157:1:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3860,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3838,"src":"16172:1:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3846,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"16024:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":3847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23241,"src":"16024:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":3861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16024:159:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16008:175:24"},{"expression":{"arguments":[{"id":3864,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"16210:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3865,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3845,"src":"16222:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3866,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3832,"src":"16229:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"","id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16238:2:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":3863,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":3953,"src":"16200:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16200:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3843,"id":3869,"nodeType":"Return","src":"16193:48:24"}]},"documentation":{"id":3828,"nodeType":"StructuredDocumentation","src":"15762:54:24","text":" @dev See {IGovernor-castVoteBySig}."},"functionSelector":"3bccf4fd","id":3871,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteBySig","nameLocation":"15830:13:24","nodeType":"FunctionDefinition","overrides":{"id":3840,"nodeType":"OverrideSpecifier","overrides":[],"src":"15971:8:24"},"parameters":{"id":3839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3830,"mutability":"mutable","name":"proposalId","nameLocation":"15861:10:24","nodeType":"VariableDeclaration","scope":3871,"src":"15853:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3829,"name":"uint256","nodeType":"ElementaryTypeName","src":"15853:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3832,"mutability":"mutable","name":"support","nameLocation":"15887:7:24","nodeType":"VariableDeclaration","scope":3871,"src":"15881:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3831,"name":"uint8","nodeType":"ElementaryTypeName","src":"15881:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3834,"mutability":"mutable","name":"v","nameLocation":"15910:1:24","nodeType":"VariableDeclaration","scope":3871,"src":"15904:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3833,"name":"uint8","nodeType":"ElementaryTypeName","src":"15904:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3836,"mutability":"mutable","name":"r","nameLocation":"15929:1:24","nodeType":"VariableDeclaration","scope":3871,"src":"15921:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15921:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3838,"mutability":"mutable","name":"s","nameLocation":"15948:1:24","nodeType":"VariableDeclaration","scope":3871,"src":"15940:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15940:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15843:112:24"},"returnParameters":{"id":3843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3842,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3871,"src":"15989:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3841,"name":"uint256","nodeType":"ElementaryTypeName","src":"15989:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15988:9:24"},"scope":4143,"src":"15821:427:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4439],"body":{"id":3928,"nodeType":"Block","src":"16589:527:24","statements":[{"assignments":[3893],"declarations":[{"constant":false,"id":3893,"mutability":"mutable","name":"voter","nameLocation":"16607:5:24","nodeType":"VariableDeclaration","scope":3928,"src":"16599:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3892,"name":"address","nodeType":"ElementaryTypeName","src":"16599:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3919,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":3900,"name":"EXTENDED_BALLOT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2882,"src":"16743:24:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3901,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3874,"src":"16793:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3902,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3876,"src":"16829:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"arguments":[{"id":3906,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3878,"src":"16878:6:24","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":3905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16872:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3904,"name":"bytes","nodeType":"ElementaryTypeName","src":"16872:5:24","typeDescriptions":{}}},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16872:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":3903,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"16862:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16862:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":3910,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3880,"src":"16922:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3909,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"16912:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16912:17:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16707:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"16707:10:24","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16707:244:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3897,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"16676:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16676:293:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3896,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"16642:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":3914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16642:341:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3915,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3882,"src":"16997:1:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3916,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3884,"src":"17012:1:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3917,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3886,"src":"17027:1:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3894,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"16615:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":3895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23241,"src":"16615:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":3918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16615:423:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16599:439:24"},{"expression":{"arguments":[{"id":3921,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3874,"src":"17066:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3922,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3893,"src":"17078:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3923,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3876,"src":"17085:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3924,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3878,"src":"17094:6:24","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":3925,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3880,"src":"17102:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3920,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":4032,"src":"17056:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory,bytes memory) returns (uint256)"}},"id":3926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17056:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3891,"id":3927,"nodeType":"Return","src":"17049:60:24"}]},"documentation":{"id":3872,"nodeType":"StructuredDocumentation","src":"16254:73:24","text":" @dev See {IGovernor-castVoteWithReasonAndParamsBySig}."},"functionSelector":"03420181","id":3929,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteWithReasonAndParamsBySig","nameLocation":"16341:32:24","nodeType":"FunctionDefinition","overrides":{"id":3888,"nodeType":"OverrideSpecifier","overrides":[],"src":"16562:8:24"},"parameters":{"id":3887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3874,"mutability":"mutable","name":"proposalId","nameLocation":"16391:10:24","nodeType":"VariableDeclaration","scope":3929,"src":"16383:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3873,"name":"uint256","nodeType":"ElementaryTypeName","src":"16383:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3876,"mutability":"mutable","name":"support","nameLocation":"16417:7:24","nodeType":"VariableDeclaration","scope":3929,"src":"16411:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3875,"name":"uint8","nodeType":"ElementaryTypeName","src":"16411:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3878,"mutability":"mutable","name":"reason","nameLocation":"16450:6:24","nodeType":"VariableDeclaration","scope":3929,"src":"16434:22:24","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":3877,"name":"string","nodeType":"ElementaryTypeName","src":"16434:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3880,"mutability":"mutable","name":"params","nameLocation":"16479:6:24","nodeType":"VariableDeclaration","scope":3929,"src":"16466:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3879,"name":"bytes","nodeType":"ElementaryTypeName","src":"16466:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3882,"mutability":"mutable","name":"v","nameLocation":"16501:1:24","nodeType":"VariableDeclaration","scope":3929,"src":"16495:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3881,"name":"uint8","nodeType":"ElementaryTypeName","src":"16495:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3884,"mutability":"mutable","name":"r","nameLocation":"16520:1:24","nodeType":"VariableDeclaration","scope":3929,"src":"16512:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16512:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3886,"mutability":"mutable","name":"s","nameLocation":"16539:1:24","nodeType":"VariableDeclaration","scope":3929,"src":"16531:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16531:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16373:173:24"},"returnParameters":{"id":3891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3929,"src":"16580:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3889,"name":"uint256","nodeType":"ElementaryTypeName","src":"16580:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16579:9:24"},"scope":4143,"src":"16332:784:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":3952,"nodeType":"Block","src":"17591:89:24","statements":[{"expression":{"arguments":[{"id":3944,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3932,"src":"17618:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3945,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3934,"src":"17630:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3946,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3936,"src":"17639:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":3947,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"17648:6:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":3948,"name":"_defaultParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"17656:14:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_memory_ptr_$","typeString":"function () view returns (bytes memory)"}},"id":3949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17656:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3943,"name":"_castVote","nodeType":"Identifier","overloadedDeclarations":[3953,4032],"referencedDeclaration":4032,"src":"17608:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory,bytes memory) returns (uint256)"}},"id":3950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17608:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3942,"id":3951,"nodeType":"Return","src":"17601:72:24"}]},"documentation":{"id":3930,"nodeType":"StructuredDocumentation","src":"17122:298:24","text":" @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. Uses the _defaultParams().\n Emits a {IGovernor-VoteCast} event."},"id":3953,"implemented":true,"kind":"function","modifiers":[],"name":"_castVote","nameLocation":"17434:9:24","nodeType":"FunctionDefinition","parameters":{"id":3939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3932,"mutability":"mutable","name":"proposalId","nameLocation":"17461:10:24","nodeType":"VariableDeclaration","scope":3953,"src":"17453:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3931,"name":"uint256","nodeType":"ElementaryTypeName","src":"17453:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3934,"mutability":"mutable","name":"account","nameLocation":"17489:7:24","nodeType":"VariableDeclaration","scope":3953,"src":"17481:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3933,"name":"address","nodeType":"ElementaryTypeName","src":"17481:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3936,"mutability":"mutable","name":"support","nameLocation":"17512:7:24","nodeType":"VariableDeclaration","scope":3953,"src":"17506:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3935,"name":"uint8","nodeType":"ElementaryTypeName","src":"17506:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3938,"mutability":"mutable","name":"reason","nameLocation":"17543:6:24","nodeType":"VariableDeclaration","scope":3953,"src":"17529:20:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3937,"name":"string","nodeType":"ElementaryTypeName","src":"17529:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17443:112:24"},"returnParameters":{"id":3942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3953,"src":"17582:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3940,"name":"uint256","nodeType":"ElementaryTypeName","src":"17582:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17581:9:24"},"scope":4143,"src":"17425:255:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":4031,"nodeType":"Block","src":"18157:574:24","statements":[{"assignments":[3971],"declarations":[{"constant":false,"id":3971,"mutability":"mutable","name":"proposal","nameLocation":"18188:8:24","nodeType":"VariableDeclaration","scope":4031,"src":"18167:29:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"},"typeName":{"id":3970,"nodeType":"UserDefinedTypeName","pathNode":{"id":3969,"name":"ProposalCore","nodeType":"IdentifierPath","referencedDeclaration":2893,"src":"18167:12:24"},"referencedDeclaration":2893,"src":"18167:12:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore"}},"visibility":"internal"}],"id":3975,"initialValue":{"baseExpression":{"id":3972,"name":"_proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"18199:10:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$2893_storage_$","typeString":"mapping(uint256 => struct Governor.ProposalCore storage ref)"}},"id":3974,"indexExpression":{"id":3973,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3956,"src":"18210:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18199:22:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage","typeString":"struct Governor.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18167:54:24"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":3982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3978,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3956,"src":"18245:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3977,"name":"state","nodeType":"Identifier","overloadedDeclarations":[3161],"referencedDeclaration":3161,"src":"18239:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":3979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18239:17:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3980,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"18260:13:24","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":3981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":4151,"src":"18260:20:24","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"18239:41:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a20766f7465206e6f742063757272656e746c7920616374697665","id":3983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18282:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b1e239298a1362f9b5245bd4e9393de28380a12326aa31532e03fe3f1061d80","typeString":"literal_string \"Governor: vote not currently active\""},"value":"Governor: vote not currently active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5b1e239298a1362f9b5245bd4e9393de28380a12326aa31532e03fe3f1061d80","typeString":"literal_string \"Governor: vote not currently active\""}],"id":3976,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18231:7:24","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18231:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3985,"nodeType":"ExpressionStatement","src":"18231:89:24"},{"assignments":[3987],"declarations":[{"constant":false,"id":3987,"mutability":"mutable","name":"weight","nameLocation":"18339:6:24","nodeType":"VariableDeclaration","scope":4031,"src":"18331:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3986,"name":"uint256","nodeType":"ElementaryTypeName","src":"18331:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3996,"initialValue":{"arguments":[{"id":3989,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3958,"src":"18358:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":3990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3971,"src":"18367:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$2893_storage_ptr","typeString":"struct Governor.ProposalCore storage pointer"}},"id":3991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":2885,"src":"18367:18:24","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":3992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getDeadline","nodeType":"MemberAccess","referencedDeclaration":22849,"src":"18367:30:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (uint64)"}},"id":3993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18367:32:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":3994,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3964,"src":"18401:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3988,"name":"_getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3232,"src":"18348:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view returns (uint256)"}},"id":3995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18348:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18331:77:24"},{"expression":{"arguments":[{"id":3998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3956,"src":"18429:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3999,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3958,"src":"18441:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4000,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"18450:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":4001,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"18459:6:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4002,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3964,"src":"18467:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3997,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3246,"src":"18418:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address,uint8,uint256,bytes memory)"}},"id":4003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18418:56:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4004,"nodeType":"ExpressionStatement","src":"18418:56:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4005,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3964,"src":"18489:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"18489:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18506:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18489:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4027,"nodeType":"Block","src":"18599:102:24","statements":[{"eventCall":{"arguments":[{"id":4019,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3958,"src":"18637:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4020,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3956,"src":"18646:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4021,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"18658:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":4022,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"18667:6:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4023,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3962,"src":"18675:6:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4024,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3964,"src":"18683:6:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4018,"name":"VoteCastWithParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4221,"src":"18618:18:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,string memory,bytes memory)"}},"id":4025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18618:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4026,"nodeType":"EmitStatement","src":"18613:77:24"}]},"id":4028,"nodeType":"IfStatement","src":"18485:216:24","trueBody":{"id":4017,"nodeType":"Block","src":"18509:84:24","statements":[{"eventCall":{"arguments":[{"id":4010,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3958,"src":"18537:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4011,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3956,"src":"18546:10:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4012,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"18558:7:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":4013,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"18567:6:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4014,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3962,"src":"18575:6:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4009,"name":"VoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"18528:8:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,string memory)"}},"id":4015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18528:54:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4016,"nodeType":"EmitStatement","src":"18523:59:24"}]}},{"expression":{"id":4029,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"18718:6:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3968,"id":4030,"nodeType":"Return","src":"18711:13:24"}]},"documentation":{"id":3954,"nodeType":"StructuredDocumentation","src":"17686:271:24","text":" @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n voting weight using {IGovernor-getVotes} and call the {_countVote} internal function.\n Emits a {IGovernor-VoteCast} event."},"id":4032,"implemented":true,"kind":"function","modifiers":[],"name":"_castVote","nameLocation":"17971:9:24","nodeType":"FunctionDefinition","parameters":{"id":3965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3956,"mutability":"mutable","name":"proposalId","nameLocation":"17998:10:24","nodeType":"VariableDeclaration","scope":4032,"src":"17990:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3955,"name":"uint256","nodeType":"ElementaryTypeName","src":"17990:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3958,"mutability":"mutable","name":"account","nameLocation":"18026:7:24","nodeType":"VariableDeclaration","scope":4032,"src":"18018:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3957,"name":"address","nodeType":"ElementaryTypeName","src":"18018:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3960,"mutability":"mutable","name":"support","nameLocation":"18049:7:24","nodeType":"VariableDeclaration","scope":4032,"src":"18043:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3959,"name":"uint8","nodeType":"ElementaryTypeName","src":"18043:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3962,"mutability":"mutable","name":"reason","nameLocation":"18080:6:24","nodeType":"VariableDeclaration","scope":4032,"src":"18066:20:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3961,"name":"string","nodeType":"ElementaryTypeName","src":"18066:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3964,"mutability":"mutable","name":"params","nameLocation":"18109:6:24","nodeType":"VariableDeclaration","scope":4032,"src":"18096:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3963,"name":"bytes","nodeType":"ElementaryTypeName","src":"18096:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17980:141:24"},"returnParameters":{"id":3968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4032,"src":"18148:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3966,"name":"uint256","nodeType":"ElementaryTypeName","src":"18148:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18147:9:24"},"scope":4143,"src":"17962:769:24","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":4063,"nodeType":"Block","src":"19319:189:24","statements":[{"assignments":[4045,4047],"declarations":[{"constant":false,"id":4045,"mutability":"mutable","name":"success","nameLocation":"19335:7:24","nodeType":"VariableDeclaration","scope":4063,"src":"19330:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4044,"name":"bool","nodeType":"ElementaryTypeName","src":"19330:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4047,"mutability":"mutable","name":"returndata","nameLocation":"19357:10:24","nodeType":"VariableDeclaration","scope":4063,"src":"19344:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4046,"name":"bytes","nodeType":"ElementaryTypeName","src":"19344:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4054,"initialValue":{"arguments":[{"id":4052,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4039,"src":"19397:4:24","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":4048,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4035,"src":"19371:6:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"19371:11:24","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":4051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":4050,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4037,"src":"19390:5:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"19371:25:24","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":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19371:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"19329:73:24"},{"expression":{"arguments":[{"id":4058,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4045,"src":"19437:7:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4059,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4047,"src":"19446:10:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765","id":4060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19458:42:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_188c83882c79ccd2b8efe669664a276c8f2b924bc8cf22525168ceaa78c2598f","typeString":"literal_string \"Governor: relay reverted without message\""},"value":"Governor: relay reverted without message"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_188c83882c79ccd2b8efe669664a276c8f2b924bc8cf22525168ceaa78c2598f","typeString":"literal_string \"Governor: relay reverted without message\""}],"expression":{"id":4055,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"19412:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":4057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"verifyCallResult","nodeType":"MemberAccess","referencedDeclaration":20667,"src":"19412:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bool,bytes memory,string memory) pure returns (bytes memory)"}},"id":4061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19412:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4062,"nodeType":"ExpressionStatement","src":"19412:89:24"}]},"documentation":{"id":4033,"nodeType":"StructuredDocumentation","src":"18737:440:24","text":" @dev Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n is some contract other than the governor itself, like when using a timelock, this function can be invoked\n in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n Note that if the executor is simply the governor itself, use of `relay` is redundant."},"functionSelector":"c28bc2fa","id":4064,"implemented":true,"kind":"function","modifiers":[{"id":4042,"kind":"modifierInvocation","modifierName":{"id":4041,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"19304:14:24"},"nodeType":"ModifierInvocation","src":"19304:14:24"}],"name":"relay","nameLocation":"19191:5:24","nodeType":"FunctionDefinition","parameters":{"id":4040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4035,"mutability":"mutable","name":"target","nameLocation":"19214:6:24","nodeType":"VariableDeclaration","scope":4064,"src":"19206:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4034,"name":"address","nodeType":"ElementaryTypeName","src":"19206:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4037,"mutability":"mutable","name":"value","nameLocation":"19238:5:24","nodeType":"VariableDeclaration","scope":4064,"src":"19230:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4036,"name":"uint256","nodeType":"ElementaryTypeName","src":"19230:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4039,"mutability":"mutable","name":"data","nameLocation":"19268:4:24","nodeType":"VariableDeclaration","scope":4064,"src":"19253:19:24","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4038,"name":"bytes","nodeType":"ElementaryTypeName","src":"19253:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19196:82:24"},"returnParameters":{"id":4043,"nodeType":"ParameterList","parameters":[],"src":"19319:0:24"},"scope":4143,"src":"19182:326:24","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":4075,"nodeType":"Block","src":"19757:37:24","statements":[{"expression":{"arguments":[{"id":4072,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19782:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}],"id":4071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19774:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4070,"name":"address","nodeType":"ElementaryTypeName","src":"19774:7:24","typeDescriptions":{}}},"id":4073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19774:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4069,"id":4074,"nodeType":"Return","src":"19767:20:24"}]},"documentation":{"id":4065,"nodeType":"StructuredDocumentation","src":"19514:177:24","text":" @dev Address through which the governor executes action. Will be overloaded by module that execute actions\n through another contract such as a timelock."},"id":4076,"implemented":true,"kind":"function","modifiers":[],"name":"_executor","nameLocation":"19705:9:24","nodeType":"FunctionDefinition","parameters":{"id":4066,"nodeType":"ParameterList","parameters":[],"src":"19714:2:24"},"returnParameters":{"id":4069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4076,"src":"19748:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4067,"name":"address","nodeType":"ElementaryTypeName","src":"19748:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19747:9:24"},"scope":4143,"src":"19696:98:24","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[17608],"body":{"id":4095,"nodeType":"Block","src":"20014:54:24","statements":[{"expression":{"expression":{"expression":{"id":4091,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20031:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":4092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":4096,"src":"20031:21:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":4093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"20031:30:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":4090,"id":4094,"nodeType":"Return","src":"20024:37:24"}]},"documentation":{"id":4077,"nodeType":"StructuredDocumentation","src":"19800:63:24","text":" @dev See {IERC721Receiver-onERC721Received}."},"functionSelector":"150b7a02","id":4096,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"19877:16:24","nodeType":"FunctionDefinition","overrides":{"id":4087,"nodeType":"OverrideSpecifier","overrides":[],"src":"19988:8:24"},"parameters":{"id":4086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4096,"src":"19903:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4078,"name":"address","nodeType":"ElementaryTypeName","src":"19903:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4096,"src":"19920:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4080,"name":"address","nodeType":"ElementaryTypeName","src":"19920:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4096,"src":"19937:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4082,"name":"uint256","nodeType":"ElementaryTypeName","src":"19937:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4085,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4096,"src":"19954:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4084,"name":"bytes","nodeType":"ElementaryTypeName","src":"19954:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19893:79:24"},"returnParameters":{"id":4090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4096,"src":"20006:6:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4088,"name":"bytes4","nodeType":"ElementaryTypeName","src":"20006:6:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"20005:8:24"},"scope":4143,"src":"19868:200:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12126],"body":{"id":4117,"nodeType":"Block","src":"20308:55:24","statements":[{"expression":{"expression":{"expression":{"id":4113,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20325:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":4114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":4118,"src":"20325:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":4115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"20325:31:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":4112,"id":4116,"nodeType":"Return","src":"20318:38:24"}]},"documentation":{"id":4097,"nodeType":"StructuredDocumentation","src":"20074:65:24","text":" @dev See {IERC1155Receiver-onERC1155Received}."},"functionSelector":"f23a6e61","id":4118,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"20153:17:24","nodeType":"FunctionDefinition","overrides":{"id":4109,"nodeType":"OverrideSpecifier","overrides":[],"src":"20282:8:24"},"parameters":{"id":4108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4099,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20180:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4098,"name":"address","nodeType":"ElementaryTypeName","src":"20180:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20197:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4100,"name":"address","nodeType":"ElementaryTypeName","src":"20197:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20214:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4102,"name":"uint256","nodeType":"ElementaryTypeName","src":"20214:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20231:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4104,"name":"uint256","nodeType":"ElementaryTypeName","src":"20231:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20248:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4106,"name":"bytes","nodeType":"ElementaryTypeName","src":"20248:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20170:96:24"},"returnParameters":{"id":4112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4118,"src":"20300:6:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4110,"name":"bytes4","nodeType":"ElementaryTypeName","src":"20300:6:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"20299:8:24"},"scope":4143,"src":"20144:219:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12144],"body":{"id":4141,"nodeType":"Block","src":"20631:60:24","statements":[{"expression":{"expression":{"expression":{"id":4137,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20648:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_Governor_$4143","typeString":"contract Governor"}},"id":4138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":4142,"src":"20648:27:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":4139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"20648:36:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":4136,"id":4140,"nodeType":"Return","src":"20641:43:24"}]},"documentation":{"id":4119,"nodeType":"StructuredDocumentation","src":"20369:70:24","text":" @dev See {IERC1155Receiver-onERC1155BatchReceived}."},"functionSelector":"bc197c81","id":4142,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"20453:22:24","nodeType":"FunctionDefinition","overrides":{"id":4133,"nodeType":"OverrideSpecifier","overrides":[],"src":"20605:8:24"},"parameters":{"id":4132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20485:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4120,"name":"address","nodeType":"ElementaryTypeName","src":"20485:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4123,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20502:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4122,"name":"address","nodeType":"ElementaryTypeName","src":"20502:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20519:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4124,"name":"uint256","nodeType":"ElementaryTypeName","src":"20519:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4125,"nodeType":"ArrayTypeName","src":"20519:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20545:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4127,"name":"uint256","nodeType":"ElementaryTypeName","src":"20545:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4128,"nodeType":"ArrayTypeName","src":"20545:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4131,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20571:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4130,"name":"bytes","nodeType":"ElementaryTypeName","src":"20571:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20475:114:24"},"returnParameters":{"id":4136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4142,"src":"20623:6:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4134,"name":"bytes4","nodeType":"ElementaryTypeName","src":"20623:6:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"20622:8:24"},"scope":4143,"src":"20444:247:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":4144,"src":"998:19695:24","usedErrors":[27829]}],"src":"107:20587:24"},"id":24},"contracts/@openzeppelin/contracts/governance/IGovernor.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/IGovernor.sol","exportedSymbols":{"ERC165":[24377],"IERC165":[24693],"IGovernor":[4440]},"id":4441,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4145,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:25"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../utils/introspection/ERC165.sol","id":4146,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4441,"sourceUnit":24378,"src":"133:43:25","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4148,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"289:7:25"},"id":4149,"nodeType":"InheritanceSpecifier","src":"289:7:25"}],"canonicalName":"IGovernor","contractDependencies":[],"contractKind":"contract","documentation":{"id":4147,"nodeType":"StructuredDocumentation","src":"178:79:25","text":" @dev Interface of the {Governor} core.\n _Available since v4.3._"},"fullyImplemented":false,"id":4440,"linearizedBaseContracts":[4440,24693],"name":"IGovernor","nameLocation":"276:9:25","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IGovernor.ProposalState","id":4158,"members":[{"id":4150,"name":"Pending","nameLocation":"332:7:25","nodeType":"EnumValue","src":"332:7:25"},{"id":4151,"name":"Active","nameLocation":"349:6:25","nodeType":"EnumValue","src":"349:6:25"},{"id":4152,"name":"Canceled","nameLocation":"365:8:25","nodeType":"EnumValue","src":"365:8:25"},{"id":4153,"name":"Defeated","nameLocation":"383:8:25","nodeType":"EnumValue","src":"383:8:25"},{"id":4154,"name":"Succeeded","nameLocation":"401:9:25","nodeType":"EnumValue","src":"401:9:25"},{"id":4155,"name":"Queued","nameLocation":"420:6:25","nodeType":"EnumValue","src":"420:6:25"},{"id":4156,"name":"Expired","nameLocation":"436:7:25","nodeType":"EnumValue","src":"436:7:25"},{"id":4157,"name":"Executed","nameLocation":"453:8:25","nodeType":"EnumValue","src":"453:8:25"}],"name":"ProposalState","nameLocation":"308:13:25","nodeType":"EnumDefinition","src":"303:164:25"},{"anonymous":false,"documentation":{"id":4159,"nodeType":"StructuredDocumentation","src":"473:59:25","text":" @dev Emitted when a proposal is created."},"id":4183,"name":"ProposalCreated","nameLocation":"543:15:25","nodeType":"EventDefinition","parameters":{"id":4182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4161,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"576:10:25","nodeType":"VariableDeclaration","scope":4183,"src":"568:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4160,"name":"uint256","nodeType":"ElementaryTypeName","src":"568:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4163,"indexed":false,"mutability":"mutable","name":"proposer","nameLocation":"604:8:25","nodeType":"VariableDeclaration","scope":4183,"src":"596:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4162,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4166,"indexed":false,"mutability":"mutable","name":"targets","nameLocation":"632:7:25","nodeType":"VariableDeclaration","scope":4183,"src":"622:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4164,"name":"address","nodeType":"ElementaryTypeName","src":"622:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4165,"nodeType":"ArrayTypeName","src":"622:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4169,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"659:6:25","nodeType":"VariableDeclaration","scope":4183,"src":"649:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4167,"name":"uint256","nodeType":"ElementaryTypeName","src":"649:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4168,"nodeType":"ArrayTypeName","src":"649:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4172,"indexed":false,"mutability":"mutable","name":"signatures","nameLocation":"684:10:25","nodeType":"VariableDeclaration","scope":4183,"src":"675:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4170,"name":"string","nodeType":"ElementaryTypeName","src":"675:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4171,"nodeType":"ArrayTypeName","src":"675:8:25","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4175,"indexed":false,"mutability":"mutable","name":"calldatas","nameLocation":"712:9:25","nodeType":"VariableDeclaration","scope":4183,"src":"704:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4173,"name":"bytes","nodeType":"ElementaryTypeName","src":"704:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4174,"nodeType":"ArrayTypeName","src":"704:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4177,"indexed":false,"mutability":"mutable","name":"startBlock","nameLocation":"739:10:25","nodeType":"VariableDeclaration","scope":4183,"src":"731:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4176,"name":"uint256","nodeType":"ElementaryTypeName","src":"731:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4179,"indexed":false,"mutability":"mutable","name":"endBlock","nameLocation":"767:8:25","nodeType":"VariableDeclaration","scope":4183,"src":"759:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4178,"name":"uint256","nodeType":"ElementaryTypeName","src":"759:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4181,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"792:11:25","nodeType":"VariableDeclaration","scope":4183,"src":"785:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4180,"name":"string","nodeType":"ElementaryTypeName","src":"785:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"558:251:25"},"src":"537:273:25"},{"anonymous":false,"documentation":{"id":4184,"nodeType":"StructuredDocumentation","src":"816:60:25","text":" @dev Emitted when a proposal is canceled."},"id":4188,"name":"ProposalCanceled","nameLocation":"887:16:25","nodeType":"EventDefinition","parameters":{"id":4187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4186,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"912:10:25","nodeType":"VariableDeclaration","scope":4188,"src":"904:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4185,"name":"uint256","nodeType":"ElementaryTypeName","src":"904:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"903:20:25"},"src":"881:43:25"},{"anonymous":false,"documentation":{"id":4189,"nodeType":"StructuredDocumentation","src":"930:60:25","text":" @dev Emitted when a proposal is executed."},"id":4193,"name":"ProposalExecuted","nameLocation":"1001:16:25","nodeType":"EventDefinition","parameters":{"id":4192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4191,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"1026:10:25","nodeType":"VariableDeclaration","scope":4193,"src":"1018:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4190,"name":"uint256","nodeType":"ElementaryTypeName","src":"1018:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1017:20:25"},"src":"995:43:25"},{"anonymous":false,"documentation":{"id":4194,"nodeType":"StructuredDocumentation","src":"1044:187:25","text":" @dev Emitted when a vote is cast without params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used."},"id":4206,"name":"VoteCast","nameLocation":"1242:8:25","nodeType":"EventDefinition","parameters":{"id":4205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4196,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"1267:5:25","nodeType":"VariableDeclaration","scope":4206,"src":"1251:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4195,"name":"address","nodeType":"ElementaryTypeName","src":"1251:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4198,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"1282:10:25","nodeType":"VariableDeclaration","scope":4206,"src":"1274:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4197,"name":"uint256","nodeType":"ElementaryTypeName","src":"1274:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4200,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"1300:7:25","nodeType":"VariableDeclaration","scope":4206,"src":"1294:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4199,"name":"uint8","nodeType":"ElementaryTypeName","src":"1294:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4202,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"1317:6:25","nodeType":"VariableDeclaration","scope":4206,"src":"1309:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4201,"name":"uint256","nodeType":"ElementaryTypeName","src":"1309:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4204,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"1332:6:25","nodeType":"VariableDeclaration","scope":4206,"src":"1325:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4203,"name":"string","nodeType":"ElementaryTypeName","src":"1325:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1250:89:25"},"src":"1236:104:25"},{"anonymous":false,"documentation":{"id":4207,"nodeType":"StructuredDocumentation","src":"1346:297:25","text":" @dev Emitted when a vote is cast with params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n `params` are additional encoded parameters. Their intepepretation also depends on the voting module used."},"id":4221,"name":"VoteCastWithParams","nameLocation":"1654:18:25","nodeType":"EventDefinition","parameters":{"id":4220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4209,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"1698:5:25","nodeType":"VariableDeclaration","scope":4221,"src":"1682:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4208,"name":"address","nodeType":"ElementaryTypeName","src":"1682:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4211,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"1721:10:25","nodeType":"VariableDeclaration","scope":4221,"src":"1713:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1713:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4213,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"1747:7:25","nodeType":"VariableDeclaration","scope":4221,"src":"1741:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4212,"name":"uint8","nodeType":"ElementaryTypeName","src":"1741:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4215,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"1772:6:25","nodeType":"VariableDeclaration","scope":4221,"src":"1764:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1764:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4217,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"1795:6:25","nodeType":"VariableDeclaration","scope":4221,"src":"1788:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4216,"name":"string","nodeType":"ElementaryTypeName","src":"1788:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4219,"indexed":false,"mutability":"mutable","name":"params","nameLocation":"1817:6:25","nodeType":"VariableDeclaration","scope":4221,"src":"1811:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4218,"name":"bytes","nodeType":"ElementaryTypeName","src":"1811:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1672:157:25"},"src":"1648:182:25"},{"documentation":{"id":4222,"nodeType":"StructuredDocumentation","src":"1836:128:25","text":" @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)."},"functionSelector":"06fdde03","id":4227,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1978:4:25","nodeType":"FunctionDefinition","parameters":{"id":4223,"nodeType":"ParameterList","parameters":[],"src":"1982:2:25"},"returnParameters":{"id":4226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4227,"src":"2014:13:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4224,"name":"string","nodeType":"ElementaryTypeName","src":"2014:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2013:15:25"},"scope":4440,"src":"1969:60:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4228,"nodeType":"StructuredDocumentation","src":"2035:144:25","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":4233,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"2193:7:25","nodeType":"FunctionDefinition","parameters":{"id":4229,"nodeType":"ParameterList","parameters":[],"src":"2200:2:25"},"returnParameters":{"id":4232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4231,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4233,"src":"2232:13:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4230,"name":"string","nodeType":"ElementaryTypeName","src":"2232:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2231:15:25"},"scope":4440,"src":"2184:63:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4234,"nodeType":"StructuredDocumentation","src":"2253:1315:25","text":" @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class."},"functionSelector":"dd4e2ba5","id":4239,"implemented":false,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"3635:13:25","nodeType":"FunctionDefinition","parameters":{"id":4235,"nodeType":"ParameterList","parameters":[],"src":"3648:2:25"},"returnParameters":{"id":4238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4239,"src":"3680:13:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4236,"name":"string","nodeType":"ElementaryTypeName","src":"3680:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3679:15:25"},"scope":4440,"src":"3626:69:25","stateMutability":"pure","virtual":true,"visibility":"public"},{"documentation":{"id":4240,"nodeType":"StructuredDocumentation","src":"3701:129:25","text":" @notice module:core\n @dev Hashing function used to (re)build the proposal id from the proposal details.."},"functionSelector":"c59057e4","id":4256,"implemented":false,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"3844:12:25","nodeType":"FunctionDefinition","parameters":{"id":4252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4243,"mutability":"mutable","name":"targets","nameLocation":"3883:7:25","nodeType":"VariableDeclaration","scope":4256,"src":"3866:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4241,"name":"address","nodeType":"ElementaryTypeName","src":"3866:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4242,"nodeType":"ArrayTypeName","src":"3866:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4246,"mutability":"mutable","name":"values","nameLocation":"3917:6:25","nodeType":"VariableDeclaration","scope":4256,"src":"3900:23:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4244,"name":"uint256","nodeType":"ElementaryTypeName","src":"3900:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4245,"nodeType":"ArrayTypeName","src":"3900:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4249,"mutability":"mutable","name":"calldatas","nameLocation":"3948:9:25","nodeType":"VariableDeclaration","scope":4256,"src":"3933:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4247,"name":"bytes","nodeType":"ElementaryTypeName","src":"3933:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4248,"nodeType":"ArrayTypeName","src":"3933:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4251,"mutability":"mutable","name":"descriptionHash","nameLocation":"3975:15:25","nodeType":"VariableDeclaration","scope":4256,"src":"3967:23:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3967:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3856:140:25"},"returnParameters":{"id":4255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4256,"src":"4026:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4253,"name":"uint256","nodeType":"ElementaryTypeName","src":"4026:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4025:9:25"},"scope":4440,"src":"3835:200:25","stateMutability":"pure","virtual":true,"visibility":"public"},{"documentation":{"id":4257,"nodeType":"StructuredDocumentation","src":"4041:111:25","text":" @notice module:core\n @dev Current state of a proposal, following Compound's convention"},"functionSelector":"3e4f49e6","id":4265,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"4166:5:25","nodeType":"FunctionDefinition","parameters":{"id":4260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4259,"mutability":"mutable","name":"proposalId","nameLocation":"4180:10:25","nodeType":"VariableDeclaration","scope":4265,"src":"4172:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4258,"name":"uint256","nodeType":"ElementaryTypeName","src":"4172:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4171:20:25"},"returnParameters":{"id":4264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4265,"src":"4221:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":4262,"nodeType":"UserDefinedTypeName","pathNode":{"id":4261,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"4221:13:25"},"referencedDeclaration":4158,"src":"4221:13:25","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"src":"4220:15:25"},"scope":4440,"src":"4157:79:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4266,"nodeType":"StructuredDocumentation","src":"4242:305:25","text":" @notice module:core\n @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's\n ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the\n beginning of the following block."},"functionSelector":"2d63f693","id":4273,"implemented":false,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"4561:16:25","nodeType":"FunctionDefinition","parameters":{"id":4269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4268,"mutability":"mutable","name":"proposalId","nameLocation":"4586:10:25","nodeType":"VariableDeclaration","scope":4273,"src":"4578:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4267,"name":"uint256","nodeType":"ElementaryTypeName","src":"4578:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4577:20:25"},"returnParameters":{"id":4272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4273,"src":"4627:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4270,"name":"uint256","nodeType":"ElementaryTypeName","src":"4627:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4626:9:25"},"scope":4440,"src":"4552:84:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4274,"nodeType":"StructuredDocumentation","src":"4642:182:25","text":" @notice module:core\n @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote\n during this block."},"functionSelector":"c01f9e37","id":4281,"implemented":false,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"4838:16:25","nodeType":"FunctionDefinition","parameters":{"id":4277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4276,"mutability":"mutable","name":"proposalId","nameLocation":"4863:10:25","nodeType":"VariableDeclaration","scope":4281,"src":"4855:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4275,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4854:20:25"},"returnParameters":{"id":4280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4281,"src":"4904:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4278,"name":"uint256","nodeType":"ElementaryTypeName","src":"4904:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4903:9:25"},"scope":4440,"src":"4829:84:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4282,"nodeType":"StructuredDocumentation","src":"4919:268:25","text":" @notice module:user-config\n @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to\n leave time for users to buy voting power, or delegate it, before the voting of a proposal starts."},"functionSelector":"3932abb1","id":4287,"implemented":false,"kind":"function","modifiers":[],"name":"votingDelay","nameLocation":"5201:11:25","nodeType":"FunctionDefinition","parameters":{"id":4283,"nodeType":"ParameterList","parameters":[],"src":"5212:2:25"},"returnParameters":{"id":4286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4287,"src":"5244:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4284,"name":"uint256","nodeType":"ElementaryTypeName","src":"5244:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5243:9:25"},"scope":4440,"src":"5192:61:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4288,"nodeType":"StructuredDocumentation","src":"5259:288:25","text":" @notice module:user-config\n @dev Delay, in number of blocks, between the vote start and vote ends.\n NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n duration compared to the voting delay."},"functionSelector":"02a251a3","id":4293,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"5561:12:25","nodeType":"FunctionDefinition","parameters":{"id":4289,"nodeType":"ParameterList","parameters":[],"src":"5573:2:25"},"returnParameters":{"id":4292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4293,"src":"5605:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4290,"name":"uint256","nodeType":"ElementaryTypeName","src":"5605:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5604:9:25"},"scope":4440,"src":"5552:62:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4294,"nodeType":"StructuredDocumentation","src":"5620:356:25","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a proposal to be successful.\n Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":4301,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"5990:6:25","nodeType":"FunctionDefinition","parameters":{"id":4297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4296,"mutability":"mutable","name":"blockNumber","nameLocation":"6005:11:25","nodeType":"VariableDeclaration","scope":4301,"src":"5997:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4295,"name":"uint256","nodeType":"ElementaryTypeName","src":"5997:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5996:21:25"},"returnParameters":{"id":4300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4301,"src":"6047:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4298,"name":"uint256","nodeType":"ElementaryTypeName","src":"6047:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6046:9:25"},"scope":4440,"src":"5981:75:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4302,"nodeType":"StructuredDocumentation","src":"6062:276:25","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `blockNumber`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":4311,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"6352:8:25","nodeType":"FunctionDefinition","parameters":{"id":4307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4304,"mutability":"mutable","name":"account","nameLocation":"6369:7:25","nodeType":"VariableDeclaration","scope":4311,"src":"6361:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4303,"name":"address","nodeType":"ElementaryTypeName","src":"6361:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4306,"mutability":"mutable","name":"blockNumber","nameLocation":"6386:11:25","nodeType":"VariableDeclaration","scope":4311,"src":"6378:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4305,"name":"uint256","nodeType":"ElementaryTypeName","src":"6378:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6360:38:25"},"returnParameters":{"id":4310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4311,"src":"6428:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4308,"name":"uint256","nodeType":"ElementaryTypeName","src":"6428:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6427:9:25"},"scope":4440,"src":"6343:94:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4312,"nodeType":"StructuredDocumentation","src":"6443:150:25","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `blockNumber` given additional encoded parameters."},"functionSelector":"9a802a6d","id":4323,"implemented":false,"kind":"function","modifiers":[],"name":"getVotesWithParams","nameLocation":"6607:18:25","nodeType":"FunctionDefinition","parameters":{"id":4319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4314,"mutability":"mutable","name":"account","nameLocation":"6643:7:25","nodeType":"VariableDeclaration","scope":4323,"src":"6635:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4313,"name":"address","nodeType":"ElementaryTypeName","src":"6635:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4316,"mutability":"mutable","name":"blockNumber","nameLocation":"6668:11:25","nodeType":"VariableDeclaration","scope":4323,"src":"6660:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4315,"name":"uint256","nodeType":"ElementaryTypeName","src":"6660:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4318,"mutability":"mutable","name":"params","nameLocation":"6702:6:25","nodeType":"VariableDeclaration","scope":4323,"src":"6689:19:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4317,"name":"bytes","nodeType":"ElementaryTypeName","src":"6689:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6625:89:25"},"returnParameters":{"id":4322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4323,"src":"6744:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4320,"name":"uint256","nodeType":"ElementaryTypeName","src":"6744:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6743:9:25"},"scope":4440,"src":"6598:155:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4324,"nodeType":"StructuredDocumentation","src":"6759:111:25","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `proposalId`."},"functionSelector":"43859632","id":4333,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"6884:8:25","nodeType":"FunctionDefinition","parameters":{"id":4329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4326,"mutability":"mutable","name":"proposalId","nameLocation":"6901:10:25","nodeType":"VariableDeclaration","scope":4333,"src":"6893:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4325,"name":"uint256","nodeType":"ElementaryTypeName","src":"6893:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4328,"mutability":"mutable","name":"account","nameLocation":"6921:7:25","nodeType":"VariableDeclaration","scope":4333,"src":"6913:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4327,"name":"address","nodeType":"ElementaryTypeName","src":"6913:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6892:37:25"},"returnParameters":{"id":4332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4333,"src":"6959:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4330,"name":"bool","nodeType":"ElementaryTypeName","src":"6959:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6958:6:25"},"scope":4440,"src":"6875:90:25","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":4334,"nodeType":"StructuredDocumentation","src":"6971:238:25","text":" @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends\n {IGovernor-votingPeriod} blocks after the voting starts.\n Emits a {ProposalCreated} event."},"functionSelector":"7d5e81e2","id":4350,"implemented":false,"kind":"function","modifiers":[],"name":"propose","nameLocation":"7223:7:25","nodeType":"FunctionDefinition","parameters":{"id":4346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4337,"mutability":"mutable","name":"targets","nameLocation":"7257:7:25","nodeType":"VariableDeclaration","scope":4350,"src":"7240:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4335,"name":"address","nodeType":"ElementaryTypeName","src":"7240:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4336,"nodeType":"ArrayTypeName","src":"7240:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4340,"mutability":"mutable","name":"values","nameLocation":"7291:6:25","nodeType":"VariableDeclaration","scope":4350,"src":"7274:23:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4338,"name":"uint256","nodeType":"ElementaryTypeName","src":"7274:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4339,"nodeType":"ArrayTypeName","src":"7274:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4343,"mutability":"mutable","name":"calldatas","nameLocation":"7322:9:25","nodeType":"VariableDeclaration","scope":4350,"src":"7307:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4341,"name":"bytes","nodeType":"ElementaryTypeName","src":"7307:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4342,"nodeType":"ArrayTypeName","src":"7307:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4345,"mutability":"mutable","name":"description","nameLocation":"7355:11:25","nodeType":"VariableDeclaration","scope":4350,"src":"7341:25:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4344,"name":"string","nodeType":"ElementaryTypeName","src":"7341:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7230:142:25"},"returnParameters":{"id":4349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4348,"mutability":"mutable","name":"proposalId","nameLocation":"7405:10:25","nodeType":"VariableDeclaration","scope":4350,"src":"7397:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4347,"name":"uint256","nodeType":"ElementaryTypeName","src":"7397:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7396:20:25"},"scope":4440,"src":"7214:203:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":4351,"nodeType":"StructuredDocumentation","src":"7423:329:25","text":" @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n deadline to be reached.\n Emits a {ProposalExecuted} event.\n Note: some module can modify the requirements for execution, for example by adding an additional timelock."},"functionSelector":"2656227d","id":4367,"implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"7766:7:25","nodeType":"FunctionDefinition","parameters":{"id":4363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4354,"mutability":"mutable","name":"targets","nameLocation":"7800:7:25","nodeType":"VariableDeclaration","scope":4367,"src":"7783:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4352,"name":"address","nodeType":"ElementaryTypeName","src":"7783:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4353,"nodeType":"ArrayTypeName","src":"7783:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4357,"mutability":"mutable","name":"values","nameLocation":"7834:6:25","nodeType":"VariableDeclaration","scope":4367,"src":"7817:23:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4355,"name":"uint256","nodeType":"ElementaryTypeName","src":"7817:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4356,"nodeType":"ArrayTypeName","src":"7817:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4360,"mutability":"mutable","name":"calldatas","nameLocation":"7865:9:25","nodeType":"VariableDeclaration","scope":4367,"src":"7850:24:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4358,"name":"bytes","nodeType":"ElementaryTypeName","src":"7850:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4359,"nodeType":"ArrayTypeName","src":"7850:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4362,"mutability":"mutable","name":"descriptionHash","nameLocation":"7892:15:25","nodeType":"VariableDeclaration","scope":4367,"src":"7884:23:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7884:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7773:140:25"},"returnParameters":{"id":4366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4365,"mutability":"mutable","name":"proposalId","nameLocation":"7954:10:25","nodeType":"VariableDeclaration","scope":4367,"src":"7946:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4364,"name":"uint256","nodeType":"ElementaryTypeName","src":"7946:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7945:20:25"},"scope":4440,"src":"7757:209:25","stateMutability":"payable","virtual":true,"visibility":"public"},{"documentation":{"id":4368,"nodeType":"StructuredDocumentation","src":"7972:75:25","text":" @dev Cast a vote\n Emits a {VoteCast} event."},"functionSelector":"56781388","id":4377,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"8061:8:25","nodeType":"FunctionDefinition","parameters":{"id":4373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4370,"mutability":"mutable","name":"proposalId","nameLocation":"8078:10:25","nodeType":"VariableDeclaration","scope":4377,"src":"8070:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4369,"name":"uint256","nodeType":"ElementaryTypeName","src":"8070:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4372,"mutability":"mutable","name":"support","nameLocation":"8096:7:25","nodeType":"VariableDeclaration","scope":4377,"src":"8090:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4371,"name":"uint8","nodeType":"ElementaryTypeName","src":"8090:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8069:35:25"},"returnParameters":{"id":4376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4375,"mutability":"mutable","name":"balance","nameLocation":"8137:7:25","nodeType":"VariableDeclaration","scope":4377,"src":"8129:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4374,"name":"uint256","nodeType":"ElementaryTypeName","src":"8129:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8128:17:25"},"scope":4440,"src":"8052:94:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":4378,"nodeType":"StructuredDocumentation","src":"8152:89:25","text":" @dev Cast a vote with a reason\n Emits a {VoteCast} event."},"functionSelector":"7b3c71d3","id":4389,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"8255:18:25","nodeType":"FunctionDefinition","parameters":{"id":4385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4380,"mutability":"mutable","name":"proposalId","nameLocation":"8291:10:25","nodeType":"VariableDeclaration","scope":4389,"src":"8283:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4379,"name":"uint256","nodeType":"ElementaryTypeName","src":"8283:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4382,"mutability":"mutable","name":"support","nameLocation":"8317:7:25","nodeType":"VariableDeclaration","scope":4389,"src":"8311:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4381,"name":"uint8","nodeType":"ElementaryTypeName","src":"8311:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4384,"mutability":"mutable","name":"reason","nameLocation":"8350:6:25","nodeType":"VariableDeclaration","scope":4389,"src":"8334:22:25","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":4383,"name":"string","nodeType":"ElementaryTypeName","src":"8334:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8273:89:25"},"returnParameters":{"id":4388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4387,"mutability":"mutable","name":"balance","nameLocation":"8395:7:25","nodeType":"VariableDeclaration","scope":4389,"src":"8387:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4386,"name":"uint256","nodeType":"ElementaryTypeName","src":"8387:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8386:17:25"},"scope":4440,"src":"8246:158:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":4390,"nodeType":"StructuredDocumentation","src":"8410:181:25","text":" @dev Cast a vote with a reason and additional encoded parameters\n Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params."},"functionSelector":"5f398a14","id":4403,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteWithReasonAndParams","nameLocation":"8605:27:25","nodeType":"FunctionDefinition","parameters":{"id":4399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4392,"mutability":"mutable","name":"proposalId","nameLocation":"8650:10:25","nodeType":"VariableDeclaration","scope":4403,"src":"8642:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4391,"name":"uint256","nodeType":"ElementaryTypeName","src":"8642:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4394,"mutability":"mutable","name":"support","nameLocation":"8676:7:25","nodeType":"VariableDeclaration","scope":4403,"src":"8670:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4393,"name":"uint8","nodeType":"ElementaryTypeName","src":"8670:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4396,"mutability":"mutable","name":"reason","nameLocation":"8709:6:25","nodeType":"VariableDeclaration","scope":4403,"src":"8693:22:25","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":4395,"name":"string","nodeType":"ElementaryTypeName","src":"8693:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4398,"mutability":"mutable","name":"params","nameLocation":"8738:6:25","nodeType":"VariableDeclaration","scope":4403,"src":"8725:19:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4397,"name":"bytes","nodeType":"ElementaryTypeName","src":"8725:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8632:118:25"},"returnParameters":{"id":4402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4401,"mutability":"mutable","name":"balance","nameLocation":"8783:7:25","nodeType":"VariableDeclaration","scope":4403,"src":"8775:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4400,"name":"uint256","nodeType":"ElementaryTypeName","src":"8775:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8774:17:25"},"scope":4440,"src":"8596:196:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":4404,"nodeType":"StructuredDocumentation","src":"8798:117:25","text":" @dev Cast a vote using the user's cryptographic signature.\n Emits a {VoteCast} event."},"functionSelector":"3bccf4fd","id":4419,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteBySig","nameLocation":"8929:13:25","nodeType":"FunctionDefinition","parameters":{"id":4415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4406,"mutability":"mutable","name":"proposalId","nameLocation":"8960:10:25","nodeType":"VariableDeclaration","scope":4419,"src":"8952:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4405,"name":"uint256","nodeType":"ElementaryTypeName","src":"8952:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4408,"mutability":"mutable","name":"support","nameLocation":"8986:7:25","nodeType":"VariableDeclaration","scope":4419,"src":"8980:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4407,"name":"uint8","nodeType":"ElementaryTypeName","src":"8980:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4410,"mutability":"mutable","name":"v","nameLocation":"9009:1:25","nodeType":"VariableDeclaration","scope":4419,"src":"9003:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4409,"name":"uint8","nodeType":"ElementaryTypeName","src":"9003:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4412,"mutability":"mutable","name":"r","nameLocation":"9028:1:25","nodeType":"VariableDeclaration","scope":4419,"src":"9020:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9020:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4414,"mutability":"mutable","name":"s","nameLocation":"9047:1:25","nodeType":"VariableDeclaration","scope":4419,"src":"9039:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9039:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8942:112:25"},"returnParameters":{"id":4418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4417,"mutability":"mutable","name":"balance","nameLocation":"9087:7:25","nodeType":"VariableDeclaration","scope":4419,"src":"9079:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4416,"name":"uint256","nodeType":"ElementaryTypeName","src":"9079:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9078:17:25"},"scope":4440,"src":"8920:176:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":4420,"nodeType":"StructuredDocumentation","src":"9102:223:25","text":" @dev Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature.\n Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params."},"functionSelector":"03420181","id":4439,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteWithReasonAndParamsBySig","nameLocation":"9339:32:25","nodeType":"FunctionDefinition","parameters":{"id":4435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4422,"mutability":"mutable","name":"proposalId","nameLocation":"9389:10:25","nodeType":"VariableDeclaration","scope":4439,"src":"9381:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4421,"name":"uint256","nodeType":"ElementaryTypeName","src":"9381:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4424,"mutability":"mutable","name":"support","nameLocation":"9415:7:25","nodeType":"VariableDeclaration","scope":4439,"src":"9409:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4423,"name":"uint8","nodeType":"ElementaryTypeName","src":"9409:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4426,"mutability":"mutable","name":"reason","nameLocation":"9448:6:25","nodeType":"VariableDeclaration","scope":4439,"src":"9432:22:25","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":4425,"name":"string","nodeType":"ElementaryTypeName","src":"9432:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4428,"mutability":"mutable","name":"params","nameLocation":"9477:6:25","nodeType":"VariableDeclaration","scope":4439,"src":"9464:19:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4427,"name":"bytes","nodeType":"ElementaryTypeName","src":"9464:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4430,"mutability":"mutable","name":"v","nameLocation":"9499:1:25","nodeType":"VariableDeclaration","scope":4439,"src":"9493:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4429,"name":"uint8","nodeType":"ElementaryTypeName","src":"9493:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4432,"mutability":"mutable","name":"r","nameLocation":"9518:1:25","nodeType":"VariableDeclaration","scope":4439,"src":"9510:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9510:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4434,"mutability":"mutable","name":"s","nameLocation":"9537:1:25","nodeType":"VariableDeclaration","scope":4439,"src":"9529:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9529:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9371:173:25"},"returnParameters":{"id":4438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4437,"mutability":"mutable","name":"balance","nameLocation":"9577:7:25","nodeType":"VariableDeclaration","scope":4439,"src":"9569:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4436,"name":"uint256","nodeType":"ElementaryTypeName","src":"9569:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9568:17:25"},"scope":4440,"src":"9330:256:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":4441,"src":"258:9330:25","usedErrors":[]}],"src":"108:9481:25"},"id":25},"contracts/@openzeppelin/contracts/governance/TimelockController.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/TimelockController.sol","exportedSymbols":{"AccessControl":[1027],"Address":[20688],"Context":[22281],"ERC165":[24377],"IAccessControl":[1280],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726],"TimelockController":[5354]},"id":5355,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4442,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"117:23:26"},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControl.sol","file":"../access/AccessControl.sol","id":4443,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5355,"sourceUnit":1028,"src":"142:37:26","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"../token/ERC721/IERC721Receiver.sol","id":4444,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5355,"sourceUnit":17610,"src":"180:45:26","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"../token/ERC1155/IERC1155Receiver.sol","id":4445,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5355,"sourceUnit":12146,"src":"226:47:26","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../utils/Address.sol","id":4446,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5355,"sourceUnit":20689,"src":"274:30:26","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4448,"name":"AccessControl","nodeType":"IdentifierPath","referencedDeclaration":1027,"src":"1061:13:26"},"id":4449,"nodeType":"InheritanceSpecifier","src":"1061:13:26"},{"baseName":{"id":4450,"name":"IERC721Receiver","nodeType":"IdentifierPath","referencedDeclaration":17609,"src":"1076:15:26"},"id":4451,"nodeType":"InheritanceSpecifier","src":"1076:15:26"},{"baseName":{"id":4452,"name":"IERC1155Receiver","nodeType":"IdentifierPath","referencedDeclaration":12145,"src":"1093:16:26"},"id":4453,"nodeType":"InheritanceSpecifier","src":"1093:16:26"}],"canonicalName":"TimelockController","contractDependencies":[],"contractKind":"contract","documentation":{"id":4447,"nodeType":"StructuredDocumentation","src":"306:723:26","text":" @dev Contract module which acts as a timelocked controller. When set as the\n owner of an `Ownable` smart contract, it enforces a timelock on all\n `onlyOwner` maintenance operations. This gives time for users of the\n controlled contract to exit before a potentially dangerous maintenance\n operation is applied.\n By default, this contract is self administered, meaning administration tasks\n have to go through the timelock process. The proposer (resp executor) role\n is in charge of proposing (resp executing) operations. A common use case is\n to position this {TimelockController} as the owner of a smart contract, with\n a multisig or a DAO as the sole proposer.\n _Available since v3.3._"},"fullyImplemented":true,"id":5354,"linearizedBaseContracts":[5354,12145,17609,1027,24377,24693,1280,22281],"name":"TimelockController","nameLocation":"1039:18:26","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"0d3cf6fc","id":4458,"mutability":"constant","name":"TIMELOCK_ADMIN_ROLE","nameLocation":"1140:19:26","nodeType":"VariableDeclaration","scope":5354,"src":"1116:78:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1116:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"54494d454c4f434b5f41444d494e5f524f4c45","id":4456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1172:21:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5","typeString":"literal_string \"TIMELOCK_ADMIN_ROLE\""},"value":"TIMELOCK_ADMIN_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5","typeString":"literal_string \"TIMELOCK_ADMIN_ROLE\""}],"id":4455,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1162:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1162:32:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"8f61f4f5","id":4463,"mutability":"constant","name":"PROPOSER_ROLE","nameLocation":"1224:13:26","nodeType":"VariableDeclaration","scope":5354,"src":"1200:66:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1200:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f5345525f524f4c45","id":4461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1250:15:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1","typeString":"literal_string \"PROPOSER_ROLE\""},"value":"PROPOSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1","typeString":"literal_string \"PROPOSER_ROLE\""}],"id":4460,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1240:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1240:26:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"07bd0265","id":4468,"mutability":"constant","name":"EXECUTOR_ROLE","nameLocation":"1296:13:26","nodeType":"VariableDeclaration","scope":5354,"src":"1272:66:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1272:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4558454355544f525f524f4c45","id":4466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1322:15:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63","typeString":"literal_string \"EXECUTOR_ROLE\""},"value":"EXECUTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63","typeString":"literal_string \"EXECUTOR_ROLE\""}],"id":4465,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1312:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1312:26:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"b08e51c0","id":4473,"mutability":"constant","name":"CANCELLER_ROLE","nameLocation":"1368:14:26","nodeType":"VariableDeclaration","scope":5354,"src":"1344:68:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1344:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"43414e43454c4c45525f524f4c45","id":4471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1395:16:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","typeString":"literal_string \"CANCELLER_ROLE\""},"value":"CANCELLER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","typeString":"literal_string \"CANCELLER_ROLE\""}],"id":4470,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1385:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1385:27:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"id":4479,"mutability":"constant","name":"_DONE_TIMESTAMP","nameLocation":"1444:15:26","nodeType":"VariableDeclaration","scope":5354,"src":"1418:54:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4474,"name":"uint256","nodeType":"ElementaryTypeName","src":"1418:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"31","id":4477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1470:1:26","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1462:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1462:7:26","typeDescriptions":{}}},"id":4478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1462:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4483,"mutability":"mutable","name":"_timestamps","nameLocation":"1515:11:26","nodeType":"VariableDeclaration","scope":5354,"src":"1479:47:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":4482,"keyType":{"id":4480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1487:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1479:27:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":4481,"name":"uint256","nodeType":"ElementaryTypeName","src":"1498:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":4485,"mutability":"mutable","name":"_minDelay","nameLocation":"1548:9:26","nodeType":"VariableDeclaration","scope":5354,"src":"1532:25:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4484,"name":"uint256","nodeType":"ElementaryTypeName","src":"1532:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"anonymous":false,"documentation":{"id":4486,"nodeType":"StructuredDocumentation","src":"1564:83:26","text":" @dev Emitted when a call is scheduled as part of operation `id`."},"id":4502,"name":"CallScheduled","nameLocation":"1658:13:26","nodeType":"EventDefinition","parameters":{"id":4501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4488,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1697:2:26","nodeType":"VariableDeclaration","scope":4502,"src":"1681:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1681:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4490,"indexed":true,"mutability":"mutable","name":"index","nameLocation":"1725:5:26","nodeType":"VariableDeclaration","scope":4502,"src":"1709:21:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4489,"name":"uint256","nodeType":"ElementaryTypeName","src":"1709:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4492,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"1748:6:26","nodeType":"VariableDeclaration","scope":4502,"src":"1740:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4491,"name":"address","nodeType":"ElementaryTypeName","src":"1740:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4494,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1772:5:26","nodeType":"VariableDeclaration","scope":4502,"src":"1764:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4493,"name":"uint256","nodeType":"ElementaryTypeName","src":"1764:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4496,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1793:4:26","nodeType":"VariableDeclaration","scope":4502,"src":"1787:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4495,"name":"bytes","nodeType":"ElementaryTypeName","src":"1787:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4498,"indexed":false,"mutability":"mutable","name":"predecessor","nameLocation":"1815:11:26","nodeType":"VariableDeclaration","scope":4502,"src":"1807:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1807:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4500,"indexed":false,"mutability":"mutable","name":"delay","nameLocation":"1844:5:26","nodeType":"VariableDeclaration","scope":4502,"src":"1836:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4499,"name":"uint256","nodeType":"ElementaryTypeName","src":"1836:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1671:184:26"},"src":"1652:204:26"},{"anonymous":false,"documentation":{"id":4503,"nodeType":"StructuredDocumentation","src":"1862:83:26","text":" @dev Emitted when a call is performed as part of operation `id`."},"id":4515,"name":"CallExecuted","nameLocation":"1956:12:26","nodeType":"EventDefinition","parameters":{"id":4514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4505,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1985:2:26","nodeType":"VariableDeclaration","scope":4515,"src":"1969:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1969:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4507,"indexed":true,"mutability":"mutable","name":"index","nameLocation":"2005:5:26","nodeType":"VariableDeclaration","scope":4515,"src":"1989:21:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4506,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4509,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"2020:6:26","nodeType":"VariableDeclaration","scope":4515,"src":"2012:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4508,"name":"address","nodeType":"ElementaryTypeName","src":"2012:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4511,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"2036:5:26","nodeType":"VariableDeclaration","scope":4515,"src":"2028:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4510,"name":"uint256","nodeType":"ElementaryTypeName","src":"2028:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4513,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"2049:4:26","nodeType":"VariableDeclaration","scope":4515,"src":"2043:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4512,"name":"bytes","nodeType":"ElementaryTypeName","src":"2043:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1968:86:26"},"src":"1950:105:26"},{"anonymous":false,"documentation":{"id":4516,"nodeType":"StructuredDocumentation","src":"2061:65:26","text":" @dev Emitted when operation `id` is cancelled."},"id":4520,"name":"Cancelled","nameLocation":"2137:9:26","nodeType":"EventDefinition","parameters":{"id":4519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4518,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"2163:2:26","nodeType":"VariableDeclaration","scope":4520,"src":"2147:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2147:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2146:20:26"},"src":"2131:36:26"},{"anonymous":false,"documentation":{"id":4521,"nodeType":"StructuredDocumentation","src":"2173:89:26","text":" @dev Emitted when the minimum delay for future operations is modified."},"id":4527,"name":"MinDelayChange","nameLocation":"2273:14:26","nodeType":"EventDefinition","parameters":{"id":4526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4523,"indexed":false,"mutability":"mutable","name":"oldDuration","nameLocation":"2296:11:26","nodeType":"VariableDeclaration","scope":4527,"src":"2288:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4522,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4525,"indexed":false,"mutability":"mutable","name":"newDuration","nameLocation":"2317:11:26","nodeType":"VariableDeclaration","scope":4527,"src":"2309:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4524,"name":"uint256","nodeType":"ElementaryTypeName","src":"2309:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:42:26"},"src":"2267:63:26"},{"body":{"id":4638,"nodeType":"Block","src":"3228:906:26","statements":[{"expression":{"arguments":[{"id":4542,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3252:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4543,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3273:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4541,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"3238:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":4544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3238:55:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4545,"nodeType":"ExpressionStatement","src":"3238:55:26"},{"expression":{"arguments":[{"id":4547,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4463,"src":"3317:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4548,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3332:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4546,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"3303:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":4549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3303:49:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4550,"nodeType":"ExpressionStatement","src":"3303:49:26"},{"expression":{"arguments":[{"id":4552,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4468,"src":"3376:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4553,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3391:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4551,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"3362:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":4554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3362:49:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4555,"nodeType":"ExpressionStatement","src":"3362:49:26"},{"expression":{"arguments":[{"id":4557,"name":"CANCELLER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"3435:14:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4558,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3451:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4556,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"3421:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":4559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3421:50:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4560,"nodeType":"ExpressionStatement","src":"3421:50:26"},{"expression":{"arguments":[{"id":4562,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3524:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":4565,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3553:4:26","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":4564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3545:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4563,"name":"address","nodeType":"ElementaryTypeName","src":"3545:7:26","typeDescriptions":{}}},"id":4566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3545:13:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4561,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"3513:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":4567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3513:46:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4568,"nodeType":"ExpressionStatement","src":"3513:46:26"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4569,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4538,"src":"3600:5:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":4572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3617:1:26","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":4571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3609:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4570,"name":"address","nodeType":"ElementaryTypeName","src":"3609:7:26","typeDescriptions":{}}},"id":4573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3609:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3600:19:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4581,"nodeType":"IfStatement","src":"3596:88:26","trueBody":{"id":4580,"nodeType":"Block","src":"3621:63:26","statements":[{"expression":{"arguments":[{"id":4576,"name":"TIMELOCK_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4458,"src":"3646:19:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4577,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4538,"src":"3667:5:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4575,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"3635:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":4578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3635:38:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4579,"nodeType":"ExpressionStatement","src":"3635:38:26"}]}},{"body":{"id":4607,"nodeType":"Block","src":"3786:118:26","statements":[{"expression":{"arguments":[{"id":4594,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4463,"src":"3811:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":4595,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"3826:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":4597,"indexExpression":{"id":4596,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4583,"src":"3836:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3826:12:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4593,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"3800:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":4598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3800:39:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4599,"nodeType":"ExpressionStatement","src":"3800:39:26"},{"expression":{"arguments":[{"id":4601,"name":"CANCELLER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"3864:14:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":4602,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"3880:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":4604,"indexExpression":{"id":4603,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4583,"src":"3890:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3880:12:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4600,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"3853:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":4605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3853:40:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4606,"nodeType":"ExpressionStatement","src":"3853:40:26"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4583,"src":"3759:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4587,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4533,"src":"3763:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":4588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3763:16:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:20:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4608,"initializationExpression":{"assignments":[4583],"declarations":[{"constant":false,"id":4583,"mutability":"mutable","name":"i","nameLocation":"3752:1:26","nodeType":"VariableDeclaration","scope":4608,"src":"3744:9:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4582,"name":"uint256","nodeType":"ElementaryTypeName","src":"3744:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4585,"initialValue":{"hexValue":"30","id":4584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3756:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3744:13:26"},"loopExpression":{"expression":{"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3781:3:26","subExpression":{"id":4590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4583,"src":"3783:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4592,"nodeType":"ExpressionStatement","src":"3781:3:26"},"nodeType":"ForStatement","src":"3739:165:26"},{"body":{"id":4627,"nodeType":"Block","src":"3991:64:26","statements":[{"expression":{"arguments":[{"id":4621,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4468,"src":"4016:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":4622,"name":"executors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4536,"src":"4031:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":4624,"indexExpression":{"id":4623,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"4041:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4031:12:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4620,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"4005:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":4625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4005:39:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4626,"nodeType":"ExpressionStatement","src":"4005:39:26"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4613,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"3964:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4614,"name":"executors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4536,"src":"3968:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":4615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3968:16:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3964:20:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4628,"initializationExpression":{"assignments":[4610],"declarations":[{"constant":false,"id":4610,"mutability":"mutable","name":"i","nameLocation":"3957:1:26","nodeType":"VariableDeclaration","scope":4628,"src":"3949:9:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3949:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4612,"initialValue":{"hexValue":"30","id":4611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3961:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3949:13:26"},"loopExpression":{"expression":{"id":4618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3986:3:26","subExpression":{"id":4617,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"3988:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4619,"nodeType":"ExpressionStatement","src":"3986:3:26"},"nodeType":"ForStatement","src":"3944:111:26"},{"expression":{"id":4631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4629,"name":"_minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4485,"src":"4065:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4630,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4530,"src":"4077:8:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4065:20:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4632,"nodeType":"ExpressionStatement","src":"4065:20:26"},{"eventCall":{"arguments":[{"hexValue":"30","id":4634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4115:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":4635,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4530,"src":"4118:8:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4633,"name":"MinDelayChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4527,"src":"4100:14:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":4636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4100:27:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4637,"nodeType":"EmitStatement","src":"4095:32:26"}]},"documentation":{"id":4528,"nodeType":"StructuredDocumentation","src":"2336:748:26","text":" @dev Initializes the contract with the following parameters:\n - `minDelay`: initial minimum delay for operations\n - `proposers`: accounts to be granted proposer and canceller roles\n - `executors`: accounts to be granted executor role\n - `admin`: optional account to be granted admin role; disable with zero address\n IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n without being subject to delay, but this role should be subsequently renounced in favor of\n administration through timelocked proposals. Previous versions of this contract would assign\n this admin to the deployer automatically and should be renounced as well."},"id":4639,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4530,"mutability":"mutable","name":"minDelay","nameLocation":"3118:8:26","nodeType":"VariableDeclaration","scope":4639,"src":"3110:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4529,"name":"uint256","nodeType":"ElementaryTypeName","src":"3110:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4533,"mutability":"mutable","name":"proposers","nameLocation":"3153:9:26","nodeType":"VariableDeclaration","scope":4639,"src":"3136:26:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4531,"name":"address","nodeType":"ElementaryTypeName","src":"3136:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4532,"nodeType":"ArrayTypeName","src":"3136:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4536,"mutability":"mutable","name":"executors","nameLocation":"3189:9:26","nodeType":"VariableDeclaration","scope":4639,"src":"3172:26:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4534,"name":"address","nodeType":"ElementaryTypeName","src":"3172:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4535,"nodeType":"ArrayTypeName","src":"3172:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4538,"mutability":"mutable","name":"admin","nameLocation":"3216:5:26","nodeType":"VariableDeclaration","scope":4639,"src":"3208:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4537,"name":"address","nodeType":"ElementaryTypeName","src":"3208:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3100:127:26"},"returnParameters":{"id":4540,"nodeType":"ParameterList","parameters":[],"src":"3228:0:26"},"scope":5354,"src":"3089:1045:26","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":4661,"nodeType":"Block","src":"4458:114:26","statements":[{"condition":{"id":4651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4472:26:26","subExpression":{"arguments":[{"id":4645,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4642,"src":"4481:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":4648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4495:1:26","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":4647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4487:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4646,"name":"address","nodeType":"ElementaryTypeName","src":"4487:7:26","typeDescriptions":{}}},"id":4649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4487:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4644,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"4473:7:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":4650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4473:25:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4659,"nodeType":"IfStatement","src":"4468:87:26","trueBody":{"id":4658,"nodeType":"Block","src":"4500:55:26","statements":[{"expression":{"arguments":[{"id":4653,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4642,"src":"4525:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":4654,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4531:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:12:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4652,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[804,843],"referencedDeclaration":843,"src":"4514:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":4656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4514:30:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4657,"nodeType":"ExpressionStatement","src":"4514:30:26"}]}},{"id":4660,"nodeType":"PlaceholderStatement","src":"4564:1:26"}]},"documentation":{"id":4640,"nodeType":"StructuredDocumentation","src":"4140:271:26","text":" @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone."},"id":4662,"name":"onlyRoleOrOpenRole","nameLocation":"4425:18:26","nodeType":"ModifierDefinition","parameters":{"id":4643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4642,"mutability":"mutable","name":"role","nameLocation":"4452:4:26","nodeType":"VariableDeclaration","scope":4662,"src":"4444:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4444:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4443:14:26"},"src":"4416:156:26","virtual":false,"visibility":"internal"},{"body":{"id":4666,"nodeType":"Block","src":"4701:2:26","statements":[]},"documentation":{"id":4663,"nodeType":"StructuredDocumentation","src":"4578:91:26","text":" @dev Contract might receive/hold ETH as part of the maintenance process."},"id":4667,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4664,"nodeType":"ParameterList","parameters":[],"src":"4681:2:26"},"returnParameters":{"id":4665,"nodeType":"ParameterList","parameters":[],"src":"4701:0:26"},"scope":5354,"src":"4674:29:26","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[772,24692],"body":{"id":4690,"nodeType":"Block","src":"4885:113:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":4683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4678,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4670,"src":"4902:11:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4680,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"4922:16:26","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}],"id":4679,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4917:4:26","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4917:22:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$12145","typeString":"type(contract IERC1155Receiver)"}},"id":4682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"4917:34:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4902:49:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":4686,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4670,"src":"4979:11:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":4684,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4955:5:26","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TimelockController_$5354_$","typeString":"type(contract super TimelockController)"}},"id":4685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":772,"src":"4955:23:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4955:36:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4902:89:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4677,"id":4689,"nodeType":"Return","src":"4895:96:26"}]},"documentation":{"id":4668,"nodeType":"StructuredDocumentation","src":"4709:56:26","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":4691,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"4779:17:26","nodeType":"FunctionDefinition","overrides":{"id":4674,"nodeType":"OverrideSpecifier","overrides":[{"id":4672,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"4846:7:26"},{"id":4673,"name":"AccessControl","nodeType":"IdentifierPath","referencedDeclaration":1027,"src":"4855:13:26"}],"src":"4837:32:26"},"parameters":{"id":4671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4670,"mutability":"mutable","name":"interfaceId","nameLocation":"4804:11:26","nodeType":"VariableDeclaration","scope":4691,"src":"4797:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4669,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4797:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4796:20:26"},"returnParameters":{"id":4677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4691,"src":"4879:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4675,"name":"bool","nodeType":"ElementaryTypeName","src":"4879:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4878:6:26"},"scope":5354,"src":"4770:228:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4705,"nodeType":"Block","src":"5233:44:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4700,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"5263:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4699,"name":"getTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"5250:12:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":4701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5250:16:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5269:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5250:20:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4698,"id":4704,"nodeType":"Return","src":"5243:27:26"}]},"documentation":{"id":4692,"nodeType":"StructuredDocumentation","src":"5004:145:26","text":" @dev Returns whether an id correspond to a registered operation. This\n includes both Pending, Ready and Done operations."},"functionSelector":"31d50750","id":4706,"implemented":true,"kind":"function","modifiers":[],"name":"isOperation","nameLocation":"5163:11:26","nodeType":"FunctionDefinition","parameters":{"id":4695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4694,"mutability":"mutable","name":"id","nameLocation":"5183:2:26","nodeType":"VariableDeclaration","scope":4706,"src":"5175:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5175:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5174:12:26"},"returnParameters":{"id":4698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4697,"mutability":"mutable","name":"registered","nameLocation":"5221:10:26","nodeType":"VariableDeclaration","scope":4706,"src":"5216:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4696,"name":"bool","nodeType":"ElementaryTypeName","src":"5216:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5215:17:26"},"scope":5354,"src":"5154:123:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4720,"nodeType":"Block","src":"5442:58:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4715,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4709,"src":"5472:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4714,"name":"getTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"5459:12:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":4716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5459:16:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4717,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"5478:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5459:34:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4713,"id":4719,"nodeType":"Return","src":"5452:41:26"}]},"documentation":{"id":4707,"nodeType":"StructuredDocumentation","src":"5283:71:26","text":" @dev Returns whether an operation is pending or not."},"functionSelector":"584b153e","id":4721,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationPending","nameLocation":"5368:18:26","nodeType":"FunctionDefinition","parameters":{"id":4710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4709,"mutability":"mutable","name":"id","nameLocation":"5395:2:26","nodeType":"VariableDeclaration","scope":4721,"src":"5387:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5387:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5386:12:26"},"returnParameters":{"id":4713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4712,"mutability":"mutable","name":"pending","nameLocation":"5433:7:26","nodeType":"VariableDeclaration","scope":4721,"src":"5428:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4711,"name":"bool","nodeType":"ElementaryTypeName","src":"5428:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5427:14:26"},"scope":5354,"src":"5359:141:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4744,"nodeType":"Block","src":"5659:129:26","statements":[{"assignments":[4730],"declarations":[{"constant":false,"id":4730,"mutability":"mutable","name":"timestamp","nameLocation":"5677:9:26","nodeType":"VariableDeclaration","scope":4744,"src":"5669:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4729,"name":"uint256","nodeType":"ElementaryTypeName","src":"5669:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4734,"initialValue":{"arguments":[{"id":4732,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4724,"src":"5702:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4731,"name":"getTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"5689:12:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":4733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5689:16:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5669:36:26"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4735,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4730,"src":"5722:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4736,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"5734:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5722:27:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4738,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4730,"src":"5753:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":4739,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5766:5:26","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"5766:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5753:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5722:59:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4728,"id":4743,"nodeType":"Return","src":"5715:66:26"}]},"documentation":{"id":4722,"nodeType":"StructuredDocumentation","src":"5506:69:26","text":" @dev Returns whether an operation is ready or not."},"functionSelector":"13bc9f20","id":4745,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationReady","nameLocation":"5589:16:26","nodeType":"FunctionDefinition","parameters":{"id":4725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4724,"mutability":"mutable","name":"id","nameLocation":"5614:2:26","nodeType":"VariableDeclaration","scope":4745,"src":"5606:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5606:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5605:12:26"},"returnParameters":{"id":4728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4727,"mutability":"mutable","name":"ready","nameLocation":"5652:5:26","nodeType":"VariableDeclaration","scope":4745,"src":"5647:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4726,"name":"bool","nodeType":"ElementaryTypeName","src":"5647:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5646:12:26"},"scope":5354,"src":"5580:208:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4759,"nodeType":"Block","src":"5944:59:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4754,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4748,"src":"5974:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4753,"name":"getTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"5961:12:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":4755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5961:16:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4756,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"5981:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5961:35:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4752,"id":4758,"nodeType":"Return","src":"5954:42:26"}]},"documentation":{"id":4746,"nodeType":"StructuredDocumentation","src":"5794:68:26","text":" @dev Returns whether an operation is done or not."},"functionSelector":"2ab0f529","id":4760,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationDone","nameLocation":"5876:15:26","nodeType":"FunctionDefinition","parameters":{"id":4749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4748,"mutability":"mutable","name":"id","nameLocation":"5900:2:26","nodeType":"VariableDeclaration","scope":4760,"src":"5892:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5892:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5891:12:26"},"returnParameters":{"id":4752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4751,"mutability":"mutable","name":"done","nameLocation":"5938:4:26","nodeType":"VariableDeclaration","scope":4760,"src":"5933:9:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4750,"name":"bool","nodeType":"ElementaryTypeName","src":"5933:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5932:11:26"},"scope":5354,"src":"5867:136:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4772,"nodeType":"Block","src":"6232:39:26","statements":[{"expression":{"baseExpression":{"id":4768,"name":"_timestamps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"6249:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":4770,"indexExpression":{"id":4769,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4763,"src":"6261:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6249:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4767,"id":4771,"nodeType":"Return","src":"6242:22:26"}]},"documentation":{"id":4761,"nodeType":"StructuredDocumentation","src":"6009:136:26","text":" @dev Returns the timestamp at with an operation becomes ready (0 for\n unset operations, 1 for done operations)."},"functionSelector":"d45c4435","id":4773,"implemented":true,"kind":"function","modifiers":[],"name":"getTimestamp","nameLocation":"6159:12:26","nodeType":"FunctionDefinition","parameters":{"id":4764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4763,"mutability":"mutable","name":"id","nameLocation":"6180:2:26","nodeType":"VariableDeclaration","scope":4773,"src":"6172:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6172:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6171:12:26"},"returnParameters":{"id":4767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4766,"mutability":"mutable","name":"timestamp","nameLocation":"6221:9:26","nodeType":"VariableDeclaration","scope":4773,"src":"6213:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4765,"name":"uint256","nodeType":"ElementaryTypeName","src":"6213:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6212:19:26"},"scope":5354,"src":"6150:121:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4781,"nodeType":"Block","src":"6527:33:26","statements":[{"expression":{"id":4779,"name":"_minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4485,"src":"6544:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4778,"id":4780,"nodeType":"Return","src":"6537:16:26"}]},"documentation":{"id":4774,"nodeType":"StructuredDocumentation","src":"6277:175:26","text":" @dev Returns the minimum delay for an operation to become valid.\n This value can be changed by executing an operation that calls `updateDelay`."},"functionSelector":"f27a0c92","id":4782,"implemented":true,"kind":"function","modifiers":[],"name":"getMinDelay","nameLocation":"6466:11:26","nodeType":"FunctionDefinition","parameters":{"id":4775,"nodeType":"ParameterList","parameters":[],"src":"6477:2:26"},"returnParameters":{"id":4778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4777,"mutability":"mutable","name":"duration","nameLocation":"6517:8:26","nodeType":"VariableDeclaration","scope":4782,"src":"6509:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4776,"name":"uint256","nodeType":"ElementaryTypeName","src":"6509:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6508:18:26"},"scope":5354,"src":"6457:103:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4809,"nodeType":"Block","src":"6872:85:26","statements":[{"expression":{"arguments":[{"arguments":[{"id":4801,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"6910:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4802,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4787,"src":"6918:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4803,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4789,"src":"6925:4:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":4804,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4791,"src":"6931:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4805,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"6944:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4799,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6899:3:26","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"6899:10:26","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6899:50:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4798,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6889:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6889:61:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":4797,"id":4808,"nodeType":"Return","src":"6882:68:26"}]},"documentation":{"id":4783,"nodeType":"StructuredDocumentation","src":"6566:102:26","text":" @dev Returns the identifier of an operation containing a single\n transaction."},"functionSelector":"8065657f","id":4810,"implemented":true,"kind":"function","modifiers":[],"name":"hashOperation","nameLocation":"6682:13:26","nodeType":"FunctionDefinition","parameters":{"id":4794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4785,"mutability":"mutable","name":"target","nameLocation":"6713:6:26","nodeType":"VariableDeclaration","scope":4810,"src":"6705:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4784,"name":"address","nodeType":"ElementaryTypeName","src":"6705:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4787,"mutability":"mutable","name":"value","nameLocation":"6737:5:26","nodeType":"VariableDeclaration","scope":4810,"src":"6729:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4786,"name":"uint256","nodeType":"ElementaryTypeName","src":"6729:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4789,"mutability":"mutable","name":"data","nameLocation":"6767:4:26","nodeType":"VariableDeclaration","scope":4810,"src":"6752:19:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4788,"name":"bytes","nodeType":"ElementaryTypeName","src":"6752:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4791,"mutability":"mutable","name":"predecessor","nameLocation":"6789:11:26","nodeType":"VariableDeclaration","scope":4810,"src":"6781:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6781:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4793,"mutability":"mutable","name":"salt","nameLocation":"6818:4:26","nodeType":"VariableDeclaration","scope":4810,"src":"6810:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6810:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6695:133:26"},"returnParameters":{"id":4797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4796,"mutability":"mutable","name":"hash","nameLocation":"6866:4:26","nodeType":"VariableDeclaration","scope":4810,"src":"6858:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6858:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6857:14:26"},"scope":5354,"src":"6673:284:26","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":4840,"nodeType":"Block","src":"7307:91:26","statements":[{"expression":{"arguments":[{"arguments":[{"id":4832,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4814,"src":"7345:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":4833,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"7354:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":4834,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4820,"src":"7362:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":4835,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4822,"src":"7372:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4836,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4824,"src":"7385:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7334:3:26","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"7334:10:26","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7334:56:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4829,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7324:9:26","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7324:67:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":4828,"id":4839,"nodeType":"Return","src":"7317:74:26"}]},"documentation":{"id":4811,"nodeType":"StructuredDocumentation","src":"6963:105:26","text":" @dev Returns the identifier of an operation containing a batch of\n transactions."},"functionSelector":"b1c5f427","id":4841,"implemented":true,"kind":"function","modifiers":[],"name":"hashOperationBatch","nameLocation":"7082:18:26","nodeType":"FunctionDefinition","parameters":{"id":4825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4814,"mutability":"mutable","name":"targets","nameLocation":"7129:7:26","nodeType":"VariableDeclaration","scope":4841,"src":"7110:26:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4812,"name":"address","nodeType":"ElementaryTypeName","src":"7110:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4813,"nodeType":"ArrayTypeName","src":"7110:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4817,"mutability":"mutable","name":"values","nameLocation":"7165:6:26","nodeType":"VariableDeclaration","scope":4841,"src":"7146:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4815,"name":"uint256","nodeType":"ElementaryTypeName","src":"7146:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4816,"nodeType":"ArrayTypeName","src":"7146:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4820,"mutability":"mutable","name":"payloads","nameLocation":"7198:8:26","nodeType":"VariableDeclaration","scope":4841,"src":"7181:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4818,"name":"bytes","nodeType":"ElementaryTypeName","src":"7181:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4819,"nodeType":"ArrayTypeName","src":"7181:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4822,"mutability":"mutable","name":"predecessor","nameLocation":"7224:11:26","nodeType":"VariableDeclaration","scope":4841,"src":"7216:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7216:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4824,"mutability":"mutable","name":"salt","nameLocation":"7253:4:26","nodeType":"VariableDeclaration","scope":4841,"src":"7245:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7245:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7100:163:26"},"returnParameters":{"id":4828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4827,"mutability":"mutable","name":"hash","nameLocation":"7301:4:26","nodeType":"VariableDeclaration","scope":4841,"src":"7293:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7293:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7292:14:26"},"scope":5354,"src":"7073:325:26","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":4885,"nodeType":"Block","src":"7831:189:26","statements":[{"assignments":[4861],"declarations":[{"constant":false,"id":4861,"mutability":"mutable","name":"id","nameLocation":"7849:2:26","nodeType":"VariableDeclaration","scope":4885,"src":"7841:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7841:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4869,"initialValue":{"arguments":[{"id":4863,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4844,"src":"7868:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4864,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4846,"src":"7876:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4865,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4848,"src":"7883:4:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":4866,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4850,"src":"7889:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4867,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4852,"src":"7902:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4862,"name":"hashOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4810,"src":"7854:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":4868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7854:53:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7841:66:26"},{"expression":{"arguments":[{"id":4871,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"7927:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4872,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4854,"src":"7931:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4870,"name":"_schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5005,"src":"7917:9:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":4873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7917:20:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4874,"nodeType":"ExpressionStatement","src":"7917:20:26"},{"eventCall":{"arguments":[{"id":4876,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"7966:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":4877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7970:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":4878,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4844,"src":"7973:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4879,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4846,"src":"7981:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4880,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4848,"src":"7988:4:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":4881,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4850,"src":"7994:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4882,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4854,"src":"8007:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4875,"name":"CallScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4502,"src":"7952:13:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)"}},"id":4883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7952:61:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4884,"nodeType":"EmitStatement","src":"7947:66:26"}]},"documentation":{"id":4842,"nodeType":"StructuredDocumentation","src":"7404:209:26","text":" @dev Schedule an operation containing a single transaction.\n Emits a {CallScheduled} event.\n Requirements:\n - the caller must have the 'proposer' role."},"functionSelector":"01d5062a","id":4886,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4857,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4463,"src":"7816:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":4858,"kind":"modifierInvocation","modifierName":{"id":4856,"name":"onlyRole","nodeType":"IdentifierPath","referencedDeclaration":750,"src":"7807:8:26"},"nodeType":"ModifierInvocation","src":"7807:23:26"}],"name":"schedule","nameLocation":"7627:8:26","nodeType":"FunctionDefinition","parameters":{"id":4855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4844,"mutability":"mutable","name":"target","nameLocation":"7653:6:26","nodeType":"VariableDeclaration","scope":4886,"src":"7645:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4843,"name":"address","nodeType":"ElementaryTypeName","src":"7645:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4846,"mutability":"mutable","name":"value","nameLocation":"7677:5:26","nodeType":"VariableDeclaration","scope":4886,"src":"7669:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7669:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4848,"mutability":"mutable","name":"data","nameLocation":"7707:4:26","nodeType":"VariableDeclaration","scope":4886,"src":"7692:19:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4847,"name":"bytes","nodeType":"ElementaryTypeName","src":"7692:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4850,"mutability":"mutable","name":"predecessor","nameLocation":"7729:11:26","nodeType":"VariableDeclaration","scope":4886,"src":"7721:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7721:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4852,"mutability":"mutable","name":"salt","nameLocation":"7758:4:26","nodeType":"VariableDeclaration","scope":4886,"src":"7750:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7750:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4854,"mutability":"mutable","name":"delay","nameLocation":"7780:5:26","nodeType":"VariableDeclaration","scope":4886,"src":"7772:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4853,"name":"uint256","nodeType":"ElementaryTypeName","src":"7772:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7635:156:26"},"returnParameters":{"id":4859,"nodeType":"ParameterList","parameters":[],"src":"7831:0:26"},"scope":5354,"src":"7618:402:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":4970,"nodeType":"Block","src":"8522:465:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4909,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"8540:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":4910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8540:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4911,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4893,"src":"8558:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":4912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8558:13:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8540:31:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368","id":4914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8573:37:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""},"value":"TimelockController: length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""}],"id":4908,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8532:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8532:79:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4916,"nodeType":"ExpressionStatement","src":"8532:79:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4918,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"8629:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":4919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8629:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4920,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4896,"src":"8647:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":4921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8647:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8629:33:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368","id":4923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8664:37:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""},"value":"TimelockController: length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""}],"id":4917,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8621:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8621:81:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4925,"nodeType":"ExpressionStatement","src":"8621:81:26"},{"assignments":[4927],"declarations":[{"constant":false,"id":4927,"mutability":"mutable","name":"id","nameLocation":"8721:2:26","nodeType":"VariableDeclaration","scope":4970,"src":"8713:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8713:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4935,"initialValue":{"arguments":[{"id":4929,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"8745:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":4930,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4893,"src":"8754:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":4931,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4896,"src":"8762:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":4932,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4898,"src":"8772:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4933,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4900,"src":"8785:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4928,"name":"hashOperationBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4841,"src":"8726:18:26","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":4934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8726:64:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8713:77:26"},{"expression":{"arguments":[{"id":4937,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4927,"src":"8810:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4938,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4902,"src":"8814:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4936,"name":"_schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5005,"src":"8800:9:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8800:20:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4940,"nodeType":"ExpressionStatement","src":"8800:20:26"},{"body":{"id":4968,"nodeType":"Block","src":"8875:106:26","statements":[{"eventCall":{"arguments":[{"id":4953,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4927,"src":"8908:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4954,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8912:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":4955,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"8915:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":4957,"indexExpression":{"id":4956,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8923:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8915:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":4958,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4893,"src":"8927:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":4960,"indexExpression":{"id":4959,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8934:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8927:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":4961,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4896,"src":"8938:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":4963,"indexExpression":{"id":4962,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8947:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8938:11:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":4964,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4898,"src":"8951:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4965,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4902,"src":"8964:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4952,"name":"CallScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4502,"src":"8894:13:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)"}},"id":4966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8894:76:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4967,"nodeType":"EmitStatement","src":"8889:81:26"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4945,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8850:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4946,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"8854:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":4947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8854:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8850:18:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4969,"initializationExpression":{"assignments":[4942],"declarations":[{"constant":false,"id":4942,"mutability":"mutable","name":"i","nameLocation":"8843:1:26","nodeType":"VariableDeclaration","scope":4969,"src":"8835:9:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4941,"name":"uint256","nodeType":"ElementaryTypeName","src":"8835:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4944,"initialValue":{"hexValue":"30","id":4943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8847:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8835:13:26"},"loopExpression":{"expression":{"id":4950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8870:3:26","subExpression":{"id":4949,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"8872:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4951,"nodeType":"ExpressionStatement","src":"8870:3:26"},"nodeType":"ForStatement","src":"8830:151:26"}]},"documentation":{"id":4887,"nodeType":"StructuredDocumentation","src":"8026:243:26","text":" @dev Schedule an operation containing a batch of transactions.\n Emits one {CallScheduled} event per transaction in the batch.\n Requirements:\n - the caller must have the 'proposer' role."},"functionSelector":"8f2a0bb0","id":4971,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4905,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4463,"src":"8507:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":4906,"kind":"modifierInvocation","modifierName":{"id":4904,"name":"onlyRole","nodeType":"IdentifierPath","referencedDeclaration":750,"src":"8498:8:26"},"nodeType":"ModifierInvocation","src":"8498:23:26"}],"name":"scheduleBatch","nameLocation":"8283:13:26","nodeType":"FunctionDefinition","parameters":{"id":4903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4890,"mutability":"mutable","name":"targets","nameLocation":"8325:7:26","nodeType":"VariableDeclaration","scope":4971,"src":"8306:26:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4888,"name":"address","nodeType":"ElementaryTypeName","src":"8306:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4889,"nodeType":"ArrayTypeName","src":"8306:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4893,"mutability":"mutable","name":"values","nameLocation":"8361:6:26","nodeType":"VariableDeclaration","scope":4971,"src":"8342:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4891,"name":"uint256","nodeType":"ElementaryTypeName","src":"8342:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4892,"nodeType":"ArrayTypeName","src":"8342:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4896,"mutability":"mutable","name":"payloads","nameLocation":"8394:8:26","nodeType":"VariableDeclaration","scope":4971,"src":"8377:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4894,"name":"bytes","nodeType":"ElementaryTypeName","src":"8377:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4895,"nodeType":"ArrayTypeName","src":"8377:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":4898,"mutability":"mutable","name":"predecessor","nameLocation":"8420:11:26","nodeType":"VariableDeclaration","scope":4971,"src":"8412:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8412:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4900,"mutability":"mutable","name":"salt","nameLocation":"8449:4:26","nodeType":"VariableDeclaration","scope":4971,"src":"8441:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8441:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4902,"mutability":"mutable","name":"delay","nameLocation":"8471:5:26","nodeType":"VariableDeclaration","scope":4971,"src":"8463:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4901,"name":"uint256","nodeType":"ElementaryTypeName","src":"8463:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8296:186:26"},"returnParameters":{"id":4907,"nodeType":"ParameterList","parameters":[],"src":"8522:0:26"},"scope":5354,"src":"8274:713:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":5004,"nodeType":"Block","src":"9143:227:26","statements":[{"expression":{"arguments":[{"id":4983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9161:16:26","subExpression":{"arguments":[{"id":4981,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"9174:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4980,"name":"isOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4706,"src":"9162:11:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":4982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9162:15:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c7265616479207363686564756c6564","id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9179:49:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe","typeString":"literal_string \"TimelockController: operation already scheduled\""},"value":"TimelockController: operation already scheduled"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe","typeString":"literal_string \"TimelockController: operation already scheduled\""}],"id":4979,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9153:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9153:76:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4986,"nodeType":"ExpressionStatement","src":"9153:76:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4988,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"9247:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":4989,"name":"getMinDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4782,"src":"9256:11:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":4990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9256:13:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9247:22:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e742064656c6179","id":4992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9271:40:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca","typeString":"literal_string \"TimelockController: insufficient delay\""},"value":"TimelockController: insufficient delay"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca","typeString":"literal_string \"TimelockController: insufficient delay\""}],"id":4987,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9239:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9239:73:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4994,"nodeType":"ExpressionStatement","src":"9239:73:26"},{"expression":{"id":5002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4995,"name":"_timestamps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"9322:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":4997,"indexExpression":{"id":4996,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"9334:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9322:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4998,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9340:5:26","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":4999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"9340:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5000,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"9358:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9340:23:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9322:41:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5003,"nodeType":"ExpressionStatement","src":"9322:41:26"}]},"documentation":{"id":4972,"nodeType":"StructuredDocumentation","src":"8993:91:26","text":" @dev Schedule an operation that is to becomes valid after a given delay."},"id":5005,"implemented":true,"kind":"function","modifiers":[],"name":"_schedule","nameLocation":"9098:9:26","nodeType":"FunctionDefinition","parameters":{"id":4977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4974,"mutability":"mutable","name":"id","nameLocation":"9116:2:26","nodeType":"VariableDeclaration","scope":5005,"src":"9108:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9108:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4976,"mutability":"mutable","name":"delay","nameLocation":"9128:5:26","nodeType":"VariableDeclaration","scope":5005,"src":"9120:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4975,"name":"uint256","nodeType":"ElementaryTypeName","src":"9120:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9107:27:26"},"returnParameters":{"id":4978,"nodeType":"ParameterList","parameters":[],"src":"9143:0:26"},"scope":5354,"src":"9089:281:26","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":5030,"nodeType":"Block","src":"9580:162:26","statements":[{"expression":{"arguments":[{"arguments":[{"id":5016,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5008,"src":"9617:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5015,"name":"isOperationPending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4721,"src":"9598:18:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9598:22:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616e6e6f742062652063616e63656c6c6564","id":5018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9622:51:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41","typeString":"literal_string \"TimelockController: operation cannot be cancelled\""},"value":"TimelockController: operation cannot be cancelled"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41","typeString":"literal_string \"TimelockController: operation cannot be cancelled\""}],"id":5014,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9590:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9590:84:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5020,"nodeType":"ExpressionStatement","src":"9590:84:26"},{"expression":{"id":5024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"9684:22:26","subExpression":{"baseExpression":{"id":5021,"name":"_timestamps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"9691:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":5023,"indexExpression":{"id":5022,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5008,"src":"9703:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9691:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5025,"nodeType":"ExpressionStatement","src":"9684:22:26"},{"eventCall":{"arguments":[{"id":5027,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5008,"src":"9732:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5026,"name":"Cancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4520,"src":"9722:9:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":5028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9722:13:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5029,"nodeType":"EmitStatement","src":"9717:18:26"}]},"documentation":{"id":5006,"nodeType":"StructuredDocumentation","src":"9376:131:26","text":" @dev Cancel an operation.\n Requirements:\n - the caller must have the 'canceller' role."},"functionSelector":"c4d252f5","id":5031,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5011,"name":"CANCELLER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"9564:14:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5012,"kind":"modifierInvocation","modifierName":{"id":5010,"name":"onlyRole","nodeType":"IdentifierPath","referencedDeclaration":750,"src":"9555:8:26"},"nodeType":"ModifierInvocation","src":"9555:24:26"}],"name":"cancel","nameLocation":"9521:6:26","nodeType":"FunctionDefinition","parameters":{"id":5009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5008,"mutability":"mutable","name":"id","nameLocation":"9536:2:26","nodeType":"VariableDeclaration","scope":5031,"src":"9528:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9528:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9527:12:26"},"returnParameters":{"id":5013,"nodeType":"ParameterList","parameters":[],"src":"9580:0:26"},"scope":5354,"src":"9512:230:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":5081,"nodeType":"Block","src":"10426:249:26","statements":[{"assignments":[5049],"declarations":[{"constant":false,"id":5049,"mutability":"mutable","name":"id","nameLocation":"10444:2:26","nodeType":"VariableDeclaration","scope":5081,"src":"10436:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10436:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5057,"initialValue":{"arguments":[{"id":5051,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5034,"src":"10463:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5052,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5036,"src":"10471:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5053,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5038,"src":"10478:7:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":5054,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5040,"src":"10487:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5055,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5042,"src":"10500:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5050,"name":"hashOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4810,"src":"10449:13:26","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":5056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10449:56:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10436:69:26"},{"expression":{"arguments":[{"id":5059,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5049,"src":"10528:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5060,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5040,"src":"10532:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5058,"name":"_beforeCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5240,"src":"10516:11:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) view"}},"id":5061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10516:28:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5062,"nodeType":"ExpressionStatement","src":"10516:28:26"},{"expression":{"arguments":[{"id":5064,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5034,"src":"10563:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5065,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5036,"src":"10571:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5066,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5038,"src":"10578:7:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5063,"name":"_execute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5210,"src":"10554:8:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,bytes calldata)"}},"id":5067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10554:32:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5068,"nodeType":"ExpressionStatement","src":"10554:32:26"},{"eventCall":{"arguments":[{"id":5070,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5049,"src":"10614:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":5071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10618:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":5072,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5034,"src":"10621:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5073,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5036,"src":"10629:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5074,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5038,"src":"10636:7:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5069,"name":"CallExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4515,"src":"10601:12:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory)"}},"id":5075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10601:43:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5076,"nodeType":"EmitStatement","src":"10596:48:26"},{"expression":{"arguments":[{"id":5078,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5049,"src":"10665:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5077,"name":"_afterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5260,"src":"10654:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":5079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10654:14:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5080,"nodeType":"ExpressionStatement","src":"10654:14:26"}]},"documentation":{"id":5032,"nodeType":"StructuredDocumentation","src":"9748:215:26","text":" @dev Execute an (ready) operation containing a single transaction.\n Emits a {CallExecuted} event.\n Requirements:\n - the caller must have the 'executor' role."},"functionSelector":"134008d3","id":5082,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5045,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4468,"src":"10411:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5046,"kind":"modifierInvocation","modifierName":{"id":5044,"name":"onlyRoleOrOpenRole","nodeType":"IdentifierPath","referencedDeclaration":4662,"src":"10392:18:26"},"nodeType":"ModifierInvocation","src":"10392:33:26"}],"name":"execute","nameLocation":"10225:7:26","nodeType":"FunctionDefinition","parameters":{"id":5043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5034,"mutability":"mutable","name":"target","nameLocation":"10250:6:26","nodeType":"VariableDeclaration","scope":5082,"src":"10242:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5033,"name":"address","nodeType":"ElementaryTypeName","src":"10242:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5036,"mutability":"mutable","name":"value","nameLocation":"10274:5:26","nodeType":"VariableDeclaration","scope":5082,"src":"10266:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5035,"name":"uint256","nodeType":"ElementaryTypeName","src":"10266:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5038,"mutability":"mutable","name":"payload","nameLocation":"10304:7:26","nodeType":"VariableDeclaration","scope":5082,"src":"10289:22:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5037,"name":"bytes","nodeType":"ElementaryTypeName","src":"10289:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5040,"mutability":"mutable","name":"predecessor","nameLocation":"10329:11:26","nodeType":"VariableDeclaration","scope":5082,"src":"10321:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10321:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5042,"mutability":"mutable","name":"salt","nameLocation":"10358:4:26","nodeType":"VariableDeclaration","scope":5082,"src":"10350:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10350:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10232:136:26"},"returnParameters":{"id":5047,"nodeType":"ParameterList","parameters":[],"src":"10426:0:26"},"scope":5354,"src":"10216:459:26","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":5184,"nodeType":"Block","src":"11177:641:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5103,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"11195:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":5104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11195:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5105,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"11213:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":5106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11213:13:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11195:31:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368","id":5108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11228:37:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""},"value":"TimelockController: length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""}],"id":5102,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11187:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11187:79:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5110,"nodeType":"ExpressionStatement","src":"11187:79:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5112,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"11284:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":5113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11284:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5114,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5092,"src":"11302:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":5115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11302:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11284:33:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368","id":5117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11319:37:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""},"value":"TimelockController: length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0","typeString":"literal_string \"TimelockController: length mismatch\""}],"id":5111,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11276:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11276:81:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5119,"nodeType":"ExpressionStatement","src":"11276:81:26"},{"assignments":[5121],"declarations":[{"constant":false,"id":5121,"mutability":"mutable","name":"id","nameLocation":"11376:2:26","nodeType":"VariableDeclaration","scope":5184,"src":"11368:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11368:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5129,"initialValue":{"arguments":[{"id":5123,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"11400:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":5124,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"11409:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":5125,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5092,"src":"11417:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":5126,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5094,"src":"11427:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5127,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5096,"src":"11440:4:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5122,"name":"hashOperationBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4841,"src":"11381:18:26","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":5128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11381:64:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11368:77:26"},{"expression":{"arguments":[{"id":5131,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5121,"src":"11468:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5132,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5094,"src":"11472:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5130,"name":"_beforeCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5240,"src":"11456:11:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) view"}},"id":5133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11456:28:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5134,"nodeType":"ExpressionStatement","src":"11456:28:26"},{"body":{"id":5178,"nodeType":"Block","src":"11539:249:26","statements":[{"assignments":[5147],"declarations":[{"constant":false,"id":5147,"mutability":"mutable","name":"target","nameLocation":"11561:6:26","nodeType":"VariableDeclaration","scope":5178,"src":"11553:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"11553:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5151,"initialValue":{"baseExpression":{"id":5148,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"11570:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":5150,"indexExpression":{"id":5149,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11578:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11570:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11553:27:26"},{"assignments":[5153],"declarations":[{"constant":false,"id":5153,"mutability":"mutable","name":"value","nameLocation":"11602:5:26","nodeType":"VariableDeclaration","scope":5178,"src":"11594:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5152,"name":"uint256","nodeType":"ElementaryTypeName","src":"11594:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5157,"initialValue":{"baseExpression":{"id":5154,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"11610:6:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":5156,"indexExpression":{"id":5155,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11617:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11610:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11594:25:26"},{"assignments":[5159],"declarations":[{"constant":false,"id":5159,"mutability":"mutable","name":"payload","nameLocation":"11648:7:26","nodeType":"VariableDeclaration","scope":5178,"src":"11633:22:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5158,"name":"bytes","nodeType":"ElementaryTypeName","src":"11633:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5163,"initialValue":{"baseExpression":{"id":5160,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5092,"src":"11658:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":5162,"indexExpression":{"id":5161,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11667:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11658:11:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"nodeType":"VariableDeclarationStatement","src":"11633:36:26"},{"expression":{"arguments":[{"id":5165,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"11692:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5166,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5153,"src":"11700:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5167,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5159,"src":"11707:7:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5164,"name":"_execute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5210,"src":"11683:8:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,bytes calldata)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11683:32:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5169,"nodeType":"ExpressionStatement","src":"11683:32:26"},{"eventCall":{"arguments":[{"id":5171,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5121,"src":"11747:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":5172,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11751:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5173,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"11754:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5153,"src":"11762:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5175,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5159,"src":"11769:7:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5170,"name":"CallExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4515,"src":"11734:12:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory)"}},"id":5176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11734:43:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5177,"nodeType":"EmitStatement","src":"11729:48:26"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5139,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11514:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5140,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"11518:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":5141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11518:14:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11514:18:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5179,"initializationExpression":{"assignments":[5136],"declarations":[{"constant":false,"id":5136,"mutability":"mutable","name":"i","nameLocation":"11507:1:26","nodeType":"VariableDeclaration","scope":5179,"src":"11499:9:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5135,"name":"uint256","nodeType":"ElementaryTypeName","src":"11499:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5138,"initialValue":{"hexValue":"30","id":5137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11511:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11499:13:26"},"loopExpression":{"expression":{"id":5144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11534:3:26","subExpression":{"id":5143,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"11536:1:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5145,"nodeType":"ExpressionStatement","src":"11534:3:26"},"nodeType":"ForStatement","src":"11494:294:26"},{"expression":{"arguments":[{"id":5181,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5121,"src":"11808:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5180,"name":"_afterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5260,"src":"11797:10:26","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11797:14:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5183,"nodeType":"ExpressionStatement","src":"11797:14:26"}]},"documentation":{"id":5083,"nodeType":"StructuredDocumentation","src":"10681:249:26","text":" @dev Execute an (ready) operation containing a batch of transactions.\n Emits one {CallExecuted} event per transaction in the batch.\n Requirements:\n - the caller must have the 'executor' role."},"functionSelector":"e38335e5","id":5185,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5099,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4468,"src":"11162:13:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5100,"kind":"modifierInvocation","modifierName":{"id":5098,"name":"onlyRoleOrOpenRole","nodeType":"IdentifierPath","referencedDeclaration":4662,"src":"11143:18:26"},"nodeType":"ModifierInvocation","src":"11143:33:26"}],"name":"executeBatch","nameLocation":"10944:12:26","nodeType":"FunctionDefinition","parameters":{"id":5097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5086,"mutability":"mutable","name":"targets","nameLocation":"10985:7:26","nodeType":"VariableDeclaration","scope":5185,"src":"10966:26:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5084,"name":"address","nodeType":"ElementaryTypeName","src":"10966:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5085,"nodeType":"ArrayTypeName","src":"10966:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5089,"mutability":"mutable","name":"values","nameLocation":"11021:6:26","nodeType":"VariableDeclaration","scope":5185,"src":"11002:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5087,"name":"uint256","nodeType":"ElementaryTypeName","src":"11002:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5088,"nodeType":"ArrayTypeName","src":"11002:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5092,"mutability":"mutable","name":"payloads","nameLocation":"11054:8:26","nodeType":"VariableDeclaration","scope":5185,"src":"11037:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5090,"name":"bytes","nodeType":"ElementaryTypeName","src":"11037:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5091,"nodeType":"ArrayTypeName","src":"11037:7:26","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":5094,"mutability":"mutable","name":"predecessor","nameLocation":"11080:11:26","nodeType":"VariableDeclaration","scope":5185,"src":"11072:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5096,"mutability":"mutable","name":"salt","nameLocation":"11109:4:26","nodeType":"VariableDeclaration","scope":5185,"src":"11101:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11101:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10956:163:26"},"returnParameters":{"id":5101,"nodeType":"ParameterList","parameters":[],"src":"11177:0:26"},"scope":5354,"src":"10935:883:26","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":5209,"nodeType":"Block","src":"11998:148:26","statements":[{"assignments":[5196,null],"declarations":[{"constant":false,"id":5196,"mutability":"mutable","name":"success","nameLocation":"12014:7:26","nodeType":"VariableDeclaration","scope":5209,"src":"12009:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5195,"name":"bool","nodeType":"ElementaryTypeName","src":"12009:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5203,"initialValue":{"arguments":[{"id":5201,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5192,"src":"12053:4:26","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":5197,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5188,"src":"12027:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12027:11:26","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":5200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5199,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5190,"src":"12046:5:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"12027:25:26","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":5202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12027:31:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12008:50:26"},{"expression":{"arguments":[{"id":5205,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5196,"src":"12076:7:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207472616e73616374696f6e207265766572746564","id":5206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12085:53:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf","typeString":"literal_string \"TimelockController: underlying transaction reverted\""},"value":"TimelockController: underlying transaction reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf","typeString":"literal_string \"TimelockController: underlying transaction reverted\""}],"id":5204,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12068:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12068:71:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5208,"nodeType":"ExpressionStatement","src":"12068:71:26"}]},"documentation":{"id":5186,"nodeType":"StructuredDocumentation","src":"11824:52:26","text":" @dev Execute an operation's call."},"id":5210,"implemented":true,"kind":"function","modifiers":[],"name":"_execute","nameLocation":"11890:8:26","nodeType":"FunctionDefinition","parameters":{"id":5193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5188,"mutability":"mutable","name":"target","nameLocation":"11916:6:26","nodeType":"VariableDeclaration","scope":5210,"src":"11908:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5187,"name":"address","nodeType":"ElementaryTypeName","src":"11908:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5190,"mutability":"mutable","name":"value","nameLocation":"11940:5:26","nodeType":"VariableDeclaration","scope":5210,"src":"11932:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5189,"name":"uint256","nodeType":"ElementaryTypeName","src":"11932:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5192,"mutability":"mutable","name":"data","nameLocation":"11970:4:26","nodeType":"VariableDeclaration","scope":5210,"src":"11955:19:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5191,"name":"bytes","nodeType":"ElementaryTypeName","src":"11955:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11898:82:26"},"returnParameters":{"id":5194,"nodeType":"ParameterList","parameters":[],"src":"11998:0:26"},"scope":5354,"src":"11881:265:26","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":5239,"nodeType":"Block","src":"12296:210:26","statements":[{"expression":{"arguments":[{"arguments":[{"id":5220,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5213,"src":"12331:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5219,"name":"isOperationReady","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"12314:16:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":5221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12314:20:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973206e6f74207265616479","id":5222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12336:44:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603","typeString":"literal_string \"TimelockController: operation is not ready\""},"value":"TimelockController: operation is not ready"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603","typeString":"literal_string \"TimelockController: operation is not ready\""}],"id":5218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12306:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12306:75:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5224,"nodeType":"ExpressionStatement","src":"12306:75:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5226,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5215,"src":"12399:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12422:1:26","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":5228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12414:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12414:7:26","typeDescriptions":{}}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12414:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12399:25:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":5233,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5215,"src":"12444:11:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5232,"name":"isOperationDone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"12428:15:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12428:28:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12399:57:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656e64656e6379","id":5236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12458:40:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111","typeString":"literal_string \"TimelockController: missing dependency\""},"value":"TimelockController: missing dependency"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111","typeString":"literal_string \"TimelockController: missing dependency\""}],"id":5225,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12391:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12391:108:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5238,"nodeType":"ExpressionStatement","src":"12391:108:26"}]},"documentation":{"id":5211,"nodeType":"StructuredDocumentation","src":"12152:72:26","text":" @dev Checks before execution of an operation's calls."},"id":5240,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeCall","nameLocation":"12238:11:26","nodeType":"FunctionDefinition","parameters":{"id":5216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5213,"mutability":"mutable","name":"id","nameLocation":"12258:2:26","nodeType":"VariableDeclaration","scope":5240,"src":"12250:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12250:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5215,"mutability":"mutable","name":"predecessor","nameLocation":"12270:11:26","nodeType":"VariableDeclaration","scope":5240,"src":"12262:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12262:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12249:33:26"},"returnParameters":{"id":5217,"nodeType":"ParameterList","parameters":[],"src":"12296:0:26"},"scope":5354,"src":"12229:277:26","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":5259,"nodeType":"Block","src":"12628:135:26","statements":[{"expression":{"arguments":[{"arguments":[{"id":5248,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5243,"src":"12663:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5247,"name":"isOperationReady","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"12646:16:26","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":5249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12646:20:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973206e6f74207265616479","id":5250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12668:44:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603","typeString":"literal_string \"TimelockController: operation is not ready\""},"value":"TimelockController: operation is not ready"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603","typeString":"literal_string \"TimelockController: operation is not ready\""}],"id":5246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12638:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12638:75:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5252,"nodeType":"ExpressionStatement","src":"12638:75:26"},{"expression":{"id":5257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5253,"name":"_timestamps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"12723:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":5255,"indexExpression":{"id":5254,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5243,"src":"12735:2:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12723:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5256,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"12741:15:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12723:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5258,"nodeType":"ExpressionStatement","src":"12723:33:26"}]},"documentation":{"id":5241,"nodeType":"StructuredDocumentation","src":"12512:71:26","text":" @dev Checks after execution of an operation's calls."},"id":5260,"implemented":true,"kind":"function","modifiers":[],"name":"_afterCall","nameLocation":"12597:10:26","nodeType":"FunctionDefinition","parameters":{"id":5244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5243,"mutability":"mutable","name":"id","nameLocation":"12616:2:26","nodeType":"VariableDeclaration","scope":5260,"src":"12608:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12608:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12607:12:26"},"returnParameters":{"id":5245,"nodeType":"ParameterList","parameters":[],"src":"12628:0:26"},"scope":5354,"src":"12588:175:26","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":5286,"nodeType":"Block","src":"13212:180:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5267,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13230:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13230:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":5271,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13252:4:26","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":5270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13244:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5269,"name":"address","nodeType":"ElementaryTypeName","src":"13244:7:26","typeDescriptions":{}}},"id":5272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13244:13:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13230:27:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742062652074696d656c6f636b","id":5274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13259:45:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df","typeString":"literal_string \"TimelockController: caller must be timelock\""},"value":"TimelockController: caller must be timelock"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df","typeString":"literal_string \"TimelockController: caller must be timelock\""}],"id":5266,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13222:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13222:83:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5276,"nodeType":"ExpressionStatement","src":"13222:83:26"},{"eventCall":{"arguments":[{"id":5278,"name":"_minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4485,"src":"13335:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5279,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5263,"src":"13346:8:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5277,"name":"MinDelayChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4527,"src":"13320:14:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":5280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13320:35:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5281,"nodeType":"EmitStatement","src":"13315:40:26"},{"expression":{"id":5284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5282,"name":"_minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4485,"src":"13365:9:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5283,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5263,"src":"13377:8:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13365:20:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5285,"nodeType":"ExpressionStatement","src":"13365:20:26"}]},"documentation":{"id":5261,"nodeType":"StructuredDocumentation","src":"12769:382:26","text":" @dev Changes the minimum timelock duration for future operations.\n Emits a {MinDelayChange} event.\n Requirements:\n - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n an operation where the timelock is the target and the data is the ABI-encoded call to this function."},"functionSelector":"64d62353","id":5287,"implemented":true,"kind":"function","modifiers":[],"name":"updateDelay","nameLocation":"13165:11:26","nodeType":"FunctionDefinition","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5263,"mutability":"mutable","name":"newDelay","nameLocation":"13185:8:26","nodeType":"VariableDeclaration","scope":5287,"src":"13177:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5262,"name":"uint256","nodeType":"ElementaryTypeName","src":"13177:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13176:18:26"},"returnParameters":{"id":5265,"nodeType":"ParameterList","parameters":[],"src":"13212:0:26"},"scope":5354,"src":"13156:236:26","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[17608],"body":{"id":5306,"nodeType":"Block","src":"13612:54:26","statements":[{"expression":{"expression":{"expression":{"id":5302,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13629:4:26","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":5303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":5307,"src":"13629:21:26","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":5304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"13629:30:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":5301,"id":5305,"nodeType":"Return","src":"13622:37:26"}]},"documentation":{"id":5288,"nodeType":"StructuredDocumentation","src":"13398:63:26","text":" @dev See {IERC721Receiver-onERC721Received}."},"functionSelector":"150b7a02","id":5307,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"13475:16:26","nodeType":"FunctionDefinition","overrides":{"id":5298,"nodeType":"OverrideSpecifier","overrides":[],"src":"13586:8:26"},"parameters":{"id":5297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5307,"src":"13501:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"13501:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5307,"src":"13518:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5291,"name":"address","nodeType":"ElementaryTypeName","src":"13518:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5307,"src":"13535:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5293,"name":"uint256","nodeType":"ElementaryTypeName","src":"13535:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5307,"src":"13552:12:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5295,"name":"bytes","nodeType":"ElementaryTypeName","src":"13552:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13491:79:26"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5307,"src":"13604:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5299,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13604:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13603:8:26"},"scope":5354,"src":"13466:200:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12126],"body":{"id":5328,"nodeType":"Block","src":"13906:55:26","statements":[{"expression":{"expression":{"expression":{"id":5324,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13923:4:26","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":5325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":5329,"src":"13923:22:26","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":5326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"13923:31:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":5323,"id":5327,"nodeType":"Return","src":"13916:38:26"}]},"documentation":{"id":5308,"nodeType":"StructuredDocumentation","src":"13672:65:26","text":" @dev See {IERC1155Receiver-onERC1155Received}."},"functionSelector":"f23a6e61","id":5329,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"13751:17:26","nodeType":"FunctionDefinition","overrides":{"id":5320,"nodeType":"OverrideSpecifier","overrides":[],"src":"13880:8:26"},"parameters":{"id":5319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13778:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5309,"name":"address","nodeType":"ElementaryTypeName","src":"13778:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13795:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5311,"name":"address","nodeType":"ElementaryTypeName","src":"13795:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13812:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5313,"name":"uint256","nodeType":"ElementaryTypeName","src":"13812:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13829:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5315,"name":"uint256","nodeType":"ElementaryTypeName","src":"13829:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13846:12:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5317,"name":"bytes","nodeType":"ElementaryTypeName","src":"13846:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13768:96:26"},"returnParameters":{"id":5323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5329,"src":"13898:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5321,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13898:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13897:8:26"},"scope":5354,"src":"13742:219:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12144],"body":{"id":5352,"nodeType":"Block","src":"14229:60:26","statements":[{"expression":{"expression":{"expression":{"id":5348,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14246:4:26","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":5349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":5353,"src":"14246:27:26","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":5350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"14246:36:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":5347,"id":5351,"nodeType":"Return","src":"14239:43:26"}]},"documentation":{"id":5330,"nodeType":"StructuredDocumentation","src":"13967:70:26","text":" @dev See {IERC1155Receiver-onERC1155BatchReceived}."},"functionSelector":"bc197c81","id":5353,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"14051:22:26","nodeType":"FunctionDefinition","overrides":{"id":5344,"nodeType":"OverrideSpecifier","overrides":[],"src":"14203:8:26"},"parameters":{"id":5343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14083:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5331,"name":"address","nodeType":"ElementaryTypeName","src":"14083:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14100:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5333,"name":"address","nodeType":"ElementaryTypeName","src":"14100:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14117:16:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5335,"name":"uint256","nodeType":"ElementaryTypeName","src":"14117:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5336,"nodeType":"ArrayTypeName","src":"14117:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14143:16:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5338,"name":"uint256","nodeType":"ElementaryTypeName","src":"14143:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5339,"nodeType":"ArrayTypeName","src":"14143:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5342,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14169:12:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5341,"name":"bytes","nodeType":"ElementaryTypeName","src":"14169:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14073:114:26"},"returnParameters":{"id":5347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"14221:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5345,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14221:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14220:8:26"},"scope":5354,"src":"14042:247:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":5355,"src":"1030:13261:26","usedErrors":[]}],"src":"117:14175:26"},"id":26},"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorCompatibilityBravo":[6128],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"IGovernorCompatibilityBravo":[6279],"IGovernorTimelock":[8095],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":6129,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5356,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"139:23:27"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../../utils/math/SafeCast.sol","id":5357,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6129,"sourceUnit":27204,"src":"164:39:27","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol","file":"../extensions/IGovernorTimelock.sol","id":5358,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6129,"sourceUnit":8096,"src":"204:45:27","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":5359,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6129,"sourceUnit":4144,"src":"250:25:27","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol","file":"./IGovernorCompatibilityBravo.sol","id":5360,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6129,"sourceUnit":6280,"src":"276:43:27","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":5362,"name":"IGovernorTimelock","nodeType":"IdentifierPath","referencedDeclaration":8095,"src":"856:17:27"},"id":5363,"nodeType":"InheritanceSpecifier","src":"856:17:27"},{"baseName":{"id":5364,"name":"IGovernorCompatibilityBravo","nodeType":"IdentifierPath","referencedDeclaration":6279,"src":"875:27:27"},"id":5365,"nodeType":"InheritanceSpecifier","src":"875:27:27"},{"baseName":{"id":5366,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"904:8:27"},"id":5367,"nodeType":"InheritanceSpecifier","src":"904:8:27"}],"canonicalName":"GovernorCompatibilityBravo","contractDependencies":[],"contractKind":"contract","documentation":{"id":5361,"nodeType":"StructuredDocumentation","src":"321:486:27","text":" @dev Compatibility layer that implements GovernorBravo compatibility on to of {Governor}.\n This compatibility layer includes a voting system and requires a {IGovernorTimelock} compatible module to be added\n through inheritance. It does not include token bindings, not does it include any variable upgrade patterns.\n NOTE: When using this module, you may need to enable the Solidity optimizer to avoid hitting the contract size limit.\n _Available since v4.3._"},"fullyImplemented":false,"id":6128,"linearizedBaseContracts":[6128,4143,12145,17609,6279,8095,4440,23455,24377,24693,22281],"name":"GovernorCompatibilityBravo","nameLocation":"826:26:27","nodeType":"ContractDefinition","nodes":[{"canonicalName":"GovernorCompatibilityBravo.VoteType","id":5371,"members":[{"id":5368,"name":"Against","nameLocation":"943:7:27","nodeType":"EnumValue","src":"943:7:27"},{"id":5369,"name":"For","nameLocation":"960:3:27","nodeType":"EnumValue","src":"960:3:27"},{"id":5370,"name":"Abstain","nameLocation":"973:7:27","nodeType":"EnumValue","src":"973:7:27"}],"name":"VoteType","nameLocation":"924:8:27","nodeType":"EnumDefinition","src":"919:67:27"},{"canonicalName":"GovernorCompatibilityBravo.ProposalDetails","id":5399,"members":[{"constant":false,"id":5373,"mutability":"mutable","name":"proposer","nameLocation":"1033:8:27","nodeType":"VariableDeclaration","scope":5399,"src":"1025:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5372,"name":"address","nodeType":"ElementaryTypeName","src":"1025:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5376,"mutability":"mutable","name":"targets","nameLocation":"1061:7:27","nodeType":"VariableDeclaration","scope":5399,"src":"1051:17:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5374,"name":"address","nodeType":"ElementaryTypeName","src":"1051:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5375,"nodeType":"ArrayTypeName","src":"1051:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5379,"mutability":"mutable","name":"values","nameLocation":"1088:6:27","nodeType":"VariableDeclaration","scope":5399,"src":"1078:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1078:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5378,"nodeType":"ArrayTypeName","src":"1078:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5382,"mutability":"mutable","name":"signatures","nameLocation":"1113:10:27","nodeType":"VariableDeclaration","scope":5399,"src":"1104:19:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5380,"name":"string","nodeType":"ElementaryTypeName","src":"1104:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5381,"nodeType":"ArrayTypeName","src":"1104:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":5385,"mutability":"mutable","name":"calldatas","nameLocation":"1141:9:27","nodeType":"VariableDeclaration","scope":5399,"src":"1133:17:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5383,"name":"bytes","nodeType":"ElementaryTypeName","src":"1133:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5384,"nodeType":"ArrayTypeName","src":"1133:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":5387,"mutability":"mutable","name":"forVotes","nameLocation":"1168:8:27","nodeType":"VariableDeclaration","scope":5399,"src":"1160:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5386,"name":"uint256","nodeType":"ElementaryTypeName","src":"1160:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5389,"mutability":"mutable","name":"againstVotes","nameLocation":"1194:12:27","nodeType":"VariableDeclaration","scope":5399,"src":"1186:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5388,"name":"uint256","nodeType":"ElementaryTypeName","src":"1186:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5391,"mutability":"mutable","name":"abstainVotes","nameLocation":"1224:12:27","nodeType":"VariableDeclaration","scope":5399,"src":"1216:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5390,"name":"uint256","nodeType":"ElementaryTypeName","src":"1216:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5396,"mutability":"mutable","name":"receipts","nameLocation":"1274:8:27","nodeType":"VariableDeclaration","scope":5399,"src":"1246:36:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt)"},"typeName":{"id":5395,"keyType":{"id":5392,"name":"address","nodeType":"ElementaryTypeName","src":"1254:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1246:27:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt)"},"valueType":{"id":5394,"nodeType":"UserDefinedTypeName","pathNode":{"id":5393,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":6179,"src":"1265:7:27"},"referencedDeclaration":6179,"src":"1265:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"}}},"visibility":"internal"},{"constant":false,"id":5398,"mutability":"mutable","name":"descriptionHash","nameLocation":"1300:15:27","nodeType":"VariableDeclaration","scope":5399,"src":"1292:23:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1292:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"ProposalDetails","nameLocation":"999:15:27","nodeType":"StructDefinition","scope":6128,"src":"992:330:27","visibility":"public"},{"constant":false,"id":5404,"mutability":"mutable","name":"_proposalDetails","nameLocation":"1372:16:27","nodeType":"VariableDeclaration","scope":6128,"src":"1328:60:27","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails)"},"typeName":{"id":5403,"keyType":{"id":5400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1336:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1328:35:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails)"},"valueType":{"id":5402,"nodeType":"UserDefinedTypeName","pathNode":{"id":5401,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"1347:15:27"},"referencedDeclaration":5399,"src":"1347:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}}},"visibility":"private"},{"baseFunctions":[4239],"body":{"id":5412,"nodeType":"Block","src":"1526:52:27","statements":[{"expression":{"hexValue":"737570706f72743d627261766f2671756f72756d3d627261766f","id":5410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1543:28:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbef0887bd29513ad239e4ac6a3fe6279576079d11d08d69476420e9644ba066","typeString":"literal_string \"support=bravo&quorum=bravo\""},"value":"support=bravo&quorum=bravo"},"functionReturnParameters":5409,"id":5411,"nodeType":"Return","src":"1536:35:27"}]},"functionSelector":"dd4e2ba5","id":5413,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"1457:13:27","nodeType":"FunctionDefinition","overrides":{"id":5406,"nodeType":"OverrideSpecifier","overrides":[],"src":"1493:8:27"},"parameters":{"id":5405,"nodeType":"ParameterList","parameters":[],"src":"1470:2:27"},"returnParameters":{"id":5409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5408,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5413,"src":"1511:13:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5407,"name":"string","nodeType":"ElementaryTypeName","src":"1511:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1510:15:27"},"scope":6128,"src":"1448:130:27","stateMutability":"pure","virtual":true,"visibility":"public"},{"baseFunctions":[3401,4350],"body":{"id":5456,"nodeType":"Block","src":"1979:189:27","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5434,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2004:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2004:12:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5436,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5417,"src":"2018:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":5437,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5420,"src":"2027:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"expression":{"id":5441,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5423,"src":"2048:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":5442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2048:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2035:12:27","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":5438,"name":"string","nodeType":"ElementaryTypeName","src":"2039:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5439,"nodeType":"ArrayTypeName","src":"2039:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":5443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2035:30:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":5444,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5423,"src":"2067:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":5445,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5425,"src":"2078:11:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5433,"name":"_storeProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"1989:14:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,string memory)"}},"id":5446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1989:101:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5447,"nodeType":"ExpressionStatement","src":"1989:101:27"},{"expression":{"arguments":[{"id":5450,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5417,"src":"2121:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":5451,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5420,"src":"2130:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":5452,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5423,"src":"2138:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":5453,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5425,"src":"2149:11:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5448,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2107:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorCompatibilityBravo_$6128_$","typeString":"type(contract super GovernorCompatibilityBravo)"}},"id":5449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"propose","nodeType":"MemberAccess","referencedDeclaration":3401,"src":"2107:13:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory) returns (uint256)"}},"id":5454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2107:54:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5432,"id":5455,"nodeType":"Return","src":"2100:61:27"}]},"documentation":{"id":5414,"nodeType":"StructuredDocumentation","src":"1704:48:27","text":" @dev See {IGovernor-propose}."},"functionSelector":"7d5e81e2","id":5457,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"1766:7:27","nodeType":"FunctionDefinition","overrides":{"id":5429,"nodeType":"OverrideSpecifier","overrides":[{"id":5427,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"1940:9:27"},{"id":5428,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"1951:8:27"}],"src":"1931:29:27"},"parameters":{"id":5426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5417,"mutability":"mutable","name":"targets","nameLocation":"1800:7:27","nodeType":"VariableDeclaration","scope":5457,"src":"1783:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5415,"name":"address","nodeType":"ElementaryTypeName","src":"1783:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5416,"nodeType":"ArrayTypeName","src":"1783:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5420,"mutability":"mutable","name":"values","nameLocation":"1834:6:27","nodeType":"VariableDeclaration","scope":5457,"src":"1817:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5418,"name":"uint256","nodeType":"ElementaryTypeName","src":"1817:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5419,"nodeType":"ArrayTypeName","src":"1817:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5423,"mutability":"mutable","name":"calldatas","nameLocation":"1865:9:27","nodeType":"VariableDeclaration","scope":5457,"src":"1850:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5421,"name":"bytes","nodeType":"ElementaryTypeName","src":"1850:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5422,"nodeType":"ArrayTypeName","src":"1850:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":5425,"mutability":"mutable","name":"description","nameLocation":"1898:11:27","nodeType":"VariableDeclaration","scope":5457,"src":"1884:25:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5424,"name":"string","nodeType":"ElementaryTypeName","src":"1884:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1773:142:27"},"returnParameters":{"id":5432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5457,"src":"1970:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5430,"name":"uint256","nodeType":"ElementaryTypeName","src":"1970:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1969:9:27"},"scope":6128,"src":"1757:411:27","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[6231],"body":{"id":5498,"nodeType":"Block","src":"2482:192:27","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5479,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2507:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2507:12:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5481,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5461,"src":"2521:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":5482,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5464,"src":"2530:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":5483,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5467,"src":"2538:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":5484,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5470,"src":"2550:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":5485,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5472,"src":"2561:11:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5478,"name":"_storeProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"2492:14:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,string memory)"}},"id":5486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2492:81:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5487,"nodeType":"ExpressionStatement","src":"2492:81:27"},{"expression":{"arguments":[{"id":5489,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5461,"src":"2598:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":5490,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5464,"src":"2607:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"id":5492,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5467,"src":"2631:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":5493,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5470,"src":"2643:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"id":5491,"name":"_encodeCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5685,"src":"2615:15:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,bytes memory[] memory) pure returns (bytes memory[] memory)"}},"id":5494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2615:38:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":5495,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5472,"src":"2655:11:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5488,"name":"propose","nodeType":"Identifier","overloadedDeclarations":[5457,5499],"referencedDeclaration":5457,"src":"2590:7:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory) returns (uint256)"}},"id":5496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2590:77:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5477,"id":5497,"nodeType":"Return","src":"2583:84:27"}]},"documentation":{"id":5458,"nodeType":"StructuredDocumentation","src":"2174:66:27","text":" @dev See {IGovernorCompatibilityBravo-propose}."},"functionSelector":"da95691a","id":5499,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"2254:7:27","nodeType":"FunctionDefinition","overrides":{"id":5474,"nodeType":"OverrideSpecifier","overrides":[],"src":"2455:8:27"},"parameters":{"id":5473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5461,"mutability":"mutable","name":"targets","nameLocation":"2288:7:27","nodeType":"VariableDeclaration","scope":5499,"src":"2271:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5459,"name":"address","nodeType":"ElementaryTypeName","src":"2271:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5460,"nodeType":"ArrayTypeName","src":"2271:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5464,"mutability":"mutable","name":"values","nameLocation":"2322:6:27","nodeType":"VariableDeclaration","scope":5499,"src":"2305:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5462,"name":"uint256","nodeType":"ElementaryTypeName","src":"2305:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5463,"nodeType":"ArrayTypeName","src":"2305:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5467,"mutability":"mutable","name":"signatures","nameLocation":"2354:10:27","nodeType":"VariableDeclaration","scope":5499,"src":"2338:26:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5465,"name":"string","nodeType":"ElementaryTypeName","src":"2338:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5466,"nodeType":"ArrayTypeName","src":"2338:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":5470,"mutability":"mutable","name":"calldatas","nameLocation":"2389:9:27","nodeType":"VariableDeclaration","scope":5499,"src":"2374:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5468,"name":"bytes","nodeType":"ElementaryTypeName","src":"2374:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5469,"nodeType":"ArrayTypeName","src":"2374:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":5472,"mutability":"mutable","name":"description","nameLocation":"2422:11:27","nodeType":"VariableDeclaration","scope":5499,"src":"2408:25:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5471,"name":"string","nodeType":"ElementaryTypeName","src":"2408:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2261:178:27"},"returnParameters":{"id":5477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5499,"src":"2473:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5475,"name":"uint256","nodeType":"ElementaryTypeName","src":"2473:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2472:9:27"},"scope":6128,"src":"2245:429:27","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[6237],"body":{"id":5528,"nodeType":"Block","src":"2808:266:27","statements":[{"assignments":[5508],"declarations":[{"constant":false,"id":5508,"mutability":"mutable","name":"details","nameLocation":"2842:7:27","nodeType":"VariableDeclaration","scope":5528,"src":"2818:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5507,"nodeType":"UserDefinedTypeName","pathNode":{"id":5506,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"2818:15:27"},"referencedDeclaration":5399,"src":"2818:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5512,"initialValue":{"baseExpression":{"id":5509,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"2852:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5511,"indexExpression":{"id":5510,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5502,"src":"2869:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2852:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2818:62:27"},{"expression":{"arguments":[{"expression":{"id":5514,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"2909:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"targets","nodeType":"MemberAccess","referencedDeclaration":5376,"src":"2909:15:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},{"expression":{"id":5516,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"2938:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":5379,"src":"2938:14:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},{"arguments":[{"expression":{"id":5519,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"2982:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"signatures","nodeType":"MemberAccess","referencedDeclaration":5382,"src":"2982:18:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"expression":{"id":5521,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"3002:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"calldatas","nodeType":"MemberAccess","referencedDeclaration":5385,"src":"3002:17:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}],"id":5518,"name":"_encodeCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5685,"src":"2966:15:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,bytes memory[] memory) pure returns (bytes memory[] memory)"}},"id":5523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2966:54:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"expression":{"id":5524,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"3034:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"descriptionHash","nodeType":"MemberAccess","referencedDeclaration":5398,"src":"3034:23:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"},{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5513,"name":"queue","nodeType":"Identifier","overloadedDeclarations":[5529,8094],"referencedDeclaration":8094,"src":"2890:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":5526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2890:177:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5527,"nodeType":"ExpressionStatement","src":"2890:177:27"}]},"documentation":{"id":5500,"nodeType":"StructuredDocumentation","src":"2680:64:27","text":" @dev See {IGovernorCompatibilityBravo-queue}."},"functionSelector":"ddf0b009","id":5529,"implemented":true,"kind":"function","modifiers":[],"name":"queue","nameLocation":"2758:5:27","nodeType":"FunctionDefinition","overrides":{"id":5504,"nodeType":"OverrideSpecifier","overrides":[],"src":"2799:8:27"},"parameters":{"id":5503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5502,"mutability":"mutable","name":"proposalId","nameLocation":"2772:10:27","nodeType":"VariableDeclaration","scope":5529,"src":"2764:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5501,"name":"uint256","nodeType":"ElementaryTypeName","src":"2764:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2763:20:27"},"returnParameters":{"id":5505,"nodeType":"ParameterList","parameters":[],"src":"2808:0:27"},"scope":6128,"src":"2749:325:27","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[6243],"body":{"id":5558,"nodeType":"Block","src":"3220:268:27","statements":[{"assignments":[5538],"declarations":[{"constant":false,"id":5538,"mutability":"mutable","name":"details","nameLocation":"3254:7:27","nodeType":"VariableDeclaration","scope":5558,"src":"3230:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5537,"nodeType":"UserDefinedTypeName","pathNode":{"id":5536,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"3230:15:27"},"referencedDeclaration":5399,"src":"3230:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5542,"initialValue":{"baseExpression":{"id":5539,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"3264:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5541,"indexExpression":{"id":5540,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5532,"src":"3281:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3264:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3230:62:27"},{"expression":{"arguments":[{"expression":{"id":5544,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5538,"src":"3323:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"targets","nodeType":"MemberAccess","referencedDeclaration":5376,"src":"3323:15:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},{"expression":{"id":5546,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5538,"src":"3352:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":5379,"src":"3352:14:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},{"arguments":[{"expression":{"id":5549,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5538,"src":"3396:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"signatures","nodeType":"MemberAccess","referencedDeclaration":5382,"src":"3396:18:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"expression":{"id":5551,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5538,"src":"3416:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"calldatas","nodeType":"MemberAccess","referencedDeclaration":5385,"src":"3416:17:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}],"id":5548,"name":"_encodeCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5685,"src":"3380:15:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,bytes memory[] memory) pure returns (bytes memory[] memory)"}},"id":5553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3380:54:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"expression":{"id":5554,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5538,"src":"3448:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"descriptionHash","nodeType":"MemberAccess","referencedDeclaration":5398,"src":"3448:23:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"},{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5543,"name":"execute","nodeType":"Identifier","overloadedDeclarations":[5559,3486],"referencedDeclaration":3486,"src":"3302:7:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":5556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3302:179:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5557,"nodeType":"ExpressionStatement","src":"3302:179:27"}]},"documentation":{"id":5530,"nodeType":"StructuredDocumentation","src":"3080:66:27","text":" @dev See {IGovernorCompatibilityBravo-execute}."},"functionSelector":"fe0d94c1","id":5559,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"3160:7:27","nodeType":"FunctionDefinition","overrides":{"id":5534,"nodeType":"OverrideSpecifier","overrides":[],"src":"3211:8:27"},"parameters":{"id":5533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5532,"mutability":"mutable","name":"proposalId","nameLocation":"3176:10:27","nodeType":"VariableDeclaration","scope":5559,"src":"3168:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5531,"name":"uint256","nodeType":"ElementaryTypeName","src":"3168:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3167:20:27"},"returnParameters":{"id":5535,"nodeType":"ParameterList","parameters":[],"src":"3220:0:27"},"scope":6128,"src":"3151:337:27","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[6249],"body":{"id":5608,"nodeType":"Block","src":"3554:468:27","statements":[{"assignments":[5567],"declarations":[{"constant":false,"id":5567,"mutability":"mutable","name":"details","nameLocation":"3588:7:27","nodeType":"VariableDeclaration","scope":5608,"src":"3564:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5566,"nodeType":"UserDefinedTypeName","pathNode":{"id":5565,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"3564:15:27"},"referencedDeclaration":5399,"src":"3564:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5571,"initialValue":{"baseExpression":{"id":5568,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"3598:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5570,"indexExpression":{"id":5569,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5561,"src":"3615:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3598:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3564:62:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5573,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3658:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:12:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5575,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3674:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":5373,"src":"3674:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3658:32:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":5579,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3703:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":5373,"src":"3703:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5581,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3721:5:27","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3721:12:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":5583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3736:1:27","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3721:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5578,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[3728],"referencedDeclaration":3728,"src":"3694:8:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":5585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3694:44:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5586,"name":"proposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3204,"src":"3741:17:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":5587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3741:19:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3694:66:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3658:102:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72427261766f3a2070726f706f7365722061626f7665207468726573686f6c64","id":5590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3774:41:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_cda175319956587946ac6930eb2a57cea6a915465fad64b45516221f3e876219","typeString":"literal_string \"GovernorBravo: proposer above threshold\""},"value":"GovernorBravo: proposer above threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cda175319956587946ac6930eb2a57cea6a915465fad64b45516221f3e876219","typeString":"literal_string \"GovernorBravo: proposer above threshold\""}],"id":5572,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3637:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3637:188:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5592,"nodeType":"ExpressionStatement","src":"3637:188:27"},{"expression":{"arguments":[{"expression":{"id":5594,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3857:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"targets","nodeType":"MemberAccess","referencedDeclaration":5376,"src":"3857:15:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},{"expression":{"id":5596,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3886:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":5379,"src":"3886:14:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},{"arguments":[{"expression":{"id":5599,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3930:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"signatures","nodeType":"MemberAccess","referencedDeclaration":5382,"src":"3930:18:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"expression":{"id":5601,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3950:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"calldatas","nodeType":"MemberAccess","referencedDeclaration":5385,"src":"3950:17:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}],"id":5598,"name":"_encodeCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5685,"src":"3914:15:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,bytes memory[] memory) pure returns (bytes memory[] memory)"}},"id":5603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3914:54:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"expression":{"id":5604,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5567,"src":"3982:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"descriptionHash","nodeType":"MemberAccess","referencedDeclaration":5398,"src":"3982:23:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"},{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5593,"name":"_cancel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3709,"src":"3836:7:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":5606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3836:179:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5607,"nodeType":"ExpressionStatement","src":"3836:179:27"}]},"functionSelector":"40e58ee5","id":5609,"implemented":true,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"3503:6:27","nodeType":"FunctionDefinition","overrides":{"id":5563,"nodeType":"OverrideSpecifier","overrides":[],"src":"3545:8:27"},"parameters":{"id":5562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5561,"mutability":"mutable","name":"proposalId","nameLocation":"3518:10:27","nodeType":"VariableDeclaration","scope":5609,"src":"3510:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5560,"name":"uint256","nodeType":"ElementaryTypeName","src":"3510:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3509:20:27"},"returnParameters":{"id":5564,"nodeType":"ParameterList","parameters":[],"src":"3554:0:27"},"scope":6128,"src":"3494:528:27","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":5684,"nodeType":"Block","src":"4253:363:27","statements":[{"assignments":[5626],"declarations":[{"constant":false,"id":5626,"mutability":"mutable","name":"fullcalldatas","nameLocation":"4278:13:27","nodeType":"VariableDeclaration","scope":5684,"src":"4263:28:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5624,"name":"bytes","nodeType":"ElementaryTypeName","src":"4263:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5625,"nodeType":"ArrayTypeName","src":"4263:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":5633,"initialValue":{"arguments":[{"expression":{"id":5630,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5616,"src":"4306:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":5631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4306:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4294:11:27","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":5627,"name":"bytes","nodeType":"ElementaryTypeName","src":"4298:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5628,"nodeType":"ArrayTypeName","src":"4298:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":5632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4294:29:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4263:60:27"},{"body":{"id":5680,"nodeType":"Block","src":"4382:197:27","statements":[{"expression":{"id":5678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5645,"name":"fullcalldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"4396:13:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":5647,"indexExpression":{"id":5646,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4410:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4396:16:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"baseExpression":{"id":5650,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5613,"src":"4421:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5652,"indexExpression":{"id":5651,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4432:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4421:13:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4415:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5648,"name":"bytes","nodeType":"ElementaryTypeName","src":"4415:5:27","typeDescriptions":{}}},"id":5653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4415:20:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4415:27:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4446:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4415:32:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":5667,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5613,"src":"4537:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5669,"indexExpression":{"id":5668,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4548:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4537:13:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4531:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5665,"name":"bytes","nodeType":"ElementaryTypeName","src":"4531:5:27","typeDescriptions":{}}},"id":5670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:20:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5664,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4521:9:27","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4521:31:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4514:6:27","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":5662,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4514:6:27","typeDescriptions":{}}},"id":5672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4514:39:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"baseExpression":{"id":5673,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5616,"src":"4555:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":5675,"indexExpression":{"id":5674,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4565:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4555:12:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4497:3:27","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4497:16:27","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4497:71:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4415:153:27","trueExpression":{"baseExpression":{"id":5657,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5616,"src":"4466:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":5659,"indexExpression":{"id":5658,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4476:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4466:12:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4396:172:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5679,"nodeType":"ExpressionStatement","src":"4396:172:27"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5638,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4354:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5639,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5613,"src":"4358:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4358:17:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4354:21:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5681,"initializationExpression":{"assignments":[5635],"declarations":[{"constant":false,"id":5635,"mutability":"mutable","name":"i","nameLocation":"4347:1:27","nodeType":"VariableDeclaration","scope":5681,"src":"4339:9:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5634,"name":"uint256","nodeType":"ElementaryTypeName","src":"4339:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5637,"initialValue":{"hexValue":"30","id":5636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4351:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4339:13:27"},"loopExpression":{"expression":{"id":5643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"4377:3:27","subExpression":{"id":5642,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5635,"src":"4379:1:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5644,"nodeType":"ExpressionStatement","src":"4377:3:27"},"nodeType":"ForStatement","src":"4334:245:27"},{"expression":{"id":5682,"name":"fullcalldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"4596:13:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":5621,"id":5683,"nodeType":"Return","src":"4589:20:27"}]},"documentation":{"id":5610,"nodeType":"StructuredDocumentation","src":"4028:75:27","text":" @dev Encodes calldatas with optional function signature."},"id":5685,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeCalldata","nameLocation":"4117:15:27","nodeType":"FunctionDefinition","parameters":{"id":5617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5613,"mutability":"mutable","name":"signatures","nameLocation":"4149:10:27","nodeType":"VariableDeclaration","scope":5685,"src":"4133:26:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5611,"name":"string","nodeType":"ElementaryTypeName","src":"4133:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5612,"nodeType":"ArrayTypeName","src":"4133:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":5616,"mutability":"mutable","name":"calldatas","nameLocation":"4176:9:27","nodeType":"VariableDeclaration","scope":5685,"src":"4161:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5614,"name":"bytes","nodeType":"ElementaryTypeName","src":"4161:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5615,"nodeType":"ArrayTypeName","src":"4161:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4132:54:27"},"returnParameters":{"id":5621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5685,"src":"4233:14:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5618,"name":"bytes","nodeType":"ElementaryTypeName","src":"4233:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5619,"nodeType":"ArrayTypeName","src":"4233:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4232:16:27"},"scope":6128,"src":"4108:508:27","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":5778,"nodeType":"Block","src":"4927:585:27","statements":[{"assignments":[5706],"declarations":[{"constant":false,"id":5706,"mutability":"mutable","name":"descriptionHash","nameLocation":"4945:15:27","nodeType":"VariableDeclaration","scope":5778,"src":"4937:23:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4937:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5713,"initialValue":{"arguments":[{"arguments":[{"id":5710,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5702,"src":"4979:11:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4973:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5708,"name":"bytes","nodeType":"ElementaryTypeName","src":"4973:5:27","typeDescriptions":{}}},"id":5711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4973:18:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5707,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4963:9:27","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4963:29:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4937:55:27"},{"assignments":[5715],"declarations":[{"constant":false,"id":5715,"mutability":"mutable","name":"proposalId","nameLocation":"5010:10:27","nodeType":"VariableDeclaration","scope":5778,"src":"5002:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5714,"name":"uint256","nodeType":"ElementaryTypeName","src":"5002:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5725,"initialValue":{"arguments":[{"id":5717,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5691,"src":"5036:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":5718,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"5045:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"id":5720,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"5069:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":5721,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"5081:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"id":5719,"name":"_encodeCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5685,"src":"5053:15:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,bytes memory[] memory) pure returns (bytes memory[] memory)"}},"id":5722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5053:38:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":5723,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5706,"src":"5093:15:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5716,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"5023:12:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":5724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5023:86:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5002:107:27"},{"assignments":[5728],"declarations":[{"constant":false,"id":5728,"mutability":"mutable","name":"details","nameLocation":"5144:7:27","nodeType":"VariableDeclaration","scope":5778,"src":"5120:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5727,"nodeType":"UserDefinedTypeName","pathNode":{"id":5726,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"5120:15:27"},"referencedDeclaration":5399,"src":"5120:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5732,"initialValue":{"baseExpression":{"id":5729,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"5154:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5731,"indexExpression":{"id":5730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"5171:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5154:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5120:62:27"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5733,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5196:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"descriptionHash","nodeType":"MemberAccess","referencedDeclaration":5398,"src":"5196:23:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5231:1:27","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":5736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5223:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5223:7:27","typeDescriptions":{}}},"id":5738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5223:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5196:37:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5777,"nodeType":"IfStatement","src":"5192:314:27","trueBody":{"id":5776,"nodeType":"Block","src":"5235:271:27","statements":[{"expression":{"id":5744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5740,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5249:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":5373,"src":"5249:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5743,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5688,"src":"5268:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5249:27:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5745,"nodeType":"ExpressionStatement","src":"5249:27:27"},{"expression":{"id":5750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5746,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5290:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"targets","nodeType":"MemberAccess","referencedDeclaration":5376,"src":"5290:15:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5749,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5691,"src":"5308:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"5290:25:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":5751,"nodeType":"ExpressionStatement","src":"5290:25:27"},{"expression":{"id":5756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5752,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5329:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":5379,"src":"5329:14:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5755,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"5346:6:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"5329:23:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":5757,"nodeType":"ExpressionStatement","src":"5329:23:27"},{"expression":{"id":5762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5758,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5366:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"signatures","nodeType":"MemberAccess","referencedDeclaration":5382,"src":"5366:18:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5761,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"5387:10:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"5366:31:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":5763,"nodeType":"ExpressionStatement","src":"5366:31:27"},{"expression":{"id":5768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5764,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5411:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"calldatas","nodeType":"MemberAccess","referencedDeclaration":5385,"src":"5411:17:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5767,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"5431:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"5411:29:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":5769,"nodeType":"ExpressionStatement","src":"5411:29:27"},{"expression":{"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5770,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"5454:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"descriptionHash","nodeType":"MemberAccess","referencedDeclaration":5398,"src":"5454:23:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5773,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5706,"src":"5480:15:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5454:41:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5775,"nodeType":"ExpressionStatement","src":"5454:41:27"}]}}]},"documentation":{"id":5686,"nodeType":"StructuredDocumentation","src":"4622:64:27","text":" @dev Store proposal metadata for later lookup"},"id":5779,"implemented":true,"kind":"function","modifiers":[],"name":"_storeProposal","nameLocation":"4700:14:27","nodeType":"FunctionDefinition","parameters":{"id":5703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5688,"mutability":"mutable","name":"proposer","nameLocation":"4732:8:27","nodeType":"VariableDeclaration","scope":5779,"src":"4724:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5687,"name":"address","nodeType":"ElementaryTypeName","src":"4724:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5691,"mutability":"mutable","name":"targets","nameLocation":"4767:7:27","nodeType":"VariableDeclaration","scope":5779,"src":"4750:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5689,"name":"address","nodeType":"ElementaryTypeName","src":"4750:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5690,"nodeType":"ArrayTypeName","src":"4750:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5694,"mutability":"mutable","name":"values","nameLocation":"4801:6:27","nodeType":"VariableDeclaration","scope":5779,"src":"4784:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5692,"name":"uint256","nodeType":"ElementaryTypeName","src":"4784:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5693,"nodeType":"ArrayTypeName","src":"4784:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5697,"mutability":"mutable","name":"signatures","nameLocation":"4833:10:27","nodeType":"VariableDeclaration","scope":5779,"src":"4817:26:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5695,"name":"string","nodeType":"ElementaryTypeName","src":"4817:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5696,"nodeType":"ArrayTypeName","src":"4817:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":5700,"mutability":"mutable","name":"calldatas","nameLocation":"4868:9:27","nodeType":"VariableDeclaration","scope":5779,"src":"4853:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5698,"name":"bytes","nodeType":"ElementaryTypeName","src":"4853:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5699,"nodeType":"ArrayTypeName","src":"4853:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":5702,"mutability":"mutable","name":"description","nameLocation":"4901:11:27","nodeType":"VariableDeclaration","scope":5779,"src":"4887:25:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5701,"name":"string","nodeType":"ElementaryTypeName","src":"4887:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4714:204:27"},"returnParameters":{"id":5704,"nodeType":"ParameterList","parameters":[],"src":"4927:0:27"},"scope":6128,"src":"4691:821:27","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"baseFunctions":[6211],"body":{"id":5876,"nodeType":"Block","src":"6135:565:27","statements":[{"expression":{"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5806,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5786,"src":"6145:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5807,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6150:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6145:15:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5809,"nodeType":"ExpressionStatement","src":"6145:15:27"},{"expression":{"id":5814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5810,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5790,"src":"6170:3:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5812,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6188:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5811,"name":"proposalEta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"6176:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6176:23:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6170:29:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5815,"nodeType":"ExpressionStatement","src":"6170:29:27"},{"expression":{"id":5820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5816,"name":"startBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5792,"src":"6209:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5818,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6239:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5817,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[3178],"referencedDeclaration":3178,"src":"6222:16:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6222:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6209:41:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5821,"nodeType":"ExpressionStatement","src":"6209:41:27"},{"expression":{"id":5826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5822,"name":"endBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5794,"src":"6260:8:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5824,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6288:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5823,"name":"proposalDeadline","nodeType":"Identifier","overloadedDeclarations":[3195],"referencedDeclaration":3195,"src":"6271:16:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6271:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6260:39:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5827,"nodeType":"ExpressionStatement","src":"6260:39:27"},{"assignments":[5830],"declarations":[{"constant":false,"id":5830,"mutability":"mutable","name":"details","nameLocation":"6334:7:27","nodeType":"VariableDeclaration","scope":5876,"src":"6310:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5829,"nodeType":"UserDefinedTypeName","pathNode":{"id":5828,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"6310:15:27"},"referencedDeclaration":5399,"src":"6310:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5834,"initialValue":{"baseExpression":{"id":5831,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"6344:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5833,"indexExpression":{"id":5832,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6361:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6344:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6310:62:27"},{"expression":{"id":5838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5835,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5788,"src":"6382:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5836,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5830,"src":"6393:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":5373,"src":"6393:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6382:27:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5839,"nodeType":"ExpressionStatement","src":"6382:27:27"},{"expression":{"id":5843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5840,"name":"forVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5796,"src":"6419:8:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5841,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5830,"src":"6430:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":5387,"src":"6430:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6419:27:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5844,"nodeType":"ExpressionStatement","src":"6419:27:27"},{"expression":{"id":5848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5845,"name":"againstVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5798,"src":"6456:12:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5846,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5830,"src":"6471:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5847,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":5389,"src":"6471:20:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6456:35:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5849,"nodeType":"ExpressionStatement","src":"6456:35:27"},{"expression":{"id":5853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5850,"name":"abstainVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5800,"src":"6501:12:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5851,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5830,"src":"6516:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":5391,"src":"6516:20:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6501:35:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5854,"nodeType":"ExpressionStatement","src":"6501:35:27"},{"assignments":[5857],"declarations":[{"constant":false,"id":5857,"mutability":"mutable","name":"status","nameLocation":"6561:6:27","nodeType":"VariableDeclaration","scope":5876,"src":"6547:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":5856,"nodeType":"UserDefinedTypeName","pathNode":{"id":5855,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"6547:13:27"},"referencedDeclaration":4158,"src":"6547:13:27","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"id":5861,"initialValue":{"arguments":[{"id":5859,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"6576:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5858,"name":"state","nodeType":"Identifier","overloadedDeclarations":[3161],"referencedDeclaration":3161,"src":"6570:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":5860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6570:17:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"6547:40:27"},{"expression":{"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5862,"name":"canceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5802,"src":"6597:8:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":5866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5863,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5857,"src":"6608:6:27","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5864,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6618:13:27","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":5865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"6618:22:27","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"6608:32:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6597:43:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5868,"nodeType":"ExpressionStatement","src":"6597:43:27"},{"expression":{"id":5874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5869,"name":"executed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5804,"src":"6650:8:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":5873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5870,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5857,"src":"6661:6:27","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5871,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"6671:13:27","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":5872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":4157,"src":"6671:22:27","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"6661:32:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6650:43:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5875,"nodeType":"ExpressionStatement","src":"6650:43:27"}]},"documentation":{"id":5780,"nodeType":"StructuredDocumentation","src":"5638:68:27","text":" @dev See {IGovernorCompatibilityBravo-proposals}."},"functionSelector":"013cf08b","id":5877,"implemented":true,"kind":"function","modifiers":[],"name":"proposals","nameLocation":"5720:9:27","nodeType":"FunctionDefinition","overrides":{"id":5784,"nodeType":"OverrideSpecifier","overrides":[],"src":"5802:8:27"},"parameters":{"id":5783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5782,"mutability":"mutable","name":"proposalId","nameLocation":"5738:10:27","nodeType":"VariableDeclaration","scope":5877,"src":"5730:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5781,"name":"uint256","nodeType":"ElementaryTypeName","src":"5730:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5729:20:27"},"returnParameters":{"id":5805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5786,"mutability":"mutable","name":"id","nameLocation":"5849:2:27","nodeType":"VariableDeclaration","scope":5877,"src":"5841:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5785,"name":"uint256","nodeType":"ElementaryTypeName","src":"5841:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5788,"mutability":"mutable","name":"proposer","nameLocation":"5873:8:27","nodeType":"VariableDeclaration","scope":5877,"src":"5865:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5787,"name":"address","nodeType":"ElementaryTypeName","src":"5865:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5790,"mutability":"mutable","name":"eta","nameLocation":"5903:3:27","nodeType":"VariableDeclaration","scope":5877,"src":"5895:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5789,"name":"uint256","nodeType":"ElementaryTypeName","src":"5895:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5792,"mutability":"mutable","name":"startBlock","nameLocation":"5928:10:27","nodeType":"VariableDeclaration","scope":5877,"src":"5920:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5791,"name":"uint256","nodeType":"ElementaryTypeName","src":"5920:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5794,"mutability":"mutable","name":"endBlock","nameLocation":"5960:8:27","nodeType":"VariableDeclaration","scope":5877,"src":"5952:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5793,"name":"uint256","nodeType":"ElementaryTypeName","src":"5952:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5796,"mutability":"mutable","name":"forVotes","nameLocation":"5990:8:27","nodeType":"VariableDeclaration","scope":5877,"src":"5982:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5795,"name":"uint256","nodeType":"ElementaryTypeName","src":"5982:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5798,"mutability":"mutable","name":"againstVotes","nameLocation":"6020:12:27","nodeType":"VariableDeclaration","scope":5877,"src":"6012:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5797,"name":"uint256","nodeType":"ElementaryTypeName","src":"6012:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5800,"mutability":"mutable","name":"abstainVotes","nameLocation":"6054:12:27","nodeType":"VariableDeclaration","scope":5877,"src":"6046:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5799,"name":"uint256","nodeType":"ElementaryTypeName","src":"6046:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5802,"mutability":"mutable","name":"canceled","nameLocation":"6085:8:27","nodeType":"VariableDeclaration","scope":5877,"src":"6080:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5801,"name":"bool","nodeType":"ElementaryTypeName","src":"6080:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5804,"mutability":"mutable","name":"executed","nameLocation":"6112:8:27","nodeType":"VariableDeclaration","scope":5877,"src":"6107:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5803,"name":"bool","nodeType":"ElementaryTypeName","src":"6107:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5827:303:27"},"scope":6128,"src":"5711:989:27","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[6267],"body":{"id":5913,"nodeType":"Block","src":"7065:168:27","statements":[{"assignments":[5898],"declarations":[{"constant":false,"id":5898,"mutability":"mutable","name":"details","nameLocation":"7099:7:27","nodeType":"VariableDeclaration","scope":5913,"src":"7075:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5897,"nodeType":"UserDefinedTypeName","pathNode":{"id":5896,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"7075:15:27"},"referencedDeclaration":5399,"src":"7075:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5902,"initialValue":{"baseExpression":{"id":5899,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"7109:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5901,"indexExpression":{"id":5900,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5880,"src":"7126:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7109:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7075:62:27"},{"expression":{"components":[{"expression":{"id":5903,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"7155:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"targets","nodeType":"MemberAccess","referencedDeclaration":5376,"src":"7155:15:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},{"expression":{"id":5905,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"7172:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":5379,"src":"7172:14:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},{"expression":{"id":5907,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"7188:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"signatures","nodeType":"MemberAccess","referencedDeclaration":5382,"src":"7188:18:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"expression":{"id":5909,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"7208:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"calldatas","nodeType":"MemberAccess","referencedDeclaration":5385,"src":"7208:17:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}}],"id":5911,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7154:72:27","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_storage_$_t_array$_t_uint256_$dyn_storage_$_t_array$_t_string_storage_$dyn_storage_$_t_array$_t_bytes_storage_$dyn_storage_$","typeString":"tuple(address[] storage ref,uint256[] storage ref,string storage ref[] storage ref,bytes storage ref[] storage ref)"}},"functionReturnParameters":5895,"id":5912,"nodeType":"Return","src":"7147:79:27"}]},"documentation":{"id":5878,"nodeType":"StructuredDocumentation","src":"6706:69:27","text":" @dev See {IGovernorCompatibilityBravo-getActions}."},"functionSelector":"328dd982","id":5914,"implemented":true,"kind":"function","modifiers":[],"name":"getActions","nameLocation":"6789:10:27","nodeType":"FunctionDefinition","overrides":{"id":5882,"nodeType":"OverrideSpecifier","overrides":[],"src":"6872:8:27"},"parameters":{"id":5881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5880,"mutability":"mutable","name":"proposalId","nameLocation":"6808:10:27","nodeType":"VariableDeclaration","scope":5914,"src":"6800:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5879,"name":"uint256","nodeType":"ElementaryTypeName","src":"6800:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6799:20:27"},"returnParameters":{"id":5895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5885,"mutability":"mutable","name":"targets","nameLocation":"6928:7:27","nodeType":"VariableDeclaration","scope":5914,"src":"6911:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":5883,"name":"address","nodeType":"ElementaryTypeName","src":"6911:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5884,"nodeType":"ArrayTypeName","src":"6911:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":5888,"mutability":"mutable","name":"values","nameLocation":"6966:6:27","nodeType":"VariableDeclaration","scope":5914,"src":"6949:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5886,"name":"uint256","nodeType":"ElementaryTypeName","src":"6949:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5887,"nodeType":"ArrayTypeName","src":"6949:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5891,"mutability":"mutable","name":"signatures","nameLocation":"7002:10:27","nodeType":"VariableDeclaration","scope":5914,"src":"6986:26:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5889,"name":"string","nodeType":"ElementaryTypeName","src":"6986:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5890,"nodeType":"ArrayTypeName","src":"6986:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":5894,"mutability":"mutable","name":"calldatas","nameLocation":"7041:9:27","nodeType":"VariableDeclaration","scope":5914,"src":"7026:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5892,"name":"bytes","nodeType":"ElementaryTypeName","src":"7026:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5893,"nodeType":"ArrayTypeName","src":"7026:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6897:163:27"},"scope":6128,"src":"6780:453:27","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[6278],"body":{"id":5933,"nodeType":"Block","src":"7422:68:27","statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":5926,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"7439:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5928,"indexExpression":{"id":5927,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"7456:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7439:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"id":5929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":5396,"src":"7439:37:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt storage ref)"}},"id":5931,"indexExpression":{"id":5930,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5919,"src":"7477:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7439:44:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage","typeString":"struct IGovernorCompatibilityBravo.Receipt storage ref"}},"functionReturnParameters":5925,"id":5932,"nodeType":"Return","src":"7432:51:27"}]},"documentation":{"id":5915,"nodeType":"StructuredDocumentation","src":"7239:69:27","text":" @dev See {IGovernorCompatibilityBravo-getReceipt}."},"functionSelector":"e23a9a52","id":5934,"implemented":true,"kind":"function","modifiers":[],"name":"getReceipt","nameLocation":"7322:10:27","nodeType":"FunctionDefinition","overrides":{"id":5921,"nodeType":"OverrideSpecifier","overrides":[],"src":"7388:8:27"},"parameters":{"id":5920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5917,"mutability":"mutable","name":"proposalId","nameLocation":"7341:10:27","nodeType":"VariableDeclaration","scope":5934,"src":"7333:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5916,"name":"uint256","nodeType":"ElementaryTypeName","src":"7333:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5919,"mutability":"mutable","name":"voter","nameLocation":"7361:5:27","nodeType":"VariableDeclaration","scope":5934,"src":"7353:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5918,"name":"address","nodeType":"ElementaryTypeName","src":"7353:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7332:35:27"},"returnParameters":{"id":5925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5934,"src":"7406:14:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_memory_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"},"typeName":{"id":5923,"nodeType":"UserDefinedTypeName","pathNode":{"id":5922,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":6179,"src":"7406:7:27"},"referencedDeclaration":6179,"src":"7406:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"}},"visibility":"internal"}],"src":"7405:16:27"},"scope":6128,"src":"7313:177:27","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[6185],"body":{"id":5948,"nodeType":"Block","src":"7641:48:27","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5942,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7665:5:27","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"7665:12:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":5944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7680:1:27","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7665:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5941,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4301,"src":"7658:6:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7658:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5940,"id":5947,"nodeType":"Return","src":"7651:31:27"}]},"documentation":{"id":5935,"nodeType":"StructuredDocumentation","src":"7496:70:27","text":" @dev See {IGovernorCompatibilityBravo-quorumVotes}."},"functionSelector":"24bc1a64","id":5949,"implemented":true,"kind":"function","modifiers":[],"name":"quorumVotes","nameLocation":"7580:11:27","nodeType":"FunctionDefinition","overrides":{"id":5937,"nodeType":"OverrideSpecifier","overrides":[],"src":"7614:8:27"},"parameters":{"id":5936,"nodeType":"ParameterList","parameters":[],"src":"7591:2:27"},"returnParameters":{"id":5940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5939,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5949,"src":"7632:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5938,"name":"uint256","nodeType":"ElementaryTypeName","src":"7632:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7631:9:27"},"scope":6128,"src":"7571:118:27","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4333],"body":{"id":5968,"nodeType":"Block","src":"7968:79:27","statements":[{"expression":{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":5960,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"7985:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5962,"indexExpression":{"id":5961,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5952,"src":"8002:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7985:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"id":5963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":5396,"src":"7985:37:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt storage ref)"}},"id":5965,"indexExpression":{"id":5964,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5954,"src":"8023:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7985:46:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage","typeString":"struct IGovernorCompatibilityBravo.Receipt storage ref"}},"id":5966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6174,"src":"7985:55:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5959,"id":5967,"nodeType":"Return","src":"7978:62:27"}]},"documentation":{"id":5950,"nodeType":"StructuredDocumentation","src":"7815:49:27","text":" @dev See {IGovernor-hasVoted}."},"functionSelector":"43859632","id":5969,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"7878:8:27","nodeType":"FunctionDefinition","overrides":{"id":5956,"nodeType":"OverrideSpecifier","overrides":[],"src":"7944:8:27"},"parameters":{"id":5955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5952,"mutability":"mutable","name":"proposalId","nameLocation":"7895:10:27","nodeType":"VariableDeclaration","scope":5969,"src":"7887:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5951,"name":"uint256","nodeType":"ElementaryTypeName","src":"7887:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5954,"mutability":"mutable","name":"account","nameLocation":"7915:7:27","nodeType":"VariableDeclaration","scope":5969,"src":"7907:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5953,"name":"address","nodeType":"ElementaryTypeName","src":"7907:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:37:27"},"returnParameters":{"id":5959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5958,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5969,"src":"7962:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5957,"name":"bool","nodeType":"ElementaryTypeName","src":"7962:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7961:6:27"},"scope":6128,"src":"7869:178:27","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[3212],"body":{"id":5994,"nodeType":"Block","src":"8257:152:27","statements":[{"assignments":[5980],"declarations":[{"constant":false,"id":5980,"mutability":"mutable","name":"details","nameLocation":"8291:7:27","nodeType":"VariableDeclaration","scope":5994,"src":"8267:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":5979,"nodeType":"UserDefinedTypeName","pathNode":{"id":5978,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"8267:15:27"},"referencedDeclaration":5399,"src":"8267:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":5984,"initialValue":{"baseExpression":{"id":5981,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"8301:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":5983,"indexExpression":{"id":5982,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5972,"src":"8318:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8301:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8267:62:27"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":5987,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5972,"src":"8370:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5986,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[3178],"referencedDeclaration":3178,"src":"8353:16:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8353:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5985,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4301,"src":"8346:6:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":5989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8346:36:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":5990,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5980,"src":"8386:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":5991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":5387,"src":"8386:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8346:56:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5977,"id":5993,"nodeType":"Return","src":"8339:63:27"}]},"documentation":{"id":5970,"nodeType":"StructuredDocumentation","src":"8053:109:27","text":" @dev See {Governor-_quorumReached}. In this module, only forVotes count toward the quorum."},"id":5995,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"8176:14:27","nodeType":"FunctionDefinition","overrides":{"id":5974,"nodeType":"OverrideSpecifier","overrides":[],"src":"8233:8:27"},"parameters":{"id":5973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5972,"mutability":"mutable","name":"proposalId","nameLocation":"8199:10:27","nodeType":"VariableDeclaration","scope":5995,"src":"8191:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5971,"name":"uint256","nodeType":"ElementaryTypeName","src":"8191:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8190:20:27"},"returnParameters":{"id":5977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5995,"src":"8251:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5975,"name":"bool","nodeType":"ElementaryTypeName","src":"8251:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8250:6:27"},"scope":6128,"src":"8167:242:27","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[3220],"body":{"id":6017,"nodeType":"Block","src":"8632:135:27","statements":[{"assignments":[6006],"declarations":[{"constant":false,"id":6006,"mutability":"mutable","name":"details","nameLocation":"8666:7:27","nodeType":"VariableDeclaration","scope":6017,"src":"8642:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":6005,"nodeType":"UserDefinedTypeName","pathNode":{"id":6004,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"8642:15:27"},"referencedDeclaration":5399,"src":"8642:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":6010,"initialValue":{"baseExpression":{"id":6007,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"8676:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":6009,"indexExpression":{"id":6008,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"8693:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8676:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8642:62:27"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6011,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6006,"src":"8721:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":5387,"src":"8721:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":6013,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6006,"src":"8740:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":5389,"src":"8740:20:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8721:39:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6003,"id":6016,"nodeType":"Return","src":"8714:46:27"}]},"documentation":{"id":5996,"nodeType":"StructuredDocumentation","src":"8415:122:27","text":" @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be scritly over the againstVotes."},"id":6018,"implemented":true,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"8551:14:27","nodeType":"FunctionDefinition","overrides":{"id":6000,"nodeType":"OverrideSpecifier","overrides":[],"src":"8608:8:27"},"parameters":{"id":5999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5998,"mutability":"mutable","name":"proposalId","nameLocation":"8574:10:27","nodeType":"VariableDeclaration","scope":6018,"src":"8566:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5997,"name":"uint256","nodeType":"ElementaryTypeName","src":"8566:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8565:20:27"},"returnParameters":{"id":6003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6018,"src":"8626:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6001,"name":"bool","nodeType":"ElementaryTypeName","src":"8626:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8625:6:27"},"scope":6128,"src":"8542:225:27","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[3246],"body":{"id":6126,"nodeType":"Block","src":"9064:730:27","statements":[{"assignments":[6035],"declarations":[{"constant":false,"id":6035,"mutability":"mutable","name":"details","nameLocation":"9098:7:27","nodeType":"VariableDeclaration","scope":6126,"src":"9074:31:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"},"typeName":{"id":6034,"nodeType":"UserDefinedTypeName","pathNode":{"id":6033,"name":"ProposalDetails","nodeType":"IdentifierPath","referencedDeclaration":5399,"src":"9074:15:27"},"referencedDeclaration":5399,"src":"9074:15:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails"}},"visibility":"internal"}],"id":6039,"initialValue":{"baseExpression":{"id":6036,"name":"_proposalDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5404,"src":"9108:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalDetails_$5399_storage_$","typeString":"mapping(uint256 => struct GovernorCompatibilityBravo.ProposalDetails storage ref)"}},"id":6038,"indexExpression":{"id":6037,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6021,"src":"9125:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9108:28:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9074:62:27"},{"assignments":[6042],"declarations":[{"constant":false,"id":6042,"mutability":"mutable","name":"receipt","nameLocation":"9162:7:27","nodeType":"VariableDeclaration","scope":6126,"src":"9146:23:27","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"},"typeName":{"id":6041,"nodeType":"UserDefinedTypeName","pathNode":{"id":6040,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":6179,"src":"9146:7:27"},"referencedDeclaration":6179,"src":"9146:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"}},"visibility":"internal"}],"id":6047,"initialValue":{"baseExpression":{"expression":{"id":6043,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"9172:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":5396,"src":"9172:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt storage ref)"}},"id":6046,"indexExpression":{"id":6045,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6023,"src":"9189:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9172:25:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage","typeString":"struct IGovernorCompatibilityBravo.Receipt storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9146:51:27"},{"expression":{"arguments":[{"id":6051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9216:17:27","subExpression":{"expression":{"id":6049,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6042,"src":"9217:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt storage pointer"}},"id":6050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6174,"src":"9217:16:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6d7061746962696c697479427261766f3a20766f746520616c72656164792063617374","id":6052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9235:47:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_d78581c7e7dfb4f261024dcbd36116b9fbab3add2c00200a2ec2e89688dc9d35","typeString":"literal_string \"GovernorCompatibilityBravo: vote already cast\""},"value":"GovernorCompatibilityBravo: vote already cast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d78581c7e7dfb4f261024dcbd36116b9fbab3add2c00200a2ec2e89688dc9d35","typeString":"literal_string \"GovernorCompatibilityBravo: vote already cast\""}],"id":6048,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9208:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9208:75:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6054,"nodeType":"ExpressionStatement","src":"9208:75:27"},{"expression":{"id":6059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6055,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6042,"src":"9293:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt storage pointer"}},"id":6057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6174,"src":"9293:16:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9312:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9293:23:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6060,"nodeType":"ExpressionStatement","src":"9293:23:27"},{"expression":{"id":6065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6061,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6042,"src":"9326:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt storage pointer"}},"id":6063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"support","nodeType":"MemberAccess","referencedDeclaration":6176,"src":"9326:15:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6064,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6025,"src":"9344:7:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9326:25:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6066,"nodeType":"ExpressionStatement","src":"9326:25:27"},{"expression":{"id":6074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6067,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6042,"src":"9361:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt storage pointer"}},"id":6069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":6178,"src":"9361:13:27","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6072,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6027,"src":"9395:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6070,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"9377:8:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":6071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint96","nodeType":"MemberAccess","referencedDeclaration":26165,"src":"9377:17:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint96_$","typeString":"function (uint256) pure returns (uint96)"}},"id":6073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9377:25:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"9361:41:27","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":6075,"nodeType":"ExpressionStatement","src":"9361:41:27"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6076,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6025,"src":"9417:7:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6079,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5371,"src":"9434:8:27","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$5371_$","typeString":"type(enum GovernorCompatibilityBravo.VoteType)"}},"id":6080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Against","nodeType":"MemberAccess","referencedDeclaration":5368,"src":"9434:16:27","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}],"id":6078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9428:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6077,"name":"uint8","nodeType":"ElementaryTypeName","src":"9428:5:27","typeDescriptions":{}}},"id":6081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9428:23:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9417:34:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6090,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6025,"src":"9518:7:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6093,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5371,"src":"9535:8:27","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$5371_$","typeString":"type(enum GovernorCompatibilityBravo.VoteType)"}},"id":6094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"For","nodeType":"MemberAccess","referencedDeclaration":5369,"src":"9535:12:27","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}],"id":6092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9529:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6091,"name":"uint8","nodeType":"ElementaryTypeName","src":"9529:5:27","typeDescriptions":{}}},"id":6095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9529:19:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9518:30:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6104,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6025,"src":"9611:7:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6107,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5371,"src":"9628:8:27","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$5371_$","typeString":"type(enum GovernorCompatibilityBravo.VoteType)"}},"id":6108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Abstain","nodeType":"MemberAccess","referencedDeclaration":5370,"src":"9628:16:27","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$5371","typeString":"enum GovernorCompatibilityBravo.VoteType"}],"id":6106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9622:5:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6105,"name":"uint8","nodeType":"ElementaryTypeName","src":"9622:5:27","typeDescriptions":{}}},"id":6109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9622:23:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9611:34:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6122,"nodeType":"Block","src":"9708:80:27","statements":[{"expression":{"arguments":[{"hexValue":"476f7665726e6f72436f6d7061746962696c697479427261766f3a20696e76616c696420766f74652074797065","id":6119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9729:47:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae7bdf6fd6f08c69cc91629bc34dc863a2425b301d7cc972a3b5066fa2997d9a","typeString":"literal_string \"GovernorCompatibilityBravo: invalid vote type\""},"value":"GovernorCompatibilityBravo: invalid vote type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae7bdf6fd6f08c69cc91629bc34dc863a2425b301d7cc972a3b5066fa2997d9a","typeString":"literal_string \"GovernorCompatibilityBravo: invalid vote type\""}],"id":6118,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9722:6:27","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":6120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9722:55:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6121,"nodeType":"ExpressionStatement","src":"9722:55:27"}]},"id":6123,"nodeType":"IfStatement","src":"9607:181:27","trueBody":{"id":6117,"nodeType":"Block","src":"9647:55:27","statements":[{"expression":{"id":6115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6111,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"9661:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":5391,"src":"9661:20:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6114,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6027,"src":"9685:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9661:30:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6116,"nodeType":"ExpressionStatement","src":"9661:30:27"}]}},"id":6124,"nodeType":"IfStatement","src":"9514:274:27","trueBody":{"id":6103,"nodeType":"Block","src":"9550:51:27","statements":[{"expression":{"id":6101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6097,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"9564:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":5387,"src":"9564:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6100,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6027,"src":"9584:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9564:26:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6102,"nodeType":"ExpressionStatement","src":"9564:26:27"}]}},"id":6125,"nodeType":"IfStatement","src":"9413:375:27","trueBody":{"id":6089,"nodeType":"Block","src":"9453:55:27","statements":[{"expression":{"id":6087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6083,"name":"details","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"9467:7:27","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDetails_$5399_storage_ptr","typeString":"struct GovernorCompatibilityBravo.ProposalDetails storage pointer"}},"id":6085,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":5389,"src":"9467:20:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6086,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6027,"src":"9491:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9467:30:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6088,"nodeType":"ExpressionStatement","src":"9467:30:27"}]}}]},"documentation":{"id":6019,"nodeType":"StructuredDocumentation","src":"8773:102:27","text":" @dev See {Governor-_countVote}. In this module, the support follows Governor Bravo."},"id":6127,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"8889:10:27","nodeType":"FunctionDefinition","overrides":{"id":6031,"nodeType":"OverrideSpecifier","overrides":[],"src":"9055:8:27"},"parameters":{"id":6030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6021,"mutability":"mutable","name":"proposalId","nameLocation":"8917:10:27","nodeType":"VariableDeclaration","scope":6127,"src":"8909:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6020,"name":"uint256","nodeType":"ElementaryTypeName","src":"8909:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6023,"mutability":"mutable","name":"account","nameLocation":"8945:7:27","nodeType":"VariableDeclaration","scope":6127,"src":"8937:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6022,"name":"address","nodeType":"ElementaryTypeName","src":"8937:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6025,"mutability":"mutable","name":"support","nameLocation":"8968:7:27","nodeType":"VariableDeclaration","scope":6127,"src":"8962:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6024,"name":"uint8","nodeType":"ElementaryTypeName","src":"8962:5:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":6027,"mutability":"mutable","name":"weight","nameLocation":"8993:6:27","nodeType":"VariableDeclaration","scope":6127,"src":"8985:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6026,"name":"uint256","nodeType":"ElementaryTypeName","src":"8985:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6127,"src":"9009:12:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6028,"name":"bytes","nodeType":"ElementaryTypeName","src":"9009:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8899:138:27"},"returnParameters":{"id":6032,"nodeType":"ParameterList","parameters":[],"src":"9064:0:27"},"scope":6128,"src":"8880:914:27","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":6129,"src":"808:8988:27","usedErrors":[27829]}],"src":"139:9658:27"},"id":27},"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol","exportedSymbols":{"ERC165":[24377],"IERC165":[24693],"IGovernor":[4440],"IGovernorCompatibilityBravo":[6279]},"id":6280,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6130,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"125:23:28"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/IGovernor.sol","file":"../IGovernor.sol","id":6131,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6280,"sourceUnit":4441,"src":"150:26:28","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6133,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"386:9:28"},"id":6134,"nodeType":"InheritanceSpecifier","src":"386:9:28"}],"canonicalName":"IGovernorCompatibilityBravo","contractDependencies":[],"contractKind":"contract","documentation":{"id":6132,"nodeType":"StructuredDocumentation","src":"178:158:28","text":" @dev Interface extension that adds missing functions to the {Governor} core to provide `GovernorBravo` compatibility.\n _Available since v4.3._"},"fullyImplemented":false,"id":6279,"linearizedBaseContracts":[6279,4440,24693],"name":"IGovernorCompatibilityBravo","nameLocation":"355:27:28","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IGovernorCompatibilityBravo.Proposal","id":6172,"members":[{"constant":false,"id":6136,"mutability":"mutable","name":"id","nameLocation":"618:2:28","nodeType":"VariableDeclaration","scope":6172,"src":"610:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6135,"name":"uint256","nodeType":"ElementaryTypeName","src":"610:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6138,"mutability":"mutable","name":"proposer","nameLocation":"638:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"630:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6137,"name":"address","nodeType":"ElementaryTypeName","src":"630:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6140,"mutability":"mutable","name":"eta","nameLocation":"664:3:28","nodeType":"VariableDeclaration","scope":6172,"src":"656:11:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6139,"name":"uint256","nodeType":"ElementaryTypeName","src":"656:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6143,"mutability":"mutable","name":"targets","nameLocation":"687:7:28","nodeType":"VariableDeclaration","scope":6172,"src":"677:17:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6141,"name":"address","nodeType":"ElementaryTypeName","src":"677:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6142,"nodeType":"ArrayTypeName","src":"677:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6146,"mutability":"mutable","name":"values","nameLocation":"714:6:28","nodeType":"VariableDeclaration","scope":6172,"src":"704:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6144,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6145,"nodeType":"ArrayTypeName","src":"704:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6149,"mutability":"mutable","name":"signatures","nameLocation":"739:10:28","nodeType":"VariableDeclaration","scope":6172,"src":"730:19:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6147,"name":"string","nodeType":"ElementaryTypeName","src":"730:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6148,"nodeType":"ArrayTypeName","src":"730:8:28","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6152,"mutability":"mutable","name":"calldatas","nameLocation":"767:9:28","nodeType":"VariableDeclaration","scope":6172,"src":"759:17:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6150,"name":"bytes","nodeType":"ElementaryTypeName","src":"759:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6151,"nodeType":"ArrayTypeName","src":"759:7:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6154,"mutability":"mutable","name":"startBlock","nameLocation":"794:10:28","nodeType":"VariableDeclaration","scope":6172,"src":"786:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6153,"name":"uint256","nodeType":"ElementaryTypeName","src":"786:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6156,"mutability":"mutable","name":"endBlock","nameLocation":"822:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"814:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6155,"name":"uint256","nodeType":"ElementaryTypeName","src":"814:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6158,"mutability":"mutable","name":"forVotes","nameLocation":"848:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"840:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6157,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6160,"mutability":"mutable","name":"againstVotes","nameLocation":"874:12:28","nodeType":"VariableDeclaration","scope":6172,"src":"866:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6159,"name":"uint256","nodeType":"ElementaryTypeName","src":"866:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6162,"mutability":"mutable","name":"abstainVotes","nameLocation":"904:12:28","nodeType":"VariableDeclaration","scope":6172,"src":"896:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6161,"name":"uint256","nodeType":"ElementaryTypeName","src":"896:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6164,"mutability":"mutable","name":"canceled","nameLocation":"931:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"926:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6163,"name":"bool","nodeType":"ElementaryTypeName","src":"926:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6166,"mutability":"mutable","name":"executed","nameLocation":"954:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"949:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6165,"name":"bool","nodeType":"ElementaryTypeName","src":"949:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6171,"mutability":"mutable","name":"receipts","nameLocation":"1000:8:28","nodeType":"VariableDeclaration","scope":6172,"src":"972:36:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt)"},"typeName":{"id":6170,"keyType":{"id":6167,"name":"address","nodeType":"ElementaryTypeName","src":"980:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"972:27:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Receipt_$6179_storage_$","typeString":"mapping(address => struct IGovernorCompatibilityBravo.Receipt)"},"valueType":{"id":6169,"nodeType":"UserDefinedTypeName","pathNode":{"id":6168,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":6179,"src":"991:7:28"},"referencedDeclaration":6179,"src":"991:7:28","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"}}},"visibility":"internal"}],"name":"Proposal","nameLocation":"591:8:28","nodeType":"StructDefinition","scope":6279,"src":"584:431:28","visibility":"public"},{"canonicalName":"IGovernorCompatibilityBravo.Receipt","id":6179,"members":[{"constant":false,"id":6174,"mutability":"mutable","name":"hasVoted","nameLocation":"1126:8:28","nodeType":"VariableDeclaration","scope":6179,"src":"1121:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6173,"name":"bool","nodeType":"ElementaryTypeName","src":"1121:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6176,"mutability":"mutable","name":"support","nameLocation":"1150:7:28","nodeType":"VariableDeclaration","scope":6179,"src":"1144:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6175,"name":"uint8","nodeType":"ElementaryTypeName","src":"1144:5:28","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":6178,"mutability":"mutable","name":"votes","nameLocation":"1174:5:28","nodeType":"VariableDeclaration","scope":6179,"src":"1167:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":6177,"name":"uint96","nodeType":"ElementaryTypeName","src":"1167:6:28","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"1103:7:28","nodeType":"StructDefinition","scope":6279,"src":"1096:90:28","visibility":"public"},{"documentation":{"id":6180,"nodeType":"StructuredDocumentation","src":"1192:63:28","text":" @dev Part of the Governor Bravo's interface."},"functionSelector":"24bc1a64","id":6185,"implemented":false,"kind":"function","modifiers":[],"name":"quorumVotes","nameLocation":"1269:11:28","nodeType":"FunctionDefinition","parameters":{"id":6181,"nodeType":"ParameterList","parameters":[],"src":"1280:2:28"},"returnParameters":{"id":6184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6185,"src":"1312:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6182,"name":"uint256","nodeType":"ElementaryTypeName","src":"1312:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1311:9:28"},"scope":6279,"src":"1260:61:28","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":6186,"nodeType":"StructuredDocumentation","src":"1327:119:28","text":" @dev Part of the Governor Bravo's interface: _\"The official record of all proposals ever proposed\"_."},"functionSelector":"013cf08b","id":6211,"implemented":false,"kind":"function","modifiers":[],"name":"proposals","nameLocation":"1460:9:28","nodeType":"FunctionDefinition","parameters":{"id":6189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6211,"src":"1470:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6187,"name":"uint256","nodeType":"ElementaryTypeName","src":"1470:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1469:9:28"},"returnParameters":{"id":6210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6191,"mutability":"mutable","name":"id","nameLocation":"1561:2:28","nodeType":"VariableDeclaration","scope":6211,"src":"1553:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6190,"name":"uint256","nodeType":"ElementaryTypeName","src":"1553:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6193,"mutability":"mutable","name":"proposer","nameLocation":"1585:8:28","nodeType":"VariableDeclaration","scope":6211,"src":"1577:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6192,"name":"address","nodeType":"ElementaryTypeName","src":"1577:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6195,"mutability":"mutable","name":"eta","nameLocation":"1615:3:28","nodeType":"VariableDeclaration","scope":6211,"src":"1607:11:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6194,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6197,"mutability":"mutable","name":"startBlock","nameLocation":"1640:10:28","nodeType":"VariableDeclaration","scope":6211,"src":"1632:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6196,"name":"uint256","nodeType":"ElementaryTypeName","src":"1632:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6199,"mutability":"mutable","name":"endBlock","nameLocation":"1672:8:28","nodeType":"VariableDeclaration","scope":6211,"src":"1664:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6198,"name":"uint256","nodeType":"ElementaryTypeName","src":"1664:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6201,"mutability":"mutable","name":"forVotes","nameLocation":"1702:8:28","nodeType":"VariableDeclaration","scope":6211,"src":"1694:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1694:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6203,"mutability":"mutable","name":"againstVotes","nameLocation":"1732:12:28","nodeType":"VariableDeclaration","scope":6211,"src":"1724:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6202,"name":"uint256","nodeType":"ElementaryTypeName","src":"1724:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6205,"mutability":"mutable","name":"abstainVotes","nameLocation":"1766:12:28","nodeType":"VariableDeclaration","scope":6211,"src":"1758:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6204,"name":"uint256","nodeType":"ElementaryTypeName","src":"1758:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6207,"mutability":"mutable","name":"canceled","nameLocation":"1797:8:28","nodeType":"VariableDeclaration","scope":6211,"src":"1792:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6206,"name":"bool","nodeType":"ElementaryTypeName","src":"1792:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6209,"mutability":"mutable","name":"executed","nameLocation":"1824:8:28","nodeType":"VariableDeclaration","scope":6211,"src":"1819:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6208,"name":"bool","nodeType":"ElementaryTypeName","src":"1819:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1539:303:28"},"scope":6279,"src":"1451:392:28","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":6212,"nodeType":"StructuredDocumentation","src":"1849:108:28","text":" @dev Part of the Governor Bravo's interface: _\"Function used to propose a new proposal\"_."},"functionSelector":"da95691a","id":6231,"implemented":false,"kind":"function","modifiers":[],"name":"propose","nameLocation":"1971:7:28","nodeType":"FunctionDefinition","parameters":{"id":6227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6215,"mutability":"mutable","name":"targets","nameLocation":"2005:7:28","nodeType":"VariableDeclaration","scope":6231,"src":"1988:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6213,"name":"address","nodeType":"ElementaryTypeName","src":"1988:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6214,"nodeType":"ArrayTypeName","src":"1988:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6218,"mutability":"mutable","name":"values","nameLocation":"2039:6:28","nodeType":"VariableDeclaration","scope":6231,"src":"2022:23:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6216,"name":"uint256","nodeType":"ElementaryTypeName","src":"2022:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6217,"nodeType":"ArrayTypeName","src":"2022:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6221,"mutability":"mutable","name":"signatures","nameLocation":"2071:10:28","nodeType":"VariableDeclaration","scope":6231,"src":"2055:26:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6219,"name":"string","nodeType":"ElementaryTypeName","src":"2055:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6220,"nodeType":"ArrayTypeName","src":"2055:8:28","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6224,"mutability":"mutable","name":"calldatas","nameLocation":"2106:9:28","nodeType":"VariableDeclaration","scope":6231,"src":"2091:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6222,"name":"bytes","nodeType":"ElementaryTypeName","src":"2091:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6223,"nodeType":"ArrayTypeName","src":"2091:7:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6226,"mutability":"mutable","name":"description","nameLocation":"2139:11:28","nodeType":"VariableDeclaration","scope":6231,"src":"2125:25:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6225,"name":"string","nodeType":"ElementaryTypeName","src":"2125:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1978:178:28"},"returnParameters":{"id":6230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6231,"src":"2181:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6228,"name":"uint256","nodeType":"ElementaryTypeName","src":"2181:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2180:9:28"},"scope":6279,"src":"1962:228:28","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":6232,"nodeType":"StructuredDocumentation","src":"2196:105:28","text":" @dev Part of the Governor Bravo's interface: _\"Queues a proposal of state succeeded\"_."},"functionSelector":"ddf0b009","id":6237,"implemented":false,"kind":"function","modifiers":[],"name":"queue","nameLocation":"2315:5:28","nodeType":"FunctionDefinition","parameters":{"id":6235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6234,"mutability":"mutable","name":"proposalId","nameLocation":"2329:10:28","nodeType":"VariableDeclaration","scope":6237,"src":"2321:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6233,"name":"uint256","nodeType":"ElementaryTypeName","src":"2321:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2320:20:28"},"returnParameters":{"id":6236,"nodeType":"ParameterList","parameters":[],"src":"2355:0:28"},"scope":6279,"src":"2306:50:28","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":6238,"nodeType":"StructuredDocumentation","src":"2362:113:28","text":" @dev Part of the Governor Bravo's interface: _\"Executes a queued proposal if eta has passed\"_."},"functionSelector":"fe0d94c1","id":6243,"implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"2489:7:28","nodeType":"FunctionDefinition","parameters":{"id":6241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6240,"mutability":"mutable","name":"proposalId","nameLocation":"2505:10:28","nodeType":"VariableDeclaration","scope":6243,"src":"2497:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6239,"name":"uint256","nodeType":"ElementaryTypeName","src":"2497:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2496:20:28"},"returnParameters":{"id":6242,"nodeType":"ParameterList","parameters":[],"src":"2539:0:28"},"scope":6279,"src":"2480:60:28","stateMutability":"payable","virtual":true,"visibility":"public"},{"documentation":{"id":6244,"nodeType":"StructuredDocumentation","src":"2546:130:28","text":" @dev Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold."},"functionSelector":"40e58ee5","id":6249,"implemented":false,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"2690:6:28","nodeType":"FunctionDefinition","parameters":{"id":6247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6246,"mutability":"mutable","name":"proposalId","nameLocation":"2705:10:28","nodeType":"VariableDeclaration","scope":6249,"src":"2697:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6245,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2696:20:28"},"returnParameters":{"id":6248,"nodeType":"ParameterList","parameters":[],"src":"2731:0:28"},"scope":6279,"src":"2681:51:28","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"documentation":{"id":6250,"nodeType":"StructuredDocumentation","src":"2738:95:28","text":" @dev Part of the Governor Bravo's interface: _\"Gets actions of a proposal\"_."},"functionSelector":"328dd982","id":6267,"implemented":false,"kind":"function","modifiers":[],"name":"getActions","nameLocation":"2847:10:28","nodeType":"FunctionDefinition","parameters":{"id":6253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6252,"mutability":"mutable","name":"proposalId","nameLocation":"2866:10:28","nodeType":"VariableDeclaration","scope":6267,"src":"2858:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6251,"name":"uint256","nodeType":"ElementaryTypeName","src":"2858:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2857:20:28"},"returnParameters":{"id":6266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6256,"mutability":"mutable","name":"targets","nameLocation":"2969:7:28","nodeType":"VariableDeclaration","scope":6267,"src":"2952:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6254,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6255,"nodeType":"ArrayTypeName","src":"2952:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6259,"mutability":"mutable","name":"values","nameLocation":"3007:6:28","nodeType":"VariableDeclaration","scope":6267,"src":"2990:23:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6257,"name":"uint256","nodeType":"ElementaryTypeName","src":"2990:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6258,"nodeType":"ArrayTypeName","src":"2990:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6262,"mutability":"mutable","name":"signatures","nameLocation":"3043:10:28","nodeType":"VariableDeclaration","scope":6267,"src":"3027:26:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6260,"name":"string","nodeType":"ElementaryTypeName","src":"3027:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6261,"nodeType":"ArrayTypeName","src":"3027:8:28","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6265,"mutability":"mutable","name":"calldatas","nameLocation":"3082:9:28","nodeType":"VariableDeclaration","scope":6267,"src":"3067:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6263,"name":"bytes","nodeType":"ElementaryTypeName","src":"3067:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6264,"nodeType":"ArrayTypeName","src":"3067:7:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"2938:163:28"},"scope":6279,"src":"2838:264:28","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":6268,"nodeType":"StructuredDocumentation","src":"3108:117:28","text":" @dev Part of the Governor Bravo's interface: _\"Gets the receipt for a voter on a given proposal\"_."},"functionSelector":"e23a9a52","id":6278,"implemented":false,"kind":"function","modifiers":[],"name":"getReceipt","nameLocation":"3239:10:28","nodeType":"FunctionDefinition","parameters":{"id":6273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6270,"mutability":"mutable","name":"proposalId","nameLocation":"3258:10:28","nodeType":"VariableDeclaration","scope":6278,"src":"3250:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6269,"name":"uint256","nodeType":"ElementaryTypeName","src":"3250:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6272,"mutability":"mutable","name":"voter","nameLocation":"3278:5:28","nodeType":"VariableDeclaration","scope":6278,"src":"3270:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6271,"name":"address","nodeType":"ElementaryTypeName","src":"3270:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3249:35:28"},"returnParameters":{"id":6277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6278,"src":"3314:14:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_memory_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"},"typeName":{"id":6275,"nodeType":"UserDefinedTypeName","pathNode":{"id":6274,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":6179,"src":"3314:7:28"},"referencedDeclaration":6179,"src":"3314:7:28","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$6179_storage_ptr","typeString":"struct IGovernorCompatibilityBravo.Receipt"}},"visibility":"internal"}],"src":"3313:16:28"},"scope":6279,"src":"3230:100:28","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":6280,"src":"337:2995:28","usedErrors":[]}],"src":"125:3208:28"},"id":28},"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorCountingSimple":[6505],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":6506,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6281,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"132:23:29"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":6282,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6506,"sourceUnit":4144,"src":"157:25:29","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6284,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"336:8:29"},"id":6285,"nodeType":"InheritanceSpecifier","src":"336:8:29"}],"canonicalName":"GovernorCountingSimple","contractDependencies":[],"contractKind":"contract","documentation":{"id":6283,"nodeType":"StructuredDocumentation","src":"184:107:29","text":" @dev Extension of {Governor} for simple, 3 options, vote counting.\n _Available since v4.3._"},"fullyImplemented":false,"id":6505,"linearizedBaseContracts":[6505,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorCountingSimple","nameLocation":"310:22:29","nodeType":"ContractDefinition","nodes":[{"canonicalName":"GovernorCountingSimple.VoteType","id":6289,"members":[{"id":6286,"name":"Against","nameLocation":"458:7:29","nodeType":"EnumValue","src":"458:7:29"},{"id":6287,"name":"For","nameLocation":"475:3:29","nodeType":"EnumValue","src":"475:3:29"},{"id":6288,"name":"Abstain","nameLocation":"488:7:29","nodeType":"EnumValue","src":"488:7:29"}],"name":"VoteType","nameLocation":"439:8:29","nodeType":"EnumDefinition","src":"434:67:29"},{"canonicalName":"GovernorCountingSimple.ProposalVote","id":6300,"members":[{"constant":false,"id":6291,"mutability":"mutable","name":"againstVotes","nameLocation":"545:12:29","nodeType":"VariableDeclaration","scope":6300,"src":"537:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6290,"name":"uint256","nodeType":"ElementaryTypeName","src":"537:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6293,"mutability":"mutable","name":"forVotes","nameLocation":"575:8:29","nodeType":"VariableDeclaration","scope":6300,"src":"567:16:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6292,"name":"uint256","nodeType":"ElementaryTypeName","src":"567:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6295,"mutability":"mutable","name":"abstainVotes","nameLocation":"601:12:29","nodeType":"VariableDeclaration","scope":6300,"src":"593:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6294,"name":"uint256","nodeType":"ElementaryTypeName","src":"593:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6299,"mutability":"mutable","name":"hasVoted","nameLocation":"648:8:29","nodeType":"VariableDeclaration","scope":6300,"src":"623:33:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":6298,"keyType":{"id":6296,"name":"address","nodeType":"ElementaryTypeName","src":"631:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"623:24:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":6297,"name":"bool","nodeType":"ElementaryTypeName","src":"642:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"ProposalVote","nameLocation":"514:12:29","nodeType":"StructDefinition","scope":6505,"src":"507:156:29","visibility":"public"},{"constant":false,"id":6305,"mutability":"mutable","name":"_proposalVotes","nameLocation":"710:14:29","nodeType":"VariableDeclaration","scope":6505,"src":"669:55:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote)"},"typeName":{"id":6304,"keyType":{"id":6301,"name":"uint256","nodeType":"ElementaryTypeName","src":"677:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"669:32:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote)"},"valueType":{"id":6303,"nodeType":"UserDefinedTypeName","pathNode":{"id":6302,"name":"ProposalVote","nodeType":"IdentifierPath","referencedDeclaration":6300,"src":"688:12:29"},"referencedDeclaration":6300,"src":"688:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"}}},"visibility":"private"},{"baseFunctions":[4239],"body":{"id":6314,"nodeType":"Block","src":"921:58:29","statements":[{"expression":{"hexValue":"737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e","id":6312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"938:34:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3816e28b29b48b8e7bf93291116c21473ef28186248d173042d1986430466e1","typeString":"literal_string \"support=bravo&quorum=for,abstain\""},"value":"support=bravo&quorum=for,abstain"},"functionReturnParameters":6311,"id":6313,"nodeType":"Return","src":"931:41:29"}]},"documentation":{"id":6306,"nodeType":"StructuredDocumentation","src":"731:54:29","text":" @dev See {IGovernor-COUNTING_MODE}."},"functionSelector":"dd4e2ba5","id":6315,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"852:13:29","nodeType":"FunctionDefinition","overrides":{"id":6308,"nodeType":"OverrideSpecifier","overrides":[],"src":"888:8:29"},"parameters":{"id":6307,"nodeType":"ParameterList","parameters":[],"src":"865:2:29"},"returnParameters":{"id":6311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6315,"src":"906:13:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6309,"name":"string","nodeType":"ElementaryTypeName","src":"906:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"905:15:29"},"scope":6505,"src":"843:136:29","stateMutability":"pure","virtual":true,"visibility":"public"},{"baseFunctions":[4333],"body":{"id":6333,"nodeType":"Block","src":"1138:68:29","statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":6326,"name":"_proposalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6305,"src":"1155:14:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)"}},"id":6328,"indexExpression":{"id":6327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6318,"src":"1170:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1155:26:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage","typeString":"struct GovernorCountingSimple.ProposalVote storage ref"}},"id":6329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6299,"src":"1155:35:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":6331,"indexExpression":{"id":6330,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6320,"src":"1191:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1155:44:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6325,"id":6332,"nodeType":"Return","src":"1148:51:29"}]},"documentation":{"id":6316,"nodeType":"StructuredDocumentation","src":"985:49:29","text":" @dev See {IGovernor-hasVoted}."},"functionSelector":"43859632","id":6334,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"1048:8:29","nodeType":"FunctionDefinition","overrides":{"id":6322,"nodeType":"OverrideSpecifier","overrides":[],"src":"1114:8:29"},"parameters":{"id":6321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6318,"mutability":"mutable","name":"proposalId","nameLocation":"1065:10:29","nodeType":"VariableDeclaration","scope":6334,"src":"1057:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6317,"name":"uint256","nodeType":"ElementaryTypeName","src":"1057:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6320,"mutability":"mutable","name":"account","nameLocation":"1085:7:29","nodeType":"VariableDeclaration","scope":6334,"src":"1077:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6319,"name":"address","nodeType":"ElementaryTypeName","src":"1077:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1056:37:29"},"returnParameters":{"id":6325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6334,"src":"1132:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6323,"name":"bool","nodeType":"ElementaryTypeName","src":"1132:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1131:6:29"},"scope":6505,"src":"1039:167:29","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":6361,"nodeType":"Block","src":"1494:173:29","statements":[{"assignments":[6348],"declarations":[{"constant":false,"id":6348,"mutability":"mutable","name":"proposalVote","nameLocation":"1525:12:29","nodeType":"VariableDeclaration","scope":6361,"src":"1504:33:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"},"typeName":{"id":6347,"nodeType":"UserDefinedTypeName","pathNode":{"id":6346,"name":"ProposalVote","nodeType":"IdentifierPath","referencedDeclaration":6300,"src":"1504:12:29"},"referencedDeclaration":6300,"src":"1504:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"}},"visibility":"internal"}],"id":6352,"initialValue":{"baseExpression":{"id":6349,"name":"_proposalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6305,"src":"1540:14:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)"}},"id":6351,"indexExpression":{"id":6350,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6337,"src":"1555:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1540:26:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage","typeString":"struct GovernorCountingSimple.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1504:62:29"},{"expression":{"components":[{"expression":{"id":6353,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6348,"src":"1584:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":6291,"src":"1584:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6355,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6348,"src":"1611:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":6293,"src":"1611:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6357,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6348,"src":"1634:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":6295,"src":"1634:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6359,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1583:77:29","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"functionReturnParameters":6345,"id":6360,"nodeType":"Return","src":"1576:84:29"}]},"documentation":{"id":6335,"nodeType":"StructuredDocumentation","src":"1212:61:29","text":" @dev Accessor to the internal vote counts."},"functionSelector":"544ffc9c","id":6362,"implemented":true,"kind":"function","modifiers":[],"name":"proposalVotes","nameLocation":"1287:13:29","nodeType":"FunctionDefinition","parameters":{"id":6338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6337,"mutability":"mutable","name":"proposalId","nameLocation":"1309:10:29","nodeType":"VariableDeclaration","scope":6362,"src":"1301:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6336,"name":"uint256","nodeType":"ElementaryTypeName","src":"1301:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1300:20:29"},"returnParameters":{"id":6345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6340,"mutability":"mutable","name":"againstVotes","nameLocation":"1403:12:29","nodeType":"VariableDeclaration","scope":6362,"src":"1395:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6339,"name":"uint256","nodeType":"ElementaryTypeName","src":"1395:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6342,"mutability":"mutable","name":"forVotes","nameLocation":"1437:8:29","nodeType":"VariableDeclaration","scope":6362,"src":"1429:16:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6341,"name":"uint256","nodeType":"ElementaryTypeName","src":"1429:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6344,"mutability":"mutable","name":"abstainVotes","nameLocation":"1467:12:29","nodeType":"VariableDeclaration","scope":6362,"src":"1459:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6343,"name":"uint256","nodeType":"ElementaryTypeName","src":"1459:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1381:108:29"},"scope":6505,"src":"1278:389:29","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[3212],"body":{"id":6390,"nodeType":"Block","src":"1822:186:29","statements":[{"assignments":[6373],"declarations":[{"constant":false,"id":6373,"mutability":"mutable","name":"proposalVote","nameLocation":"1853:12:29","nodeType":"VariableDeclaration","scope":6390,"src":"1832:33:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"},"typeName":{"id":6372,"nodeType":"UserDefinedTypeName","pathNode":{"id":6371,"name":"ProposalVote","nodeType":"IdentifierPath","referencedDeclaration":6300,"src":"1832:12:29"},"referencedDeclaration":6300,"src":"1832:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"}},"visibility":"internal"}],"id":6377,"initialValue":{"baseExpression":{"id":6374,"name":"_proposalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6305,"src":"1868:14:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)"}},"id":6376,"indexExpression":{"id":6375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6365,"src":"1883:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1868:26:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage","typeString":"struct GovernorCountingSimple.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1832:62:29"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":6380,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6365,"src":"1936:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6379,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[3178],"referencedDeclaration":3178,"src":"1919:16:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1919:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6378,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4301,"src":"1912:6:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1912:36:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6383,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6373,"src":"1952:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":6293,"src":"1952:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":6385,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6373,"src":"1976:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":6295,"src":"1976:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1952:49:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1912:89:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6370,"id":6389,"nodeType":"Return","src":"1905:96:29"}]},"documentation":{"id":6363,"nodeType":"StructuredDocumentation","src":"1673:54:29","text":" @dev See {Governor-_quorumReached}."},"id":6391,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"1741:14:29","nodeType":"FunctionDefinition","overrides":{"id":6367,"nodeType":"OverrideSpecifier","overrides":[],"src":"1798:8:29"},"parameters":{"id":6366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6365,"mutability":"mutable","name":"proposalId","nameLocation":"1764:10:29","nodeType":"VariableDeclaration","scope":6391,"src":"1756:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6364,"name":"uint256","nodeType":"ElementaryTypeName","src":"1756:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1755:20:29"},"returnParameters":{"id":6370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6391,"src":"1816:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6368,"name":"bool","nodeType":"ElementaryTypeName","src":"1816:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1815:6:29"},"scope":6505,"src":"1732:276:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[3220],"body":{"id":6413,"nodeType":"Block","src":"2232:146:29","statements":[{"assignments":[6402],"declarations":[{"constant":false,"id":6402,"mutability":"mutable","name":"proposalVote","nameLocation":"2263:12:29","nodeType":"VariableDeclaration","scope":6413,"src":"2242:33:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"},"typeName":{"id":6401,"nodeType":"UserDefinedTypeName","pathNode":{"id":6400,"name":"ProposalVote","nodeType":"IdentifierPath","referencedDeclaration":6300,"src":"2242:12:29"},"referencedDeclaration":6300,"src":"2242:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"}},"visibility":"internal"}],"id":6406,"initialValue":{"baseExpression":{"id":6403,"name":"_proposalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6305,"src":"2278:14:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)"}},"id":6405,"indexExpression":{"id":6404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6394,"src":"2293:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2278:26:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage","typeString":"struct GovernorCountingSimple.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2242:62:29"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6407,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6402,"src":"2322:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":6293,"src":"2322:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":6409,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6402,"src":"2346:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":6291,"src":"2346:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2322:49:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6399,"id":6412,"nodeType":"Return","src":"2315:56:29"}]},"documentation":{"id":6392,"nodeType":"StructuredDocumentation","src":"2014:123:29","text":" @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes."},"id":6414,"implemented":true,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"2151:14:29","nodeType":"FunctionDefinition","overrides":{"id":6396,"nodeType":"OverrideSpecifier","overrides":[],"src":"2208:8:29"},"parameters":{"id":6395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6394,"mutability":"mutable","name":"proposalId","nameLocation":"2174:10:29","nodeType":"VariableDeclaration","scope":6414,"src":"2166:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6393,"name":"uint256","nodeType":"ElementaryTypeName","src":"2166:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2165:20:29"},"returnParameters":{"id":6399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6414,"src":"2226:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6397,"name":"bool","nodeType":"ElementaryTypeName","src":"2226:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2225:6:29"},"scope":6505,"src":"2142:236:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[3246],"body":{"id":6503,"nodeType":"Block","src":"2702:628:29","statements":[{"assignments":[6431],"declarations":[{"constant":false,"id":6431,"mutability":"mutable","name":"proposalVote","nameLocation":"2733:12:29","nodeType":"VariableDeclaration","scope":6503,"src":"2712:33:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"},"typeName":{"id":6430,"nodeType":"UserDefinedTypeName","pathNode":{"id":6429,"name":"ProposalVote","nodeType":"IdentifierPath","referencedDeclaration":6300,"src":"2712:12:29"},"referencedDeclaration":6300,"src":"2712:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote"}},"visibility":"internal"}],"id":6435,"initialValue":{"baseExpression":{"id":6432,"name":"_proposalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6305,"src":"2748:14:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$6300_storage_$","typeString":"mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)"}},"id":6434,"indexExpression":{"id":6433,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6417,"src":"2763:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2748:26:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage","typeString":"struct GovernorCountingSimple.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2712:62:29"},{"expression":{"arguments":[{"id":6441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2793:31:29","subExpression":{"baseExpression":{"expression":{"id":6437,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6431,"src":"2794:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6299,"src":"2794:21:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":6440,"indexExpression":{"id":6439,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6419,"src":"2816:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2794:30:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72566f74696e6753696d706c653a20766f746520616c72656164792063617374","id":6442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2826:41:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_52977fe78dd360b196702e8b1aa8e7d06cd560911da4c4d483548d7b2d1a38d8","typeString":"literal_string \"GovernorVotingSimple: vote already cast\""},"value":"GovernorVotingSimple: vote already cast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_52977fe78dd360b196702e8b1aa8e7d06cd560911da4c4d483548d7b2d1a38d8","typeString":"literal_string \"GovernorVotingSimple: vote already cast\""}],"id":6436,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2785:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2785:83:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6444,"nodeType":"ExpressionStatement","src":"2785:83:29"},{"expression":{"id":6451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":6445,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6431,"src":"2878:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":6299,"src":"2878:21:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":6449,"indexExpression":{"id":6447,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6419,"src":"2900:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2878:30:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2911:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2878:37:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6452,"nodeType":"ExpressionStatement","src":"2878:37:29"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6453,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"2930:7:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6456,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6289,"src":"2947:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$6289_$","typeString":"type(enum GovernorCountingSimple.VoteType)"}},"id":6457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Against","nodeType":"MemberAccess","referencedDeclaration":6286,"src":"2947:16:29","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}],"id":6455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2941:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6454,"name":"uint8","nodeType":"ElementaryTypeName","src":"2941:5:29","typeDescriptions":{}}},"id":6458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2941:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2930:34:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6467,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"3036:7:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6470,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6289,"src":"3053:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$6289_$","typeString":"type(enum GovernorCountingSimple.VoteType)"}},"id":6471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"For","nodeType":"MemberAccess","referencedDeclaration":6287,"src":"3053:12:29","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}],"id":6469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3047:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6468,"name":"uint8","nodeType":"ElementaryTypeName","src":"3047:5:29","typeDescriptions":{}}},"id":6472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3047:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3036:30:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6481,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"3134:7:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":6484,"name":"VoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6289,"src":"3151:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$6289_$","typeString":"type(enum GovernorCountingSimple.VoteType)"}},"id":6485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Abstain","nodeType":"MemberAccess","referencedDeclaration":6288,"src":"3151:16:29","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$6289","typeString":"enum GovernorCountingSimple.VoteType"}],"id":6483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3145:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6482,"name":"uint8","nodeType":"ElementaryTypeName","src":"3145:5:29","typeDescriptions":{}}},"id":6486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3145:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3134:34:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6499,"nodeType":"Block","src":"3236:88:29","statements":[{"expression":{"arguments":[{"hexValue":"476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616c756520666f7220656e756d20566f746554797065","id":6496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3257:55:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_c16dd4ca2a7081ef35bfb3860532c95d6b1aacddadf6f22f1058fc06b5718887","typeString":"literal_string \"GovernorVotingSimple: invalid value for enum VoteType\""},"value":"GovernorVotingSimple: invalid value for enum VoteType"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c16dd4ca2a7081ef35bfb3860532c95d6b1aacddadf6f22f1058fc06b5718887","typeString":"literal_string \"GovernorVotingSimple: invalid value for enum VoteType\""}],"id":6495,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3250:6:29","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":6497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3250:63:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6498,"nodeType":"ExpressionStatement","src":"3250:63:29"}]},"id":6500,"nodeType":"IfStatement","src":"3130:194:29","trueBody":{"id":6494,"nodeType":"Block","src":"3170:60:29","statements":[{"expression":{"id":6492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6488,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6431,"src":"3184:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":6295,"src":"3184:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6491,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6423,"src":"3213:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3184:35:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6493,"nodeType":"ExpressionStatement","src":"3184:35:29"}]}},"id":6501,"nodeType":"IfStatement","src":"3032:292:29","trueBody":{"id":6480,"nodeType":"Block","src":"3068:56:29","statements":[{"expression":{"id":6478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6474,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6431,"src":"3082:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":6293,"src":"3082:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6477,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6423,"src":"3107:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3082:31:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6479,"nodeType":"ExpressionStatement","src":"3082:31:29"}]}},"id":6502,"nodeType":"IfStatement","src":"2926:398:29","trueBody":{"id":6466,"nodeType":"Block","src":"2966:60:29","statements":[{"expression":{"id":6464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":6460,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6431,"src":"2980:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$6300_storage_ptr","typeString":"struct GovernorCountingSimple.ProposalVote storage pointer"}},"id":6462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":6291,"src":"2980:25:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6463,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6423,"src":"3009:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2980:35:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6465,"nodeType":"ExpressionStatement","src":"2980:35:29"}]}}]},"documentation":{"id":6415,"nodeType":"StructuredDocumentation","src":"2384:129:29","text":" @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo)."},"id":6504,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"2527:10:29","nodeType":"FunctionDefinition","overrides":{"id":6427,"nodeType":"OverrideSpecifier","overrides":[],"src":"2693:8:29"},"parameters":{"id":6426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6417,"mutability":"mutable","name":"proposalId","nameLocation":"2555:10:29","nodeType":"VariableDeclaration","scope":6504,"src":"2547:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6416,"name":"uint256","nodeType":"ElementaryTypeName","src":"2547:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6419,"mutability":"mutable","name":"account","nameLocation":"2583:7:29","nodeType":"VariableDeclaration","scope":6504,"src":"2575:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6418,"name":"address","nodeType":"ElementaryTypeName","src":"2575:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6421,"mutability":"mutable","name":"support","nameLocation":"2606:7:29","nodeType":"VariableDeclaration","scope":6504,"src":"2600:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6420,"name":"uint8","nodeType":"ElementaryTypeName","src":"2600:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":6423,"mutability":"mutable","name":"weight","nameLocation":"2631:6:29","nodeType":"VariableDeclaration","scope":6504,"src":"2623:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2623:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6504,"src":"2647:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6424,"name":"bytes","nodeType":"ElementaryTypeName","src":"2647:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2537:138:29"},"returnParameters":{"id":6428,"nodeType":"ParameterList","parameters":[],"src":"2702:0:29"},"scope":6505,"src":"2518:812:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":6506,"src":"292:3040:29","usedErrors":[27829]}],"src":"132:3201:29"},"id":29},"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorPreventLateQuorum":[6690],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":6691,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6507,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"135:23:30"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":6508,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6691,"sourceUnit":4144,"src":"160:25:30","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"../../utils/math/Math.sol","id":6509,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6691,"sourceUnit":25663,"src":"186:35:30","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6511,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"881:8:30"},"id":6512,"nodeType":"InheritanceSpecifier","src":"881:8:30"}],"canonicalName":"GovernorPreventLateQuorum","contractDependencies":[],"contractKind":"contract","documentation":{"id":6510,"nodeType":"StructuredDocumentation","src":"223:610:30","text":" @dev A module that ensures there is a minimum voting period after quorum is reached. This prevents a large voter from\n swaying a vote and triggering quorum at the last minute, by ensuring there is always time for other voters to react\n and try to oppose the decision.\n If a vote causes quorum to be reached, the proposal's voting period may be extended so that it does not end before at\n least a given number of blocks have passed (the \"vote extension\" parameter). This parameter can be set by the\n governance executor (e.g. through a governance proposal).\n _Available since v4.5._"},"fullyImplemented":false,"id":6690,"linearizedBaseContracts":[6690,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorPreventLateQuorum","nameLocation":"852:25:30","nodeType":"ContractDefinition","nodes":[{"id":6515,"libraryName":{"id":6513,"name":"SafeCast","nodeType":"IdentifierPath","referencedDeclaration":27203,"src":"902:8:30"},"nodeType":"UsingForDirective","src":"896:27:30","typeName":{"id":6514,"name":"uint256","nodeType":"ElementaryTypeName","src":"915:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":6519,"libraryName":{"id":6516,"name":"Timers","nodeType":"IdentifierPath","referencedDeclaration":22940,"src":"934:6:30"},"nodeType":"UsingForDirective","src":"928:36:30","typeName":{"id":6518,"nodeType":"UserDefinedTypeName","pathNode":{"id":6517,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"945:18:30"},"referencedDeclaration":22837,"src":"945:18:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}}},{"constant":false,"id":6521,"mutability":"mutable","name":"_voteExtension","nameLocation":"985:14:30","nodeType":"VariableDeclaration","scope":6690,"src":"970:29:30","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6520,"name":"uint64","nodeType":"ElementaryTypeName","src":"970:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"private"},{"constant":false,"id":6526,"mutability":"mutable","name":"_extendedDeadlines","nameLocation":"1052:18:30","nodeType":"VariableDeclaration","scope":6690,"src":"1005:65:30","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_BlockNumber_$22837_storage_$","typeString":"mapping(uint256 => struct Timers.BlockNumber)"},"typeName":{"id":6525,"keyType":{"id":6522,"name":"uint256","nodeType":"ElementaryTypeName","src":"1013:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1005:38:30","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_BlockNumber_$22837_storage_$","typeString":"mapping(uint256 => struct Timers.BlockNumber)"},"valueType":{"id":6524,"nodeType":"UserDefinedTypeName","pathNode":{"id":6523,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1024:18:30"},"referencedDeclaration":22837,"src":"1024:18:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}}},"visibility":"private"},{"anonymous":false,"documentation":{"id":6527,"nodeType":"StructuredDocumentation","src":"1077:106:30","text":"@dev Emitted when a proposal deadline is pushed back due to reaching quorum late in its voting period."},"id":6533,"name":"ProposalExtended","nameLocation":"1194:16:30","nodeType":"EventDefinition","parameters":{"id":6532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6529,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"1227:10:30","nodeType":"VariableDeclaration","scope":6533,"src":"1211:26:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6528,"name":"uint256","nodeType":"ElementaryTypeName","src":"1211:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6531,"indexed":false,"mutability":"mutable","name":"extendedDeadline","nameLocation":"1246:16:30","nodeType":"VariableDeclaration","scope":6533,"src":"1239:23:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6530,"name":"uint64","nodeType":"ElementaryTypeName","src":"1239:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1210:53:30"},"src":"1188:76:30"},{"anonymous":false,"documentation":{"id":6534,"nodeType":"StructuredDocumentation","src":"1270:73:30","text":"@dev Emitted when the {lateQuorumVoteExtension} parameter is changed."},"id":6540,"name":"LateQuorumVoteExtensionSet","nameLocation":"1354:26:30","nodeType":"EventDefinition","parameters":{"id":6539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6536,"indexed":false,"mutability":"mutable","name":"oldVoteExtension","nameLocation":"1388:16:30","nodeType":"VariableDeclaration","scope":6540,"src":"1381:23:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6535,"name":"uint64","nodeType":"ElementaryTypeName","src":"1381:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":6538,"indexed":false,"mutability":"mutable","name":"newVoteExtension","nameLocation":"1413:16:30","nodeType":"VariableDeclaration","scope":6540,"src":"1406:23:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6537,"name":"uint64","nodeType":"ElementaryTypeName","src":"1406:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1380:50:30"},"src":"1348:83:30"},{"body":{"id":6550,"nodeType":"Block","src":"1760:66:30","statements":[{"expression":{"arguments":[{"id":6547,"name":"initialVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6543,"src":"1798:20:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":6546,"name":"_setLateQuorumVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6689,"src":"1770:27:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":6548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1770:49:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6549,"nodeType":"ExpressionStatement","src":"1770:49:30"}]},"documentation":{"id":6541,"nodeType":"StructuredDocumentation","src":"1437:277:30","text":" @dev Initializes the vote extension parameter: the number of blocks that are required to pass since a proposal\n reaches quorum until its voting period ends. If necessary the voting period will be extended beyond the one set\n at proposal creation."},"id":6551,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":6544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6543,"mutability":"mutable","name":"initialVoteExtension","nameLocation":"1738:20:30","nodeType":"VariableDeclaration","scope":6551,"src":"1731:27:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6542,"name":"uint64","nodeType":"ElementaryTypeName","src":"1731:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1730:29:30"},"returnParameters":{"id":6545,"nodeType":"ParameterList","parameters":[],"src":"1760:0:30"},"scope":6690,"src":"1719:107:30","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[3195],"body":{"id":6573,"nodeType":"Block","src":"2149:114:30","statements":[{"expression":{"arguments":[{"arguments":[{"id":6564,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6554,"src":"2198:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6562,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2175:5:30","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorPreventLateQuorum_$6690_$","typeString":"type(contract super GovernorPreventLateQuorum)"}},"id":6563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":3195,"src":"2175:22:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2175:34:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":6566,"name":"_extendedDeadlines","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6526,"src":"2211:18:30","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_BlockNumber_$22837_storage_$","typeString":"mapping(uint256 => struct Timers.BlockNumber storage ref)"}},"id":6568,"indexExpression":{"id":6567,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6554,"src":"2230:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2211:30:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"id":6569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getDeadline","nodeType":"MemberAccess","referencedDeclaration":22849,"src":"2211:42:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (uint64)"}},"id":6570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2211:44:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":6560,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"2166:4:30","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":6561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","referencedDeclaration":24822,"src":"2166:8:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":6571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2166:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6559,"id":6572,"nodeType":"Return","src":"2159:97:30"}]},"documentation":{"id":6552,"nodeType":"StructuredDocumentation","src":"1832:219:30","text":" @dev Returns the proposal deadline, which may have been extended beyond that set at proposal creation, if the\n proposal reached quorum late in the voting period. See {Governor-proposalDeadline}."},"functionSelector":"c01f9e37","id":6574,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"2065:16:30","nodeType":"FunctionDefinition","overrides":{"id":6556,"nodeType":"OverrideSpecifier","overrides":[],"src":"2122:8:30"},"parameters":{"id":6555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6554,"mutability":"mutable","name":"proposalId","nameLocation":"2090:10:30","nodeType":"VariableDeclaration","scope":6574,"src":"2082:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6553,"name":"uint256","nodeType":"ElementaryTypeName","src":"2082:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2081:20:30"},"returnParameters":{"id":6559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6574,"src":"2140:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6557,"name":"uint256","nodeType":"ElementaryTypeName","src":"2140:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2139:9:30"},"scope":6690,"src":"2056:207:30","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4032],"body":{"id":6650,"nodeType":"Block","src":"2686:612:30","statements":[{"assignments":[6592],"declarations":[{"constant":false,"id":6592,"mutability":"mutable","name":"result","nameLocation":"2704:6:30","nodeType":"VariableDeclaration","scope":6650,"src":"2696:14:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6591,"name":"uint256","nodeType":"ElementaryTypeName","src":"2696:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6601,"initialValue":{"arguments":[{"id":6595,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"2729:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6596,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6579,"src":"2741:7:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6597,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6581,"src":"2750:7:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":6598,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"2759:6:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6599,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6585,"src":"2767:6:30","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6593,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2713:5:30","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorPreventLateQuorum_$6690_$","typeString":"type(contract super GovernorPreventLateQuorum)"}},"id":6594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_castVote","nodeType":"MemberAccess","referencedDeclaration":4032,"src":"2713:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory,bytes memory) returns (uint256)"}},"id":6600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2713:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2696:78:30"},{"assignments":[6606],"declarations":[{"constant":false,"id":6606,"mutability":"mutable","name":"extendedDeadline","nameLocation":"2812:16:30","nodeType":"VariableDeclaration","scope":6650,"src":"2785:43:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":6605,"nodeType":"UserDefinedTypeName","pathNode":{"id":6604,"name":"Timers.BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"2785:18:30"},"referencedDeclaration":22837,"src":"2785:18:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"id":6610,"initialValue":{"baseExpression":{"id":6607,"name":"_extendedDeadlines","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6526,"src":"2831:18:30","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_BlockNumber_$22837_storage_$","typeString":"mapping(uint256 => struct Timers.BlockNumber storage ref)"}},"id":6609,"indexExpression":{"id":6608,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"2850:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2831:30:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage","typeString":"struct Timers.BlockNumber storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2785:76:30"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6611,"name":"extendedDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6606,"src":"2876:16:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber storage pointer"}},"id":6612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isUnset","nodeType":"MemberAccess","referencedDeclaration":22891,"src":"2876:24:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_BlockNumber_$22837_memory_ptr_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (bool)"}},"id":6613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2876:26:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":6615,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"2921:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6614,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3212,"src":"2906:14:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":6616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2906:26:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2876:56:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6647,"nodeType":"IfStatement","src":"2872:396:30","trueBody":{"id":6646,"nodeType":"Block","src":"2934:334:30","statements":[{"assignments":[6619],"declarations":[{"constant":false,"id":6619,"mutability":"mutable","name":"extendedDeadlineValue","nameLocation":"2955:21:30","nodeType":"VariableDeclaration","scope":6646,"src":"2948:28:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6618,"name":"uint64","nodeType":"ElementaryTypeName","src":"2948:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":6627,"initialValue":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":6626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":6620,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2979:5:30","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":6621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2979:12:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint64","nodeType":"MemberAccess","referencedDeclaration":26265,"src":"2979:21:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint64)"}},"id":6623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2979:23:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":6624,"name":"lateQuorumVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6660,"src":"3005:23:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint64_$","typeString":"function () view returns (uint64)"}},"id":6625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3005:25:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"2979:51:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"2948:82:30"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6628,"name":"extendedDeadlineValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6619,"src":"3049:21:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"id":6630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"3090:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6629,"name":"proposalDeadline","nodeType":"Identifier","overloadedDeclarations":[6574],"referencedDeclaration":6574,"src":"3073:16:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":6631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3073:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3049:52:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6639,"nodeType":"IfStatement","src":"3045:147:30","trueBody":{"id":6638,"nodeType":"Block","src":"3103:89:30","statements":[{"eventCall":{"arguments":[{"id":6634,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"3143:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6635,"name":"extendedDeadlineValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6619,"src":"3155:21:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":6633,"name":"ProposalExtended","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6533,"src":"3126:16:30","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint64_$returns$__$","typeString":"function (uint256,uint64)"}},"id":6636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3126:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6637,"nodeType":"EmitStatement","src":"3121:56:30"}]}},{"expression":{"arguments":[{"id":6643,"name":"extendedDeadlineValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6619,"src":"3235:21:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":6640,"name":"extendedDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6606,"src":"3206:16:30","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber storage pointer"}},"id":6642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setDeadline","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"3206:28:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BlockNumber_$22837_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_BlockNumber_$22837_storage_ptr_$","typeString":"function (struct Timers.BlockNumber storage pointer,uint64)"}},"id":6644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3206:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6645,"nodeType":"ExpressionStatement","src":"3206:51:30"}]}},{"expression":{"id":6648,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6592,"src":"3285:6:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6590,"id":6649,"nodeType":"Return","src":"3278:13:30"}]},"documentation":{"id":6575,"nodeType":"StructuredDocumentation","src":"2269:208:30","text":" @dev Casts a vote and detects if it caused quorum to be reached, potentially extending the voting period. See\n {Governor-_castVote}.\n May emit a {ProposalExtended} event."},"id":6651,"implemented":true,"kind":"function","modifiers":[],"name":"_castVote","nameLocation":"2491:9:30","nodeType":"FunctionDefinition","overrides":{"id":6587,"nodeType":"OverrideSpecifier","overrides":[],"src":"2659:8:30"},"parameters":{"id":6586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6577,"mutability":"mutable","name":"proposalId","nameLocation":"2518:10:30","nodeType":"VariableDeclaration","scope":6651,"src":"2510:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6576,"name":"uint256","nodeType":"ElementaryTypeName","src":"2510:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6579,"mutability":"mutable","name":"account","nameLocation":"2546:7:30","nodeType":"VariableDeclaration","scope":6651,"src":"2538:15:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6578,"name":"address","nodeType":"ElementaryTypeName","src":"2538:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6581,"mutability":"mutable","name":"support","nameLocation":"2569:7:30","nodeType":"VariableDeclaration","scope":6651,"src":"2563:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6580,"name":"uint8","nodeType":"ElementaryTypeName","src":"2563:5:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":6583,"mutability":"mutable","name":"reason","nameLocation":"2600:6:30","nodeType":"VariableDeclaration","scope":6651,"src":"2586:20:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6582,"name":"string","nodeType":"ElementaryTypeName","src":"2586:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6585,"mutability":"mutable","name":"params","nameLocation":"2629:6:30","nodeType":"VariableDeclaration","scope":6651,"src":"2616:19:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6584,"name":"bytes","nodeType":"ElementaryTypeName","src":"2616:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2500:141:30"},"returnParameters":{"id":6590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6651,"src":"2677:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6588,"name":"uint256","nodeType":"ElementaryTypeName","src":"2677:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2676:9:30"},"scope":6690,"src":"2482:816:30","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":6659,"nodeType":"Block","src":"3587:38:30","statements":[{"expression":{"id":6657,"name":"_voteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"3604:14:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":6656,"id":6658,"nodeType":"Return","src":"3597:21:30"}]},"documentation":{"id":6652,"nodeType":"StructuredDocumentation","src":"3304:206:30","text":" @dev Returns the current value of the vote extension parameter: the number of blocks that are required to pass\n from the time a proposal reaches quorum until its voting period ends."},"functionSelector":"32b8113e","id":6660,"implemented":true,"kind":"function","modifiers":[],"name":"lateQuorumVoteExtension","nameLocation":"3524:23:30","nodeType":"FunctionDefinition","parameters":{"id":6653,"nodeType":"ParameterList","parameters":[],"src":"3547:2:30"},"returnParameters":{"id":6656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6660,"src":"3579:6:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6654,"name":"uint64","nodeType":"ElementaryTypeName","src":"3579:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3578:8:30"},"scope":6690,"src":"3515:110:30","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":6672,"nodeType":"Block","src":"3960:62:30","statements":[{"expression":{"arguments":[{"id":6669,"name":"newVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6663,"src":"3998:16:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":6668,"name":"_setLateQuorumVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6689,"src":"3970:27:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":6670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3970:45:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6671,"nodeType":"ExpressionStatement","src":"3970:45:30"}]},"documentation":{"id":6661,"nodeType":"StructuredDocumentation","src":"3631:233:30","text":" @dev Changes the {lateQuorumVoteExtension}. This operation can only be performed by the governance executor,\n generally through a governance proposal.\n Emits a {LateQuorumVoteExtensionSet} event."},"functionSelector":"d07f91e9","id":6673,"implemented":true,"kind":"function","modifiers":[{"id":6666,"kind":"modifierInvocation","modifierName":{"id":6665,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"3945:14:30"},"nodeType":"ModifierInvocation","src":"3945:14:30"}],"name":"setLateQuorumVoteExtension","nameLocation":"3878:26:30","nodeType":"FunctionDefinition","parameters":{"id":6664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6663,"mutability":"mutable","name":"newVoteExtension","nameLocation":"3912:16:30","nodeType":"VariableDeclaration","scope":6673,"src":"3905:23:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6662,"name":"uint64","nodeType":"ElementaryTypeName","src":"3905:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3904:25:30"},"returnParameters":{"id":6667,"nodeType":"ParameterList","parameters":[],"src":"3960:0:30"},"scope":6690,"src":"3869:153:30","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":6688,"nodeType":"Block","src":"4390:125:30","statements":[{"eventCall":{"arguments":[{"id":6680,"name":"_voteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"4432:14:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":6681,"name":"newVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6676,"src":"4448:16:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":6679,"name":"LateQuorumVoteExtensionSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6540,"src":"4405:26:30","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$_t_uint64_$returns$__$","typeString":"function (uint64,uint64)"}},"id":6682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4405:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6683,"nodeType":"EmitStatement","src":"4400:65:30"},{"expression":{"id":6686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6684,"name":"_voteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"4475:14:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6685,"name":"newVoteExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6676,"src":"4492:16:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4475:33:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":6687,"nodeType":"ExpressionStatement","src":"4475:33:30"}]},"documentation":{"id":6674,"nodeType":"StructuredDocumentation","src":"4028:278:30","text":" @dev Changes the {lateQuorumVoteExtension}. This is an internal function that can be exposed in a public function\n like {setLateQuorumVoteExtension} if another access control mechanism is needed.\n Emits a {LateQuorumVoteExtensionSet} event."},"id":6689,"implemented":true,"kind":"function","modifiers":[],"name":"_setLateQuorumVoteExtension","nameLocation":"4320:27:30","nodeType":"FunctionDefinition","parameters":{"id":6677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6676,"mutability":"mutable","name":"newVoteExtension","nameLocation":"4355:16:30","nodeType":"VariableDeclaration","scope":6689,"src":"4348:23:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":6675,"name":"uint64","nodeType":"ElementaryTypeName","src":"4348:6:30","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4347:25:30"},"returnParameters":{"id":6678,"nodeType":"ParameterList","parameters":[],"src":"4390:0:30"},"scope":6690,"src":"4311:204:30","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":6691,"src":"834:3683:30","usedErrors":[27829]}],"src":"135:4383:30"},"id":30},"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorProposalThreshold":[6723],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":6724,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6692,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"120:23:31"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":6693,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6724,"sourceUnit":4144,"src":"145:25:31","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6695,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"383:8:31"},"id":6696,"nodeType":"InheritanceSpecifier","src":"383:8:31"}],"canonicalName":"GovernorProposalThreshold","contractDependencies":[],"contractKind":"contract","documentation":{"id":6694,"nodeType":"StructuredDocumentation","src":"172:163:31","text":" @dev Extension of {Governor} for proposal restriction to token holders with a minimum balance.\n _Available since v4.3._\n _Deprecated since v4.4._"},"fullyImplemented":false,"id":6723,"linearizedBaseContracts":[6723,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorProposalThreshold","nameLocation":"354:25:31","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[3401],"body":{"id":6721,"nodeType":"Block","src":"599:78:31","statements":[{"expression":{"arguments":[{"id":6715,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6699,"src":"630:7:31","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":6716,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6702,"src":"639:6:31","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":6717,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6705,"src":"647:9:31","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":6718,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6707,"src":"658:11:31","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6713,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"616:5:31","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorProposalThreshold_$6723_$","typeString":"type(contract super GovernorProposalThreshold)"}},"id":6714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"propose","nodeType":"MemberAccess","referencedDeclaration":3401,"src":"616:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory) returns (uint256)"}},"id":6719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"616:54:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6712,"id":6720,"nodeType":"Return","src":"609:61:31"}]},"functionSelector":"7d5e81e2","id":6722,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"407:7:31","nodeType":"FunctionDefinition","overrides":{"id":6709,"nodeType":"OverrideSpecifier","overrides":[],"src":"572:8:31"},"parameters":{"id":6708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6699,"mutability":"mutable","name":"targets","nameLocation":"441:7:31","nodeType":"VariableDeclaration","scope":6722,"src":"424:24:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6697,"name":"address","nodeType":"ElementaryTypeName","src":"424:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6698,"nodeType":"ArrayTypeName","src":"424:9:31","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6702,"mutability":"mutable","name":"values","nameLocation":"475:6:31","nodeType":"VariableDeclaration","scope":6722,"src":"458:23:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6700,"name":"uint256","nodeType":"ElementaryTypeName","src":"458:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6701,"nodeType":"ArrayTypeName","src":"458:9:31","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6705,"mutability":"mutable","name":"calldatas","nameLocation":"506:9:31","nodeType":"VariableDeclaration","scope":6722,"src":"491:24:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6703,"name":"bytes","nodeType":"ElementaryTypeName","src":"491:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6704,"nodeType":"ArrayTypeName","src":"491:7:31","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6707,"mutability":"mutable","name":"description","nameLocation":"539:11:31","nodeType":"VariableDeclaration","scope":6722,"src":"525:25:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6706,"name":"string","nodeType":"ElementaryTypeName","src":"525:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"414:142:31"},"returnParameters":{"id":6712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6711,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6722,"src":"590:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6710,"name":"uint256","nodeType":"ElementaryTypeName","src":"590:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"589:9:31"},"scope":6723,"src":"398:279:31","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":6724,"src":"336:343:31","usedErrors":[27829]}],"src":"120:560:31"},"id":31},"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorSettings":[6901],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":6902,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6725,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"111:23:32"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":6726,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6902,"sourceUnit":4144,"src":"136:25:32","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6728,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"314:8:32"},"id":6729,"nodeType":"InheritanceSpecifier","src":"314:8:32"}],"canonicalName":"GovernorSettings","contractDependencies":[],"contractKind":"contract","documentation":{"id":6727,"nodeType":"StructuredDocumentation","src":"163:112:32","text":" @dev Extension of {Governor} for settings updatable through governance.\n _Available since v4.4._"},"fullyImplemented":false,"id":6901,"linearizedBaseContracts":[6901,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorSettings","nameLocation":"294:16:32","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":6731,"mutability":"mutable","name":"_votingDelay","nameLocation":"345:12:32","nodeType":"VariableDeclaration","scope":6901,"src":"329:28:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6730,"name":"uint256","nodeType":"ElementaryTypeName","src":"329:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":6733,"mutability":"mutable","name":"_votingPeriod","nameLocation":"379:13:32","nodeType":"VariableDeclaration","scope":6901,"src":"363:29:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6732,"name":"uint256","nodeType":"ElementaryTypeName","src":"363:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":6735,"mutability":"mutable","name":"_proposalThreshold","nameLocation":"414:18:32","nodeType":"VariableDeclaration","scope":6901,"src":"398:34:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6734,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"anonymous":false,"id":6741,"name":"VotingDelaySet","nameLocation":"445:14:32","nodeType":"EventDefinition","parameters":{"id":6740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6737,"indexed":false,"mutability":"mutable","name":"oldVotingDelay","nameLocation":"468:14:32","nodeType":"VariableDeclaration","scope":6741,"src":"460:22:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6736,"name":"uint256","nodeType":"ElementaryTypeName","src":"460:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6739,"indexed":false,"mutability":"mutable","name":"newVotingDelay","nameLocation":"492:14:32","nodeType":"VariableDeclaration","scope":6741,"src":"484:22:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6738,"name":"uint256","nodeType":"ElementaryTypeName","src":"484:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"459:48:32"},"src":"439:69:32"},{"anonymous":false,"id":6747,"name":"VotingPeriodSet","nameLocation":"519:15:32","nodeType":"EventDefinition","parameters":{"id":6746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6743,"indexed":false,"mutability":"mutable","name":"oldVotingPeriod","nameLocation":"543:15:32","nodeType":"VariableDeclaration","scope":6747,"src":"535:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6742,"name":"uint256","nodeType":"ElementaryTypeName","src":"535:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6745,"indexed":false,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"568:15:32","nodeType":"VariableDeclaration","scope":6747,"src":"560:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6744,"name":"uint256","nodeType":"ElementaryTypeName","src":"560:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"534:50:32"},"src":"513:72:32"},{"anonymous":false,"id":6753,"name":"ProposalThresholdSet","nameLocation":"596:20:32","nodeType":"EventDefinition","parameters":{"id":6752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6749,"indexed":false,"mutability":"mutable","name":"oldProposalThreshold","nameLocation":"625:20:32","nodeType":"VariableDeclaration","scope":6753,"src":"617:28:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6748,"name":"uint256","nodeType":"ElementaryTypeName","src":"617:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6751,"indexed":false,"mutability":"mutable","name":"newProposalThreshold","nameLocation":"655:20:32","nodeType":"VariableDeclaration","scope":6753,"src":"647:28:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6750,"name":"uint256","nodeType":"ElementaryTypeName","src":"647:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"616:60:32"},"src":"590:87:32"},{"body":{"id":6775,"nodeType":"Block","src":"882:156:32","statements":[{"expression":{"arguments":[{"id":6764,"name":"initialVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6756,"src":"908:18:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6763,"name":"_setVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6861,"src":"892:15:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"892:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6766,"nodeType":"ExpressionStatement","src":"892:35:32"},{"expression":{"arguments":[{"id":6768,"name":"initialVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"954:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6767,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6884,"src":"937:16:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"937:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6770,"nodeType":"ExpressionStatement","src":"937:37:32"},{"expression":{"arguments":[{"id":6772,"name":"initialProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6760,"src":"1006:24:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6771,"name":"_setProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6900,"src":"984:21:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"984:47:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6774,"nodeType":"ExpressionStatement","src":"984:47:32"}]},"documentation":{"id":6754,"nodeType":"StructuredDocumentation","src":"683:61:32","text":" @dev Initialize the governance parameters."},"id":6776,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":6761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6756,"mutability":"mutable","name":"initialVotingDelay","nameLocation":"778:18:32","nodeType":"VariableDeclaration","scope":6776,"src":"770:26:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6755,"name":"uint256","nodeType":"ElementaryTypeName","src":"770:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6758,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"814:19:32","nodeType":"VariableDeclaration","scope":6776,"src":"806:27:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6757,"name":"uint256","nodeType":"ElementaryTypeName","src":"806:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6760,"mutability":"mutable","name":"initialProposalThreshold","nameLocation":"851:24:32","nodeType":"VariableDeclaration","scope":6776,"src":"843:32:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6759,"name":"uint256","nodeType":"ElementaryTypeName","src":"843:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"760:121:32"},"returnParameters":{"id":6762,"nodeType":"ParameterList","parameters":[],"src":"882:0:32"},"scope":6901,"src":"749:289:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[4287],"body":{"id":6785,"nodeType":"Block","src":"1171:36:32","statements":[{"expression":{"id":6783,"name":"_votingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6731,"src":"1188:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6782,"id":6784,"nodeType":"Return","src":"1181:19:32"}]},"documentation":{"id":6777,"nodeType":"StructuredDocumentation","src":"1044:52:32","text":" @dev See {IGovernor-votingDelay}."},"functionSelector":"3932abb1","id":6786,"implemented":true,"kind":"function","modifiers":[],"name":"votingDelay","nameLocation":"1110:11:32","nodeType":"FunctionDefinition","overrides":{"id":6779,"nodeType":"OverrideSpecifier","overrides":[],"src":"1144:8:32"},"parameters":{"id":6778,"nodeType":"ParameterList","parameters":[],"src":"1121:2:32"},"returnParameters":{"id":6782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6786,"src":"1162:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6780,"name":"uint256","nodeType":"ElementaryTypeName","src":"1162:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1161:9:32"},"scope":6901,"src":"1101:106:32","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4293],"body":{"id":6795,"nodeType":"Block","src":"1342:37:32","statements":[{"expression":{"id":6793,"name":"_votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6733,"src":"1359:13:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6792,"id":6794,"nodeType":"Return","src":"1352:20:32"}]},"documentation":{"id":6787,"nodeType":"StructuredDocumentation","src":"1213:53:32","text":" @dev See {IGovernor-votingPeriod}."},"functionSelector":"02a251a3","id":6796,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"1280:12:32","nodeType":"FunctionDefinition","overrides":{"id":6789,"nodeType":"OverrideSpecifier","overrides":[],"src":"1315:8:32"},"parameters":{"id":6788,"nodeType":"ParameterList","parameters":[],"src":"1292:2:32"},"returnParameters":{"id":6792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6796,"src":"1333:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6790,"name":"uint256","nodeType":"ElementaryTypeName","src":"1333:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1332:9:32"},"scope":6901,"src":"1271:108:32","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[3204],"body":{"id":6805,"nodeType":"Block","src":"1523:42:32","statements":[{"expression":{"id":6803,"name":"_proposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6735,"src":"1540:18:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6802,"id":6804,"nodeType":"Return","src":"1533:25:32"}]},"documentation":{"id":6797,"nodeType":"StructuredDocumentation","src":"1385:57:32","text":" @dev See {Governor-proposalThreshold}."},"functionSelector":"b58131b0","id":6806,"implemented":true,"kind":"function","modifiers":[],"name":"proposalThreshold","nameLocation":"1456:17:32","nodeType":"FunctionDefinition","overrides":{"id":6799,"nodeType":"OverrideSpecifier","overrides":[],"src":"1496:8:32"},"parameters":{"id":6798,"nodeType":"ParameterList","parameters":[],"src":"1473:2:32"},"returnParameters":{"id":6802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6806,"src":"1514:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6800,"name":"uint256","nodeType":"ElementaryTypeName","src":"1514:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1513:9:32"},"scope":6901,"src":"1447:118:32","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":6818,"nodeType":"Block","src":"1816:48:32","statements":[{"expression":{"arguments":[{"id":6815,"name":"newVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"1842:14:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6814,"name":"_setVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6861,"src":"1826:15:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1826:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6817,"nodeType":"ExpressionStatement","src":"1826:31:32"}]},"documentation":{"id":6807,"nodeType":"StructuredDocumentation","src":"1571:162:32","text":" @dev Update the voting delay. This operation can only be performed through a governance proposal.\n Emits a {VotingDelaySet} event."},"functionSelector":"70b0f660","id":6819,"implemented":true,"kind":"function","modifiers":[{"id":6812,"kind":"modifierInvocation","modifierName":{"id":6811,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"1801:14:32"},"nodeType":"ModifierInvocation","src":"1801:14:32"}],"name":"setVotingDelay","nameLocation":"1747:14:32","nodeType":"FunctionDefinition","parameters":{"id":6810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6809,"mutability":"mutable","name":"newVotingDelay","nameLocation":"1770:14:32","nodeType":"VariableDeclaration","scope":6819,"src":"1762:22:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6808,"name":"uint256","nodeType":"ElementaryTypeName","src":"1762:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1761:24:32"},"returnParameters":{"id":6813,"nodeType":"ParameterList","parameters":[],"src":"1816:0:32"},"scope":6901,"src":"1738:126:32","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":6831,"nodeType":"Block","src":"2119:50:32","statements":[{"expression":{"arguments":[{"id":6828,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6822,"src":"2146:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6827,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6884,"src":"2129:16:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2129:33:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6830,"nodeType":"ExpressionStatement","src":"2129:33:32"}]},"documentation":{"id":6820,"nodeType":"StructuredDocumentation","src":"1870:164:32","text":" @dev Update the voting period. This operation can only be performed through a governance proposal.\n Emits a {VotingPeriodSet} event."},"functionSelector":"ea0217cf","id":6832,"implemented":true,"kind":"function","modifiers":[{"id":6825,"kind":"modifierInvocation","modifierName":{"id":6824,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"2104:14:32"},"nodeType":"ModifierInvocation","src":"2104:14:32"}],"name":"setVotingPeriod","nameLocation":"2048:15:32","nodeType":"FunctionDefinition","parameters":{"id":6823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6822,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"2072:15:32","nodeType":"VariableDeclaration","scope":6832,"src":"2064:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6821,"name":"uint256","nodeType":"ElementaryTypeName","src":"2064:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2063:25:32"},"returnParameters":{"id":6826,"nodeType":"ParameterList","parameters":[],"src":"2119:0:32"},"scope":6901,"src":"2039:130:32","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":6844,"nodeType":"Block","src":"2444:60:32","statements":[{"expression":{"arguments":[{"id":6841,"name":"newProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6835,"src":"2476:20:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6840,"name":"_setProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6900,"src":"2454:21:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":6842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2454:43:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6843,"nodeType":"ExpressionStatement","src":"2454:43:32"}]},"documentation":{"id":6833,"nodeType":"StructuredDocumentation","src":"2175:174:32","text":" @dev Update the proposal threshold. This operation can only be performed through a governance proposal.\n Emits a {ProposalThresholdSet} event."},"functionSelector":"ece40cc1","id":6845,"implemented":true,"kind":"function","modifiers":[{"id":6838,"kind":"modifierInvocation","modifierName":{"id":6837,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"2429:14:32"},"nodeType":"ModifierInvocation","src":"2429:14:32"}],"name":"setProposalThreshold","nameLocation":"2363:20:32","nodeType":"FunctionDefinition","parameters":{"id":6836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6835,"mutability":"mutable","name":"newProposalThreshold","nameLocation":"2392:20:32","nodeType":"VariableDeclaration","scope":6845,"src":"2384:28:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6834,"name":"uint256","nodeType":"ElementaryTypeName","src":"2384:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2383:30:32"},"returnParameters":{"id":6839,"nodeType":"ParameterList","parameters":[],"src":"2444:0:32"},"scope":6901,"src":"2354:150:32","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":6860,"nodeType":"Block","src":"2688:105:32","statements":[{"eventCall":{"arguments":[{"id":6852,"name":"_votingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6731,"src":"2718:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6853,"name":"newVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6848,"src":"2732:14:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6851,"name":"VotingDelaySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6741,"src":"2703:14:32","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":6854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2703:44:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6855,"nodeType":"EmitStatement","src":"2698:49:32"},{"expression":{"id":6858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6856,"name":"_votingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6731,"src":"2757:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6857,"name":"newVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6848,"src":"2772:14:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2757:29:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6859,"nodeType":"ExpressionStatement","src":"2757:29:32"}]},"documentation":{"id":6846,"nodeType":"StructuredDocumentation","src":"2510:107:32","text":" @dev Internal setter for the voting delay.\n Emits a {VotingDelaySet} event."},"id":6861,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingDelay","nameLocation":"2631:15:32","nodeType":"FunctionDefinition","parameters":{"id":6849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6848,"mutability":"mutable","name":"newVotingDelay","nameLocation":"2655:14:32","nodeType":"VariableDeclaration","scope":6861,"src":"2647:22:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6847,"name":"uint256","nodeType":"ElementaryTypeName","src":"2647:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2646:24:32"},"returnParameters":{"id":6850,"nodeType":"ParameterList","parameters":[],"src":"2688:0:32"},"scope":6901,"src":"2622:171:32","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":6883,"nodeType":"Block","src":"2981:248:32","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6868,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"3056:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3074:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3056:19:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420746f6f206c6f77","id":6871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3077:41:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f314603cb191f371d117be724372820f824fc7fbb608c5408b31620bafe9a83","typeString":"literal_string \"GovernorSettings: voting period too low\""},"value":"GovernorSettings: voting period too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3f314603cb191f371d117be724372820f824fc7fbb608c5408b31620bafe9a83","typeString":"literal_string \"GovernorSettings: voting period too low\""}],"id":6867,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3048:7:32","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3048:71:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6873,"nodeType":"ExpressionStatement","src":"3048:71:32"},{"eventCall":{"arguments":[{"id":6875,"name":"_votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6733,"src":"3150:13:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6876,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"3165:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6874,"name":"VotingPeriodSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6747,"src":"3134:15:32","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":6877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3134:47:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6878,"nodeType":"EmitStatement","src":"3129:52:32"},{"expression":{"id":6881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6879,"name":"_votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6733,"src":"3191:13:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6880,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"3207:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3191:31:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6882,"nodeType":"ExpressionStatement","src":"3191:31:32"}]},"documentation":{"id":6862,"nodeType":"StructuredDocumentation","src":"2799:109:32","text":" @dev Internal setter for the voting period.\n Emits a {VotingPeriodSet} event."},"id":6884,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingPeriod","nameLocation":"2922:16:32","nodeType":"FunctionDefinition","parameters":{"id":6865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6864,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"2947:15:32","nodeType":"VariableDeclaration","scope":6884,"src":"2939:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6863,"name":"uint256","nodeType":"ElementaryTypeName","src":"2939:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2938:25:32"},"returnParameters":{"id":6866,"nodeType":"ParameterList","parameters":[],"src":"2981:0:32"},"scope":6901,"src":"2913:316:32","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":6899,"nodeType":"Block","src":"3437:135:32","statements":[{"eventCall":{"arguments":[{"id":6891,"name":"_proposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6735,"src":"3473:18:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6892,"name":"newProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6887,"src":"3493:20:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6890,"name":"ProposalThresholdSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6753,"src":"3452:20:32","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":6893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3452:62:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6894,"nodeType":"EmitStatement","src":"3447:67:32"},{"expression":{"id":6897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6895,"name":"_proposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6735,"src":"3524:18:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6896,"name":"newProposalThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6887,"src":"3545:20:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3524:41:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6898,"nodeType":"ExpressionStatement","src":"3524:41:32"}]},"documentation":{"id":6885,"nodeType":"StructuredDocumentation","src":"3235:119:32","text":" @dev Internal setter for the proposal threshold.\n Emits a {ProposalThresholdSet} event."},"id":6900,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalThreshold","nameLocation":"3368:21:32","nodeType":"FunctionDefinition","parameters":{"id":6888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6887,"mutability":"mutable","name":"newProposalThreshold","nameLocation":"3398:20:32","nodeType":"VariableDeclaration","scope":6900,"src":"3390:28:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6886,"name":"uint256","nodeType":"ElementaryTypeName","src":"3390:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3389:30:32"},"returnParameters":{"id":6889,"nodeType":"ParameterList","parameters":[],"src":"3437:0:32"},"scope":6901,"src":"3359:213:32","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":6902,"src":"276:3298:32","usedErrors":[27829]}],"src":"111:3464:32"},"id":32},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorTimelockCompound":[7390],"ICompoundTimelock":[30878],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"IGovernorTimelock":[8095],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":7391,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6903,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"134:23:33"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol","file":"./IGovernorTimelock.sol","id":6904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7391,"sourceUnit":8096,"src":"159:33:33","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":6905,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7391,"sourceUnit":4144,"src":"193:25:33","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../../utils/math/SafeCast.sol","id":6906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7391,"sourceUnit":27204,"src":"219:39:33","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol","file":"../../vendor/compound/ICompoundTimelock.sol","id":6907,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7391,"sourceUnit":30879,"src":"259:53:33","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":6909,"name":"IGovernorTimelock","nodeType":"IdentifierPath","referencedDeclaration":8095,"src":"1071:17:33"},"id":6910,"nodeType":"InheritanceSpecifier","src":"1071:17:33"},{"baseName":{"id":6911,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"1090:8:33"},"id":6912,"nodeType":"InheritanceSpecifier","src":"1090:8:33"}],"canonicalName":"GovernorTimelockCompound","contractDependencies":[],"contractKind":"contract","documentation":{"id":6908,"nodeType":"StructuredDocumentation","src":"314:710:33","text":" @dev Extension of {Governor} that binds the execution process to a Compound Timelock. This adds a delay, enforced by\n the external timelock to all successful proposal (in addition to the voting duration). The {Governor} needs to be\n the admin of the timelock for any operation to be performed. A public, unrestricted,\n {GovernorTimelockCompound-__acceptAdmin} is available to accept ownership of the timelock.\n Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n inaccessible.\n _Available since v4.3._"},"fullyImplemented":false,"id":7390,"linearizedBaseContracts":[7390,4143,12145,17609,8095,4440,23455,24377,24693,22281],"name":"GovernorTimelockCompound","nameLocation":"1043:24:33","nodeType":"ContractDefinition","nodes":[{"id":6915,"libraryName":{"id":6913,"name":"SafeCast","nodeType":"IdentifierPath","referencedDeclaration":27203,"src":"1111:8:33"},"nodeType":"UsingForDirective","src":"1105:27:33","typeName":{"id":6914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":6919,"libraryName":{"id":6916,"name":"Timers","nodeType":"IdentifierPath","referencedDeclaration":22940,"src":"1143:6:33"},"nodeType":"UsingForDirective","src":"1137:34:33","typeName":{"id":6918,"nodeType":"UserDefinedTypeName","pathNode":{"id":6917,"name":"Timers.Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"1154:16:33"},"referencedDeclaration":22732,"src":"1154:16:33","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}}},{"canonicalName":"GovernorTimelockCompound.ProposalTimelock","id":6923,"members":[{"constant":false,"id":6922,"mutability":"mutable","name":"timer","nameLocation":"1228:5:33","nodeType":"VariableDeclaration","scope":6923,"src":"1211:22:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":6921,"nodeType":"UserDefinedTypeName","pathNode":{"id":6920,"name":"Timers.Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"1211:16:33"},"referencedDeclaration":22732,"src":"1211:16:33","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"name":"ProposalTimelock","nameLocation":"1184:16:33","nodeType":"StructDefinition","scope":7390,"src":"1177:63:33","visibility":"public"},{"constant":false,"id":6926,"mutability":"mutable","name":"_timelock","nameLocation":"1272:9:33","nodeType":"VariableDeclaration","scope":7390,"src":"1246:35:33","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"},"typeName":{"id":6925,"nodeType":"UserDefinedTypeName","pathNode":{"id":6924,"name":"ICompoundTimelock","nodeType":"IdentifierPath","referencedDeclaration":30878,"src":"1246:17:33"},"referencedDeclaration":30878,"src":"1246:17:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"visibility":"private"},{"constant":false,"id":6931,"mutability":"mutable","name":"_proposalTimelocks","nameLocation":"1333:18:33","nodeType":"VariableDeclaration","scope":7390,"src":"1288:63:33","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalTimelock_$6923_storage_$","typeString":"mapping(uint256 => struct GovernorTimelockCompound.ProposalTimelock)"},"typeName":{"id":6930,"keyType":{"id":6927,"name":"uint256","nodeType":"ElementaryTypeName","src":"1296:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1288:36:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalTimelock_$6923_storage_$","typeString":"mapping(uint256 => struct GovernorTimelockCompound.ProposalTimelock)"},"valueType":{"id":6929,"nodeType":"UserDefinedTypeName","pathNode":{"id":6928,"name":"ProposalTimelock","nodeType":"IdentifierPath","referencedDeclaration":6923,"src":"1307:16:33"},"referencedDeclaration":6923,"src":"1307:16:33","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalTimelock_$6923_storage_ptr","typeString":"struct GovernorTimelockCompound.ProposalTimelock"}}},"visibility":"private"},{"anonymous":false,"documentation":{"id":6932,"nodeType":"StructuredDocumentation","src":"1358:101:33","text":" @dev Emitted when the timelock controller used for proposal execution is modified."},"id":6938,"name":"TimelockChange","nameLocation":"1470:14:33","nodeType":"EventDefinition","parameters":{"id":6937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6934,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"1493:11:33","nodeType":"VariableDeclaration","scope":6938,"src":"1485:19:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6933,"name":"address","nodeType":"ElementaryTypeName","src":"1485:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6936,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"1514:11:33","nodeType":"VariableDeclaration","scope":6938,"src":"1506:19:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6935,"name":"address","nodeType":"ElementaryTypeName","src":"1506:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1484:42:33"},"src":"1464:63:33"},{"body":{"id":6949,"nodeType":"Block","src":"1626:49:33","statements":[{"expression":{"arguments":[{"id":6946,"name":"timelockAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6942,"src":"1652:15:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":6945,"name":"_updateTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7389,"src":"1636:15:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_ICompoundTimelock_$30878_$returns$__$","typeString":"function (contract ICompoundTimelock)"}},"id":6947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1636:32:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6948,"nodeType":"ExpressionStatement","src":"1636:32:33"}]},"documentation":{"id":6939,"nodeType":"StructuredDocumentation","src":"1533:41:33","text":" @dev Set the timelock."},"id":6950,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":6943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6942,"mutability":"mutable","name":"timelockAddress","nameLocation":"1609:15:33","nodeType":"VariableDeclaration","scope":6950,"src":"1591:33:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"},"typeName":{"id":6941,"nodeType":"UserDefinedTypeName","pathNode":{"id":6940,"name":"ICompoundTimelock","nodeType":"IdentifierPath","referencedDeclaration":30878,"src":"1591:17:33"},"referencedDeclaration":30878,"src":"1591:17:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"visibility":"internal"}],"src":"1590:35:33"},"returnParameters":{"id":6944,"nodeType":"ParameterList","parameters":[],"src":"1626:0:33"},"scope":7390,"src":"1579:96:33","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[3022,24692],"body":{"id":6973,"nodeType":"Block","src":"1852:114:33","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":6966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6961,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6953,"src":"1869:11:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":6963,"name":"IGovernorTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8095,"src":"1889:17:33","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGovernorTimelock_$8095_$","typeString":"type(contract IGovernorTimelock)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IGovernorTimelock_$8095_$","typeString":"type(contract IGovernorTimelock)"}],"id":6962,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1884:4:33","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":6964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1884:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IGovernorTimelock_$8095","typeString":"type(contract IGovernorTimelock)"}},"id":6965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1884:35:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1869:50:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":6969,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6953,"src":"1947:11:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":6967,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1923:5:33","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockCompound_$7390_$","typeString":"type(contract super GovernorTimelockCompound)"}},"id":6968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":3022,"src":"1923:23:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":6970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1923:36:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1869:90:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6960,"id":6972,"nodeType":"Return","src":"1862:97:33"}]},"documentation":{"id":6951,"nodeType":"StructuredDocumentation","src":"1681:56:33","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":6974,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1751:17:33","nodeType":"FunctionDefinition","overrides":{"id":6957,"nodeType":"OverrideSpecifier","overrides":[{"id":6955,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1818:7:33"},{"id":6956,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"1827:8:33"}],"src":"1809:27:33"},"parameters":{"id":6954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6953,"mutability":"mutable","name":"interfaceId","nameLocation":"1776:11:33","nodeType":"VariableDeclaration","scope":6974,"src":"1769:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":6952,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1769:6:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1768:20:33"},"returnParameters":{"id":6960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6974,"src":"1846:4:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6958,"name":"bool","nodeType":"ElementaryTypeName","src":"1846:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1845:6:33"},"scope":7390,"src":"1742:224:33","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[3161,4265],"body":{"id":7032,"nodeType":"Block","src":"2219:431:33","statements":[{"assignments":[6988],"declarations":[{"constant":false,"id":6988,"mutability":"mutable","name":"status","nameLocation":"2243:6:33","nodeType":"VariableDeclaration","scope":7032,"src":"2229:20:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":6987,"nodeType":"UserDefinedTypeName","pathNode":{"id":6986,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"2229:13:33"},"referencedDeclaration":4158,"src":"2229:13:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"id":6993,"initialValue":{"arguments":[{"id":6991,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6977,"src":"2264:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6989,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2252:5:33","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockCompound_$7390_$","typeString":"type(contract super GovernorTimelockCompound)"}},"id":6990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"state","nodeType":"MemberAccess","referencedDeclaration":3161,"src":"2252:11:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":6992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2252:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"2229:46:33"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":6997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6994,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6988,"src":"2290:6:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":6995,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2300:13:33","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":6996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"2300:23:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"2290:33:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7001,"nodeType":"IfStatement","src":"2286:77:33","trueBody":{"id":7000,"nodeType":"Block","src":"2325:38:33","statements":[{"expression":{"id":6998,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6988,"src":"2346:6:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":6985,"id":6999,"nodeType":"Return","src":"2339:13:33"}]}},{"assignments":[7003],"declarations":[{"constant":false,"id":7003,"mutability":"mutable","name":"eta","nameLocation":"2381:3:33","nodeType":"VariableDeclaration","scope":7032,"src":"2373:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7002,"name":"uint256","nodeType":"ElementaryTypeName","src":"2373:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7007,"initialValue":{"arguments":[{"id":7005,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6977,"src":"2399:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7004,"name":"proposalEta","nodeType":"Identifier","overloadedDeclarations":[7063],"referencedDeclaration":7063,"src":"2387:11:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":7006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2387:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2373:37:33"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7008,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7003,"src":"2424:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2431:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2424:8:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7014,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2482:5:33","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":7015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2482:15:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7016,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7003,"src":"2501:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7017,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"2507:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"GRACE_PERIOD","nodeType":"MemberAccess","referencedDeclaration":30789,"src":"2507:22:33","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":7019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2507:24:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2501:30:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2482:49:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":7029,"nodeType":"Block","src":"2592:52:33","statements":[{"expression":{"expression":{"id":7026,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2613:13:33","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":4155,"src":"2613:20:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":6985,"id":7028,"nodeType":"Return","src":"2606:27:33"}]},"id":7030,"nodeType":"IfStatement","src":"2478:166:33","trueBody":{"id":7025,"nodeType":"Block","src":"2533:53:33","statements":[{"expression":{"expression":{"id":7022,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2554:13:33","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Expired","nodeType":"MemberAccess","referencedDeclaration":4156,"src":"2554:21:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":6985,"id":7024,"nodeType":"Return","src":"2547:28:33"}]}},"id":7031,"nodeType":"IfStatement","src":"2420:224:33","trueBody":{"id":7013,"nodeType":"Block","src":"2434:38:33","statements":[{"expression":{"id":7011,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6988,"src":"2455:6:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":6985,"id":7012,"nodeType":"Return","src":"2448:13:33"}]}}]},"documentation":{"id":6975,"nodeType":"StructuredDocumentation","src":"1972:133:33","text":" @dev Overridden version of the {Governor-state} function with added support for the `Queued` and `Expired` status."},"functionSelector":"3e4f49e6","id":7033,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"2119:5:33","nodeType":"FunctionDefinition","overrides":{"id":6981,"nodeType":"OverrideSpecifier","overrides":[{"id":6979,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"2174:9:33"},{"id":6980,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"2185:8:33"}],"src":"2165:29:33"},"parameters":{"id":6978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6977,"mutability":"mutable","name":"proposalId","nameLocation":"2133:10:33","nodeType":"VariableDeclaration","scope":7033,"src":"2125:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6976,"name":"uint256","nodeType":"ElementaryTypeName","src":"2125:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2124:20:33"},"returnParameters":{"id":6985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6984,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7033,"src":"2204:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":6983,"nodeType":"UserDefinedTypeName","pathNode":{"id":6982,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"2204:13:33"},"referencedDeclaration":4158,"src":"2204:13:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"src":"2203:15:33"},"scope":7390,"src":"2110:540:33","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8071],"body":{"id":7045,"nodeType":"Block","src":"2804:42:33","statements":[{"expression":{"arguments":[{"id":7042,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"2829:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2821:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7040,"name":"address","nodeType":"ElementaryTypeName","src":"2821:7:33","typeDescriptions":{}}},"id":7043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2821:18:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7039,"id":7044,"nodeType":"Return","src":"2814:25:33"}]},"documentation":{"id":7034,"nodeType":"StructuredDocumentation","src":"2656:76:33","text":" @dev Public accessor to check the address of the timelock"},"functionSelector":"d33219b4","id":7046,"implemented":true,"kind":"function","modifiers":[],"name":"timelock","nameLocation":"2746:8:33","nodeType":"FunctionDefinition","overrides":{"id":7036,"nodeType":"OverrideSpecifier","overrides":[],"src":"2777:8:33"},"parameters":{"id":7035,"nodeType":"ParameterList","parameters":[],"src":"2754:2:33"},"returnParameters":{"id":7039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7046,"src":"2795:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7037,"name":"address","nodeType":"ElementaryTypeName","src":"2795:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2794:9:33"},"scope":7390,"src":"2737:109:33","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8078],"body":{"id":7062,"nodeType":"Block","src":"3022:74:33","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":7055,"name":"_proposalTimelocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6931,"src":"3039:18:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalTimelock_$6923_storage_$","typeString":"mapping(uint256 => struct GovernorTimelockCompound.ProposalTimelock storage ref)"}},"id":7057,"indexExpression":{"id":7056,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7049,"src":"3058:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3039:30:33","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalTimelock_$6923_storage","typeString":"struct GovernorTimelockCompound.ProposalTimelock storage ref"}},"id":7058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timer","nodeType":"MemberAccess","referencedDeclaration":6922,"src":"3039:36:33","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage","typeString":"struct Timers.Timestamp storage ref"}},"id":7059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getDeadline","nodeType":"MemberAccess","referencedDeclaration":22744,"src":"3039:48:33","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Timestamp_$22732_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_Timestamp_$22732_memory_ptr_$","typeString":"function (struct Timers.Timestamp memory) pure returns (uint64)"}},"id":7060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3039:50:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":7054,"id":7061,"nodeType":"Return","src":"3032:57:33"}]},"documentation":{"id":7047,"nodeType":"StructuredDocumentation","src":"2852:77:33","text":" @dev Public accessor to check the eta of a queued proposal"},"functionSelector":"ab58fb8e","id":7063,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"2943:11:33","nodeType":"FunctionDefinition","overrides":{"id":7051,"nodeType":"OverrideSpecifier","overrides":[],"src":"2995:8:33"},"parameters":{"id":7050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7049,"mutability":"mutable","name":"proposalId","nameLocation":"2963:10:33","nodeType":"VariableDeclaration","scope":7063,"src":"2955:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7048,"name":"uint256","nodeType":"ElementaryTypeName","src":"2955:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2954:20:33"},"returnParameters":{"id":7054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7063,"src":"3013:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7052,"name":"uint256","nodeType":"ElementaryTypeName","src":"3013:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3012:9:33"},"scope":7390,"src":"2934:162:33","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8094],"body":{"id":7179,"nodeType":"Block","src":"3373:793:33","statements":[{"assignments":[7082],"declarations":[{"constant":false,"id":7082,"mutability":"mutable","name":"proposalId","nameLocation":"3391:10:33","nodeType":"VariableDeclaration","scope":7179,"src":"3383:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7081,"name":"uint256","nodeType":"ElementaryTypeName","src":"3383:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7089,"initialValue":{"arguments":[{"id":7084,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"3417:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7085,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7070,"src":"3426:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7086,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"3434:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7087,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7075,"src":"3445:15:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7083,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"3404:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":7088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3404:57:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3383:78:33"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":7096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7092,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7082,"src":"3486:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7091,"name":"state","nodeType":"Identifier","overloadedDeclarations":[7033],"referencedDeclaration":7033,"src":"3480:5:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":7093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3480:17:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":7094,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"3501:13:33","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"3501:23:33","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"3480:44:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756c","id":7097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3526:35:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""},"value":"Governor: proposal not successful"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""}],"id":7090,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3472:7:33","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3472:90:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7099,"nodeType":"ExpressionStatement","src":"3472:90:33"},{"assignments":[7101],"declarations":[{"constant":false,"id":7101,"mutability":"mutable","name":"eta","nameLocation":"3581:3:33","nodeType":"VariableDeclaration","scope":7179,"src":"3573:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7100,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7108,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7102,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3587:5:33","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":7103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"3587:15:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7104,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"3605:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delay","nodeType":"MemberAccess","referencedDeclaration":30814,"src":"3605:15:33","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":7106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3605:17:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3587:35:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3573:49:33"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7114,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"3681:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint64","nodeType":"MemberAccess","referencedDeclaration":26265,"src":"3681:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint64)"}},"id":7116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3681:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"expression":{"baseExpression":{"id":7109,"name":"_proposalTimelocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6931,"src":"3632:18:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalTimelock_$6923_storage_$","typeString":"mapping(uint256 => struct GovernorTimelockCompound.ProposalTimelock storage ref)"}},"id":7111,"indexExpression":{"id":7110,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7082,"src":"3651:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3632:30:33","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalTimelock_$6923_storage","typeString":"struct GovernorTimelockCompound.ProposalTimelock storage ref"}},"id":7112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timer","nodeType":"MemberAccess","referencedDeclaration":6922,"src":"3632:36:33","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage","typeString":"struct Timers.Timestamp storage ref"}},"id":7113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setDeadline","nodeType":"MemberAccess","referencedDeclaration":22759,"src":"3632:48:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Timestamp_$22732_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_Timestamp_$22732_storage_ptr_$","typeString":"function (struct Timers.Timestamp storage pointer,uint64)"}},"id":7117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3632:64:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7118,"nodeType":"ExpressionStatement","src":"3632:64:33"},{"body":{"id":7170,"nodeType":"Block","src":"3751:334:33","statements":[{"expression":{"arguments":[{"id":7150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3790:98:33","subExpression":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"id":7136,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"3841:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7138,"indexExpression":{"id":7137,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"3849:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3841:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7139,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7070,"src":"3853:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7141,"indexExpression":{"id":7140,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"3860:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3853:9:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":7142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3864:2:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"baseExpression":{"id":7143,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"3868:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7145,"indexExpression":{"id":7144,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"3878:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3868:12:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7146,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"3882:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3830:3:33","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3830:10:33","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3830:56:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7133,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3820:9:33","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3820:67:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7131,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"3791:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"queuedTransactions","nodeType":"MemberAccess","referencedDeclaration":30821,"src":"3791:28:33","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":7149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3791:97:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7254696d656c6f636b436f6d706f756e643a206964656e746963616c2070726f706f73616c20616374696f6e20616c726561647920717565756564","id":7151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3906:68:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b273a2c459d985ffc619334680afffc051e72f0120b13eff68378a7ee1ccb4f","typeString":"literal_string \"GovernorTimelockCompound: identical proposal action already queued\""},"value":"GovernorTimelockCompound: identical proposal action already queued"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4b273a2c459d985ffc619334680afffc051e72f0120b13eff68378a7ee1ccb4f","typeString":"literal_string \"GovernorTimelockCompound: identical proposal action already queued\""}],"id":7130,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3765:7:33","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3765:223:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7153,"nodeType":"ExpressionStatement","src":"3765:223:33"},{"expression":{"arguments":[{"baseExpression":{"id":7157,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"4029:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7159,"indexExpression":{"id":7158,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"4037:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4029:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7160,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7070,"src":"4041:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7162,"indexExpression":{"id":7161,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"4048:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4041:9:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":7163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4052:2:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"baseExpression":{"id":7164,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"4056:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7166,"indexExpression":{"id":7165,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"4066:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4056:12:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7167,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"4070:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7154,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"4002:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"queueTransaction","nodeType":"MemberAccess","referencedDeclaration":30849,"src":"4002:26:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256,string memory,bytes memory,uint256) external returns (bytes32)"}},"id":7168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4002:72:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7169,"nodeType":"ExpressionStatement","src":"4002:72:33"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7123,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"3726:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7124,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"3730:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3730:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3726:18:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7171,"initializationExpression":{"assignments":[7120],"declarations":[{"constant":false,"id":7120,"mutability":"mutable","name":"i","nameLocation":"3719:1:33","nodeType":"VariableDeclaration","scope":7171,"src":"3711:9:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7119,"name":"uint256","nodeType":"ElementaryTypeName","src":"3711:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7122,"initialValue":{"hexValue":"30","id":7121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3723:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3711:13:33"},"loopExpression":{"expression":{"id":7128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3746:3:33","subExpression":{"id":7127,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"3748:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7129,"nodeType":"ExpressionStatement","src":"3746:3:33"},"nodeType":"ForStatement","src":"3706:379:33"},{"eventCall":{"arguments":[{"id":7173,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7082,"src":"4115:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7174,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"4127:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7172,"name":"ProposalQueued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"4100:14:33","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":7175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4100:31:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7176,"nodeType":"EmitStatement","src":"4095:36:33"},{"expression":{"id":7177,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7082,"src":"4149:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7080,"id":7178,"nodeType":"Return","src":"4142:17:33"}]},"documentation":{"id":7064,"nodeType":"StructuredDocumentation","src":"3102:69:33","text":" @dev Function to queue a proposal to the timelock."},"functionSelector":"160cbed7","id":7180,"implemented":true,"kind":"function","modifiers":[],"name":"queue","nameLocation":"3185:5:33","nodeType":"FunctionDefinition","overrides":{"id":7077,"nodeType":"OverrideSpecifier","overrides":[],"src":"3346:8:33"},"parameters":{"id":7076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7067,"mutability":"mutable","name":"targets","nameLocation":"3217:7:33","nodeType":"VariableDeclaration","scope":7180,"src":"3200:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7065,"name":"address","nodeType":"ElementaryTypeName","src":"3200:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7066,"nodeType":"ArrayTypeName","src":"3200:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7070,"mutability":"mutable","name":"values","nameLocation":"3251:6:33","nodeType":"VariableDeclaration","scope":7180,"src":"3234:23:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7068,"name":"uint256","nodeType":"ElementaryTypeName","src":"3234:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7069,"nodeType":"ArrayTypeName","src":"3234:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7073,"mutability":"mutable","name":"calldatas","nameLocation":"3282:9:33","nodeType":"VariableDeclaration","scope":7180,"src":"3267:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7071,"name":"bytes","nodeType":"ElementaryTypeName","src":"3267:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7072,"nodeType":"ArrayTypeName","src":"3267:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7075,"mutability":"mutable","name":"descriptionHash","nameLocation":"3309:15:33","nodeType":"VariableDeclaration","scope":7180,"src":"3301:23:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3301:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3190:140:33"},"returnParameters":{"id":7080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7180,"src":"3364:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7078,"name":"uint256","nodeType":"ElementaryTypeName","src":"3364:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3363:9:33"},"scope":7390,"src":"3176:990:33","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[3546],"body":{"id":7251,"nodeType":"Block","src":"4503:344:33","statements":[{"assignments":[7199],"declarations":[{"constant":false,"id":7199,"mutability":"mutable","name":"eta","nameLocation":"4521:3:33","nodeType":"VariableDeclaration","scope":7251,"src":"4513:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7198,"name":"uint256","nodeType":"ElementaryTypeName","src":"4513:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7203,"initialValue":{"arguments":[{"id":7201,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7183,"src":"4539:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7200,"name":"proposalEta","nodeType":"Identifier","overloadedDeclarations":[7063],"referencedDeclaration":7063,"src":"4527:11:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":7202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4527:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4513:37:33"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7205,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7199,"src":"4568:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4574:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4568:7:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7254696d656c6f636b436f6d706f756e643a2070726f706f73616c206e6f742079657420717565756564","id":7208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4577:51:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae7b53d10fd6cf32ae23794a62f758ad6a8bf40acb6b6e8ac0a196827c6d021c","typeString":"literal_string \"GovernorTimelockCompound: proposal not yet queued\""},"value":"GovernorTimelockCompound: proposal not yet queued"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae7b53d10fd6cf32ae23794a62f758ad6a8bf40acb6b6e8ac0a196827c6d021c","typeString":"literal_string \"GovernorTimelockCompound: proposal not yet queued\""}],"id":7204,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4560:7:33","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4560:69:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7210,"nodeType":"ExpressionStatement","src":"4560:69:33"},{"expression":{"arguments":[{"arguments":[{"id":7216,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"4665:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4657:8:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":7214,"name":"address","nodeType":"ElementaryTypeName","src":"4657:8:33","stateMutability":"payable","typeDescriptions":{}}},"id":7217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4657:18:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"id":7218,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4677:3:33","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"4677:9:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7211,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"4639:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":7213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sendValue","nodeType":"MemberAccess","referencedDeclaration":20410,"src":"4639:17:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256)"}},"id":7220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4639:48:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7221,"nodeType":"ExpressionStatement","src":"4639:48:33"},{"body":{"id":7249,"nodeType":"Block","src":"4742:99:33","statements":[{"expression":{"arguments":[{"baseExpression":{"id":7236,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7186,"src":"4785:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7238,"indexExpression":{"id":7237,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"4793:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4785:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7239,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7189,"src":"4797:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7241,"indexExpression":{"id":7240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"4804:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4797:9:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":7242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4808:2:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"baseExpression":{"id":7243,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"4812:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7245,"indexExpression":{"id":7244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"4822:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4812:12:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7246,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7199,"src":"4826:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7233,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"4756:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"executeTransaction","nodeType":"MemberAccess","referencedDeclaration":30877,"src":"4756:28:33","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,uint256,string memory,bytes memory,uint256) payable external returns (bytes memory)"}},"id":7247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4756:74:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":7248,"nodeType":"ExpressionStatement","src":"4756:74:33"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7226,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"4717:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7227,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7186,"src":"4721:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4721:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4717:18:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7250,"initializationExpression":{"assignments":[7223],"declarations":[{"constant":false,"id":7223,"mutability":"mutable","name":"i","nameLocation":"4710:1:33","nodeType":"VariableDeclaration","scope":7250,"src":"4702:9:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7222,"name":"uint256","nodeType":"ElementaryTypeName","src":"4702:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7225,"initialValue":{"hexValue":"30","id":7224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4714:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4702:13:33"},"loopExpression":{"expression":{"id":7231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"4737:3:33","subExpression":{"id":7230,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"4739:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7232,"nodeType":"ExpressionStatement","src":"4737:3:33"},"nodeType":"ForStatement","src":"4697:144:33"}]},"documentation":{"id":7181,"nodeType":"StructuredDocumentation","src":"4172:110:33","text":" @dev Overridden execute function that run the already queued proposal through the timelock."},"id":7252,"implemented":true,"kind":"function","modifiers":[],"name":"_execute","nameLocation":"4296:8:33","nodeType":"FunctionDefinition","overrides":{"id":7196,"nodeType":"OverrideSpecifier","overrides":[],"src":"4494:8:33"},"parameters":{"id":7195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7183,"mutability":"mutable","name":"proposalId","nameLocation":"4322:10:33","nodeType":"VariableDeclaration","scope":7252,"src":"4314:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7182,"name":"uint256","nodeType":"ElementaryTypeName","src":"4314:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7186,"mutability":"mutable","name":"targets","nameLocation":"4359:7:33","nodeType":"VariableDeclaration","scope":7252,"src":"4342:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7184,"name":"address","nodeType":"ElementaryTypeName","src":"4342:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7185,"nodeType":"ArrayTypeName","src":"4342:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7189,"mutability":"mutable","name":"values","nameLocation":"4393:6:33","nodeType":"VariableDeclaration","scope":7252,"src":"4376:23:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7187,"name":"uint256","nodeType":"ElementaryTypeName","src":"4376:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7188,"nodeType":"ArrayTypeName","src":"4376:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7192,"mutability":"mutable","name":"calldatas","nameLocation":"4424:9:33","nodeType":"VariableDeclaration","scope":7252,"src":"4409:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7190,"name":"bytes","nodeType":"ElementaryTypeName","src":"4409:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7191,"nodeType":"ArrayTypeName","src":"4409:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7252,"src":"4443:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4443:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4304:172:33"},"returnParameters":{"id":7197,"nodeType":"ParameterList","parameters":[],"src":"4503:0:33"},"scope":7390,"src":"4287:560:33","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3709],"body":{"id":7329,"nodeType":"Block","src":"5207:427:33","statements":[{"assignments":[7271],"declarations":[{"constant":false,"id":7271,"mutability":"mutable","name":"proposalId","nameLocation":"5225:10:33","nodeType":"VariableDeclaration","scope":7329,"src":"5217:18:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7270,"name":"uint256","nodeType":"ElementaryTypeName","src":"5217:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7279,"initialValue":{"arguments":[{"id":7274,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"5252:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7275,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7259,"src":"5261:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7276,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7262,"src":"5269:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7277,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7264,"src":"5280:15:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7272,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5238:5:33","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockCompound_$7390_$","typeString":"type(contract super GovernorTimelockCompound)"}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_cancel","nodeType":"MemberAccess","referencedDeclaration":3709,"src":"5238:13:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":7278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5238:58:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5217:79:33"},{"assignments":[7281],"declarations":[{"constant":false,"id":7281,"mutability":"mutable","name":"eta","nameLocation":"5315:3:33","nodeType":"VariableDeclaration","scope":7329,"src":"5307:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7280,"name":"uint256","nodeType":"ElementaryTypeName","src":"5307:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7285,"initialValue":{"arguments":[{"id":7283,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"5333:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7282,"name":"proposalEta","nodeType":"Identifier","overloadedDeclarations":[7063],"referencedDeclaration":7063,"src":"5321:11:33","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":7284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5321:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5307:37:33"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7286,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"5358:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5364:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5358:7:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7326,"nodeType":"IfStatement","src":"5354:246:33","trueBody":{"id":7325,"nodeType":"Block","src":"5367:233:33","statements":[{"body":{"id":7316,"nodeType":"Block","src":"5426:106:33","statements":[{"expression":{"arguments":[{"baseExpression":{"id":7303,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"5472:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7305,"indexExpression":{"id":7304,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7290,"src":"5480:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5472:10:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7306,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7259,"src":"5484:6:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7308,"indexExpression":{"id":7307,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7290,"src":"5491:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5484:9:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":7309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5495:2:33","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"baseExpression":{"id":7310,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7262,"src":"5499:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7312,"indexExpression":{"id":7311,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7290,"src":"5509:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5499:12:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7313,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"5513:3:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7300,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"5444:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"cancelTransaction","nodeType":"MemberAccess","referencedDeclaration":30862,"src":"5444:27:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,uint256,string memory,bytes memory,uint256) external"}},"id":7314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5444:73:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7315,"nodeType":"ExpressionStatement","src":"5444:73:33"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7293,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7290,"src":"5401:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7294,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"5405:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5405:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5401:18:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7317,"initializationExpression":{"assignments":[7290],"declarations":[{"constant":false,"id":7290,"mutability":"mutable","name":"i","nameLocation":"5394:1:33","nodeType":"VariableDeclaration","scope":7317,"src":"5386:9:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7289,"name":"uint256","nodeType":"ElementaryTypeName","src":"5386:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7292,"initialValue":{"hexValue":"30","id":7291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5398:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5386:13:33"},"loopExpression":{"expression":{"id":7298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5421:3:33","subExpression":{"id":7297,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7290,"src":"5423:1:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7299,"nodeType":"ExpressionStatement","src":"5421:3:33"},"nodeType":"ForStatement","src":"5381:151:33"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":7318,"name":"_proposalTimelocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6931,"src":"5545:18:33","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalTimelock_$6923_storage_$","typeString":"mapping(uint256 => struct GovernorTimelockCompound.ProposalTimelock storage ref)"}},"id":7320,"indexExpression":{"id":7319,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"5564:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5545:30:33","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalTimelock_$6923_storage","typeString":"struct GovernorTimelockCompound.ProposalTimelock storage ref"}},"id":7321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timer","nodeType":"MemberAccess","referencedDeclaration":6922,"src":"5545:36:33","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage","typeString":"struct Timers.Timestamp storage ref"}},"id":7322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"reset","nodeType":"MemberAccess","referencedDeclaration":22772,"src":"5545:42:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Timestamp_$22732_storage_ptr_$returns$__$bound_to$_t_struct$_Timestamp_$22732_storage_ptr_$","typeString":"function (struct Timers.Timestamp storage pointer)"}},"id":7323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5545:44:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7324,"nodeType":"ExpressionStatement","src":"5545:44:33"}]}},{"expression":{"id":7327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"5617:10:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7269,"id":7328,"nodeType":"Return","src":"5610:17:33"}]},"documentation":{"id":7253,"nodeType":"StructuredDocumentation","src":"4853:148:33","text":" @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n been queued."},"id":7330,"implemented":true,"kind":"function","modifiers":[],"name":"_cancel","nameLocation":"5015:7:33","nodeType":"FunctionDefinition","overrides":{"id":7266,"nodeType":"OverrideSpecifier","overrides":[],"src":"5180:8:33"},"parameters":{"id":7265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7256,"mutability":"mutable","name":"targets","nameLocation":"5049:7:33","nodeType":"VariableDeclaration","scope":7330,"src":"5032:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7254,"name":"address","nodeType":"ElementaryTypeName","src":"5032:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7255,"nodeType":"ArrayTypeName","src":"5032:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7259,"mutability":"mutable","name":"values","nameLocation":"5083:6:33","nodeType":"VariableDeclaration","scope":7330,"src":"5066:23:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7257,"name":"uint256","nodeType":"ElementaryTypeName","src":"5066:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7258,"nodeType":"ArrayTypeName","src":"5066:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7262,"mutability":"mutable","name":"calldatas","nameLocation":"5114:9:33","nodeType":"VariableDeclaration","scope":7330,"src":"5099:24:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7260,"name":"bytes","nodeType":"ElementaryTypeName","src":"5099:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7261,"nodeType":"ArrayTypeName","src":"5099:7:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7264,"mutability":"mutable","name":"descriptionHash","nameLocation":"5141:15:33","nodeType":"VariableDeclaration","scope":7330,"src":"5133:23:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5133:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5022:140:33"},"returnParameters":{"id":7269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7330,"src":"5198:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7267,"name":"uint256","nodeType":"ElementaryTypeName","src":"5198:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5197:9:33"},"scope":7390,"src":"5006:628:33","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[4076],"body":{"id":7342,"nodeType":"Block","src":"5818:42:33","statements":[{"expression":{"arguments":[{"id":7339,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"5843:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5835:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7337,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:33","typeDescriptions":{}}},"id":7340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5835:18:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7336,"id":7341,"nodeType":"Return","src":"5828:25:33"}]},"documentation":{"id":7331,"nodeType":"StructuredDocumentation","src":"5640:103:33","text":" @dev Address through which the governor executes action. In this case, the timelock."},"id":7343,"implemented":true,"kind":"function","modifiers":[],"name":"_executor","nameLocation":"5757:9:33","nodeType":"FunctionDefinition","overrides":{"id":7333,"nodeType":"OverrideSpecifier","overrides":[],"src":"5791:8:33"},"parameters":{"id":7332,"nodeType":"ParameterList","parameters":[],"src":"5766:2:33"},"returnParameters":{"id":7336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7343,"src":"5809:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7334,"name":"address","nodeType":"ElementaryTypeName","src":"5809:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5808:9:33"},"scope":7390,"src":"5748:112:33","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":7352,"nodeType":"Block","src":"6029:40:33","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7347,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"6039:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"acceptAdmin","nodeType":"MemberAccess","referencedDeclaration":30829,"src":"6039:21:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":7350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6039:23:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7351,"nodeType":"ExpressionStatement","src":"6039:23:33"}]},"documentation":{"id":7344,"nodeType":"StructuredDocumentation","src":"5866:61:33","text":" @dev Accept admin right over the timelock."},"functionSelector":"b9a61961","id":7353,"implemented":true,"kind":"function","modifiers":[],"name":"__acceptAdmin","nameLocation":"6006:13:33","nodeType":"FunctionDefinition","parameters":{"id":7345,"nodeType":"ParameterList","parameters":[],"src":"6019:2:33"},"returnParameters":{"id":7346,"nodeType":"ParameterList","parameters":[],"src":"6029:0:33"},"scope":7390,"src":"5997:72:33","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":7366,"nodeType":"Block","src":"6973:45:33","statements":[{"expression":{"arguments":[{"id":7363,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7357,"src":"6999:11:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7362,"name":"_updateTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7389,"src":"6983:15:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_ICompoundTimelock_$30878_$returns$__$","typeString":"function (contract ICompoundTimelock)"}},"id":7364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6983:28:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7365,"nodeType":"ExpressionStatement","src":"6983:28:33"}]},"documentation":{"id":7354,"nodeType":"StructuredDocumentation","src":"6075:806:33","text":" @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n must be proposed, scheduled, and executed through governance proposals.\n For security reasons, the timelock must be handed over to another admin before setting up a new one. The two\n operations (hand over the timelock) and do the update can be batched in a single proposal.\n Note that if the timelock admin has been handed over in a previous operation, we refuse updates made through the\n timelock if admin of the timelock has already been accepted and the operation is executed outside the scope of\n governance.\n CAUTION: It is not recommended to change the timelock while there are other queued governance proposals."},"functionSelector":"a890c910","id":7367,"implemented":true,"kind":"function","modifiers":[{"id":7360,"kind":"modifierInvocation","modifierName":{"id":7359,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"6958:14:33"},"nodeType":"ModifierInvocation","src":"6958:14:33"}],"name":"updateTimelock","nameLocation":"6895:14:33","nodeType":"FunctionDefinition","parameters":{"id":7358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7357,"mutability":"mutable","name":"newTimelock","nameLocation":"6928:11:33","nodeType":"VariableDeclaration","scope":7367,"src":"6910:29:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"},"typeName":{"id":7356,"nodeType":"UserDefinedTypeName","pathNode":{"id":7355,"name":"ICompoundTimelock","nodeType":"IdentifierPath","referencedDeclaration":30878,"src":"6910:17:33"},"referencedDeclaration":30878,"src":"6910:17:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"visibility":"internal"}],"src":"6909:31:33"},"returnParameters":{"id":7361,"nodeType":"ParameterList","parameters":[],"src":"6973:0:33"},"scope":7390,"src":"6886:132:33","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":7388,"nodeType":"Block","src":"7088:111:33","statements":[{"eventCall":{"arguments":[{"arguments":[{"id":7376,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"7126:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7118:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7374,"name":"address","nodeType":"ElementaryTypeName","src":"7118:7:33","typeDescriptions":{}}},"id":7377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7118:18:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":7380,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7370,"src":"7146:11:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}],"id":7379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7138:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7378,"name":"address","nodeType":"ElementaryTypeName","src":"7138:7:33","typeDescriptions":{}}},"id":7381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7138:20:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":7373,"name":"TimelockChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6938,"src":"7103:14:33","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":7382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7103:56:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7383,"nodeType":"EmitStatement","src":"7098:61:33"},{"expression":{"id":7386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7384,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"7169:9:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7385,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7370,"src":"7181:11:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"src":"7169:23:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"id":7387,"nodeType":"ExpressionStatement","src":"7169:23:33"}]},"id":7389,"implemented":true,"kind":"function","modifiers":[],"name":"_updateTimelock","nameLocation":"7033:15:33","nodeType":"FunctionDefinition","parameters":{"id":7371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7370,"mutability":"mutable","name":"newTimelock","nameLocation":"7067:11:33","nodeType":"VariableDeclaration","scope":7389,"src":"7049:29:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"},"typeName":{"id":7369,"nodeType":"UserDefinedTypeName","pathNode":{"id":7368,"name":"ICompoundTimelock","nodeType":"IdentifierPath","referencedDeclaration":30878,"src":"7049:17:33"},"referencedDeclaration":30878,"src":"7049:17:33","typeDescriptions":{"typeIdentifier":"t_contract$_ICompoundTimelock_$30878","typeString":"contract ICompoundTimelock"}},"visibility":"internal"}],"src":"7048:31:33"},"returnParameters":{"id":7372,"nodeType":"ParameterList","parameters":[],"src":"7088:0:33"},"scope":7390,"src":"7024:175:33","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":7391,"src":"1025:6176:33","usedErrors":[27829]}],"src":"134:7068:33"},"id":33},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol","exportedSymbols":{"AccessControl":[1027],"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorTimelockControl":[7767],"IAccessControl":[1280],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"IGovernorTimelock":[8095],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"TimelockController":[5354],"Timers":[22940]},"id":7768,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7392,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"133:23:34"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol","file":"./IGovernorTimelock.sol","id":7393,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7768,"sourceUnit":8096,"src":"158:33:34","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":7394,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7768,"sourceUnit":4144,"src":"192:25:34","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/TimelockController.sol","file":"../TimelockController.sol","id":7395,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7768,"sourceUnit":5355,"src":"218:35:34","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":7397,"name":"IGovernorTimelock","nodeType":"IdentifierPath","referencedDeclaration":8095,"src":"1370:17:34"},"id":7398,"nodeType":"InheritanceSpecifier","src":"1370:17:34"},{"baseName":{"id":7399,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"1389:8:34"},"id":7400,"nodeType":"InheritanceSpecifier","src":"1389:8:34"}],"canonicalName":"GovernorTimelockControl","contractDependencies":[],"contractKind":"contract","documentation":{"id":7396,"nodeType":"StructuredDocumentation","src":"255:1069:34","text":" @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a\n delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The\n {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly.\n Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n inaccessible.\n WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it\n grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are\n available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively\n executing a Denial of Service attack. This risk will be mitigated in a future release.\n _Available since v4.3._"},"fullyImplemented":false,"id":7767,"linearizedBaseContracts":[7767,4143,12145,17609,8095,4440,23455,24377,24693,22281],"name":"GovernorTimelockControl","nameLocation":"1343:23:34","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":7403,"mutability":"mutable","name":"_timelock","nameLocation":"1431:9:34","nodeType":"VariableDeclaration","scope":7767,"src":"1404:36:34","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"},"typeName":{"id":7402,"nodeType":"UserDefinedTypeName","pathNode":{"id":7401,"name":"TimelockController","nodeType":"IdentifierPath","referencedDeclaration":5354,"src":"1404:18:34"},"referencedDeclaration":5354,"src":"1404:18:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"visibility":"private"},{"constant":false,"id":7407,"mutability":"mutable","name":"_timelockIds","nameLocation":"1482:12:34","nodeType":"VariableDeclaration","scope":7767,"src":"1446:48:34","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"typeName":{"id":7406,"keyType":{"id":7404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1454:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1446:27:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueType":{"id":7405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1465:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"private"},{"anonymous":false,"documentation":{"id":7408,"nodeType":"StructuredDocumentation","src":"1501:101:34","text":" @dev Emitted when the timelock controller used for proposal execution is modified."},"id":7414,"name":"TimelockChange","nameLocation":"1613:14:34","nodeType":"EventDefinition","parameters":{"id":7413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7410,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"1636:11:34","nodeType":"VariableDeclaration","scope":7414,"src":"1628:19:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7409,"name":"address","nodeType":"ElementaryTypeName","src":"1628:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7412,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"1657:11:34","nodeType":"VariableDeclaration","scope":7414,"src":"1649:19:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7411,"name":"address","nodeType":"ElementaryTypeName","src":"1649:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1627:42:34"},"src":"1607:63:34"},{"body":{"id":7425,"nodeType":"Block","src":"1770:49:34","statements":[{"expression":{"arguments":[{"id":7422,"name":"timelockAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7418,"src":"1796:15:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7421,"name":"_updateTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7766,"src":"1780:15:34","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_TimelockController_$5354_$returns$__$","typeString":"function (contract TimelockController)"}},"id":7423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1780:32:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7424,"nodeType":"ExpressionStatement","src":"1780:32:34"}]},"documentation":{"id":7415,"nodeType":"StructuredDocumentation","src":"1676:41:34","text":" @dev Set the timelock."},"id":7426,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7418,"mutability":"mutable","name":"timelockAddress","nameLocation":"1753:15:34","nodeType":"VariableDeclaration","scope":7426,"src":"1734:34:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"},"typeName":{"id":7417,"nodeType":"UserDefinedTypeName","pathNode":{"id":7416,"name":"TimelockController","nodeType":"IdentifierPath","referencedDeclaration":5354,"src":"1734:18:34"},"referencedDeclaration":5354,"src":"1734:18:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"visibility":"internal"}],"src":"1733:36:34"},"returnParameters":{"id":7420,"nodeType":"ParameterList","parameters":[],"src":"1770:0:34"},"scope":7767,"src":"1722:97:34","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[3022,24692],"body":{"id":7449,"nodeType":"Block","src":"1996:114:34","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":7447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":7442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7437,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7429,"src":"2013:11:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":7439,"name":"IGovernorTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8095,"src":"2033:17:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGovernorTimelock_$8095_$","typeString":"type(contract IGovernorTimelock)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IGovernorTimelock_$8095_$","typeString":"type(contract IGovernorTimelock)"}],"id":7438,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2028:4:34","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2028:23:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IGovernorTimelock_$8095","typeString":"type(contract IGovernorTimelock)"}},"id":7441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"2028:35:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2013:50:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":7445,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7429,"src":"2091:11:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":7443,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2067:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockControl_$7767_$","typeString":"type(contract super GovernorTimelockControl)"}},"id":7444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":3022,"src":"2067:23:34","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":7446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2067:36:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2013:90:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7436,"id":7448,"nodeType":"Return","src":"2006:97:34"}]},"documentation":{"id":7427,"nodeType":"StructuredDocumentation","src":"1825:56:34","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":7450,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1895:17:34","nodeType":"FunctionDefinition","overrides":{"id":7433,"nodeType":"OverrideSpecifier","overrides":[{"id":7431,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1962:7:34"},{"id":7432,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"1971:8:34"}],"src":"1953:27:34"},"parameters":{"id":7430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7429,"mutability":"mutable","name":"interfaceId","nameLocation":"1920:11:34","nodeType":"VariableDeclaration","scope":7450,"src":"1913:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7428,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1913:6:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1912:20:34"},"returnParameters":{"id":7436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7450,"src":"1990:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7434,"name":"bool","nodeType":"ElementaryTypeName","src":"1990:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1989:6:34"},"scope":7767,"src":"1886:224:34","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[3161,4265],"body":{"id":7516,"nodeType":"Block","src":"2349:638:34","statements":[{"assignments":[7464],"declarations":[{"constant":false,"id":7464,"mutability":"mutable","name":"status","nameLocation":"2373:6:34","nodeType":"VariableDeclaration","scope":7516,"src":"2359:20:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":7463,"nodeType":"UserDefinedTypeName","pathNode":{"id":7462,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"2359:13:34"},"referencedDeclaration":4158,"src":"2359:13:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"id":7469,"initialValue":{"arguments":[{"id":7467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7453,"src":"2394:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7465,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2382:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockControl_$7767_$","typeString":"type(contract super GovernorTimelockControl)"}},"id":7466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"state","nodeType":"MemberAccess","referencedDeclaration":3161,"src":"2382:11:34","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":7468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2382:23:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"2359:46:34"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":7473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7470,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7464,"src":"2420:6:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":7471,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2430:13:34","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"2430:23:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"2420:33:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7477,"nodeType":"IfStatement","src":"2416:77:34","trueBody":{"id":7476,"nodeType":"Block","src":"2455:38:34","statements":[{"expression":{"id":7474,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7464,"src":"2476:6:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":7461,"id":7475,"nodeType":"Return","src":"2469:13:34"}]}},{"assignments":[7479],"declarations":[{"constant":false,"id":7479,"mutability":"mutable","name":"queueid","nameLocation":"2611:7:34","nodeType":"VariableDeclaration","scope":7516,"src":"2603:15:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2603:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7483,"initialValue":{"baseExpression":{"id":7480,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"2621:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7482,"indexExpression":{"id":7481,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7453,"src":"2634:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2621:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2603:42:34"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7484,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7479,"src":"2659:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2678:1:34","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":7486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2670:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2670:7:34","typeDescriptions":{}}},"id":7488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2670:10:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2659:21:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"id":7495,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7479,"src":"2756:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7493,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"2730:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperationDone","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"2730:25:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":7496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2730:34:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"id":7503,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7479,"src":"2859:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7501,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"2830:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperationPending","nodeType":"MemberAccess","referencedDeclaration":4721,"src":"2830:28:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":7504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2830:37:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":7512,"nodeType":"Block","src":"2927:54:34","statements":[{"expression":{"expression":{"id":7509,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2948:13:34","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"2948:22:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":7461,"id":7511,"nodeType":"Return","src":"2941:29:34"}]},"id":7513,"nodeType":"IfStatement","src":"2826:155:34","trueBody":{"id":7508,"nodeType":"Block","src":"2869:52:34","statements":[{"expression":{"expression":{"id":7505,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2890:13:34","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":4155,"src":"2890:20:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":7461,"id":7507,"nodeType":"Return","src":"2883:27:34"}]}},"id":7514,"nodeType":"IfStatement","src":"2726:255:34","trueBody":{"id":7500,"nodeType":"Block","src":"2766:54:34","statements":[{"expression":{"expression":{"id":7497,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"2787:13:34","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":4157,"src":"2787:22:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":7461,"id":7499,"nodeType":"Return","src":"2780:29:34"}]}},"id":7515,"nodeType":"IfStatement","src":"2655:326:34","trueBody":{"id":7492,"nodeType":"Block","src":"2682:38:34","statements":[{"expression":{"id":7490,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7464,"src":"2703:6:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"functionReturnParameters":7461,"id":7491,"nodeType":"Return","src":"2696:13:34"}]}}]},"documentation":{"id":7451,"nodeType":"StructuredDocumentation","src":"2116:119:34","text":" @dev Overridden version of the {Governor-state} function with added support for the `Queued` status."},"functionSelector":"3e4f49e6","id":7517,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"2249:5:34","nodeType":"FunctionDefinition","overrides":{"id":7457,"nodeType":"OverrideSpecifier","overrides":[{"id":7455,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"2304:9:34"},{"id":7456,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"2315:8:34"}],"src":"2295:29:34"},"parameters":{"id":7454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7453,"mutability":"mutable","name":"proposalId","nameLocation":"2263:10:34","nodeType":"VariableDeclaration","scope":7517,"src":"2255:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7452,"name":"uint256","nodeType":"ElementaryTypeName","src":"2255:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2254:20:34"},"returnParameters":{"id":7461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7517,"src":"2334:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"typeName":{"id":7459,"nodeType":"UserDefinedTypeName","pathNode":{"id":7458,"name":"ProposalState","nodeType":"IdentifierPath","referencedDeclaration":4158,"src":"2334:13:34"},"referencedDeclaration":4158,"src":"2334:13:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"visibility":"internal"}],"src":"2333:15:34"},"scope":7767,"src":"2240:747:34","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8071],"body":{"id":7529,"nodeType":"Block","src":"3141:42:34","statements":[{"expression":{"arguments":[{"id":7526,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"3166:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3158:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7524,"name":"address","nodeType":"ElementaryTypeName","src":"3158:7:34","typeDescriptions":{}}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3158:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7523,"id":7528,"nodeType":"Return","src":"3151:25:34"}]},"documentation":{"id":7518,"nodeType":"StructuredDocumentation","src":"2993:76:34","text":" @dev Public accessor to check the address of the timelock"},"functionSelector":"d33219b4","id":7530,"implemented":true,"kind":"function","modifiers":[],"name":"timelock","nameLocation":"3083:8:34","nodeType":"FunctionDefinition","overrides":{"id":7520,"nodeType":"OverrideSpecifier","overrides":[],"src":"3114:8:34"},"parameters":{"id":7519,"nodeType":"ParameterList","parameters":[],"src":"3091:2:34"},"returnParameters":{"id":7523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7530,"src":"3132:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7521,"name":"address","nodeType":"ElementaryTypeName","src":"3132:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3131:9:34"},"scope":7767,"src":"3074:109:34","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8078],"body":{"id":7555,"nodeType":"Block","src":"3359:171:34","statements":[{"assignments":[7540],"declarations":[{"constant":false,"id":7540,"mutability":"mutable","name":"eta","nameLocation":"3377:3:34","nodeType":"VariableDeclaration","scope":7555,"src":"3369:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7539,"name":"uint256","nodeType":"ElementaryTypeName","src":"3369:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7547,"initialValue":{"arguments":[{"baseExpression":{"id":7543,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"3406:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7545,"indexExpression":{"id":7544,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7533,"src":"3419:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3406:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7541,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"3383:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTimestamp","nodeType":"MemberAccess","referencedDeclaration":4773,"src":"3383:22:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view external returns (uint256)"}},"id":7546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3383:48:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3369:62:34"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7548,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7540,"src":"3448:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3455:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3448:8:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7552,"name":"eta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7540,"src":"3463:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3448:18:34","trueExpression":{"hexValue":"30","id":7551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3459:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7538,"id":7554,"nodeType":"Return","src":"3441:25:34"}]},"documentation":{"id":7531,"nodeType":"StructuredDocumentation","src":"3189:77:34","text":" @dev Public accessor to check the eta of a queued proposal"},"functionSelector":"ab58fb8e","id":7556,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"3280:11:34","nodeType":"FunctionDefinition","overrides":{"id":7535,"nodeType":"OverrideSpecifier","overrides":[],"src":"3332:8:34"},"parameters":{"id":7534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7533,"mutability":"mutable","name":"proposalId","nameLocation":"3300:10:34","nodeType":"VariableDeclaration","scope":7556,"src":"3292:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7532,"name":"uint256","nodeType":"ElementaryTypeName","src":"3292:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3291:20:34"},"returnParameters":{"id":7538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7556,"src":"3350:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7536,"name":"uint256","nodeType":"ElementaryTypeName","src":"3350:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3349:9:34"},"scope":7767,"src":"3271:259:34","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8094],"body":{"id":7633,"nodeType":"Block","src":"3807:542:34","statements":[{"assignments":[7575],"declarations":[{"constant":false,"id":7575,"mutability":"mutable","name":"proposalId","nameLocation":"3825:10:34","nodeType":"VariableDeclaration","scope":7633,"src":"3817:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7574,"name":"uint256","nodeType":"ElementaryTypeName","src":"3817:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7582,"initialValue":{"arguments":[{"id":7577,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7560,"src":"3851:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7578,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7563,"src":"3860:6:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7579,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7566,"src":"3868:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7580,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7568,"src":"3879:15:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7576,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[3074],"referencedDeclaration":3074,"src":"3838:12:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":7581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3838:57:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3817:78:34"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"},"id":7589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7585,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"3920:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7584,"name":"state","nodeType":"Identifier","overloadedDeclarations":[7517],"referencedDeclaration":7517,"src":"3914:5:34","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$4158_$","typeString":"function (uint256) view returns (enum IGovernor.ProposalState)"}},"id":7586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3914:17:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":7587,"name":"ProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4158,"src":"3935:13:34","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$4158_$","typeString":"type(enum IGovernor.ProposalState)"}},"id":7588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":4154,"src":"3935:23:34","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$4158","typeString":"enum IGovernor.ProposalState"}},"src":"3914:44:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756c","id":7590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3960:35:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""},"value":"Governor: proposal not successful"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9","typeString":"literal_string \"Governor: proposal not successful\""}],"id":7583,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3906:7:34","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3906:90:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7592,"nodeType":"ExpressionStatement","src":"3906:90:34"},{"assignments":[7594],"declarations":[{"constant":false,"id":7594,"mutability":"mutable","name":"delay","nameLocation":"4015:5:34","nodeType":"VariableDeclaration","scope":7633,"src":"4007:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7593,"name":"uint256","nodeType":"ElementaryTypeName","src":"4007:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7598,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7595,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"4023:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getMinDelay","nodeType":"MemberAccess","referencedDeclaration":4782,"src":"4023:21:34","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":7597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4023:23:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4007:39:34"},{"expression":{"id":7610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":7599,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"4056:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7601,"indexExpression":{"id":7600,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"4069:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4056:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7604,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7560,"src":"4112:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7605,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7563,"src":"4121:6:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7606,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7566,"src":"4129:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":7607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4140:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":7608,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7568,"src":"4143:15:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7602,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"4083:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hashOperationBatch","nodeType":"MemberAccess","referencedDeclaration":4841,"src":"4083:28:34","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) pure external returns (bytes32)"}},"id":7609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4083:76:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4056:103:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7611,"nodeType":"ExpressionStatement","src":"4056:103:34"},{"expression":{"arguments":[{"id":7615,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7560,"src":"4193:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7616,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7563,"src":"4202:6:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7617,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7566,"src":"4210:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":7618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4221:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":7619,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7568,"src":"4224:15:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7620,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7594,"src":"4241:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7612,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"4169:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"scheduleBatch","nodeType":"MemberAccess","referencedDeclaration":4971,"src":"4169:23:34","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32,uint256) external"}},"id":7621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4169:78:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7622,"nodeType":"ExpressionStatement","src":"4169:78:34"},{"eventCall":{"arguments":[{"id":7624,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"4278:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7625,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4290:5:34","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":7626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"4290:15:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7627,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7594,"src":"4308:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4290:23:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7623,"name":"ProposalQueued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"4263:14:34","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":7629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4263:51:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7630,"nodeType":"EmitStatement","src":"4258:56:34"},{"expression":{"id":7631,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"4332:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7573,"id":7632,"nodeType":"Return","src":"4325:17:34"}]},"documentation":{"id":7557,"nodeType":"StructuredDocumentation","src":"3536:69:34","text":" @dev Function to queue a proposal to the timelock."},"functionSelector":"160cbed7","id":7634,"implemented":true,"kind":"function","modifiers":[],"name":"queue","nameLocation":"3619:5:34","nodeType":"FunctionDefinition","overrides":{"id":7570,"nodeType":"OverrideSpecifier","overrides":[],"src":"3780:8:34"},"parameters":{"id":7569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7560,"mutability":"mutable","name":"targets","nameLocation":"3651:7:34","nodeType":"VariableDeclaration","scope":7634,"src":"3634:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7558,"name":"address","nodeType":"ElementaryTypeName","src":"3634:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7559,"nodeType":"ArrayTypeName","src":"3634:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7563,"mutability":"mutable","name":"values","nameLocation":"3685:6:34","nodeType":"VariableDeclaration","scope":7634,"src":"3668:23:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7561,"name":"uint256","nodeType":"ElementaryTypeName","src":"3668:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7562,"nodeType":"ArrayTypeName","src":"3668:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7566,"mutability":"mutable","name":"calldatas","nameLocation":"3716:9:34","nodeType":"VariableDeclaration","scope":7634,"src":"3701:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7564,"name":"bytes","nodeType":"ElementaryTypeName","src":"3701:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7565,"nodeType":"ArrayTypeName","src":"3701:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7568,"mutability":"mutable","name":"descriptionHash","nameLocation":"3743:15:34","nodeType":"VariableDeclaration","scope":7634,"src":"3735:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3735:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3624:140:34"},"returnParameters":{"id":7573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7634,"src":"3798:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7571,"name":"uint256","nodeType":"ElementaryTypeName","src":"3798:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3797:9:34"},"scope":7767,"src":"3610:739:34","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[3546],"body":{"id":7665,"nodeType":"Block","src":"4688:105:34","statements":[{"expression":{"arguments":[{"id":7658,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7640,"src":"4739:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7659,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7643,"src":"4748:6:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7660,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7646,"src":"4756:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":7661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4767:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":7662,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7648,"src":"4770:15:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7652,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"4698:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"executeBatch","nodeType":"MemberAccess","referencedDeclaration":5185,"src":"4698:22:34","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":7657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":7655,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4728:3:34","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"4728:9:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4698:40:34","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$value","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":7663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4698:88:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7664,"nodeType":"ExpressionStatement","src":"4698:88:34"}]},"documentation":{"id":7635,"nodeType":"StructuredDocumentation","src":"4355:110:34","text":" @dev Overridden execute function that run the already queued proposal through the timelock."},"id":7666,"implemented":true,"kind":"function","modifiers":[],"name":"_execute","nameLocation":"4479:8:34","nodeType":"FunctionDefinition","overrides":{"id":7650,"nodeType":"OverrideSpecifier","overrides":[],"src":"4679:8:34"},"parameters":{"id":7649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7666,"src":"4497:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7636,"name":"uint256","nodeType":"ElementaryTypeName","src":"4497:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7640,"mutability":"mutable","name":"targets","nameLocation":"4548:7:34","nodeType":"VariableDeclaration","scope":7666,"src":"4531:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7638,"name":"address","nodeType":"ElementaryTypeName","src":"4531:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7639,"nodeType":"ArrayTypeName","src":"4531:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7643,"mutability":"mutable","name":"values","nameLocation":"4582:6:34","nodeType":"VariableDeclaration","scope":7666,"src":"4565:23:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7641,"name":"uint256","nodeType":"ElementaryTypeName","src":"4565:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7642,"nodeType":"ArrayTypeName","src":"4565:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7646,"mutability":"mutable","name":"calldatas","nameLocation":"4613:9:34","nodeType":"VariableDeclaration","scope":7666,"src":"4598:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7644,"name":"bytes","nodeType":"ElementaryTypeName","src":"4598:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7645,"nodeType":"ArrayTypeName","src":"4598:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7648,"mutability":"mutable","name":"descriptionHash","nameLocation":"4640:15:34","nodeType":"VariableDeclaration","scope":7666,"src":"4632:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4632:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4487:174:34"},"returnParameters":{"id":7651,"nodeType":"ParameterList","parameters":[],"src":"4688:0:34"},"scope":7767,"src":"4470:323:34","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3709],"body":{"id":7716,"nodeType":"Block","src":"5402:281:34","statements":[{"assignments":[7685],"declarations":[{"constant":false,"id":7685,"mutability":"mutable","name":"proposalId","nameLocation":"5420:10:34","nodeType":"VariableDeclaration","scope":7716,"src":"5412:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7684,"name":"uint256","nodeType":"ElementaryTypeName","src":"5412:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7693,"initialValue":{"arguments":[{"id":7688,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7670,"src":"5447:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7689,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7673,"src":"5456:6:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7690,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7676,"src":"5464:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7691,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7678,"src":"5475:15:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7686,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5433:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GovernorTimelockControl_$7767_$","typeString":"type(contract super GovernorTimelockControl)"}},"id":7687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_cancel","nodeType":"MemberAccess","referencedDeclaration":3709,"src":"5433:13:34","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":7692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5433:58:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5412:79:34"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":7694,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"5506:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7696,"indexExpression":{"id":7695,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7685,"src":"5519:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5506:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":7697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5534:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5506:29:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7713,"nodeType":"IfStatement","src":"5502:147:34","trueBody":{"id":7712,"nodeType":"Block","src":"5537:112:34","statements":[{"expression":{"arguments":[{"baseExpression":{"id":7702,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"5568:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7704,"indexExpression":{"id":7703,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7685,"src":"5581:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5568:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7699,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"5551:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"cancel","nodeType":"MemberAccess","referencedDeclaration":5031,"src":"5551:16:34","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":7705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5551:42:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7706,"nodeType":"ExpressionStatement","src":"5551:42:34"},{"expression":{"id":7710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5607:31:34","subExpression":{"baseExpression":{"id":7707,"name":"_timelockIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7407,"src":"5614:12:34","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":7709,"indexExpression":{"id":7708,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7685,"src":"5627:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5614:24:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7711,"nodeType":"ExpressionStatement","src":"5607:31:34"}]}},{"expression":{"id":7714,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7685,"src":"5666:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7683,"id":7715,"nodeType":"Return","src":"5659:17:34"}]},"documentation":{"id":7667,"nodeType":"StructuredDocumentation","src":"4799:148:34","text":" @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n been queued."},"id":7717,"implemented":true,"kind":"function","modifiers":[],"name":"_cancel","nameLocation":"5210:7:34","nodeType":"FunctionDefinition","overrides":{"id":7680,"nodeType":"OverrideSpecifier","overrides":[],"src":"5375:8:34"},"parameters":{"id":7679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7670,"mutability":"mutable","name":"targets","nameLocation":"5244:7:34","nodeType":"VariableDeclaration","scope":7717,"src":"5227:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7668,"name":"address","nodeType":"ElementaryTypeName","src":"5227:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7669,"nodeType":"ArrayTypeName","src":"5227:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7673,"mutability":"mutable","name":"values","nameLocation":"5278:6:34","nodeType":"VariableDeclaration","scope":7717,"src":"5261:23:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7671,"name":"uint256","nodeType":"ElementaryTypeName","src":"5261:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7672,"nodeType":"ArrayTypeName","src":"5261:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7676,"mutability":"mutable","name":"calldatas","nameLocation":"5309:9:34","nodeType":"VariableDeclaration","scope":7717,"src":"5294:24:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7674,"name":"bytes","nodeType":"ElementaryTypeName","src":"5294:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7675,"nodeType":"ArrayTypeName","src":"5294:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7678,"mutability":"mutable","name":"descriptionHash","nameLocation":"5336:15:34","nodeType":"VariableDeclaration","scope":7717,"src":"5328:23:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5328:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5217:140:34"},"returnParameters":{"id":7683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7717,"src":"5393:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7681,"name":"uint256","nodeType":"ElementaryTypeName","src":"5393:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5392:9:34"},"scope":7767,"src":"5201:482:34","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[4076],"body":{"id":7729,"nodeType":"Block","src":"5867:42:34","statements":[{"expression":{"arguments":[{"id":7726,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"5892:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5884:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7724,"name":"address","nodeType":"ElementaryTypeName","src":"5884:7:34","typeDescriptions":{}}},"id":7727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5884:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7723,"id":7728,"nodeType":"Return","src":"5877:25:34"}]},"documentation":{"id":7718,"nodeType":"StructuredDocumentation","src":"5689:103:34","text":" @dev Address through which the governor executes action. In this case, the timelock."},"id":7730,"implemented":true,"kind":"function","modifiers":[],"name":"_executor","nameLocation":"5806:9:34","nodeType":"FunctionDefinition","overrides":{"id":7720,"nodeType":"OverrideSpecifier","overrides":[],"src":"5840:8:34"},"parameters":{"id":7719,"nodeType":"ParameterList","parameters":[],"src":"5815:2:34"},"returnParameters":{"id":7723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7730,"src":"5858:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7721,"name":"address","nodeType":"ElementaryTypeName","src":"5858:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5857:9:34"},"scope":7767,"src":"5797:112:34","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":7743,"nodeType":"Block","src":"6335:45:34","statements":[{"expression":{"arguments":[{"id":7740,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7734,"src":"6361:11:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7739,"name":"_updateTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7766,"src":"6345:15:34","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_TimelockController_$5354_$returns$__$","typeString":"function (contract TimelockController)"}},"id":7741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6345:28:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7742,"nodeType":"ExpressionStatement","src":"6345:28:34"}]},"documentation":{"id":7731,"nodeType":"StructuredDocumentation","src":"5915:327:34","text":" @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n must be proposed, scheduled, and executed through governance proposals.\n CAUTION: It is not recommended to change the timelock while there are other queued governance proposals."},"functionSelector":"a890c910","id":7744,"implemented":true,"kind":"function","modifiers":[{"id":7737,"kind":"modifierInvocation","modifierName":{"id":7736,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"6320:14:34"},"nodeType":"ModifierInvocation","src":"6320:14:34"}],"name":"updateTimelock","nameLocation":"6256:14:34","nodeType":"FunctionDefinition","parameters":{"id":7735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7734,"mutability":"mutable","name":"newTimelock","nameLocation":"6290:11:34","nodeType":"VariableDeclaration","scope":7744,"src":"6271:30:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"},"typeName":{"id":7733,"nodeType":"UserDefinedTypeName","pathNode":{"id":7732,"name":"TimelockController","nodeType":"IdentifierPath","referencedDeclaration":5354,"src":"6271:18:34"},"referencedDeclaration":5354,"src":"6271:18:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"visibility":"internal"}],"src":"6270:32:34"},"returnParameters":{"id":7738,"nodeType":"ParameterList","parameters":[],"src":"6335:0:34"},"scope":7767,"src":"6247:133:34","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":7765,"nodeType":"Block","src":"6451:111:34","statements":[{"eventCall":{"arguments":[{"arguments":[{"id":7753,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"6489:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6481:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7751,"name":"address","nodeType":"ElementaryTypeName","src":"6481:7:34","typeDescriptions":{}}},"id":7754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6481:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":7757,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7747,"src":"6509:11:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}],"id":7756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6501:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7755,"name":"address","nodeType":"ElementaryTypeName","src":"6501:7:34","typeDescriptions":{}}},"id":7758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6501:20:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":7750,"name":"TimelockChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7414,"src":"6466:14:34","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":7759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:56:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7760,"nodeType":"EmitStatement","src":"6461:61:34"},{"expression":{"id":7763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7761,"name":"_timelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"6532:9:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7762,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7747,"src":"6544:11:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"src":"6532:23:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"id":7764,"nodeType":"ExpressionStatement","src":"6532:23:34"}]},"id":7766,"implemented":true,"kind":"function","modifiers":[],"name":"_updateTimelock","nameLocation":"6395:15:34","nodeType":"FunctionDefinition","parameters":{"id":7748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7747,"mutability":"mutable","name":"newTimelock","nameLocation":"6430:11:34","nodeType":"VariableDeclaration","scope":7766,"src":"6411:30:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"},"typeName":{"id":7746,"nodeType":"UserDefinedTypeName","pathNode":{"id":7745,"name":"TimelockController","nodeType":"IdentifierPath","referencedDeclaration":5354,"src":"6411:18:34"},"referencedDeclaration":5354,"src":"6411:18:34","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockController_$5354","typeString":"contract TimelockController"}},"visibility":"internal"}],"src":"6410:32:34"},"returnParameters":{"id":7749,"nodeType":"ParameterList","parameters":[],"src":"6451:0:34"},"scope":7767,"src":"6386:176:34","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":7768,"src":"1325:5239:34","usedErrors":[27829]}],"src":"133:6432:34"},"id":34},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorVotes":[7809],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":7810,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7769,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"123:23:35"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":7770,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7810,"sourceUnit":4144,"src":"148:25:35","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol","file":"../utils/IVotes.sol","id":7771,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7810,"sourceUnit":8174,"src":"174:29:35","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":7773,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"405:8:35"},"id":7774,"nodeType":"InheritanceSpecifier","src":"405:8:35"}],"canonicalName":"GovernorVotes","contractDependencies":[],"contractKind":"contract","documentation":{"id":7772,"nodeType":"StructuredDocumentation","src":"205:164:35","text":" @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\n _Available since v4.3._"},"fullyImplemented":false,"id":7809,"linearizedBaseContracts":[7809,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorVotes","nameLocation":"388:13:35","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"fc0c546a","id":7777,"mutability":"immutable","name":"token","nameLocation":"444:5:35","nodeType":"VariableDeclaration","scope":7809,"src":"420:29:35","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"},"typeName":{"id":7776,"nodeType":"UserDefinedTypeName","pathNode":{"id":7775,"name":"IVotes","nodeType":"IdentifierPath","referencedDeclaration":8173,"src":"420:6:35"},"referencedDeclaration":8173,"src":"420:6:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"visibility":"public"},{"body":{"id":7787,"nodeType":"Block","src":"489:37:35","statements":[{"expression":{"id":7785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7783,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7777,"src":"499:5:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7784,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7780,"src":"507:12:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"src":"499:20:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"id":7786,"nodeType":"ExpressionStatement","src":"499:20:35"}]},"id":7788,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7780,"mutability":"mutable","name":"tokenAddress","nameLocation":"475:12:35","nodeType":"VariableDeclaration","scope":7788,"src":"468:19:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"},"typeName":{"id":7779,"nodeType":"UserDefinedTypeName","pathNode":{"id":7778,"name":"IVotes","nodeType":"IdentifierPath","referencedDeclaration":8173,"src":"468:6:35"},"referencedDeclaration":8173,"src":"468:6:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"467:21:35"},"returnParameters":{"id":7782,"nodeType":"ParameterList","parameters":[],"src":"489:0:35"},"scope":7809,"src":"456:70:35","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[3232],"body":{"id":7807,"nodeType":"Block","src":"812:64:35","statements":[{"expression":{"arguments":[{"id":7803,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7791,"src":"848:7:35","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7804,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7793,"src":"857:11:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7801,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7777,"src":"829:5:35","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"id":7802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"829:18:35","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":7805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"829:40:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7800,"id":7806,"nodeType":"Return","src":"822:47:35"}]},"documentation":{"id":7789,"nodeType":"StructuredDocumentation","src":"532:114:35","text":" Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes})."},"id":7808,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"660:9:35","nodeType":"FunctionDefinition","overrides":{"id":7797,"nodeType":"OverrideSpecifier","overrides":[],"src":"785:8:35"},"parameters":{"id":7796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7791,"mutability":"mutable","name":"account","nameLocation":"687:7:35","nodeType":"VariableDeclaration","scope":7808,"src":"679:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7790,"name":"address","nodeType":"ElementaryTypeName","src":"679:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7793,"mutability":"mutable","name":"blockNumber","nameLocation":"712:11:35","nodeType":"VariableDeclaration","scope":7808,"src":"704:19:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7792,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7808,"src":"733:12:35","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7794,"name":"bytes","nodeType":"ElementaryTypeName","src":"733:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"669:93:35"},"returnParameters":{"id":7800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7808,"src":"803:7:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7798,"name":"uint256","nodeType":"ElementaryTypeName","src":"803:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"802:9:35"},"scope":7809,"src":"651:225:35","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":7810,"src":"370:508:35","usedErrors":[27829]}],"src":"123:756:35"},"id":35},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"Counters":[22355],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"ERC20":[13392],"ERC20Permit":[15932],"ERC20Votes":[14858],"ERC20VotesComp":[14914],"Governor":[4143],"GovernorVotesComp":[7851],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"IERC721Receiver":[17609],"IGovernor":[4440],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":7852,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7811,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"127:23:36"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/Governor.sol","file":"../Governor.sol","id":7812,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7852,"sourceUnit":4144,"src":"152:25:36","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol","file":"../../token/ERC20/extensions/ERC20VotesComp.sol","id":7813,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7852,"sourceUnit":14915,"src":"178:57:36","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":7815,"name":"Governor","nodeType":"IdentifierPath","referencedDeclaration":4143,"src":"394:8:36"},"id":7816,"nodeType":"InheritanceSpecifier","src":"394:8:36"}],"canonicalName":"GovernorVotesComp","contractDependencies":[],"contractKind":"contract","documentation":{"id":7814,"nodeType":"StructuredDocumentation","src":"237:117:36","text":" @dev Extension of {Governor} for voting weight extraction from a Comp token.\n _Available since v4.3._"},"fullyImplemented":false,"id":7851,"linearizedBaseContracts":[7851,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorVotesComp","nameLocation":"373:17:36","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"fc0c546a","id":7819,"mutability":"immutable","name":"token","nameLocation":"441:5:36","nodeType":"VariableDeclaration","scope":7851,"src":"409:37:36","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"},"typeName":{"id":7818,"nodeType":"UserDefinedTypeName","pathNode":{"id":7817,"name":"ERC20VotesComp","nodeType":"IdentifierPath","referencedDeclaration":14914,"src":"409:14:36"},"referencedDeclaration":14914,"src":"409:14:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"visibility":"public"},{"body":{"id":7829,"nodeType":"Block","src":"488:31:36","statements":[{"expression":{"id":7827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7825,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7819,"src":"498:5:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7826,"name":"token_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7822,"src":"506:6:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"src":"498:14:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"id":7828,"nodeType":"ExpressionStatement","src":"498:14:36"}]},"id":7830,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7822,"mutability":"mutable","name":"token_","nameLocation":"480:6:36","nodeType":"VariableDeclaration","scope":7830,"src":"465:21:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"},"typeName":{"id":7821,"nodeType":"UserDefinedTypeName","pathNode":{"id":7820,"name":"ERC20VotesComp","nodeType":"IdentifierPath","referencedDeclaration":14914,"src":"465:14:36"},"referencedDeclaration":14914,"src":"465:14:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"visibility":"internal"}],"src":"464:23:36"},"returnParameters":{"id":7824,"nodeType":"ParameterList","parameters":[],"src":"488:0:36"},"scope":7851,"src":"453:66:36","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[3232],"body":{"id":7849,"nodeType":"Block","src":"805:65:36","statements":[{"expression":{"arguments":[{"id":7845,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7833,"src":"842:7:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7846,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7835,"src":"851:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7843,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7819,"src":"822:5:36","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20VotesComp_$14914","typeString":"contract ERC20VotesComp"}},"id":7844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getPriorVotes","nodeType":"MemberAccess","referencedDeclaration":14899,"src":"822:19:36","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint96_$","typeString":"function (address,uint256) view external returns (uint96)"}},"id":7847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"822:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":7842,"id":7848,"nodeType":"Return","src":"815:48:36"}]},"documentation":{"id":7831,"nodeType":"StructuredDocumentation","src":"525:114:36","text":" Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes})."},"id":7850,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"653:9:36","nodeType":"FunctionDefinition","overrides":{"id":7839,"nodeType":"OverrideSpecifier","overrides":[],"src":"778:8:36"},"parameters":{"id":7838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7833,"mutability":"mutable","name":"account","nameLocation":"680:7:36","nodeType":"VariableDeclaration","scope":7850,"src":"672:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7832,"name":"address","nodeType":"ElementaryTypeName","src":"672:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7835,"mutability":"mutable","name":"blockNumber","nameLocation":"705:11:36","nodeType":"VariableDeclaration","scope":7850,"src":"697:19:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7834,"name":"uint256","nodeType":"ElementaryTypeName","src":"697:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7837,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7850,"src":"726:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7836,"name":"bytes","nodeType":"ElementaryTypeName","src":"726:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"662:93:36"},"returnParameters":{"id":7842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7850,"src":"796:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7840,"name":"uint256","nodeType":"ElementaryTypeName","src":"796:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"795:9:36"},"scope":7851,"src":"644:226:36","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":7852,"src":"355:517:36","usedErrors":[27829]}],"src":"127:746:36"},"id":36},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol","exportedSymbols":{"Address":[20688],"Checkpoints":[22259],"Context":[22281],"DoubleEndedQueue":[28163],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"Governor":[4143],"GovernorVotes":[7809],"GovernorVotesQuorumFraction":[8054],"IERC1155Receiver":[12145],"IERC165":[24693],"IERC721Receiver":[17609],"IGovernor":[4440],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Timers":[22940]},"id":8055,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7853,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"137:23:37"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol","file":"./GovernorVotes.sol","id":7854,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8055,"sourceUnit":7810,"src":"162:29:37","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Checkpoints.sol","file":"../../utils/Checkpoints.sol","id":7855,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8055,"sourceUnit":22260,"src":"192:37:37","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../../utils/math/SafeCast.sol","id":7856,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8055,"sourceUnit":27204,"src":"230:39:37","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":7858,"name":"GovernorVotes","nodeType":"IdentifierPath","referencedDeclaration":7809,"src":"507:13:37"},"id":7859,"nodeType":"InheritanceSpecifier","src":"507:13:37"}],"canonicalName":"GovernorVotesQuorumFraction","contractDependencies":[],"contractKind":"contract","documentation":{"id":7857,"nodeType":"StructuredDocumentation","src":"271:186:37","text":" @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n fraction of the total supply.\n _Available since v4.3._"},"fullyImplemented":false,"id":8054,"linearizedBaseContracts":[8054,7809,4143,12145,17609,4440,23455,24377,24693,22281],"name":"GovernorVotesQuorumFraction","nameLocation":"476:27:37","nodeType":"ContractDefinition","nodes":[{"id":7863,"libraryName":{"id":7860,"name":"Checkpoints","nodeType":"IdentifierPath","referencedDeclaration":22259,"src":"533:11:37"},"nodeType":"UsingForDirective","src":"527:42:37","typeName":{"id":7862,"nodeType":"UserDefinedTypeName","pathNode":{"id":7861,"name":"Checkpoints.History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"549:19:37"},"referencedDeclaration":20901,"src":"549:19:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}}},{"constant":false,"id":7865,"mutability":"mutable","name":"_quorumNumerator","nameLocation":"591:16:37","nodeType":"VariableDeclaration","scope":8054,"src":"575:32:37","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7864,"name":"uint256","nodeType":"ElementaryTypeName","src":"575:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":7868,"mutability":"mutable","name":"_quorumNumeratorHistory","nameLocation":"655:23:37","nodeType":"VariableDeclaration","scope":8054,"src":"627:51:37","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History"},"typeName":{"id":7867,"nodeType":"UserDefinedTypeName","pathNode":{"id":7866,"name":"Checkpoints.History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"627:19:37"},"referencedDeclaration":20901,"src":"627:19:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"private"},{"anonymous":false,"id":7874,"name":"QuorumNumeratorUpdated","nameLocation":"691:22:37","nodeType":"EventDefinition","parameters":{"id":7873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7870,"indexed":false,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"722:18:37","nodeType":"VariableDeclaration","scope":7874,"src":"714:26:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7869,"name":"uint256","nodeType":"ElementaryTypeName","src":"714:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7872,"indexed":false,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"750:18:37","nodeType":"VariableDeclaration","scope":7874,"src":"742:26:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7871,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"713:56:37"},"src":"685:85:37"},{"body":{"id":7884,"nodeType":"Block","src":"1199:61:37","statements":[{"expression":{"arguments":[{"id":7881,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7877,"src":"1232:20:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7880,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8053,"src":"1209:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":7882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1209:44:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7883,"nodeType":"ExpressionStatement","src":"1209:44:37"}]},"documentation":{"id":7875,"nodeType":"StructuredDocumentation","src":"776:376:37","text":" @dev Initialize quorum as a fraction of the token's total supply.\n The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n customized by overriding {quorumDenominator}."},"id":7885,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7877,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"1177:20:37","nodeType":"VariableDeclaration","scope":7885,"src":"1169:28:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1168:30:37"},"returnParameters":{"id":7879,"nodeType":"ParameterList","parameters":[],"src":"1199:0:37"},"scope":8054,"src":"1157:103:37","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":7902,"nodeType":"Block","src":"1422:126:37","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":7891,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"1439:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":7892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"1439:36:37","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":7893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1439:43:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1486:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1439:48:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7897,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"1509:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":7898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":21155,"src":"1509:30:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$returns$_t_uint224_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":7899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1509:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":7900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1439:102:37","trueExpression":{"id":7896,"name":"_quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7865,"src":"1490:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7890,"id":7901,"nodeType":"Return","src":"1432:109:37"}]},"documentation":{"id":7886,"nodeType":"StructuredDocumentation","src":"1266:86:37","text":" @dev Returns the current quorum numerator. See {quorumDenominator}."},"functionSelector":"a7713a70","id":7903,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"1366:15:37","nodeType":"FunctionDefinition","parameters":{"id":7887,"nodeType":"ParameterList","parameters":[],"src":"1381:2:37"},"returnParameters":{"id":7890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7903,"src":"1413:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7888,"name":"uint256","nodeType":"ElementaryTypeName","src":"1413:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1412:9:37"},"scope":8054,"src":"1357:191:37","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":7950,"nodeType":"Block","src":"1748:565:37","statements":[{"assignments":[7912],"declarations":[{"constant":false,"id":7912,"mutability":"mutable","name":"length","nameLocation":"1822:6:37","nodeType":"VariableDeclaration","scope":7950,"src":"1814:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7911,"name":"uint256","nodeType":"ElementaryTypeName","src":"1814:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7916,"initialValue":{"expression":{"expression":{"id":7913,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"1831:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":7914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"1831:36:37","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":7915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1831:43:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1814:60:37"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7917,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"1888:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1898:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1888:11:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7923,"nodeType":"IfStatement","src":"1884:65:37","trueBody":{"id":7922,"nodeType":"Block","src":"1901:48:37","statements":[{"expression":{"id":7920,"name":"_quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7865,"src":"1922:16:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7910,"id":7921,"nodeType":"Return","src":"1915:23:37"}]}},{"assignments":[7928],"declarations":[{"constant":false,"id":7928,"mutability":"mutable","name":"latest","nameLocation":"2047:6:37","nodeType":"VariableDeclaration","scope":7950,"src":"2017:36:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":7927,"nodeType":"UserDefinedTypeName","pathNode":{"id":7926,"name":"Checkpoints.Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"2017:22:37"},"referencedDeclaration":20906,"src":"2017:22:37","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"id":7935,"initialValue":{"baseExpression":{"expression":{"id":7929,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"2056:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":7930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2056:36:37","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":7934,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7931,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"2093:6:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":7932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2102:1:37","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2093:10:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2056:48:37","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage","typeString":"struct Checkpoints.Checkpoint storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2017:87:37"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7936,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7928,"src":"2118:6:37","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":7937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"2118:19:37","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":7938,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7906,"src":"2141:11:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2118:34:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7944,"nodeType":"IfStatement","src":"2114:85:37","trueBody":{"id":7943,"nodeType":"Block","src":"2154:45:37","statements":[{"expression":{"expression":{"id":7940,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7928,"src":"2175:6:37","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":7941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"2175:13:37","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":7910,"id":7942,"nodeType":"Return","src":"2168:20:37"}]}},{"expression":{"arguments":[{"id":7947,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7906,"src":"2294:11:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7945,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"2259:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":7946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAtBlock","nodeType":"MemberAccess","referencedDeclaration":20963,"src":"2259:34:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)"}},"id":7948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2259:47:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7910,"id":7949,"nodeType":"Return","src":"2252:54:37"}]},"documentation":{"id":7904,"nodeType":"StructuredDocumentation","src":"1554:105:37","text":" @dev Returns the quorum numerator at a specific block number. See {quorumDenominator}."},"functionSelector":"60c4247f","id":7951,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"1673:15:37","nodeType":"FunctionDefinition","parameters":{"id":7907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7906,"mutability":"mutable","name":"blockNumber","nameLocation":"1697:11:37","nodeType":"VariableDeclaration","scope":7951,"src":"1689:19:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7905,"name":"uint256","nodeType":"ElementaryTypeName","src":"1689:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1688:21:37"},"returnParameters":{"id":7910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7951,"src":"1739:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7908,"name":"uint256","nodeType":"ElementaryTypeName","src":"1739:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1738:9:37"},"scope":8054,"src":"1664:649:37","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":7959,"nodeType":"Block","src":"2486:27:37","statements":[{"expression":{"hexValue":"313030","id":7957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2503:3:37","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":7956,"id":7958,"nodeType":"Return","src":"2496:10:37"}]},"documentation":{"id":7952,"nodeType":"StructuredDocumentation","src":"2319:95:37","text":" @dev Returns the quorum denominator. Defaults to 100, but may be overridden."},"functionSelector":"97c3d334","id":7960,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"2428:17:37","nodeType":"FunctionDefinition","parameters":{"id":7953,"nodeType":"ParameterList","parameters":[],"src":"2445:2:37"},"returnParameters":{"id":7956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7960,"src":"2477:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7954,"name":"uint256","nodeType":"ElementaryTypeName","src":"2477:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2476:9:37"},"scope":8054,"src":"2419:94:37","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4301],"body":{"id":7982,"nodeType":"Block","src":"2735:116:37","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7971,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7963,"src":"2778:11:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7969,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7777,"src":"2753:5:37","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$8173","typeString":"contract IVotes"}},"id":7970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":8142,"src":"2753:24:37","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":7972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2753:37:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":7974,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7963,"src":"2809:11:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7973,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[7903,7951],"referencedDeclaration":7951,"src":"2793:15:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":7975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2793:28:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2753:68:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7977,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2752:70:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":7978,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7960,"src":"2825:17:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":7979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2825:19:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2752:92:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7968,"id":7981,"nodeType":"Return","src":"2745:99:37"}]},"documentation":{"id":7961,"nodeType":"StructuredDocumentation","src":"2519:127:37","text":" @dev Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`."},"functionSelector":"f8ce560a","id":7983,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"2660:6:37","nodeType":"FunctionDefinition","overrides":{"id":7965,"nodeType":"OverrideSpecifier","overrides":[],"src":"2708:8:37"},"parameters":{"id":7964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7963,"mutability":"mutable","name":"blockNumber","nameLocation":"2675:11:37","nodeType":"VariableDeclaration","scope":7983,"src":"2667:19:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7962,"name":"uint256","nodeType":"ElementaryTypeName","src":"2667:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2666:21:37"},"returnParameters":{"id":7968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7983,"src":"2726:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2726:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2725:9:37"},"scope":8054,"src":"2651:200:37","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":7995,"nodeType":"Block","src":"3218:59:37","statements":[{"expression":{"arguments":[{"id":7992,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7986,"src":"3251:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7991,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8053,"src":"3228:22:37","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":7993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3228:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7994,"nodeType":"ExpressionStatement","src":"3228:42:37"}]},"documentation":{"id":7984,"nodeType":"StructuredDocumentation","src":"2857:265:37","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - Must be called through a governance proposal.\n - New numerator must be smaller or equal to the denominator."},"functionSelector":"06f3f9e6","id":7996,"implemented":true,"kind":"function","modifiers":[{"id":7989,"kind":"modifierInvocation","modifierName":{"id":7988,"name":"onlyGovernance","nodeType":"IdentifierPath","referencedDeclaration":2940,"src":"3203:14:37"},"nodeType":"ModifierInvocation","src":"3203:14:37"}],"name":"updateQuorumNumerator","nameLocation":"3136:21:37","nodeType":"FunctionDefinition","parameters":{"id":7987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7986,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"3166:18:37","nodeType":"VariableDeclaration","scope":7996,"src":"3158:26:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7985,"name":"uint256","nodeType":"ElementaryTypeName","src":"3158:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3157:28:37"},"returnParameters":{"id":7990,"nodeType":"ParameterList","parameters":[],"src":"3218:0:37"},"scope":8054,"src":"3127:150:37","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":8052,"nodeType":"Block","src":"3575:810:37","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8003,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7999,"src":"3606:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":8004,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7960,"src":"3628:17:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":8005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3628:19:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3606:41:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e61746f72","id":8007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3661:69:37","typeDescriptions":{"typeIdentifier":"t_stringliteral_0687f8064c09ccf183090b5092c4485c730072a161487645a7e37b56cef356bb","typeString":"literal_string \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\""},"value":"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0687f8064c09ccf183090b5092c4485c730072a161487645a7e37b56cef356bb","typeString":"literal_string \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\""}],"id":8002,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3585:7:37","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3585:155:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8009,"nodeType":"ExpressionStatement","src":"3585:155:37"},{"assignments":[8011],"declarations":[{"constant":false,"id":8011,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"3759:18:37","nodeType":"VariableDeclaration","scope":8052,"src":"3751:26:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8010,"name":"uint256","nodeType":"ElementaryTypeName","src":"3751:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8014,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":8012,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[7903,7951],"referencedDeclaration":7903,"src":"3780:15:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":8013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:17:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3751:46:37"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8015,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8011,"src":"3931:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3953:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3931:23:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":8018,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"3958:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"3958:36:37","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":8020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3958:43:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4005:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3958:48:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3931:75:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8040,"nodeType":"IfStatement","src":"3927:268:37","trueBody":{"id":8039,"nodeType":"Block","src":"4008:187:37","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":8031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4119:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":8034,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8011,"src":"4149:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8032,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"4130:8:37","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":8033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":25765,"src":"4130:18:37","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":8035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4130:38:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"expression":{"id":8029,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22259,"src":"4081:11:37","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Checkpoints_$22259_$","typeString":"type(library Checkpoints)"}},"id":8030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Checkpoint","nodeType":"MemberAccess","referencedDeclaration":20906,"src":"4081:22:37","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint storage pointer)"}},"id":8036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_blockNumber","_value"],"nodeType":"FunctionCall","src":"4081:89:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}],"expression":{"expression":{"id":8024,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"4022:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"4022:36:37","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":8028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"4022:41:37","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$20906_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)"}},"id":8037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4022:162:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8038,"nodeType":"ExpressionStatement","src":"4022:162:37"}]}},{"expression":{"arguments":[{"id":8044,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7999,"src":"4281:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8041,"name":"_quorumNumeratorHistory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7868,"src":"4252:23:37","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21091,"src":"4252:28:37","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) returns (uint256,uint256)"}},"id":8045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4252:48:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":8046,"nodeType":"ExpressionStatement","src":"4252:48:37"},{"eventCall":{"arguments":[{"id":8048,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8011,"src":"4339:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8049,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7999,"src":"4359:18:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8047,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7874,"src":"4316:22:37","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":8050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4316:62:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8051,"nodeType":"EmitStatement","src":"4311:67:37"}]},"documentation":{"id":7997,"nodeType":"StructuredDocumentation","src":"3283:210:37","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator."},"id":8053,"implemented":true,"kind":"function","modifiers":[],"name":"_updateQuorumNumerator","nameLocation":"3507:22:37","nodeType":"FunctionDefinition","parameters":{"id":8000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7999,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"3538:18:37","nodeType":"VariableDeclaration","scope":8053,"src":"3530:26:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7998,"name":"uint256","nodeType":"ElementaryTypeName","src":"3530:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3529:28:37"},"returnParameters":{"id":8001,"nodeType":"ParameterList","parameters":[],"src":"3575:0:37"},"scope":8054,"src":"3498:887:37","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":8055,"src":"458:3929:37","usedErrors":[27829]}],"src":"137:4251:37"},"id":37},"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol","exportedSymbols":{"ERC165":[24377],"IERC165":[24693],"IGovernor":[4440],"IGovernorTimelock":[8095]},"id":8096,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8056,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:38"},{"absolutePath":"contracts/@openzeppelin/contracts/governance/IGovernor.sol","file":"../IGovernor.sol","id":8057,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8096,"sourceUnit":4441,"src":"137:26:38","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":8059,"name":"IGovernor","nodeType":"IdentifierPath","referencedDeclaration":4440,"src":"312:9:38"},"id":8060,"nodeType":"InheritanceSpecifier","src":"312:9:38"}],"canonicalName":"IGovernorTimelock","contractDependencies":[],"contractKind":"contract","documentation":{"id":8058,"nodeType":"StructuredDocumentation","src":"165:107:38","text":" @dev Extension of the {IGovernor} for timelock supporting modules.\n _Available since v4.3._"},"fullyImplemented":false,"id":8095,"linearizedBaseContracts":[8095,4440,24693],"name":"IGovernorTimelock","nameLocation":"291:17:38","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":8066,"name":"ProposalQueued","nameLocation":"334:14:38","nodeType":"EventDefinition","parameters":{"id":8065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8062,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"357:10:38","nodeType":"VariableDeclaration","scope":8066,"src":"349:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8061,"name":"uint256","nodeType":"ElementaryTypeName","src":"349:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8064,"indexed":false,"mutability":"mutable","name":"eta","nameLocation":"377:3:38","nodeType":"VariableDeclaration","scope":8066,"src":"369:11:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8063,"name":"uint256","nodeType":"ElementaryTypeName","src":"369:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"348:33:38"},"src":"328:54:38"},{"functionSelector":"d33219b4","id":8071,"implemented":false,"kind":"function","modifiers":[],"name":"timelock","nameLocation":"397:8:38","nodeType":"FunctionDefinition","parameters":{"id":8067,"nodeType":"ParameterList","parameters":[],"src":"405:2:38"},"returnParameters":{"id":8070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8071,"src":"437:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8068,"name":"address","nodeType":"ElementaryTypeName","src":"437:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"436:9:38"},"scope":8095,"src":"388:58:38","stateMutability":"view","virtual":true,"visibility":"public"},{"functionSelector":"ab58fb8e","id":8078,"implemented":false,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"461:11:38","nodeType":"FunctionDefinition","parameters":{"id":8074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8073,"mutability":"mutable","name":"proposalId","nameLocation":"481:10:38","nodeType":"VariableDeclaration","scope":8078,"src":"473:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8072,"name":"uint256","nodeType":"ElementaryTypeName","src":"473:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"472:20:38"},"returnParameters":{"id":8077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8078,"src":"522:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8075,"name":"uint256","nodeType":"ElementaryTypeName","src":"522:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"521:9:38"},"scope":8095,"src":"452:79:38","stateMutability":"view","virtual":true,"visibility":"public"},{"functionSelector":"160cbed7","id":8094,"implemented":false,"kind":"function","modifiers":[],"name":"queue","nameLocation":"546:5:38","nodeType":"FunctionDefinition","parameters":{"id":8090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8081,"mutability":"mutable","name":"targets","nameLocation":"578:7:38","nodeType":"VariableDeclaration","scope":8094,"src":"561:24:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":8079,"name":"address","nodeType":"ElementaryTypeName","src":"561:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8080,"nodeType":"ArrayTypeName","src":"561:9:38","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":8084,"mutability":"mutable","name":"values","nameLocation":"612:6:38","nodeType":"VariableDeclaration","scope":8094,"src":"595:23:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":8082,"name":"uint256","nodeType":"ElementaryTypeName","src":"595:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8083,"nodeType":"ArrayTypeName","src":"595:9:38","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":8087,"mutability":"mutable","name":"calldatas","nameLocation":"643:9:38","nodeType":"VariableDeclaration","scope":8094,"src":"628:24:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8085,"name":"bytes","nodeType":"ElementaryTypeName","src":"628:5:38","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8086,"nodeType":"ArrayTypeName","src":"628:7:38","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":8089,"mutability":"mutable","name":"descriptionHash","nameLocation":"670:15:38","nodeType":"VariableDeclaration","scope":8094,"src":"662:23:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"662:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"551:140:38"},"returnParameters":{"id":8093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8092,"mutability":"mutable","name":"proposalId","nameLocation":"724:10:38","nodeType":"VariableDeclaration","scope":8094,"src":"716:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8091,"name":"uint256","nodeType":"ElementaryTypeName","src":"716:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"715:20:38"},"scope":8095,"src":"537:199:38","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":8096,"src":"273:465:38","usedErrors":[]}],"src":"112:627:38"},"id":38},"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol","exportedSymbols":{"IVotes":[8173]},"id":8174,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8097,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"110:23:39"},{"abstract":false,"baseContracts":[],"canonicalName":"IVotes","contractDependencies":[],"contractKind":"interface","documentation":{"id":8098,"nodeType":"StructuredDocumentation","src":"135:132:39","text":" @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n _Available since v4.5._"},"fullyImplemented":false,"id":8173,"linearizedBaseContracts":[8173],"name":"IVotes","nameLocation":"278:6:39","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":8099,"nodeType":"StructuredDocumentation","src":"291:71:39","text":" @dev Emitted when an account changes their delegate."},"id":8107,"name":"DelegateChanged","nameLocation":"373:15:39","nodeType":"EventDefinition","parameters":{"id":8106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8101,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"405:9:39","nodeType":"VariableDeclaration","scope":8107,"src":"389:25:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8100,"name":"address","nodeType":"ElementaryTypeName","src":"389:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8103,"indexed":true,"mutability":"mutable","name":"fromDelegate","nameLocation":"432:12:39","nodeType":"VariableDeclaration","scope":8107,"src":"416:28:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8102,"name":"address","nodeType":"ElementaryTypeName","src":"416:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8105,"indexed":true,"mutability":"mutable","name":"toDelegate","nameLocation":"462:10:39","nodeType":"VariableDeclaration","scope":8107,"src":"446:26:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8104,"name":"address","nodeType":"ElementaryTypeName","src":"446:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"388:85:39"},"src":"367:107:39"},{"anonymous":false,"documentation":{"id":8108,"nodeType":"StructuredDocumentation","src":"480:124:39","text":" @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes."},"id":8116,"name":"DelegateVotesChanged","nameLocation":"615:20:39","nodeType":"EventDefinition","parameters":{"id":8115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8110,"indexed":true,"mutability":"mutable","name":"delegate","nameLocation":"652:8:39","nodeType":"VariableDeclaration","scope":8116,"src":"636:24:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8109,"name":"address","nodeType":"ElementaryTypeName","src":"636:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8112,"indexed":false,"mutability":"mutable","name":"previousBalance","nameLocation":"670:15:39","nodeType":"VariableDeclaration","scope":8116,"src":"662:23:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8111,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8114,"indexed":false,"mutability":"mutable","name":"newBalance","nameLocation":"695:10:39","nodeType":"VariableDeclaration","scope":8116,"src":"687:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8113,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"635:71:39"},"src":"609:98:39"},{"documentation":{"id":8117,"nodeType":"StructuredDocumentation","src":"713:79:39","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","id":8124,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"806:8:39","nodeType":"FunctionDefinition","parameters":{"id":8120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8119,"mutability":"mutable","name":"account","nameLocation":"823:7:39","nodeType":"VariableDeclaration","scope":8124,"src":"815:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8118,"name":"address","nodeType":"ElementaryTypeName","src":"815:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"814:17:39"},"returnParameters":{"id":8123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8124,"src":"855:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8121,"name":"uint256","nodeType":"ElementaryTypeName","src":"855:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"854:9:39"},"scope":8173,"src":"797:67:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8125,"nodeType":"StructuredDocumentation","src":"870:114:39","text":" @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`)."},"functionSelector":"3a46b1a8","id":8134,"implemented":false,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"998:12:39","nodeType":"FunctionDefinition","parameters":{"id":8130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8127,"mutability":"mutable","name":"account","nameLocation":"1019:7:39","nodeType":"VariableDeclaration","scope":8134,"src":"1011:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8126,"name":"address","nodeType":"ElementaryTypeName","src":"1011:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8129,"mutability":"mutable","name":"blockNumber","nameLocation":"1036:11:39","nodeType":"VariableDeclaration","scope":8134,"src":"1028:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8128,"name":"uint256","nodeType":"ElementaryTypeName","src":"1028:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1010:38:39"},"returnParameters":{"id":8133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8134,"src":"1072:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8131,"name":"uint256","nodeType":"ElementaryTypeName","src":"1072:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1071:9:39"},"scope":8173,"src":"989:92:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8135,"nodeType":"StructuredDocumentation","src":"1087:365:39","text":" @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote."},"functionSelector":"8e539e8c","id":8142,"implemented":false,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"1466:18:39","nodeType":"FunctionDefinition","parameters":{"id":8138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8137,"mutability":"mutable","name":"blockNumber","nameLocation":"1493:11:39","nodeType":"VariableDeclaration","scope":8142,"src":"1485:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8136,"name":"uint256","nodeType":"ElementaryTypeName","src":"1485:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1484:21:39"},"returnParameters":{"id":8141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8142,"src":"1529:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8139,"name":"uint256","nodeType":"ElementaryTypeName","src":"1529:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1528:9:39"},"scope":8173,"src":"1457:81:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8143,"nodeType":"StructuredDocumentation","src":"1544:71:39","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","id":8150,"implemented":false,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"1629:9:39","nodeType":"FunctionDefinition","parameters":{"id":8146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8145,"mutability":"mutable","name":"account","nameLocation":"1647:7:39","nodeType":"VariableDeclaration","scope":8150,"src":"1639:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8144,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1638:17:39"},"returnParameters":{"id":8149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8150,"src":"1679:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8147,"name":"address","nodeType":"ElementaryTypeName","src":"1679:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1678:9:39"},"scope":8173,"src":"1620:68:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8151,"nodeType":"StructuredDocumentation","src":"1694:71:39","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","id":8156,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"1779:8:39","nodeType":"FunctionDefinition","parameters":{"id":8154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8153,"mutability":"mutable","name":"delegatee","nameLocation":"1796:9:39","nodeType":"VariableDeclaration","scope":8156,"src":"1788:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8152,"name":"address","nodeType":"ElementaryTypeName","src":"1788:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1787:19:39"},"returnParameters":{"id":8155,"nodeType":"ParameterList","parameters":[],"src":"1815:0:39"},"scope":8173,"src":"1770:46:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8157,"nodeType":"StructuredDocumentation","src":"1822:67:39","text":" @dev Delegates votes from signer to `delegatee`."},"functionSelector":"c3cda520","id":8172,"implemented":false,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"1903:13:39","nodeType":"FunctionDefinition","parameters":{"id":8170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8159,"mutability":"mutable","name":"delegatee","nameLocation":"1934:9:39","nodeType":"VariableDeclaration","scope":8172,"src":"1926:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8158,"name":"address","nodeType":"ElementaryTypeName","src":"1926:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8161,"mutability":"mutable","name":"nonce","nameLocation":"1961:5:39","nodeType":"VariableDeclaration","scope":8172,"src":"1953:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8160,"name":"uint256","nodeType":"ElementaryTypeName","src":"1953:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8163,"mutability":"mutable","name":"expiry","nameLocation":"1984:6:39","nodeType":"VariableDeclaration","scope":8172,"src":"1976:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8162,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8165,"mutability":"mutable","name":"v","nameLocation":"2006:1:39","nodeType":"VariableDeclaration","scope":8172,"src":"2000:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8164,"name":"uint8","nodeType":"ElementaryTypeName","src":"2000:5:39","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8167,"mutability":"mutable","name":"r","nameLocation":"2025:1:39","nodeType":"VariableDeclaration","scope":8172,"src":"2017:9:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2017:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8169,"mutability":"mutable","name":"s","nameLocation":"2044:1:39","nodeType":"VariableDeclaration","scope":8172,"src":"2036:9:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2036:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1916:135:39"},"returnParameters":{"id":8171,"nodeType":"ParameterList","parameters":[],"src":"2060:0:39"},"scope":8173,"src":"1894:167:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8174,"src":"268:1795:39","usedErrors":[]}],"src":"110:1954:39"},"id":39},"contracts/@openzeppelin/contracts/governance/utils/Votes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/Votes.sol","exportedSymbols":{"Checkpoints":[22259],"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Votes":[8627]},"id":8628,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8175,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:40"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":8176,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8628,"sourceUnit":22282,"src":"134:33:40","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Counters.sol","file":"../../utils/Counters.sol","id":8177,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8628,"sourceUnit":22356,"src":"168:34:40","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Checkpoints.sol","file":"../../utils/Checkpoints.sol","id":8178,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8628,"sourceUnit":22260,"src":"203:37:40","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"../../utils/cryptography/EIP712.sol","id":8179,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8628,"sourceUnit":23456,"src":"241:45:40","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol","file":"./IVotes.sol","id":8180,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8628,"sourceUnit":8174,"src":"287:22:40","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":8182,"name":"IVotes","nodeType":"IdentifierPath","referencedDeclaration":8173,"src":"1697:6:40"},"id":8183,"nodeType":"InheritanceSpecifier","src":"1697:6:40"},{"baseName":{"id":8184,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1705:7:40"},"id":8185,"nodeType":"InheritanceSpecifier","src":"1705:7:40"},{"baseName":{"id":8186,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"1714:6:40"},"id":8187,"nodeType":"InheritanceSpecifier","src":"1714:6:40"}],"canonicalName":"Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":8181,"nodeType":"StructuredDocumentation","src":"311:1358:40","text":" @dev This is a base abstract contract that tracks voting units, which are a measure of voting power that can be\n transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of\n \"representative\" that will pool delegated voting units from different accounts and can then use it to vote in\n decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to\n delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative.\n This contract is often combined with a token contract such that voting units correspond to token units. For an\n example, see {ERC721Votes}.\n The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed\n at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the\n cost of this history tracking optional.\n When using this module the derived contract must implement {_getVotingUnits} (for example, make it return\n {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the\n previous example, it would be included in {ERC721-_beforeTokenTransfer}).\n _Available since v4.5._"},"fullyImplemented":false,"id":8627,"linearizedBaseContracts":[8627,23455,22281,8173],"name":"Votes","nameLocation":"1688:5:40","nodeType":"ContractDefinition","nodes":[{"id":8191,"libraryName":{"id":8188,"name":"Checkpoints","nodeType":"IdentifierPath","referencedDeclaration":22259,"src":"1733:11:40"},"nodeType":"UsingForDirective","src":"1727:42:40","typeName":{"id":8190,"nodeType":"UserDefinedTypeName","pathNode":{"id":8189,"name":"Checkpoints.History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"1749:19:40"},"referencedDeclaration":20901,"src":"1749:19:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}}},{"id":8195,"libraryName":{"id":8192,"name":"Counters","nodeType":"IdentifierPath","referencedDeclaration":22355,"src":"1780:8:40"},"nodeType":"UsingForDirective","src":"1774:36:40","typeName":{"id":8194,"nodeType":"UserDefinedTypeName","pathNode":{"id":8193,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"1793:16:40"},"referencedDeclaration":22287,"src":"1793:16:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},{"constant":true,"id":8200,"mutability":"constant","name":"_DELEGATION_TYPEHASH","nameLocation":"1841:20:40","nodeType":"VariableDeclaration","scope":8627,"src":"1816:127:40","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1816:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"44656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929","id":8198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1882:60:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""},"value":"Delegation(address delegatee,uint256 nonce,uint256 expiry)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""}],"id":8197,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1872:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1872:71:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":8204,"mutability":"mutable","name":"_delegation","nameLocation":"1986:11:40","nodeType":"VariableDeclaration","scope":8627,"src":"1950:47:40","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":8203,"keyType":{"id":8201,"name":"address","nodeType":"ElementaryTypeName","src":"1958:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1950:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueType":{"id":8202,"name":"address","nodeType":"ElementaryTypeName","src":"1969:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":8209,"mutability":"mutable","name":"_delegateCheckpoints","nameLocation":"2051:20:40","nodeType":"VariableDeclaration","scope":8627,"src":"2003:68:40","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History)"},"typeName":{"id":8208,"keyType":{"id":8205,"name":"address","nodeType":"ElementaryTypeName","src":"2011:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2003:39:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History)"},"valueType":{"id":8207,"nodeType":"UserDefinedTypeName","pathNode":{"id":8206,"name":"Checkpoints.History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"2022:19:40"},"referencedDeclaration":20901,"src":"2022:19:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}}},"visibility":"private"},{"constant":false,"id":8212,"mutability":"mutable","name":"_totalCheckpoints","nameLocation":"2105:17:40","nodeType":"VariableDeclaration","scope":8627,"src":"2077:45:40","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History"},"typeName":{"id":8211,"nodeType":"UserDefinedTypeName","pathNode":{"id":8210,"name":"Checkpoints.History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"2077:19:40"},"referencedDeclaration":20901,"src":"2077:19:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"private"},{"constant":false,"id":8217,"mutability":"mutable","name":"_nonces","nameLocation":"2174:7:40","nodeType":"VariableDeclaration","scope":8627,"src":"2129:52:40","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"typeName":{"id":8216,"keyType":{"id":8213,"name":"address","nodeType":"ElementaryTypeName","src":"2137:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2129:36:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"valueType":{"id":8215,"nodeType":"UserDefinedTypeName","pathNode":{"id":8214,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"2148:16:40"},"referencedDeclaration":22287,"src":"2148:16:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},"visibility":"private"},{"baseFunctions":[8124],"body":{"id":8232,"nodeType":"Block","src":"2354:62:40","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":8226,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8209,"src":"2371:20:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":8228,"indexExpression":{"id":8227,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8220,"src":"2392:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2371:29:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":21155,"src":"2371:36:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$returns$_t_uint224_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":8230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2371:38:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":8225,"id":8231,"nodeType":"Return","src":"2364:45:40"}]},"documentation":{"id":8218,"nodeType":"StructuredDocumentation","src":"2188:79:40","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","id":8233,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"2281:8:40","nodeType":"FunctionDefinition","overrides":{"id":8222,"nodeType":"OverrideSpecifier","overrides":[],"src":"2327:8:40"},"parameters":{"id":8221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8220,"mutability":"mutable","name":"account","nameLocation":"2298:7:40","nodeType":"VariableDeclaration","scope":8233,"src":"2290:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8219,"name":"address","nodeType":"ElementaryTypeName","src":"2290:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2289:17:40"},"returnParameters":{"id":8225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8233,"src":"2345:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8223,"name":"uint256","nodeType":"ElementaryTypeName","src":"2345:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2344:9:40"},"scope":8627,"src":"2272:144:40","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8134],"body":{"id":8251,"nodeType":"Block","src":"2735:91:40","statements":[{"expression":{"arguments":[{"id":8248,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"2807:11:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":8244,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8209,"src":"2752:20:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":8246,"indexExpression":{"id":8245,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8236,"src":"2773:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2752:29:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAtProbablyRecentBlock","nodeType":"MemberAccess","referencedDeclaration":21063,"src":"2752:54:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)"}},"id":8249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2752:67:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8243,"id":8250,"nodeType":"Return","src":"2745:74:40"}]},"documentation":{"id":8234,"nodeType":"StructuredDocumentation","src":"2422:201:40","text":" @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"3a46b1a8","id":8252,"implemented":true,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"2637:12:40","nodeType":"FunctionDefinition","overrides":{"id":8240,"nodeType":"OverrideSpecifier","overrides":[],"src":"2708:8:40"},"parameters":{"id":8239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8236,"mutability":"mutable","name":"account","nameLocation":"2658:7:40","nodeType":"VariableDeclaration","scope":8252,"src":"2650:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8235,"name":"address","nodeType":"ElementaryTypeName","src":"2650:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8238,"mutability":"mutable","name":"blockNumber","nameLocation":"2675:11:40","nodeType":"VariableDeclaration","scope":8252,"src":"2667:19:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8237,"name":"uint256","nodeType":"ElementaryTypeName","src":"2667:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2649:38:40"},"returnParameters":{"id":8243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8252,"src":"2726:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2726:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2725:9:40"},"scope":8627,"src":"2628:198:40","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8142],"body":{"id":8274,"nodeType":"Block","src":"3385:154:40","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8262,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8255,"src":"3403:11:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8263,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3417:5:40","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":8264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3417:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3403:26:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a20626c6f636b206e6f7420796574206d696e6564","id":8266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3431:28:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_83c09804cf777c619c7ba082380b263866073c54e541883e3b7cb00a4aa7fe69","typeString":"literal_string \"Votes: block not yet mined\""},"value":"Votes: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_83c09804cf777c619c7ba082380b263866073c54e541883e3b7cb00a4aa7fe69","typeString":"literal_string \"Votes: block not yet mined\""}],"id":8261,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3395:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3395:65:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8268,"nodeType":"ExpressionStatement","src":"3395:65:40"},{"expression":{"arguments":[{"id":8271,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8255,"src":"3520:11:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8269,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8212,"src":"3477:17:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAtProbablyRecentBlock","nodeType":"MemberAccess","referencedDeclaration":21063,"src":"3477:42:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)"}},"id":8272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3477:55:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8260,"id":8273,"nodeType":"Return","src":"3470:62:40"}]},"documentation":{"id":8253,"nodeType":"StructuredDocumentation","src":"2832:452:40","text":" @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote.\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"8e539e8c","id":8275,"implemented":true,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"3298:18:40","nodeType":"FunctionDefinition","overrides":{"id":8257,"nodeType":"OverrideSpecifier","overrides":[],"src":"3358:8:40"},"parameters":{"id":8256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8255,"mutability":"mutable","name":"blockNumber","nameLocation":"3325:11:40","nodeType":"VariableDeclaration","scope":8275,"src":"3317:19:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8254,"name":"uint256","nodeType":"ElementaryTypeName","src":"3317:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3316:21:40"},"returnParameters":{"id":8260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8259,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8275,"src":"3376:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8258,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3375:9:40"},"scope":8627,"src":"3289:250:40","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":8285,"nodeType":"Block","src":"3683:50:40","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8281,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8212,"src":"3700:17:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":21155,"src":"3700:24:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$returns$_t_uint224_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":8283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3700:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":8280,"id":8284,"nodeType":"Return","src":"3693:33:40"}]},"documentation":{"id":8276,"nodeType":"StructuredDocumentation","src":"3545:66:40","text":" @dev Returns the current total supply of votes."},"id":8286,"implemented":true,"kind":"function","modifiers":[],"name":"_getTotalSupply","nameLocation":"3625:15:40","nodeType":"FunctionDefinition","parameters":{"id":8277,"nodeType":"ParameterList","parameters":[],"src":"3640:2:40"},"returnParameters":{"id":8280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8286,"src":"3674:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8278,"name":"uint256","nodeType":"ElementaryTypeName","src":"3674:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3673:9:40"},"scope":8627,"src":"3616:117:40","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[8150],"body":{"id":8299,"nodeType":"Block","src":"3898:44:40","statements":[{"expression":{"baseExpression":{"id":8295,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8204,"src":"3915:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":8297,"indexExpression":{"id":8296,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8289,"src":"3927:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3915:20:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":8294,"id":8298,"nodeType":"Return","src":"3908:27:40"}]},"documentation":{"id":8287,"nodeType":"StructuredDocumentation","src":"3739:71:40","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","id":8300,"implemented":true,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"3824:9:40","nodeType":"FunctionDefinition","overrides":{"id":8291,"nodeType":"OverrideSpecifier","overrides":[],"src":"3871:8:40"},"parameters":{"id":8290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8289,"mutability":"mutable","name":"account","nameLocation":"3842:7:40","nodeType":"VariableDeclaration","scope":8300,"src":"3834:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8288,"name":"address","nodeType":"ElementaryTypeName","src":"3834:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3833:17:40"},"returnParameters":{"id":8294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8300,"src":"3889:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8292,"name":"address","nodeType":"ElementaryTypeName","src":"3889:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3888:9:40"},"scope":8627,"src":"3815:127:40","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8156],"body":{"id":8317,"nodeType":"Block","src":"4085:86:40","statements":[{"assignments":[8308],"declarations":[{"constant":false,"id":8308,"mutability":"mutable","name":"account","nameLocation":"4103:7:40","nodeType":"VariableDeclaration","scope":8317,"src":"4095:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8307,"name":"address","nodeType":"ElementaryTypeName","src":"4095:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8311,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":8309,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4113:10:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":8310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4113:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4095:30:40"},{"expression":{"arguments":[{"id":8313,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8308,"src":"4145:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8314,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8303,"src":"4154:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":8312,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8413,"src":"4135:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":8315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4135:29:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8316,"nodeType":"ExpressionStatement","src":"4135:29:40"}]},"documentation":{"id":8301,"nodeType":"StructuredDocumentation","src":"3948:71:40","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","id":8318,"implemented":true,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"4033:8:40","nodeType":"FunctionDefinition","overrides":{"id":8305,"nodeType":"OverrideSpecifier","overrides":[],"src":"4076:8:40"},"parameters":{"id":8304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8303,"mutability":"mutable","name":"delegatee","nameLocation":"4050:9:40","nodeType":"VariableDeclaration","scope":8318,"src":"4042:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8302,"name":"address","nodeType":"ElementaryTypeName","src":"4042:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4041:19:40"},"returnParameters":{"id":8306,"nodeType":"ParameterList","parameters":[],"src":"4085:0:40"},"scope":8627,"src":"4024:147:40","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[8172],"body":{"id":8377,"nodeType":"Block","src":"4431:382:40","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8336,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4449:5:40","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":8337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"4449:15:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":8338,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"4468:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4449:25:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a207369676e61747572652065787069726564","id":8340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4476:26:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d5ff3f347872d51f9a2d63fc6e49268c6b2f830105a4897008d3883d68bc66f","typeString":"literal_string \"Votes: signature expired\""},"value":"Votes: signature expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d5ff3f347872d51f9a2d63fc6e49268c6b2f830105a4897008d3883d68bc66f","typeString":"literal_string \"Votes: signature expired\""}],"id":8335,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4441:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4441:62:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8342,"nodeType":"ExpressionStatement","src":"4441:62:40"},{"assignments":[8344],"declarations":[{"constant":false,"id":8344,"mutability":"mutable","name":"signer","nameLocation":"4521:6:40","nodeType":"VariableDeclaration","scope":8377,"src":"4513:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8343,"name":"address","nodeType":"ElementaryTypeName","src":"4513:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8362,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":8351,"name":"_DELEGATION_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8200,"src":"4595:20:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8352,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8321,"src":"4617:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8353,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"4628:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8354,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"4635:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4584:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"4584:10:40","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4584:58:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8348,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4574:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4574:69:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8347,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"4557:16:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":8357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4557:87:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8358,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8327,"src":"4658:1:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":8359,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8329,"src":"4673:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8360,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8331,"src":"4688:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8345,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"4530:5:40","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":8346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23241,"src":"4530:13:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":8361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4530:169:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4513:186:40"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8364,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"4717:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":8366,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8344,"src":"4736:6:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8365,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8593,"src":"4726:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":8367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4726:17:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4717:26:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a20696e76616c6964206e6f6e6365","id":8369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4745:22:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_13ff7ccc79996334a065c9426876e6554e1ae6a3f574e0ced02fc6062a794b0c","typeString":"literal_string \"Votes: invalid nonce\""},"value":"Votes: invalid nonce"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13ff7ccc79996334a065c9426876e6554e1ae6a3f574e0ced02fc6062a794b0c","typeString":"literal_string \"Votes: invalid nonce\""}],"id":8363,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4709:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4709:59:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8371,"nodeType":"ExpressionStatement","src":"4709:59:40"},{"expression":{"arguments":[{"id":8373,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8344,"src":"4788:6:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8374,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8321,"src":"4796:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":8372,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8413,"src":"4778:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":8375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4778:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8376,"nodeType":"ExpressionStatement","src":"4778:28:40"}]},"documentation":{"id":8319,"nodeType":"StructuredDocumentation","src":"4177:67:40","text":" @dev Delegates votes from signer to `delegatee`."},"functionSelector":"c3cda520","id":8378,"implemented":true,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"4258:13:40","nodeType":"FunctionDefinition","overrides":{"id":8333,"nodeType":"OverrideSpecifier","overrides":[],"src":"4422:8:40"},"parameters":{"id":8332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8321,"mutability":"mutable","name":"delegatee","nameLocation":"4289:9:40","nodeType":"VariableDeclaration","scope":8378,"src":"4281:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8320,"name":"address","nodeType":"ElementaryTypeName","src":"4281:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8323,"mutability":"mutable","name":"nonce","nameLocation":"4316:5:40","nodeType":"VariableDeclaration","scope":8378,"src":"4308:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8322,"name":"uint256","nodeType":"ElementaryTypeName","src":"4308:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8325,"mutability":"mutable","name":"expiry","nameLocation":"4339:6:40","nodeType":"VariableDeclaration","scope":8378,"src":"4331:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8324,"name":"uint256","nodeType":"ElementaryTypeName","src":"4331:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8327,"mutability":"mutable","name":"v","nameLocation":"4361:1:40","nodeType":"VariableDeclaration","scope":8378,"src":"4355:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8326,"name":"uint8","nodeType":"ElementaryTypeName","src":"4355:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8329,"mutability":"mutable","name":"r","nameLocation":"4380:1:40","nodeType":"VariableDeclaration","scope":8378,"src":"4372:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4372:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8331,"mutability":"mutable","name":"s","nameLocation":"4399:1:40","nodeType":"VariableDeclaration","scope":8378,"src":"4391:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4391:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4271:135:40"},"returnParameters":{"id":8334,"nodeType":"ParameterList","parameters":[],"src":"4431:0:40"},"scope":8627,"src":"4249:564:40","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":8412,"nodeType":"Block","src":"5063:241:40","statements":[{"assignments":[8387],"declarations":[{"constant":false,"id":8387,"mutability":"mutable","name":"oldDelegate","nameLocation":"5081:11:40","nodeType":"VariableDeclaration","scope":8412,"src":"5073:19:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8386,"name":"address","nodeType":"ElementaryTypeName","src":"5073:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8391,"initialValue":{"arguments":[{"id":8389,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"5105:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8388,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5095:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":8390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5095:18:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5073:40:40"},{"expression":{"id":8396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8392,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8204,"src":"5123:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":8394,"indexExpression":{"id":8393,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"5135:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5123:20:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8395,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"5146:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5123:32:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8397,"nodeType":"ExpressionStatement","src":"5123:32:40"},{"eventCall":{"arguments":[{"id":8399,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"5187:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8400,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"5196:11:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8401,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"5209:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":8398,"name":"DelegateChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8107,"src":"5171:15:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":8402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5171:48:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8403,"nodeType":"EmitStatement","src":"5166:53:40"},{"expression":{"arguments":[{"id":8405,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"5248:11:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8406,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"5261:9:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":8408,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"5288:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8407,"name":"_getVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8626,"src":"5272:15:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":8409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5272:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8404,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8536,"src":"5229:18:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":8410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5229:68:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8411,"nodeType":"ExpressionStatement","src":"5229:68:40"}]},"documentation":{"id":8379,"nodeType":"StructuredDocumentation","src":"4819:167:40","text":" @dev Delegate all of `account`'s voting units to `delegatee`.\n Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}."},"id":8413,"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"5000:9:40","nodeType":"FunctionDefinition","parameters":{"id":8384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8381,"mutability":"mutable","name":"account","nameLocation":"5018:7:40","nodeType":"VariableDeclaration","scope":8413,"src":"5010:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8380,"name":"address","nodeType":"ElementaryTypeName","src":"5010:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8383,"mutability":"mutable","name":"delegatee","nameLocation":"5035:9:40","nodeType":"VariableDeclaration","scope":8413,"src":"5027:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8382,"name":"address","nodeType":"ElementaryTypeName","src":"5027:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5009:36:40"},"returnParameters":{"id":8385,"nodeType":"ParameterList","parameters":[],"src":"5063:0:40"},"scope":8627,"src":"4991:313:40","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8463,"nodeType":"Block","src":"5657:266:40","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8423,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8416,"src":"5671:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5687:1:40","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":8425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5679:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8424,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:40","typeDescriptions":{}}},"id":8427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5679:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5671:18:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8437,"nodeType":"IfStatement","src":"5667:85:40","trueBody":{"id":8436,"nodeType":"Block","src":"5691:61:40","statements":[{"expression":{"arguments":[{"id":8432,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8550,"src":"5728:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":8433,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8420,"src":"5734:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8429,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8212,"src":"5705:17:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21125,"src":"5705:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":8434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5705:36:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":8435,"nodeType":"ExpressionStatement","src":"5705:36:40"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8438,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8418,"src":"5765:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5779:1:40","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":8440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5771:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8439,"name":"address","nodeType":"ElementaryTypeName","src":"5771:7:40","typeDescriptions":{}}},"id":8442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5771:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5765:16:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8452,"nodeType":"IfStatement","src":"5761:88:40","trueBody":{"id":8451,"nodeType":"Block","src":"5783:66:40","statements":[{"expression":{"arguments":[{"id":8447,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8564,"src":"5820:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":8448,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8420,"src":"5831:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8444,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8212,"src":"5797:17:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21125,"src":"5797:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":8449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5797:41:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":8450,"nodeType":"ExpressionStatement","src":"5797:41:40"}]}},{"expression":{"arguments":[{"arguments":[{"id":8455,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8416,"src":"5887:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8454,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5877:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":8456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5877:15:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":8458,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8418,"src":"5904:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8457,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"5894:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":8459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5894:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8460,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8420,"src":"5909:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8453,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8536,"src":"5858:18:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":8461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5858:58:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8462,"nodeType":"ExpressionStatement","src":"5858:58:40"}]},"documentation":{"id":8414,"nodeType":"StructuredDocumentation","src":"5310:223:40","text":" @dev Transfers, mints, or burns voting units. To register a mint, `from` should be zero. To register a burn, `to`\n should be zero. Total supply of voting units will be adjusted with mints and burns."},"id":8464,"implemented":true,"kind":"function","modifiers":[],"name":"_transferVotingUnits","nameLocation":"5547:20:40","nodeType":"FunctionDefinition","parameters":{"id":8421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8416,"mutability":"mutable","name":"from","nameLocation":"5585:4:40","nodeType":"VariableDeclaration","scope":8464,"src":"5577:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8415,"name":"address","nodeType":"ElementaryTypeName","src":"5577:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8418,"mutability":"mutable","name":"to","nameLocation":"5607:2:40","nodeType":"VariableDeclaration","scope":8464,"src":"5599:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8417,"name":"address","nodeType":"ElementaryTypeName","src":"5599:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8420,"mutability":"mutable","name":"amount","nameLocation":"5627:6:40","nodeType":"VariableDeclaration","scope":8464,"src":"5619:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8419,"name":"uint256","nodeType":"ElementaryTypeName","src":"5619:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5567:72:40"},"returnParameters":{"id":8422,"nodeType":"ParameterList","parameters":[],"src":"5657:0:40"},"scope":8627,"src":"5538:385:40","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8535,"nodeType":"Block","src":"6117:502:40","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8474,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"6131:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8475,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"6139:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6131:10:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8477,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6145:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6154:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6145:10:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6131:24:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8534,"nodeType":"IfStatement","src":"6127:486:40","trueBody":{"id":8533,"nodeType":"Block","src":"6157:456:40","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8481,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"6175:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":8484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6191:1:40","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":8483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6183:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8482,"name":"address","nodeType":"ElementaryTypeName","src":"6183:7:40","typeDescriptions":{}}},"id":8485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6183:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6175:18:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8506,"nodeType":"IfStatement","src":"6171:215:40","trueBody":{"id":8505,"nodeType":"Block","src":"6195:191:40","statements":[{"assignments":[8488,8490],"declarations":[{"constant":false,"id":8488,"mutability":"mutable","name":"oldValue","nameLocation":"6222:8:40","nodeType":"VariableDeclaration","scope":8505,"src":"6214:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8487,"name":"uint256","nodeType":"ElementaryTypeName","src":"6214:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8490,"mutability":"mutable","name":"newValue","nameLocation":"6240:8:40","nodeType":"VariableDeclaration","scope":8505,"src":"6232:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8489,"name":"uint256","nodeType":"ElementaryTypeName","src":"6232:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8498,"initialValue":{"arguments":[{"id":8495,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8564,"src":"6284:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":8496,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6295:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":8491,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8209,"src":"6252:20:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":8493,"indexExpression":{"id":8492,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"6273:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6252:26:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21125,"src":"6252:31:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":8497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6252:50:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6213:89:40"},{"eventCall":{"arguments":[{"id":8500,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"6346:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8501,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8488,"src":"6352:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8502,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8490,"src":"6362:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8499,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"6325:20:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":8503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6325:46:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8504,"nodeType":"EmitStatement","src":"6320:51:40"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8507,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"6403:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":8510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6417:1:40","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":8509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6409:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8508,"name":"address","nodeType":"ElementaryTypeName","src":"6409:7:40","typeDescriptions":{}}},"id":8511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6409:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6403:16:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8532,"nodeType":"IfStatement","src":"6399:204:40","trueBody":{"id":8531,"nodeType":"Block","src":"6421:182:40","statements":[{"assignments":[8514,8516],"declarations":[{"constant":false,"id":8514,"mutability":"mutable","name":"oldValue","nameLocation":"6448:8:40","nodeType":"VariableDeclaration","scope":8531,"src":"6440:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6440:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8516,"mutability":"mutable","name":"newValue","nameLocation":"6466:8:40","nodeType":"VariableDeclaration","scope":8531,"src":"6458:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8515,"name":"uint256","nodeType":"ElementaryTypeName","src":"6458:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8524,"initialValue":{"arguments":[{"id":8521,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8550,"src":"6508:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":8522,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6514:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":8517,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8209,"src":"6478:20:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$20901_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":8519,"indexExpression":{"id":8518,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"6499:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6478:24:40","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage","typeString":"struct Checkpoints.History storage ref"}},"id":8520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21125,"src":"6478:29:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$20901_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":8523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6478:43:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6439:82:40"},{"eventCall":{"arguments":[{"id":8526,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"6565:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8527,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8514,"src":"6569:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8528,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8516,"src":"6579:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8525,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"6544:20:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":8529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6544:44:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8530,"nodeType":"EmitStatement","src":"6539:49:40"}]}}]}}]},"documentation":{"id":8465,"nodeType":"StructuredDocumentation","src":"5929:75:40","text":" @dev Moves delegated votes from one delegate to another."},"id":8536,"implemented":true,"kind":"function","modifiers":[],"name":"_moveDelegateVotes","nameLocation":"6018:18:40","nodeType":"FunctionDefinition","parameters":{"id":8472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8467,"mutability":"mutable","name":"from","nameLocation":"6054:4:40","nodeType":"VariableDeclaration","scope":8536,"src":"6046:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8466,"name":"address","nodeType":"ElementaryTypeName","src":"6046:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8469,"mutability":"mutable","name":"to","nameLocation":"6076:2:40","nodeType":"VariableDeclaration","scope":8536,"src":"6068:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8468,"name":"address","nodeType":"ElementaryTypeName","src":"6068:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8471,"mutability":"mutable","name":"amount","nameLocation":"6096:6:40","nodeType":"VariableDeclaration","scope":8536,"src":"6088:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8470,"name":"uint256","nodeType":"ElementaryTypeName","src":"6088:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6036:72:40"},"returnParameters":{"id":8473,"nodeType":"ParameterList","parameters":[],"src":"6117:0:40"},"scope":8627,"src":"6009:610:40","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":8549,"nodeType":"Block","src":"6692:29:40","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8545,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8538,"src":"6709:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8546,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"6713:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6709:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8544,"id":8548,"nodeType":"Return","src":"6702:12:40"}]},"id":8550,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6634:4:40","nodeType":"FunctionDefinition","parameters":{"id":8541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8538,"mutability":"mutable","name":"a","nameLocation":"6647:1:40","nodeType":"VariableDeclaration","scope":8550,"src":"6639:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8537,"name":"uint256","nodeType":"ElementaryTypeName","src":"6639:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8540,"mutability":"mutable","name":"b","nameLocation":"6658:1:40","nodeType":"VariableDeclaration","scope":8550,"src":"6650:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8539,"name":"uint256","nodeType":"ElementaryTypeName","src":"6650:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6638:22:40"},"returnParameters":{"id":8544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8550,"src":"6683:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8542,"name":"uint256","nodeType":"ElementaryTypeName","src":"6683:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6682:9:40"},"scope":8627,"src":"6625:96:40","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":8563,"nodeType":"Block","src":"6799:29:40","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8559,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8552,"src":"6816:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8560,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8554,"src":"6820:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6816:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8558,"id":8562,"nodeType":"Return","src":"6809:12:40"}]},"id":8564,"implemented":true,"kind":"function","modifiers":[],"name":"_subtract","nameLocation":"6736:9:40","nodeType":"FunctionDefinition","parameters":{"id":8555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8552,"mutability":"mutable","name":"a","nameLocation":"6754:1:40","nodeType":"VariableDeclaration","scope":8564,"src":"6746:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8551,"name":"uint256","nodeType":"ElementaryTypeName","src":"6746:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8554,"mutability":"mutable","name":"b","nameLocation":"6765:1:40","nodeType":"VariableDeclaration","scope":8564,"src":"6757:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8553,"name":"uint256","nodeType":"ElementaryTypeName","src":"6757:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6745:22:40"},"returnParameters":{"id":8558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8564,"src":"6790:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8556,"name":"uint256","nodeType":"ElementaryTypeName","src":"6790:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6789:9:40"},"scope":8627,"src":"6727:101:40","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":8592,"nodeType":"Block","src":"7019:126:40","statements":[{"assignments":[8576],"declarations":[{"constant":false,"id":8576,"mutability":"mutable","name":"nonce","nameLocation":"7054:5:40","nodeType":"VariableDeclaration","scope":8592,"src":"7029:30:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":8575,"nodeType":"UserDefinedTypeName","pathNode":{"id":8574,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"7029:16:40"},"referencedDeclaration":22287,"src":"7029:16:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"id":8580,"initialValue":{"baseExpression":{"id":8577,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8217,"src":"7062:7:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":8579,"indexExpression":{"id":8578,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"7070:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7062:14:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7029:47:40"},{"expression":{"id":8585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8581,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8570,"src":"7086:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8582,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8576,"src":"7096:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":8583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"7096:13:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":8584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7096:15:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7086:25:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8586,"nodeType":"ExpressionStatement","src":"7086:25:40"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8587,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8576,"src":"7121:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":8589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":22313,"src":"7121:15:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Counter_$22287_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer)"}},"id":8590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7121:17:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8591,"nodeType":"ExpressionStatement","src":"7121:17:40"}]},"documentation":{"id":8565,"nodeType":"StructuredDocumentation","src":"6834:103:40","text":" @dev Consumes a nonce.\n Returns the current value and increments nonce."},"id":8593,"implemented":true,"kind":"function","modifiers":[],"name":"_useNonce","nameLocation":"6951:9:40","nodeType":"FunctionDefinition","parameters":{"id":8568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8567,"mutability":"mutable","name":"owner","nameLocation":"6969:5:40","nodeType":"VariableDeclaration","scope":8593,"src":"6961:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8566,"name":"address","nodeType":"ElementaryTypeName","src":"6961:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6960:15:40"},"returnParameters":{"id":8571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8570,"mutability":"mutable","name":"current","nameLocation":"7010:7:40","nodeType":"VariableDeclaration","scope":8593,"src":"7002:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8569,"name":"uint256","nodeType":"ElementaryTypeName","src":"7002:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7001:17:40"},"scope":8627,"src":"6942:203:40","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8607,"nodeType":"Block","src":"7274:48:40","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":8601,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8217,"src":"7291:7:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":8603,"indexExpression":{"id":8602,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8596,"src":"7299:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7291:14:40","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":8604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"7291:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":8605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7291:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8600,"id":8606,"nodeType":"Return","src":"7284:31:40"}]},"documentation":{"id":8594,"nodeType":"StructuredDocumentation","src":"7151:49:40","text":" @dev Returns an address nonce."},"functionSelector":"7ecebe00","id":8608,"implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"7214:6:40","nodeType":"FunctionDefinition","parameters":{"id":8597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8596,"mutability":"mutable","name":"owner","nameLocation":"7229:5:40","nodeType":"VariableDeclaration","scope":8608,"src":"7221:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8595,"name":"address","nodeType":"ElementaryTypeName","src":"7221:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7220:15:40"},"returnParameters":{"id":8600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8608,"src":"7265:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8598,"name":"uint256","nodeType":"ElementaryTypeName","src":"7265:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7264:9:40"},"scope":8627,"src":"7205:117:40","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":8617,"nodeType":"Block","src":"7519:44:40","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":8614,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23411,"src":"7536:18:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":8615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7536:20:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8613,"id":8616,"nodeType":"Return","src":"7529:27:40"}]},"documentation":{"id":8609,"nodeType":"StructuredDocumentation","src":"7328:73:40","text":" @dev Returns the contract's {EIP712} domain separator."},"functionSelector":"3644e515","id":8618,"implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"7468:16:40","nodeType":"FunctionDefinition","parameters":{"id":8610,"nodeType":"ParameterList","parameters":[],"src":"7484:2:40"},"returnParameters":{"id":8613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8618,"src":"7510:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7510:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7509:9:40"},"scope":8627,"src":"7459:104:40","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8619,"nodeType":"StructuredDocumentation","src":"7569:72:40","text":" @dev Must return the voting units held by an account."},"id":8626,"implemented":false,"kind":"function","modifiers":[],"name":"_getVotingUnits","nameLocation":"7655:15:40","nodeType":"FunctionDefinition","parameters":{"id":8622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8626,"src":"7671:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8620,"name":"address","nodeType":"ElementaryTypeName","src":"7671:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7670:9:40"},"returnParameters":{"id":8625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8626,"src":"7711:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8623,"name":"uint256","nodeType":"ElementaryTypeName","src":"7711:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7710:9:40"},"scope":8627,"src":"7646:74:40","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":8628,"src":"1670:6052:40","usedErrors":[]}],"src":"109:7614:40"},"id":40},"contracts/@openzeppelin/contracts/interfaces/IERC1155.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1155.sol","exportedSymbols":{"IERC1155":[12104],"IERC165":[24693]},"id":8631,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8629,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"92:23:41"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol","file":"../token/ERC1155/IERC1155.sol","id":8630,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8631,"sourceUnit":12105,"src":"117:39:41","symbolAliases":[],"unitAlias":""}],"src":"92:65:41"},"id":41},"contracts/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol","exportedSymbols":{"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC165":[24693]},"id":8634,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8632,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:42"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","file":"../token/ERC1155/extensions/IERC1155MetadataURI.sol","id":8633,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8634,"sourceUnit":12523,"src":"128:61:42","symbolAliases":[],"unitAlias":""}],"src":"103:87:42"},"id":42},"contracts/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol","exportedSymbols":{"IERC1155Receiver":[12145],"IERC165":[24693]},"id":8637,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8635,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:43"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"../token/ERC1155/IERC1155Receiver.sol","id":8636,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8637,"sourceUnit":12146,"src":"125:47:43","symbolAliases":[],"unitAlias":""}],"src":"100:73:43"},"id":43},"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol","exportedSymbols":{"IERC1271":[8650]},"id":8651,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8638,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"92:23:44"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1271","contractDependencies":[],"contractKind":"interface","documentation":{"id":8639,"nodeType":"StructuredDocumentation","src":"117:189:44","text":" @dev Interface of the ERC1271 standard signature validation method for\n contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271].\n _Available since v4.1._"},"fullyImplemented":false,"id":8650,"linearizedBaseContracts":[8650],"name":"IERC1271","nameLocation":"317:8:44","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8640,"nodeType":"StructuredDocumentation","src":"332:220:44","text":" @dev Should return whether the signature provided is valid for the provided data\n @param hash Hash of the data to be signed\n @param signature Signature byte array associated with _data"},"functionSelector":"1626ba7e","id":8649,"implemented":false,"kind":"function","modifiers":[],"name":"isValidSignature","nameLocation":"566:16:44","nodeType":"FunctionDefinition","parameters":{"id":8645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8642,"mutability":"mutable","name":"hash","nameLocation":"591:4:44","nodeType":"VariableDeclaration","scope":8649,"src":"583:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"583:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8644,"mutability":"mutable","name":"signature","nameLocation":"610:9:44","nodeType":"VariableDeclaration","scope":8649,"src":"597:22:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8643,"name":"bytes","nodeType":"ElementaryTypeName","src":"597:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"582:38:44"},"returnParameters":{"id":8648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8647,"mutability":"mutable","name":"magicValue","nameLocation":"651:10:44","nodeType":"VariableDeclaration","scope":8649,"src":"644:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8646,"name":"bytes4","nodeType":"ElementaryTypeName","src":"644:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"643:19:44"},"scope":8650,"src":"557:106:44","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":8651,"src":"307:358:44","usedErrors":[]}],"src":"92:574:44"},"id":44},"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol","exportedSymbols":{"IERC1363":[8729],"IERC165":[24693],"IERC20":[13470]},"id":8730,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8652,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"92:23:45"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC20.sol","file":"./IERC20.sol","id":8653,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8730,"sourceUnit":8774,"src":"117:22:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","id":8654,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8730,"sourceUnit":8765,"src":"140:23:45","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":8655,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"187:7:45"},"id":8656,"nodeType":"InheritanceSpecifier","src":"187:7:45"},{"baseName":{"id":8657,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"196:6:45"},"id":8658,"nodeType":"InheritanceSpecifier","src":"196:6:45"}],"canonicalName":"IERC1363","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":8729,"linearizedBaseContracts":[8729,13470,24693],"name":"IERC1363","nameLocation":"175:8:45","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8659,"nodeType":"StructuredDocumentation","src":"851:293:45","text":" @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\n @param to address The address which you want to transfer to\n @param value uint256 The amount of tokens to be transferred\n @return true unless throwing"},"functionSelector":"1296ee62","id":8668,"implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"1158:15:45","nodeType":"FunctionDefinition","parameters":{"id":8664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8661,"mutability":"mutable","name":"to","nameLocation":"1182:2:45","nodeType":"VariableDeclaration","scope":8668,"src":"1174:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8660,"name":"address","nodeType":"ElementaryTypeName","src":"1174:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8663,"mutability":"mutable","name":"value","nameLocation":"1194:5:45","nodeType":"VariableDeclaration","scope":8668,"src":"1186:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8662,"name":"uint256","nodeType":"ElementaryTypeName","src":"1186:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:27:45"},"returnParameters":{"id":8667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8668,"src":"1219:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8665,"name":"bool","nodeType":"ElementaryTypeName","src":"1219:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1218:6:45"},"scope":8729,"src":"1149:76:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8669,"nodeType":"StructuredDocumentation","src":"1231:381:45","text":" @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\n @param to address The address which you want to transfer to\n @param value uint256 The amount of tokens to be transferred\n @param data bytes Additional data with no specified format, sent in call to `to`\n @return true unless throwing"},"functionSelector":"4000aea0","id":8680,"implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"1626:15:45","nodeType":"FunctionDefinition","parameters":{"id":8676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8671,"mutability":"mutable","name":"to","nameLocation":"1659:2:45","nodeType":"VariableDeclaration","scope":8680,"src":"1651:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8670,"name":"address","nodeType":"ElementaryTypeName","src":"1651:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8673,"mutability":"mutable","name":"value","nameLocation":"1679:5:45","nodeType":"VariableDeclaration","scope":8680,"src":"1671:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8672,"name":"uint256","nodeType":"ElementaryTypeName","src":"1671:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8675,"mutability":"mutable","name":"data","nameLocation":"1707:4:45","nodeType":"VariableDeclaration","scope":8680,"src":"1694:17:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8674,"name":"bytes","nodeType":"ElementaryTypeName","src":"1694:5:45","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1641:76:45"},"returnParameters":{"id":8679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8680,"src":"1736:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8677,"name":"bool","nodeType":"ElementaryTypeName","src":"1736:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1735:6:45"},"scope":8729,"src":"1617:125:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8681,"nodeType":"StructuredDocumentation","src":"1748:358:45","text":" @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param value uint256 The amount of tokens to be transferred\n @return true unless throwing"},"functionSelector":"d8fbe994","id":8692,"implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"2120:19:45","nodeType":"FunctionDefinition","parameters":{"id":8688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8683,"mutability":"mutable","name":"from","nameLocation":"2157:4:45","nodeType":"VariableDeclaration","scope":8692,"src":"2149:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8682,"name":"address","nodeType":"ElementaryTypeName","src":"2149:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8685,"mutability":"mutable","name":"to","nameLocation":"2179:2:45","nodeType":"VariableDeclaration","scope":8692,"src":"2171:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8684,"name":"address","nodeType":"ElementaryTypeName","src":"2171:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8687,"mutability":"mutable","name":"value","nameLocation":"2199:5:45","nodeType":"VariableDeclaration","scope":8692,"src":"2191:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2139:71:45"},"returnParameters":{"id":8691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8692,"src":"2229:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8689,"name":"bool","nodeType":"ElementaryTypeName","src":"2229:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2228:6:45"},"scope":8729,"src":"2111:124:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8693,"nodeType":"StructuredDocumentation","src":"2241:446:45","text":" @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver\n @param from address The address which you want to send tokens from\n @param to address The address which you want to transfer to\n @param value uint256 The amount of tokens to be transferred\n @param data bytes Additional data with no specified format, sent in call to `to`\n @return true unless throwing"},"functionSelector":"c1d34b89","id":8706,"implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"2701:19:45","nodeType":"FunctionDefinition","parameters":{"id":8702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8695,"mutability":"mutable","name":"from","nameLocation":"2738:4:45","nodeType":"VariableDeclaration","scope":8706,"src":"2730:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8694,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8697,"mutability":"mutable","name":"to","nameLocation":"2760:2:45","nodeType":"VariableDeclaration","scope":8706,"src":"2752:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8696,"name":"address","nodeType":"ElementaryTypeName","src":"2752:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8699,"mutability":"mutable","name":"value","nameLocation":"2780:5:45","nodeType":"VariableDeclaration","scope":8706,"src":"2772:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8698,"name":"uint256","nodeType":"ElementaryTypeName","src":"2772:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8701,"mutability":"mutable","name":"data","nameLocation":"2808:4:45","nodeType":"VariableDeclaration","scope":8706,"src":"2795:17:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8700,"name":"bytes","nodeType":"ElementaryTypeName","src":"2795:5:45","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2720:98:45"},"returnParameters":{"id":8705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8706,"src":"2837:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8703,"name":"bool","nodeType":"ElementaryTypeName","src":"2837:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2836:6:45"},"scope":8729,"src":"2692:151:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8707,"nodeType":"StructuredDocumentation","src":"2849:298:45","text":" @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender\n and then call `onApprovalReceived` on spender.\n @param spender address The address which will spend the funds\n @param value uint256 The amount of tokens to be spent"},"functionSelector":"3177029f","id":8716,"implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"3161:14:45","nodeType":"FunctionDefinition","parameters":{"id":8712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8709,"mutability":"mutable","name":"spender","nameLocation":"3184:7:45","nodeType":"VariableDeclaration","scope":8716,"src":"3176:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8708,"name":"address","nodeType":"ElementaryTypeName","src":"3176:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8711,"mutability":"mutable","name":"value","nameLocation":"3201:5:45","nodeType":"VariableDeclaration","scope":8716,"src":"3193:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8710,"name":"uint256","nodeType":"ElementaryTypeName","src":"3193:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3175:32:45"},"returnParameters":{"id":8715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8716,"src":"3226:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8713,"name":"bool","nodeType":"ElementaryTypeName","src":"3226:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3225:6:45"},"scope":8729,"src":"3152:80:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8717,"nodeType":"StructuredDocumentation","src":"3238:391:45","text":" @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender\n and then call `onApprovalReceived` on spender.\n @param spender address The address which will spend the funds\n @param value uint256 The amount of tokens to be spent\n @param data bytes Additional data with no specified format, sent in call to `spender`"},"functionSelector":"cae9ca51","id":8728,"implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"3643:14:45","nodeType":"FunctionDefinition","parameters":{"id":8724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8719,"mutability":"mutable","name":"spender","nameLocation":"3675:7:45","nodeType":"VariableDeclaration","scope":8728,"src":"3667:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8718,"name":"address","nodeType":"ElementaryTypeName","src":"3667:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8721,"mutability":"mutable","name":"value","nameLocation":"3700:5:45","nodeType":"VariableDeclaration","scope":8728,"src":"3692:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8720,"name":"uint256","nodeType":"ElementaryTypeName","src":"3692:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8723,"mutability":"mutable","name":"data","nameLocation":"3728:4:45","nodeType":"VariableDeclaration","scope":8728,"src":"3715:17:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8722,"name":"bytes","nodeType":"ElementaryTypeName","src":"3715:5:45","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3657:81:45"},"returnParameters":{"id":8727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8728,"src":"3757:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8725,"name":"bool","nodeType":"ElementaryTypeName","src":"3757:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3756:6:45"},"scope":8729,"src":"3634:129:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8730,"src":"165:3600:45","usedErrors":[]}],"src":"92:3674:45"},"id":45},"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol","exportedSymbols":{"IERC1363Receiver":[8746]},"id":8747,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8731,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:46"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1363Receiver","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":8746,"linearizedBaseContracts":[8746],"name":"IERC1363Receiver","nameLocation":"135:16:46","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8732,"nodeType":"StructuredDocumentation","src":"337:832:46","text":" @notice Handle the receipt of ERC1363 tokens\n @dev Any ERC1363 smart contract calls this function on the recipient\n after a `transfer` or a `transferFrom`. This function MAY throw to revert and reject the\n transfer. Return of other than the magic value MUST result in the\n transaction being reverted.\n Note: the token contract address is always the message sender.\n @param operator address The address which called `transferAndCall` or `transferFromAndCall` function\n @param from address The address which are token transferred from\n @param value uint256 The amount of tokens transferred\n @param data bytes Additional data with no specified format\n @return `bytes4(keccak256(\"onTransferReceived(address,address,uint256,bytes)\"))`\n unless throwing"},"functionSelector":"88a7ca5c","id":8745,"implemented":false,"kind":"function","modifiers":[],"name":"onTransferReceived","nameLocation":"1183:18:46","nodeType":"FunctionDefinition","parameters":{"id":8741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8734,"mutability":"mutable","name":"operator","nameLocation":"1219:8:46","nodeType":"VariableDeclaration","scope":8745,"src":"1211:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8733,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8736,"mutability":"mutable","name":"from","nameLocation":"1245:4:46","nodeType":"VariableDeclaration","scope":8745,"src":"1237:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8735,"name":"address","nodeType":"ElementaryTypeName","src":"1237:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8738,"mutability":"mutable","name":"value","nameLocation":"1267:5:46","nodeType":"VariableDeclaration","scope":8745,"src":"1259:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1259:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8740,"mutability":"mutable","name":"data","nameLocation":"1295:4:46","nodeType":"VariableDeclaration","scope":8745,"src":"1282:17:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8739,"name":"bytes","nodeType":"ElementaryTypeName","src":"1282:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1201:104:46"},"returnParameters":{"id":8744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8743,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8745,"src":"1324:6:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8742,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1324:6:46","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1323:8:46"},"scope":8746,"src":"1174:158:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8747,"src":"125:1209:46","usedErrors":[]}],"src":"100:1235:46"},"id":46},"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol","exportedSymbols":{"IERC1363Spender":[8761]},"id":8762,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8748,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:47"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1363Spender","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":8761,"linearizedBaseContracts":[8761],"name":"IERC1363Spender","nameLocation":"134:15:47","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8749,"nodeType":"StructuredDocumentation","src":"327:704:47","text":" @notice Handle the approval of ERC1363 tokens\n @dev Any ERC1363 smart contract calls this function on the recipient\n after an `approve`. This function MAY throw to revert and reject the\n approval. Return of other than the magic value MUST result in the\n transaction being reverted.\n Note: the token contract address is always the message sender.\n @param owner address The address which called `approveAndCall` function\n @param value uint256 The amount of tokens to be spent\n @param data bytes Additional data with no specified format\n @return `bytes4(keccak256(\"onApprovalReceived(address,uint256,bytes)\"))`\n unless throwing"},"functionSelector":"7b04a2d0","id":8760,"implemented":false,"kind":"function","modifiers":[],"name":"onApprovalReceived","nameLocation":"1045:18:47","nodeType":"FunctionDefinition","parameters":{"id":8756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8751,"mutability":"mutable","name":"owner","nameLocation":"1081:5:47","nodeType":"VariableDeclaration","scope":8760,"src":"1073:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8750,"name":"address","nodeType":"ElementaryTypeName","src":"1073:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8753,"mutability":"mutable","name":"value","nameLocation":"1104:5:47","nodeType":"VariableDeclaration","scope":8760,"src":"1096:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8752,"name":"uint256","nodeType":"ElementaryTypeName","src":"1096:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8755,"mutability":"mutable","name":"data","nameLocation":"1132:4:47","nodeType":"VariableDeclaration","scope":8760,"src":"1119:17:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8754,"name":"bytes","nodeType":"ElementaryTypeName","src":"1119:5:47","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1063:79:47"},"returnParameters":{"id":8759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8760,"src":"1161:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8757,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1161:6:47","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1160:8:47"},"scope":8761,"src":"1036:133:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8762,"src":"124:1047:47","usedErrors":[]}],"src":"99:1073:47"},"id":47},"contracts/@openzeppelin/contracts/interfaces/IERC165.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[24693]},"id":8765,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8763,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:48"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","id":8764,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8765,"sourceUnit":24694,"src":"116:44:48","symbolAliases":[],"unitAlias":""}],"src":"91:70:48"},"id":48},"contracts/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol","exportedSymbols":{"IERC1820Implementer":[24707]},"id":8768,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8766,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:49"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol","file":"../utils/introspection/IERC1820Implementer.sol","id":8767,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8768,"sourceUnit":24708,"src":"128:56:49","symbolAliases":[],"unitAlias":""}],"src":"103:82:49"},"id":49},"contracts/@openzeppelin/contracts/interfaces/IERC1820Registry.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1820Registry.sol","exportedSymbols":{"IERC1820Registry":[24797]},"id":8771,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8769,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:50"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol","file":"../utils/introspection/IERC1820Registry.sol","id":8770,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8771,"sourceUnit":24798,"src":"125:53:50","symbolAliases":[],"unitAlias":""}],"src":"100:79:50"},"id":50},"contracts/@openzeppelin/contracts/interfaces/IERC20.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC20.sol","exportedSymbols":{"IERC20":[13470]},"id":8774,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8772,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"90:23:51"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../token/ERC20/IERC20.sol","id":8773,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8774,"sourceUnit":13471,"src":"115:35:51","symbolAliases":[],"unitAlias":""}],"src":"90:61:51"},"id":51},"contracts/@openzeppelin/contracts/interfaces/IERC20Metadata.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC20Metadata.sol","exportedSymbols":{"IERC20":[13470],"IERC20Metadata":[15760]},"id":8777,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8775,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"98:23:52"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"../token/ERC20/extensions/IERC20Metadata.sol","id":8776,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8777,"sourceUnit":15761,"src":"123:54:52","symbolAliases":[],"unitAlias":""}],"src":"98:80:52"},"id":52},"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol","exportedSymbols":{"IERC2309":[8791]},"id":8792,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8778,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:53"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC2309","contractDependencies":[],"contractKind":"interface","documentation":{"id":8779,"nodeType":"StructuredDocumentation","src":"132:95:53","text":" @dev ERC-2309: ERC-721 Consecutive Transfer Extension.\n _Available since v4.8._"},"fullyImplemented":true,"id":8791,"linearizedBaseContracts":[8791],"name":"IERC2309","nameLocation":"238:8:53","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":8780,"nodeType":"StructuredDocumentation","src":"253:132:53","text":" @dev Emitted when the tokens from `fromTokenId` to `toTokenId` are transferred from `fromAddress` to `toAddress`."},"id":8790,"name":"ConsecutiveTransfer","nameLocation":"396:19:53","nodeType":"EventDefinition","parameters":{"id":8789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8782,"indexed":true,"mutability":"mutable","name":"fromTokenId","nameLocation":"441:11:53","nodeType":"VariableDeclaration","scope":8790,"src":"425:27:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8781,"name":"uint256","nodeType":"ElementaryTypeName","src":"425:7:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8784,"indexed":false,"mutability":"mutable","name":"toTokenId","nameLocation":"470:9:53","nodeType":"VariableDeclaration","scope":8790,"src":"462:17:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8783,"name":"uint256","nodeType":"ElementaryTypeName","src":"462:7:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8786,"indexed":true,"mutability":"mutable","name":"fromAddress","nameLocation":"505:11:53","nodeType":"VariableDeclaration","scope":8790,"src":"489:27:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8785,"name":"address","nodeType":"ElementaryTypeName","src":"489:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8788,"indexed":true,"mutability":"mutable","name":"toAddress","nameLocation":"542:9:53","nodeType":"VariableDeclaration","scope":8790,"src":"526:25:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8787,"name":"address","nodeType":"ElementaryTypeName","src":"526:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"415:142:53"},"src":"390:168:53"}],"scope":8792,"src":"228:332:53","usedErrors":[]}],"src":"107:454:53"},"id":53},"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol","exportedSymbols":{"IERC165":[24693],"IERC2981":[8810]},"id":8811,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8793,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:54"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","id":8794,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8811,"sourceUnit":24694,"src":"132:44:54","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":8796,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"490:7:54"},"id":8797,"nodeType":"InheritanceSpecifier","src":"490:7:54"}],"canonicalName":"IERC2981","contractDependencies":[],"contractKind":"interface","documentation":{"id":8795,"nodeType":"StructuredDocumentation","src":"178:289:54","text":" @dev Interface for the NFT Royalty Standard.\n A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal\n support for royalty payments across all NFT marketplaces and ecosystem participants.\n _Available since v4.5._"},"fullyImplemented":false,"id":8810,"linearizedBaseContracts":[8810,24693],"name":"IERC2981","nameLocation":"478:8:54","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8798,"nodeType":"StructuredDocumentation","src":"504:231:54","text":" @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of\n exchange. The royalty amount is denominated and should be paid in that same unit of exchange."},"functionSelector":"2a55205a","id":8809,"implemented":false,"kind":"function","modifiers":[],"name":"royaltyInfo","nameLocation":"749:11:54","nodeType":"FunctionDefinition","parameters":{"id":8803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8800,"mutability":"mutable","name":"tokenId","nameLocation":"769:7:54","nodeType":"VariableDeclaration","scope":8809,"src":"761:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8799,"name":"uint256","nodeType":"ElementaryTypeName","src":"761:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8802,"mutability":"mutable","name":"salePrice","nameLocation":"786:9:54","nodeType":"VariableDeclaration","scope":8809,"src":"778:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8801,"name":"uint256","nodeType":"ElementaryTypeName","src":"778:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"760:36:54"},"returnParameters":{"id":8808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8805,"mutability":"mutable","name":"receiver","nameLocation":"852:8:54","nodeType":"VariableDeclaration","scope":8809,"src":"844:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8804,"name":"address","nodeType":"ElementaryTypeName","src":"844:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8807,"mutability":"mutable","name":"royaltyAmount","nameLocation":"870:13:54","nodeType":"VariableDeclaration","scope":8809,"src":"862:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8806,"name":"uint256","nodeType":"ElementaryTypeName","src":"862:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"843:41:54"},"scope":8810,"src":"740:145:54","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":8811,"src":"468:419:54","usedErrors":[]}],"src":"107:781:54"},"id":54},"contracts/@openzeppelin/contracts/interfaces/IERC3156.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156.sol","exportedSymbols":{"IERC3156FlashBorrower":[8834],"IERC3156FlashLender":[8872]},"id":8815,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8812,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"92:23:55"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol","file":"./IERC3156FlashBorrower.sol","id":8813,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8815,"sourceUnit":8835,"src":"117:37:55","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol","file":"./IERC3156FlashLender.sol","id":8814,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8815,"sourceUnit":8873,"src":"155:35:55","symbolAliases":[],"unitAlias":""}],"src":"92:99:55"},"id":55},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol","exportedSymbols":{"IERC3156FlashBorrower":[8834]},"id":8835,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8816,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"120:23:56"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC3156FlashBorrower","contractDependencies":[],"contractKind":"interface","documentation":{"id":8817,"nodeType":"StructuredDocumentation","src":"145:153:56","text":" @dev Interface of the ERC3156 FlashBorrower, as defined in\n https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n _Available since v4.1._"},"fullyImplemented":false,"id":8834,"linearizedBaseContracts":[8834],"name":"IERC3156FlashBorrower","nameLocation":"309:21:56","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8818,"nodeType":"StructuredDocumentation","src":"337:406:56","text":" @dev Receive a flash loan.\n @param initiator The initiator of the loan.\n @param token The loan currency.\n @param amount The amount of tokens lent.\n @param fee The additional amount of tokens to repay.\n @param data Arbitrary data structure, intended to contain user-defined parameters.\n @return The keccak256 hash of \"IERC3156FlashBorrower.onFlashLoan\""},"functionSelector":"23e30c8b","id":8833,"implemented":false,"kind":"function","modifiers":[],"name":"onFlashLoan","nameLocation":"757:11:56","nodeType":"FunctionDefinition","parameters":{"id":8829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8820,"mutability":"mutable","name":"initiator","nameLocation":"786:9:56","nodeType":"VariableDeclaration","scope":8833,"src":"778:17:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8819,"name":"address","nodeType":"ElementaryTypeName","src":"778:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8822,"mutability":"mutable","name":"token","nameLocation":"813:5:56","nodeType":"VariableDeclaration","scope":8833,"src":"805:13:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8821,"name":"address","nodeType":"ElementaryTypeName","src":"805:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8824,"mutability":"mutable","name":"amount","nameLocation":"836:6:56","nodeType":"VariableDeclaration","scope":8833,"src":"828:14:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8823,"name":"uint256","nodeType":"ElementaryTypeName","src":"828:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8826,"mutability":"mutable","name":"fee","nameLocation":"860:3:56","nodeType":"VariableDeclaration","scope":8833,"src":"852:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8825,"name":"uint256","nodeType":"ElementaryTypeName","src":"852:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8828,"mutability":"mutable","name":"data","nameLocation":"888:4:56","nodeType":"VariableDeclaration","scope":8833,"src":"873:19:56","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":8827,"name":"bytes","nodeType":"ElementaryTypeName","src":"873:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"768:130:56"},"returnParameters":{"id":8832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8833,"src":"917:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"917:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"916:9:56"},"scope":8834,"src":"748:178:56","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8835,"src":"299:629:56","usedErrors":[]}],"src":"120:809:56"},"id":56},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol","exportedSymbols":{"IERC3156FlashBorrower":[8834],"IERC3156FlashLender":[8872]},"id":8873,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8836,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:57"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol","file":"./IERC3156FlashBorrower.sol","id":8837,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8873,"sourceUnit":8835,"src":"128:37:57","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IERC3156FlashLender","contractDependencies":[],"contractKind":"interface","documentation":{"id":8838,"nodeType":"StructuredDocumentation","src":"167:151:57","text":" @dev Interface of the ERC3156 FlashLender, as defined in\n https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n _Available since v4.1._"},"fullyImplemented":false,"id":8872,"linearizedBaseContracts":[8872],"name":"IERC3156FlashLender","nameLocation":"329:19:57","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8839,"nodeType":"StructuredDocumentation","src":"355:168:57","text":" @dev The amount of currency available to be lended.\n @param token The loan currency.\n @return The amount of `token` that can be borrowed."},"functionSelector":"613255ab","id":8846,"implemented":false,"kind":"function","modifiers":[],"name":"maxFlashLoan","nameLocation":"537:12:57","nodeType":"FunctionDefinition","parameters":{"id":8842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8841,"mutability":"mutable","name":"token","nameLocation":"558:5:57","nodeType":"VariableDeclaration","scope":8846,"src":"550:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8840,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"549:15:57"},"returnParameters":{"id":8845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8846,"src":"588:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8843,"name":"uint256","nodeType":"ElementaryTypeName","src":"588:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"587:9:57"},"scope":8872,"src":"528:69:57","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8847,"nodeType":"StructuredDocumentation","src":"603:249:57","text":" @dev The fee to be charged for a given loan.\n @param token The loan currency.\n @param amount The amount of tokens lent.\n @return The amount of `token` to be charged for the loan, on top of the returned principal."},"functionSelector":"d9d98ce4","id":8856,"implemented":false,"kind":"function","modifiers":[],"name":"flashFee","nameLocation":"866:8:57","nodeType":"FunctionDefinition","parameters":{"id":8852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8849,"mutability":"mutable","name":"token","nameLocation":"883:5:57","nodeType":"VariableDeclaration","scope":8856,"src":"875:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8848,"name":"address","nodeType":"ElementaryTypeName","src":"875:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8851,"mutability":"mutable","name":"amount","nameLocation":"898:6:57","nodeType":"VariableDeclaration","scope":8856,"src":"890:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8850,"name":"uint256","nodeType":"ElementaryTypeName","src":"890:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"874:31:57"},"returnParameters":{"id":8855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8856,"src":"929:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8853,"name":"uint256","nodeType":"ElementaryTypeName","src":"929:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"928:9:57"},"scope":8872,"src":"857:81:57","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8857,"nodeType":"StructuredDocumentation","src":"944:320:57","text":" @dev Initiate a flash loan.\n @param receiver The receiver of the tokens in the loan, and the receiver of the callback.\n @param token The loan currency.\n @param amount The amount of tokens lent.\n @param data Arbitrary data structure, intended to contain user-defined parameters."},"functionSelector":"5cffe9de","id":8871,"implemented":false,"kind":"function","modifiers":[],"name":"flashLoan","nameLocation":"1278:9:57","nodeType":"FunctionDefinition","parameters":{"id":8867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8860,"mutability":"mutable","name":"receiver","nameLocation":"1319:8:57","nodeType":"VariableDeclaration","scope":8871,"src":"1297:30:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"},"typeName":{"id":8859,"nodeType":"UserDefinedTypeName","pathNode":{"id":8858,"name":"IERC3156FlashBorrower","nodeType":"IdentifierPath","referencedDeclaration":8834,"src":"1297:21:57"},"referencedDeclaration":8834,"src":"1297:21:57","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}},"visibility":"internal"},{"constant":false,"id":8862,"mutability":"mutable","name":"token","nameLocation":"1345:5:57","nodeType":"VariableDeclaration","scope":8871,"src":"1337:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8861,"name":"address","nodeType":"ElementaryTypeName","src":"1337:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8864,"mutability":"mutable","name":"amount","nameLocation":"1368:6:57","nodeType":"VariableDeclaration","scope":8871,"src":"1360:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8863,"name":"uint256","nodeType":"ElementaryTypeName","src":"1360:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8866,"mutability":"mutable","name":"data","nameLocation":"1399:4:57","nodeType":"VariableDeclaration","scope":8871,"src":"1384:19:57","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":8865,"name":"bytes","nodeType":"ElementaryTypeName","src":"1384:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1287:122:57"},"returnParameters":{"id":8870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8871,"src":"1428:4:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8868,"name":"bool","nodeType":"ElementaryTypeName","src":"1428:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1427:6:57"},"scope":8872,"src":"1269:165:57","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8873,"src":"319:1117:57","usedErrors":[]}],"src":"103:1334:57"},"id":57},"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol","exportedSymbols":{"IERC20":[13470],"IERC20Metadata":[15760],"IERC4626":[9040]},"id":9041,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8874,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:58"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../token/ERC20/IERC20.sol","id":8875,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9041,"sourceUnit":13471,"src":"132:35:58","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"../token/ERC20/extensions/IERC20Metadata.sol","id":8876,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9041,"sourceUnit":15761,"src":"168:54:58","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":8878,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"413:6:58"},"id":8879,"nodeType":"InheritanceSpecifier","src":"413:6:58"},{"baseName":{"id":8880,"name":"IERC20Metadata","nodeType":"IdentifierPath","referencedDeclaration":15760,"src":"421:14:58"},"id":8881,"nodeType":"InheritanceSpecifier","src":"421:14:58"}],"canonicalName":"IERC4626","contractDependencies":[],"contractKind":"interface","documentation":{"id":8877,"nodeType":"StructuredDocumentation","src":"224:166:58","text":" @dev Interface of the ERC4626 \"Tokenized Vault Standard\", as defined in\n https://eips.ethereum.org/EIPS/eip-4626[ERC-4626].\n _Available since v4.7._"},"fullyImplemented":false,"id":9040,"linearizedBaseContracts":[9040,15760,13470],"name":"IERC4626","nameLocation":"401:8:58","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":8891,"name":"Deposit","nameLocation":"448:7:58","nodeType":"EventDefinition","parameters":{"id":8890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8883,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"472:6:58","nodeType":"VariableDeclaration","scope":8891,"src":"456:22:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8882,"name":"address","nodeType":"ElementaryTypeName","src":"456:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8885,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"496:5:58","nodeType":"VariableDeclaration","scope":8891,"src":"480:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8884,"name":"address","nodeType":"ElementaryTypeName","src":"480:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8887,"indexed":false,"mutability":"mutable","name":"assets","nameLocation":"511:6:58","nodeType":"VariableDeclaration","scope":8891,"src":"503:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8886,"name":"uint256","nodeType":"ElementaryTypeName","src":"503:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8889,"indexed":false,"mutability":"mutable","name":"shares","nameLocation":"527:6:58","nodeType":"VariableDeclaration","scope":8891,"src":"519:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8888,"name":"uint256","nodeType":"ElementaryTypeName","src":"519:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"455:79:58"},"src":"442:93:58"},{"anonymous":false,"id":8903,"name":"Withdraw","nameLocation":"547:8:58","nodeType":"EventDefinition","parameters":{"id":8902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8893,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"581:6:58","nodeType":"VariableDeclaration","scope":8903,"src":"565:22:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8892,"name":"address","nodeType":"ElementaryTypeName","src":"565:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8895,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"613:8:58","nodeType":"VariableDeclaration","scope":8903,"src":"597:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8894,"name":"address","nodeType":"ElementaryTypeName","src":"597:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8897,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"647:5:58","nodeType":"VariableDeclaration","scope":8903,"src":"631:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8896,"name":"address","nodeType":"ElementaryTypeName","src":"631:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8899,"indexed":false,"mutability":"mutable","name":"assets","nameLocation":"670:6:58","nodeType":"VariableDeclaration","scope":8903,"src":"662:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8898,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8901,"indexed":false,"mutability":"mutable","name":"shares","nameLocation":"694:6:58","nodeType":"VariableDeclaration","scope":8903,"src":"686:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8900,"name":"uint256","nodeType":"ElementaryTypeName","src":"686:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"555:151:58"},"src":"541:166:58"},{"documentation":{"id":8904,"nodeType":"StructuredDocumentation","src":"713:207:58","text":" @dev Returns the address of the underlying token used for the Vault for accounting, depositing, and withdrawing.\n - MUST be an ERC-20 token contract.\n - MUST NOT revert."},"functionSelector":"38d52e0f","id":8909,"implemented":false,"kind":"function","modifiers":[],"name":"asset","nameLocation":"934:5:58","nodeType":"FunctionDefinition","parameters":{"id":8905,"nodeType":"ParameterList","parameters":[],"src":"939:2:58"},"returnParameters":{"id":8908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8907,"mutability":"mutable","name":"assetTokenAddress","nameLocation":"973:17:58","nodeType":"VariableDeclaration","scope":8909,"src":"965:25:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8906,"name":"address","nodeType":"ElementaryTypeName","src":"965:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"964:27:58"},"scope":9040,"src":"925:67:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8910,"nodeType":"StructuredDocumentation","src":"998:286:58","text":" @dev Returns the total amount of the underlying asset that is “managed” by Vault.\n - SHOULD include any compounding that occurs from yield.\n - MUST be inclusive of any fees that are charged against assets in the Vault.\n - MUST NOT revert."},"functionSelector":"01e1d114","id":8915,"implemented":false,"kind":"function","modifiers":[],"name":"totalAssets","nameLocation":"1298:11:58","nodeType":"FunctionDefinition","parameters":{"id":8911,"nodeType":"ParameterList","parameters":[],"src":"1309:2:58"},"returnParameters":{"id":8914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8913,"mutability":"mutable","name":"totalManagedAssets","nameLocation":"1343:18:58","nodeType":"VariableDeclaration","scope":8915,"src":"1335:26:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8912,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:28:58"},"scope":9040,"src":"1289:74:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8916,"nodeType":"StructuredDocumentation","src":"1369:720:58","text":" @dev Returns the amount of shares that the Vault would exchange for the amount of assets provided, in an ideal\n scenario where all the conditions are met.\n - MUST NOT be inclusive of any fees that are charged against assets in the Vault.\n - MUST NOT show any variations depending on the caller.\n - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.\n - MUST NOT revert.\n NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the\n “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and\n from."},"functionSelector":"c6e6f592","id":8923,"implemented":false,"kind":"function","modifiers":[],"name":"convertToShares","nameLocation":"2103:15:58","nodeType":"FunctionDefinition","parameters":{"id":8919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8918,"mutability":"mutable","name":"assets","nameLocation":"2127:6:58","nodeType":"VariableDeclaration","scope":8923,"src":"2119:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8917,"name":"uint256","nodeType":"ElementaryTypeName","src":"2119:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2118:16:58"},"returnParameters":{"id":8922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8921,"mutability":"mutable","name":"shares","nameLocation":"2166:6:58","nodeType":"VariableDeclaration","scope":8923,"src":"2158:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8920,"name":"uint256","nodeType":"ElementaryTypeName","src":"2158:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2157:16:58"},"scope":9040,"src":"2094:80:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8924,"nodeType":"StructuredDocumentation","src":"2180:720:58","text":" @dev Returns the amount of assets that the Vault would exchange for the amount of shares provided, in an ideal\n scenario where all the conditions are met.\n - MUST NOT be inclusive of any fees that are charged against assets in the Vault.\n - MUST NOT show any variations depending on the caller.\n - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange.\n - MUST NOT revert.\n NOTE: This calculation MAY NOT reflect the “per-user” price-per-share, and instead should reflect the\n “average-user’s” price-per-share, meaning what the average user should expect to see when exchanging to and\n from."},"functionSelector":"07a2d13a","id":8931,"implemented":false,"kind":"function","modifiers":[],"name":"convertToAssets","nameLocation":"2914:15:58","nodeType":"FunctionDefinition","parameters":{"id":8927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8926,"mutability":"mutable","name":"shares","nameLocation":"2938:6:58","nodeType":"VariableDeclaration","scope":8931,"src":"2930:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8925,"name":"uint256","nodeType":"ElementaryTypeName","src":"2930:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2929:16:58"},"returnParameters":{"id":8930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8929,"mutability":"mutable","name":"assets","nameLocation":"2977:6:58","nodeType":"VariableDeclaration","scope":8931,"src":"2969:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8928,"name":"uint256","nodeType":"ElementaryTypeName","src":"2969:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2968:16:58"},"scope":9040,"src":"2905:80:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8932,"nodeType":"StructuredDocumentation","src":"2991:386:58","text":" @dev Returns the maximum amount of the underlying asset that can be deposited into the Vault for the receiver,\n through a deposit call.\n - MUST return a limited value if receiver is subject to some deposit limit.\n - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of assets that may be deposited.\n - MUST NOT revert."},"functionSelector":"402d267d","id":8939,"implemented":false,"kind":"function","modifiers":[],"name":"maxDeposit","nameLocation":"3391:10:58","nodeType":"FunctionDefinition","parameters":{"id":8935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8934,"mutability":"mutable","name":"receiver","nameLocation":"3410:8:58","nodeType":"VariableDeclaration","scope":8939,"src":"3402:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8933,"name":"address","nodeType":"ElementaryTypeName","src":"3402:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3401:18:58"},"returnParameters":{"id":8938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8937,"mutability":"mutable","name":"maxAssets","nameLocation":"3451:9:58","nodeType":"VariableDeclaration","scope":8939,"src":"3443:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8936,"name":"uint256","nodeType":"ElementaryTypeName","src":"3443:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3442:19:58"},"scope":9040,"src":"3382:80:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8940,"nodeType":"StructuredDocumentation","src":"3468:1012:58","text":" @dev Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given\n current on-chain conditions.\n - MUST return as close to and no more than the exact amount of Vault shares that would be minted in a deposit\n call in the same transaction. I.e. deposit should return the same or more shares as previewDeposit if called\n in the same transaction.\n - MUST NOT account for deposit limits like those returned from maxDeposit and should always act as though the\n deposit would be accepted, regardless if the user has enough tokens approved, etc.\n - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.\n - MUST NOT revert.\n NOTE: any unfavorable discrepancy between convertToShares and previewDeposit SHOULD be considered slippage in\n share price or some other type of condition, meaning the depositor will lose assets by depositing."},"functionSelector":"ef8b30f7","id":8947,"implemented":false,"kind":"function","modifiers":[],"name":"previewDeposit","nameLocation":"4494:14:58","nodeType":"FunctionDefinition","parameters":{"id":8943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8942,"mutability":"mutable","name":"assets","nameLocation":"4517:6:58","nodeType":"VariableDeclaration","scope":8947,"src":"4509:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8941,"name":"uint256","nodeType":"ElementaryTypeName","src":"4509:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4508:16:58"},"returnParameters":{"id":8946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8945,"mutability":"mutable","name":"shares","nameLocation":"4556:6:58","nodeType":"VariableDeclaration","scope":8947,"src":"4548:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8944,"name":"uint256","nodeType":"ElementaryTypeName","src":"4548:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4547:16:58"},"scope":9040,"src":"4485:79:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8948,"nodeType":"StructuredDocumentation","src":"4570:651:58","text":" @dev Mints shares Vault shares to receiver by depositing exactly amount of underlying tokens.\n - MUST emit the Deposit event.\n - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n deposit execution, and are accounted for during deposit.\n - MUST revert if all of assets cannot be deposited (due to deposit limit being reached, slippage, the user not\n approving enough underlying tokens to the Vault contract, etc).\n NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token."},"functionSelector":"6e553f65","id":8957,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"5235:7:58","nodeType":"FunctionDefinition","parameters":{"id":8953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8950,"mutability":"mutable","name":"assets","nameLocation":"5251:6:58","nodeType":"VariableDeclaration","scope":8957,"src":"5243:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8949,"name":"uint256","nodeType":"ElementaryTypeName","src":"5243:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8952,"mutability":"mutable","name":"receiver","nameLocation":"5267:8:58","nodeType":"VariableDeclaration","scope":8957,"src":"5259:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8951,"name":"address","nodeType":"ElementaryTypeName","src":"5259:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5242:34:58"},"returnParameters":{"id":8956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8955,"mutability":"mutable","name":"shares","nameLocation":"5303:6:58","nodeType":"VariableDeclaration","scope":8957,"src":"5295:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8954,"name":"uint256","nodeType":"ElementaryTypeName","src":"5295:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5294:16:58"},"scope":9040,"src":"5226:85:58","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8958,"nodeType":"StructuredDocumentation","src":"5317:341:58","text":" @dev Returns the maximum amount of the Vault shares that can be minted for the receiver, through a mint call.\n - MUST return a limited value if receiver is subject to some mint limit.\n - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of shares that may be minted.\n - MUST NOT revert."},"functionSelector":"c63d75b6","id":8965,"implemented":false,"kind":"function","modifiers":[],"name":"maxMint","nameLocation":"5672:7:58","nodeType":"FunctionDefinition","parameters":{"id":8961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8960,"mutability":"mutable","name":"receiver","nameLocation":"5688:8:58","nodeType":"VariableDeclaration","scope":8965,"src":"5680:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8959,"name":"address","nodeType":"ElementaryTypeName","src":"5680:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5679:18:58"},"returnParameters":{"id":8964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8963,"mutability":"mutable","name":"maxShares","nameLocation":"5729:9:58","nodeType":"VariableDeclaration","scope":8965,"src":"5721:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8962,"name":"uint256","nodeType":"ElementaryTypeName","src":"5721:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5720:19:58"},"scope":9040,"src":"5663:77:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8966,"nodeType":"StructuredDocumentation","src":"5746:984:58","text":" @dev Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given\n current on-chain conditions.\n - MUST return as close to and no fewer than the exact amount of assets that would be deposited in a mint call\n in the same transaction. I.e. mint should return the same or fewer assets as previewMint if called in the\n same transaction.\n - MUST NOT account for mint limits like those returned from maxMint and should always act as though the mint\n would be accepted, regardless if the user has enough tokens approved, etc.\n - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees.\n - MUST NOT revert.\n NOTE: any unfavorable discrepancy between convertToAssets and previewMint SHOULD be considered slippage in\n share price or some other type of condition, meaning the depositor will lose assets by minting."},"functionSelector":"b3d7f6b9","id":8973,"implemented":false,"kind":"function","modifiers":[],"name":"previewMint","nameLocation":"6744:11:58","nodeType":"FunctionDefinition","parameters":{"id":8969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8968,"mutability":"mutable","name":"shares","nameLocation":"6764:6:58","nodeType":"VariableDeclaration","scope":8973,"src":"6756:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8967,"name":"uint256","nodeType":"ElementaryTypeName","src":"6756:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6755:16:58"},"returnParameters":{"id":8972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8971,"mutability":"mutable","name":"assets","nameLocation":"6803:6:58","nodeType":"VariableDeclaration","scope":8973,"src":"6795:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8970,"name":"uint256","nodeType":"ElementaryTypeName","src":"6795:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6794:16:58"},"scope":9040,"src":"6735:76:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8974,"nodeType":"StructuredDocumentation","src":"6817:642:58","text":" @dev Mints exactly shares Vault shares to receiver by depositing amount of underlying tokens.\n - MUST emit the Deposit event.\n - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the mint\n execution, and are accounted for during mint.\n - MUST revert if all of shares cannot be minted (due to deposit limit being reached, slippage, the user not\n approving enough underlying tokens to the Vault contract, etc).\n NOTE: most implementations will require pre-approval of the Vault with the Vault’s underlying asset token."},"functionSelector":"94bf804d","id":8983,"implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"7473:4:58","nodeType":"FunctionDefinition","parameters":{"id":8979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8976,"mutability":"mutable","name":"shares","nameLocation":"7486:6:58","nodeType":"VariableDeclaration","scope":8983,"src":"7478:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7478:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8978,"mutability":"mutable","name":"receiver","nameLocation":"7502:8:58","nodeType":"VariableDeclaration","scope":8983,"src":"7494:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8977,"name":"address","nodeType":"ElementaryTypeName","src":"7494:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7477:34:58"},"returnParameters":{"id":8982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8981,"mutability":"mutable","name":"assets","nameLocation":"7538:6:58","nodeType":"VariableDeclaration","scope":8983,"src":"7530:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8980,"name":"uint256","nodeType":"ElementaryTypeName","src":"7530:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7529:16:58"},"scope":9040,"src":"7464:82:58","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":8984,"nodeType":"StructuredDocumentation","src":"7552:293:58","text":" @dev Returns the maximum amount of the underlying asset that can be withdrawn from the owner balance in the\n Vault, through a withdraw call.\n - MUST return a limited value if owner is subject to some withdrawal limit or timelock.\n - MUST NOT revert."},"functionSelector":"ce96cb77","id":8991,"implemented":false,"kind":"function","modifiers":[],"name":"maxWithdraw","nameLocation":"7859:11:58","nodeType":"FunctionDefinition","parameters":{"id":8987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8986,"mutability":"mutable","name":"owner","nameLocation":"7879:5:58","nodeType":"VariableDeclaration","scope":8991,"src":"7871:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8985,"name":"address","nodeType":"ElementaryTypeName","src":"7871:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7870:15:58"},"returnParameters":{"id":8990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8989,"mutability":"mutable","name":"maxAssets","nameLocation":"7917:9:58","nodeType":"VariableDeclaration","scope":8991,"src":"7909:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8988,"name":"uint256","nodeType":"ElementaryTypeName","src":"7909:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7908:19:58"},"scope":9040,"src":"7850:78:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":8992,"nodeType":"StructuredDocumentation","src":"7934:1034:58","text":" @dev Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block,\n given current on-chain conditions.\n - MUST return as close to and no fewer than the exact amount of Vault shares that would be burned in a withdraw\n call in the same transaction. I.e. withdraw should return the same or fewer shares as previewWithdraw if\n called\n in the same transaction.\n - MUST NOT account for withdrawal limits like those returned from maxWithdraw and should always act as though\n the withdrawal would be accepted, regardless if the user has enough shares, etc.\n - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.\n - MUST NOT revert.\n NOTE: any unfavorable discrepancy between convertToShares and previewWithdraw SHOULD be considered slippage in\n share price or some other type of condition, meaning the depositor will lose assets by depositing."},"functionSelector":"0a28a477","id":8999,"implemented":false,"kind":"function","modifiers":[],"name":"previewWithdraw","nameLocation":"8982:15:58","nodeType":"FunctionDefinition","parameters":{"id":8995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8994,"mutability":"mutable","name":"assets","nameLocation":"9006:6:58","nodeType":"VariableDeclaration","scope":8999,"src":"8998:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8993,"name":"uint256","nodeType":"ElementaryTypeName","src":"8998:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8997:16:58"},"returnParameters":{"id":8998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8997,"mutability":"mutable","name":"shares","nameLocation":"9045:6:58","nodeType":"VariableDeclaration","scope":8999,"src":"9037:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8996,"name":"uint256","nodeType":"ElementaryTypeName","src":"9037:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9036:16:58"},"scope":9040,"src":"8973:80:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":9000,"nodeType":"StructuredDocumentation","src":"9059:670:58","text":" @dev Burns shares from owner and sends exactly assets of underlying tokens to receiver.\n - MUST emit the Withdraw event.\n - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n withdraw execution, and are accounted for during withdraw.\n - MUST revert if all of assets cannot be withdrawn (due to withdrawal limit being reached, slippage, the owner\n not having enough shares, etc).\n Note that some implementations will require pre-requesting to the Vault before a withdrawal may be performed.\n Those methods should be performed separately."},"functionSelector":"b460af94","id":9011,"implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"9743:8:58","nodeType":"FunctionDefinition","parameters":{"id":9007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9002,"mutability":"mutable","name":"assets","nameLocation":"9769:6:58","nodeType":"VariableDeclaration","scope":9011,"src":"9761:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9001,"name":"uint256","nodeType":"ElementaryTypeName","src":"9761:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9004,"mutability":"mutable","name":"receiver","nameLocation":"9793:8:58","nodeType":"VariableDeclaration","scope":9011,"src":"9785:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9003,"name":"address","nodeType":"ElementaryTypeName","src":"9785:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9006,"mutability":"mutable","name":"owner","nameLocation":"9819:5:58","nodeType":"VariableDeclaration","scope":9011,"src":"9811:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9005,"name":"address","nodeType":"ElementaryTypeName","src":"9811:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9751:79:58"},"returnParameters":{"id":9010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9009,"mutability":"mutable","name":"shares","nameLocation":"9857:6:58","nodeType":"VariableDeclaration","scope":9011,"src":"9849:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9008,"name":"uint256","nodeType":"ElementaryTypeName","src":"9849:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9848:16:58"},"scope":9040,"src":"9734:131:58","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":9012,"nodeType":"StructuredDocumentation","src":"9871:381:58","text":" @dev Returns the maximum amount of Vault shares that can be redeemed from the owner balance in the Vault,\n through a redeem call.\n - MUST return a limited value if owner is subject to some withdrawal limit or timelock.\n - MUST return balanceOf(owner) if owner is not subject to any withdrawal limit or timelock.\n - MUST NOT revert."},"functionSelector":"d905777e","id":9019,"implemented":false,"kind":"function","modifiers":[],"name":"maxRedeem","nameLocation":"10266:9:58","nodeType":"FunctionDefinition","parameters":{"id":9015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9014,"mutability":"mutable","name":"owner","nameLocation":"10284:5:58","nodeType":"VariableDeclaration","scope":9019,"src":"10276:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9013,"name":"address","nodeType":"ElementaryTypeName","src":"10276:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10275:15:58"},"returnParameters":{"id":9018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9017,"mutability":"mutable","name":"maxShares","nameLocation":"10322:9:58","nodeType":"VariableDeclaration","scope":9019,"src":"10314:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9016,"name":"uint256","nodeType":"ElementaryTypeName","src":"10314:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10313:19:58"},"scope":9040,"src":"10257:76:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":9020,"nodeType":"StructuredDocumentation","src":"10339:1010:58","text":" @dev Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block,\n given current on-chain conditions.\n - MUST return as close to and no more than the exact amount of assets that would be withdrawn in a redeem call\n in the same transaction. I.e. redeem should return the same or more assets as previewRedeem if called in the\n same transaction.\n - MUST NOT account for redemption limits like those returned from maxRedeem and should always act as though the\n redemption would be accepted, regardless if the user has enough shares, etc.\n - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees.\n - MUST NOT revert.\n NOTE: any unfavorable discrepancy between convertToAssets and previewRedeem SHOULD be considered slippage in\n share price or some other type of condition, meaning the depositor will lose assets by redeeming."},"functionSelector":"4cdad506","id":9027,"implemented":false,"kind":"function","modifiers":[],"name":"previewRedeem","nameLocation":"11363:13:58","nodeType":"FunctionDefinition","parameters":{"id":9023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9022,"mutability":"mutable","name":"shares","nameLocation":"11385:6:58","nodeType":"VariableDeclaration","scope":9027,"src":"11377:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9021,"name":"uint256","nodeType":"ElementaryTypeName","src":"11377:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11376:16:58"},"returnParameters":{"id":9026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9025,"mutability":"mutable","name":"assets","nameLocation":"11424:6:58","nodeType":"VariableDeclaration","scope":9027,"src":"11416:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9024,"name":"uint256","nodeType":"ElementaryTypeName","src":"11416:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11415:16:58"},"scope":9040,"src":"11354:78:58","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":9028,"nodeType":"StructuredDocumentation","src":"11438:661:58","text":" @dev Burns exactly shares from owner and sends assets of underlying tokens to receiver.\n - MUST emit the Withdraw event.\n - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the\n redeem execution, and are accounted for during redeem.\n - MUST revert if all of shares cannot be redeemed (due to withdrawal limit being reached, slippage, the owner\n not having enough shares, etc).\n NOTE: some implementations will require pre-requesting to the Vault before a withdrawal may be performed.\n Those methods should be performed separately."},"functionSelector":"ba087652","id":9039,"implemented":false,"kind":"function","modifiers":[],"name":"redeem","nameLocation":"12113:6:58","nodeType":"FunctionDefinition","parameters":{"id":9035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9030,"mutability":"mutable","name":"shares","nameLocation":"12137:6:58","nodeType":"VariableDeclaration","scope":9039,"src":"12129:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9029,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9032,"mutability":"mutable","name":"receiver","nameLocation":"12161:8:58","nodeType":"VariableDeclaration","scope":9039,"src":"12153:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9031,"name":"address","nodeType":"ElementaryTypeName","src":"12153:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9034,"mutability":"mutable","name":"owner","nameLocation":"12187:5:58","nodeType":"VariableDeclaration","scope":9039,"src":"12179:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9033,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12119:79:58"},"returnParameters":{"id":9038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9037,"mutability":"mutable","name":"assets","nameLocation":"12225:6:58","nodeType":"VariableDeclaration","scope":9039,"src":"12217:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9036,"name":"uint256","nodeType":"ElementaryTypeName","src":"12217:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12216:16:58"},"scope":9040,"src":"12104:129:58","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":9041,"src":"391:11844:58","usedErrors":[]}],"src":"107:12129:58"},"id":58},"contracts/@openzeppelin/contracts/interfaces/IERC721.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC721.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591]},"id":9044,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9042,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:59"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../token/ERC721/IERC721.sol","id":9043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9044,"sourceUnit":17592,"src":"116:37:59","symbolAliases":[],"unitAlias":""}],"src":"91:63:59"},"id":59},"contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591],"IERC721Enumerable":[18583]},"id":9047,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9045,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:60"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","file":"../token/ERC721/extensions/IERC721Enumerable.sol","id":9046,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9047,"sourceUnit":18584,"src":"126:58:60","symbolAliases":[],"unitAlias":""}],"src":"101:84:60"},"id":60},"contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610]},"id":9050,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9048,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:61"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"../token/ERC721/extensions/IERC721Metadata.sol","id":9049,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9050,"sourceUnit":18611,"src":"124:56:61","symbolAliases":[],"unitAlias":""}],"src":"99:82:61"},"id":61},"contracts/@openzeppelin/contracts/interfaces/IERC721Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC721Receiver.sol","exportedSymbols":{"IERC721Receiver":[17609]},"id":9053,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9051,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:62"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"../token/ERC721/IERC721Receiver.sol","id":9052,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9053,"sourceUnit":17610,"src":"124:45:62","symbolAliases":[],"unitAlias":""}],"src":"99:71:62"},"id":62},"contracts/@openzeppelin/contracts/interfaces/IERC777.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC777.sol","exportedSymbols":{"IERC777":[20085]},"id":9056,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9054,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:63"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol","file":"../token/ERC777/IERC777.sol","id":9055,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9056,"sourceUnit":20086,"src":"116:37:63","symbolAliases":[],"unitAlias":""}],"src":"91:63:63"},"id":63},"contracts/@openzeppelin/contracts/interfaces/IERC777Recipient.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC777Recipient.sol","exportedSymbols":{"IERC777Recipient":[20105]},"id":9059,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9057,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:64"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol","file":"../token/ERC777/IERC777Recipient.sol","id":9058,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9059,"sourceUnit":20106,"src":"125:46:64","symbolAliases":[],"unitAlias":""}],"src":"100:72:64"},"id":64},"contracts/@openzeppelin/contracts/interfaces/IERC777Sender.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC777Sender.sol","exportedSymbols":{"IERC777Sender":[20125]},"id":9062,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9060,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"97:23:65"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol","file":"../token/ERC777/IERC777Sender.sol","id":9061,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9062,"sourceUnit":20126,"src":"122:43:65","symbolAliases":[],"unitAlias":""}],"src":"97:69:65"},"id":65},"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","exportedSymbols":{"IERC1822Proxiable":[9071]},"id":9072,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9063,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"113:23:66"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1822Proxiable","contractDependencies":[],"contractKind":"interface","documentation":{"id":9064,"nodeType":"StructuredDocumentation","src":"138:203:66","text":" @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation."},"fullyImplemented":false,"id":9071,"linearizedBaseContracts":[9071],"name":"IERC1822Proxiable","nameLocation":"352:17:66","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":9065,"nodeType":"StructuredDocumentation","src":"376:438:66","text":" @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy."},"functionSelector":"52d1902d","id":9070,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"828:13:66","nodeType":"FunctionDefinition","parameters":{"id":9066,"nodeType":"ParameterList","parameters":[],"src":"841:2:66"},"returnParameters":{"id":9069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9070,"src":"867:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"867:7:66","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"866:9:66"},"scope":9071,"src":"819:57:66","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":9072,"src":"342:536:66","usedErrors":[]}],"src":"113:766:66"},"id":66},"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol","exportedSymbols":{"IERC20Permit":[15968],"IERC2612":[9077]},"id":9078,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9073,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"98:23:67"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol","file":"../token/ERC20/extensions/draft-IERC20Permit.sol","id":9074,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9078,"sourceUnit":15969,"src":"123:58:67","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9075,"name":"IERC20Permit","nodeType":"IdentifierPath","referencedDeclaration":15968,"src":"205:12:67"},"id":9076,"nodeType":"InheritanceSpecifier","src":"205:12:67"}],"canonicalName":"IERC2612","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":9077,"linearizedBaseContracts":[9077,15968],"name":"IERC2612","nameLocation":"193:8:67","nodeType":"ContractDefinition","nodes":[],"scope":9078,"src":"183:37:67","usedErrors":[]}],"src":"98:123:67"},"id":67},"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol","exportedSymbols":{"Context":[22281],"ERC2771Context":[9156]},"id":9157,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9079,"literals":["solidity","^","0.8",".9"],"nodeType":"PragmaDirective","src":"109:23:68"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":9080,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9157,"sourceUnit":22282,"src":"134:30:68","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":9082,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"256:7:68"},"id":9083,"nodeType":"InheritanceSpecifier","src":"256:7:68"}],"canonicalName":"ERC2771Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":9081,"nodeType":"StructuredDocumentation","src":"166:53:68","text":" @dev Context variant with ERC2771 support."},"fullyImplemented":true,"id":9156,"linearizedBaseContracts":[9156,22281],"name":"ERC2771Context","nameLocation":"238:14:68","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":9084,"nodeType":"StructuredDocumentation","src":"270:61:68","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":9086,"mutability":"immutable","name":"_trustedForwarder","nameLocation":"362:17:68","nodeType":"VariableDeclaration","scope":9156,"src":"336:43:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9085,"name":"address","nodeType":"ElementaryTypeName","src":"336:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":9096,"nodeType":"Block","src":"477:53:68","statements":[{"expression":{"id":9094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9092,"name":"_trustedForwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9086,"src":"487:17:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9093,"name":"trustedForwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9089,"src":"507:16:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"487:36:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9095,"nodeType":"ExpressionStatement","src":"487:36:68"}]},"documentation":{"id":9087,"nodeType":"StructuredDocumentation","src":"386:48:68","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":9097,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9089,"mutability":"mutable","name":"trustedForwarder","nameLocation":"459:16:68","nodeType":"VariableDeclaration","scope":9097,"src":"451:24:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9088,"name":"address","nodeType":"ElementaryTypeName","src":"451:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"450:26:68"},"returnParameters":{"id":9091,"nodeType":"ParameterList","parameters":[],"src":"477:0:68"},"scope":9156,"src":"439:91:68","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9108,"nodeType":"Block","src":"618:54:68","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9104,"name":"forwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9099,"src":"635:9:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9105,"name":"_trustedForwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9086,"src":"648:17:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"635:30:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":9103,"id":9107,"nodeType":"Return","src":"628:37:68"}]},"functionSelector":"572b6c05","id":9109,"implemented":true,"kind":"function","modifiers":[],"name":"isTrustedForwarder","nameLocation":"545:18:68","nodeType":"FunctionDefinition","parameters":{"id":9100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9099,"mutability":"mutable","name":"forwarder","nameLocation":"572:9:68","nodeType":"VariableDeclaration","scope":9109,"src":"564:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9098,"name":"address","nodeType":"ElementaryTypeName","src":"564:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"563:19:68"},"returnParameters":{"id":9103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9109,"src":"612:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9101,"name":"bool","nodeType":"ElementaryTypeName","src":"612:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"611:6:68"},"scope":9156,"src":"536:136:68","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[22271],"body":{"id":9127,"nodeType":"Block","src":"756:370:68","statements":[{"condition":{"arguments":[{"expression":{"id":9116,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"789:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"789:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9115,"name":"isTrustedForwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9109,"src":"770:18:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"770:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9125,"nodeType":"Block","src":"1070:50:68","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9121,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1091:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC2771Context_$9156_$","typeString":"type(contract super ERC2771Context)"}},"id":9122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_msgSender","nodeType":"MemberAccess","referencedDeclaration":22271,"src":"1091:16:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1091:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9114,"id":9124,"nodeType":"Return","src":"1084:25:68"}]},"id":9126,"nodeType":"IfStatement","src":"766:354:68","trueBody":{"id":9120,"nodeType":"Block","src":"802:262:68","statements":[{"AST":{"nodeType":"YulBlock","src":"966:88:68","statements":[{"nodeType":"YulAssignment","src":"984:56:68","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"998:2:68","type":"","value":"96"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1019:12:68"},"nodeType":"YulFunctionCall","src":"1019:14:68"},{"kind":"number","nodeType":"YulLiteral","src":"1035:2:68","type":"","value":"20"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1015:3:68"},"nodeType":"YulFunctionCall","src":"1015:23:68"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1002:12:68"},"nodeType":"YulFunctionCall","src":"1002:37:68"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"994:3:68"},"nodeType":"YulFunctionCall","src":"994:46:68"},"variableNames":[{"name":"sender","nodeType":"YulIdentifier","src":"984:6:68"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":9113,"isOffset":false,"isSlot":false,"src":"984:6:68","valueSize":1}],"id":9119,"nodeType":"InlineAssembly","src":"957:97:68"}]}}]},"id":9128,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"687:10:68","nodeType":"FunctionDefinition","overrides":{"id":9111,"nodeType":"OverrideSpecifier","overrides":[],"src":"722:8:68"},"parameters":{"id":9110,"nodeType":"ParameterList","parameters":[],"src":"697:2:68"},"returnParameters":{"id":9114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9113,"mutability":"mutable","name":"sender","nameLocation":"748:6:68","nodeType":"VariableDeclaration","scope":9128,"src":"740:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9112,"name":"address","nodeType":"ElementaryTypeName","src":"740:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"739:16:68"},"scope":9156,"src":"678:448:68","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[22280],"body":{"id":9154,"nodeType":"Block","src":"1208:169:68","statements":[{"condition":{"arguments":[{"expression":{"id":9135,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1241:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1241:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9134,"name":"isTrustedForwarder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9109,"src":"1222:18:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1222:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9152,"nodeType":"Block","src":"1323:48:68","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9148,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1344:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC2771Context_$9156_$","typeString":"type(contract super ERC2771Context)"}},"id":9149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_msgData","nodeType":"MemberAccess","referencedDeclaration":22280,"src":"1344:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":9150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1344:16:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":9133,"id":9151,"nodeType":"Return","src":"1337:23:68"}]},"id":9153,"nodeType":"IfStatement","src":"1218:153:68","trueBody":{"id":9147,"nodeType":"Block","src":"1254:63:68","statements":[{"expression":{"baseExpression":{"expression":{"id":9138,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1275:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"1275:8:68","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":9140,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1285:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"1285:8:68","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":9142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1285:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3230","id":9143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1303:2:68","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"src":"1285:20:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"1275:31:68","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},"functionReturnParameters":9133,"id":9146,"nodeType":"Return","src":"1268:38:68"}]}}]},"id":9155,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"1141:8:68","nodeType":"FunctionDefinition","overrides":{"id":9130,"nodeType":"OverrideSpecifier","overrides":[],"src":"1174:8:68"},"parameters":{"id":9129,"nodeType":"ParameterList","parameters":[],"src":"1149:2:68"},"returnParameters":{"id":9133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9155,"src":"1192:14:68","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":9131,"name":"bytes","nodeType":"ElementaryTypeName","src":"1192:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1191:16:68"},"scope":9156,"src":"1132:245:68","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":9157,"src":"220:1159:68","usedErrors":[]}],"src":"109:1271:68"},"id":68},"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol","exportedSymbols":{"ECDSA":[23301],"EIP712":[23455],"Math":[25662],"MinimalForwarder":[9327],"Strings":[22726]},"id":9328,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9158,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"111:23:69"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"../utils/cryptography/ECDSA.sol","id":9159,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9328,"sourceUnit":23302,"src":"136:41:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"../utils/cryptography/EIP712.sol","id":9160,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9328,"sourceUnit":23456,"src":"178:42:69","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9162,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"797:6:69"},"id":9163,"nodeType":"InheritanceSpecifier","src":"797:6:69"}],"canonicalName":"MinimalForwarder","contractDependencies":[],"contractKind":"contract","documentation":{"id":9161,"nodeType":"StructuredDocumentation","src":"222:545:69","text":" @dev Simple minimal forwarder to be used together with an ERC2771 compatible contract. See {ERC2771Context}.\n MinimalForwarder is mainly meant for testing, as it is missing features to be a good production-ready forwarder. This\n contract does not intend to have all the properties that are needed for a sound forwarding system. A fully\n functioning forwarding system with good properties requires more complexity. We suggest you look at other projects\n such as the GSN which do have the goal of building a system like that."},"fullyImplemented":true,"id":9327,"linearizedBaseContracts":[9327,23455],"name":"MinimalForwarder","nameLocation":"777:16:69","nodeType":"ContractDefinition","nodes":[{"id":9166,"libraryName":{"id":9164,"name":"ECDSA","nodeType":"IdentifierPath","referencedDeclaration":23301,"src":"816:5:69"},"nodeType":"UsingForDirective","src":"810:24:69","typeName":{"id":9165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"826:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"canonicalName":"MinimalForwarder.ForwardRequest","id":9179,"members":[{"constant":false,"id":9168,"mutability":"mutable","name":"from","nameLocation":"880:4:69","nodeType":"VariableDeclaration","scope":9179,"src":"872:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9167,"name":"address","nodeType":"ElementaryTypeName","src":"872:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9170,"mutability":"mutable","name":"to","nameLocation":"902:2:69","nodeType":"VariableDeclaration","scope":9179,"src":"894:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9169,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9172,"mutability":"mutable","name":"value","nameLocation":"922:5:69","nodeType":"VariableDeclaration","scope":9179,"src":"914:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9171,"name":"uint256","nodeType":"ElementaryTypeName","src":"914:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9174,"mutability":"mutable","name":"gas","nameLocation":"945:3:69","nodeType":"VariableDeclaration","scope":9179,"src":"937:11:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9173,"name":"uint256","nodeType":"ElementaryTypeName","src":"937:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9176,"mutability":"mutable","name":"nonce","nameLocation":"966:5:69","nodeType":"VariableDeclaration","scope":9179,"src":"958:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9175,"name":"uint256","nodeType":"ElementaryTypeName","src":"958:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9178,"mutability":"mutable","name":"data","nameLocation":"987:4:69","nodeType":"VariableDeclaration","scope":9179,"src":"981:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9177,"name":"bytes","nodeType":"ElementaryTypeName","src":"981:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"ForwardRequest","nameLocation":"847:14:69","nodeType":"StructDefinition","scope":9327,"src":"840:158:69","visibility":"public"},{"constant":true,"id":9184,"mutability":"constant","name":"_TYPEHASH","nameLocation":"1029:9:69","nodeType":"VariableDeclaration","scope":9327,"src":"1004:148:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1004:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"466f72776172645265717565737428616464726573732066726f6d2c6164647265737320746f2c75696e743235362076616c75652c75696e74323536206761732c75696e74323536206e6f6e63652c6279746573206461746129","id":9182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1059:92:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e48","typeString":"literal_string \"ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)\""},"value":"ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e48","typeString":"literal_string \"ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)\""}],"id":9181,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1049:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1049:103:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":9188,"mutability":"mutable","name":"_nonces","nameLocation":"1195:7:69","nodeType":"VariableDeclaration","scope":9327,"src":"1159:43:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":9187,"keyType":{"id":9185,"name":"address","nodeType":"ElementaryTypeName","src":"1167:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1159:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":9186,"name":"uint256","nodeType":"ElementaryTypeName","src":"1178:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"body":{"id":9195,"nodeType":"Block","src":"1259:2:69","statements":[]},"id":9196,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4d696e696d616c466f72776172646572","id":9191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1230:18:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e0923a39f515e9a8cebc9fb694b9abf7e4b8c3f7ab6f81b56eabdac504b08dc","typeString":"literal_string \"MinimalForwarder\""},"value":"MinimalForwarder"},{"hexValue":"302e302e31","id":9192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1250:7:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885","typeString":"literal_string \"0.0.1\""},"value":"0.0.1"}],"id":9193,"kind":"baseConstructorSpecifier","modifierName":{"id":9190,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"1223:6:69"},"nodeType":"ModifierInvocation","src":"1223:35:69"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9189,"nodeType":"ParameterList","parameters":[],"src":"1220:2:69"},"returnParameters":{"id":9194,"nodeType":"ParameterList","parameters":[],"src":"1259:0:69"},"scope":9327,"src":"1209:52:69","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9207,"nodeType":"Block","src":"1329:37:69","statements":[{"expression":{"baseExpression":{"id":9203,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9188,"src":"1346:7:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":9205,"indexExpression":{"id":9204,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9198,"src":"1354:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1346:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9202,"id":9206,"nodeType":"Return","src":"1339:20:69"}]},"functionSelector":"2d0335ab","id":9208,"implemented":true,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"1276:8:69","nodeType":"FunctionDefinition","parameters":{"id":9199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9198,"mutability":"mutable","name":"from","nameLocation":"1293:4:69","nodeType":"VariableDeclaration","scope":9208,"src":"1285:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9197,"name":"address","nodeType":"ElementaryTypeName","src":"1285:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1284:14:69"},"returnParameters":{"id":9202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9208,"src":"1320:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1320:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1319:9:69"},"scope":9327,"src":"1267:99:69","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9259,"nodeType":"Block","src":"1470:264:69","statements":[{"assignments":[9219],"declarations":[{"constant":false,"id":9219,"mutability":"mutable","name":"signer","nameLocation":"1488:6:69","nodeType":"VariableDeclaration","scope":9259,"src":"1480:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9218,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9245,"initialValue":{"arguments":[{"id":9243,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9213,"src":"1648:9:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"id":9224,"name":"_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9184,"src":"1548:9:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":9225,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1559:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9168,"src":"1559:8:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":9227,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1569:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9170,"src":"1569:6:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":9229,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1577:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":9172,"src":"1577:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9231,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1588:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":9174,"src":"1588:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9233,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1597:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":9176,"src":"1597:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":9236,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1618:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9178,"src":"1618:8:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":9235,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1608:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1608:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1537:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1537:10:69","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1537:91:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9221,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1527:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1527:102:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9220,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"1497:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":9241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1497:142:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23067,"src":"1497:150:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address)"}},"id":9244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1497:161:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1480:178:69"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9246,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9188,"src":"1675:7:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":9249,"indexExpression":{"expression":{"id":9247,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1683:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9168,"src":"1683:8:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1675:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":9250,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1696:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":9176,"src":"1696:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1675:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9253,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9219,"src":"1709:6:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":9254,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"1719:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9168,"src":"1719:8:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1709:18:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1675:52:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":9217,"id":9258,"nodeType":"Return","src":"1668:59:69"}]},"functionSelector":"bf5d3bdb","id":9260,"implemented":true,"kind":"function","modifiers":[],"name":"verify","nameLocation":"1381:6:69","nodeType":"FunctionDefinition","parameters":{"id":9214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9211,"mutability":"mutable","name":"req","nameLocation":"1412:3:69","nodeType":"VariableDeclaration","scope":9260,"src":"1388:27:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest"},"typeName":{"id":9210,"nodeType":"UserDefinedTypeName","pathNode":{"id":9209,"name":"ForwardRequest","nodeType":"IdentifierPath","referencedDeclaration":9179,"src":"1388:14:69"},"referencedDeclaration":9179,"src":"1388:14:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_storage_ptr","typeString":"struct MinimalForwarder.ForwardRequest"}},"visibility":"internal"},{"constant":false,"id":9213,"mutability":"mutable","name":"signature","nameLocation":"1432:9:69","nodeType":"VariableDeclaration","scope":9260,"src":"1417:24:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":9212,"name":"bytes","nodeType":"ElementaryTypeName","src":"1417:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1387:55:69"},"returnParameters":{"id":9217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9216,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9260,"src":"1464:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9215,"name":"bool","nodeType":"ElementaryTypeName","src":"1464:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1463:6:69"},"scope":9327,"src":"1372:362:69","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9325,"nodeType":"Block","src":"1884:937:69","statements":[{"expression":{"arguments":[{"arguments":[{"id":9274,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"1909:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},{"id":9275,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"1914:9:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":9273,"name":"verify","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9260,"src":"1902:6:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_ForwardRequest_$9179_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bool_$","typeString":"function (struct MinimalForwarder.ForwardRequest calldata,bytes calldata) view returns (bool)"}},"id":9276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1902:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d696e696d616c466f727761726465723a207369676e617475726520646f6573206e6f74206d617463682072657175657374","id":9277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1926:52:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a1000a56588b05caffad06969cd7617cd0867f6c7d159cd7e5aa9b3c93b18ae","typeString":"literal_string \"MinimalForwarder: signature does not match request\""},"value":"MinimalForwarder: signature does not match request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a1000a56588b05caffad06969cd7617cd0867f6c7d159cd7e5aa9b3c93b18ae","typeString":"literal_string \"MinimalForwarder: signature does not match request\""}],"id":9272,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1894:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1894:85:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9279,"nodeType":"ExpressionStatement","src":"1894:85:69"},{"expression":{"id":9288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9280,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9188,"src":"1989:7:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":9283,"indexExpression":{"expression":{"id":9281,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"1997:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9168,"src":"1997:8:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1989:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9284,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2009:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":9176,"src":"2009:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2021:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2009:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1989:33:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9289,"nodeType":"ExpressionStatement","src":"1989:33:69"},{"assignments":[9291,9293],"declarations":[{"constant":false,"id":9291,"mutability":"mutable","name":"success","nameLocation":"2039:7:69","nodeType":"VariableDeclaration","scope":9325,"src":"2034:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9290,"name":"bool","nodeType":"ElementaryTypeName","src":"2034:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9293,"mutability":"mutable","name":"returndata","nameLocation":"2061:10:69","nodeType":"VariableDeclaration","scope":9325,"src":"2048:23:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9292,"name":"bytes","nodeType":"ElementaryTypeName","src":"2048:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9310,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":9304,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2149:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9178,"src":"2149:8:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"id":9306,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2159:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9168,"src":"2159:8:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2132:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2132:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2132:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":9294,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2075:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9170,"src":"2075:6:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2075:11:69","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":9301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["gas","value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":9297,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2092:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":9174,"src":"2092:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9299,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2108:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":9172,"src":"2108:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2075:43:69","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":9309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2075:103:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2033:145:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":9311,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"2329:7:69","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":9312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2329:9:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9313,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9263,"src":"2342:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest calldata"}},"id":9314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":9174,"src":"2342:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3633","id":9315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2352:2:69","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"63"},"src":"2342:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2329:25:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9320,"nodeType":"IfStatement","src":"2325:451:69","trueBody":{"id":9319,"nodeType":"Block","src":"2356:420:69","statements":[{"AST":{"nodeType":"YulBlock","src":"2725:41:69","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"2743:7:69"},"nodeType":"YulFunctionCall","src":"2743:9:69"},"nodeType":"YulExpressionStatement","src":"2743:9:69"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[],"id":9318,"nodeType":"InlineAssembly","src":"2716:50:69"}]}},{"expression":{"components":[{"id":9321,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9291,"src":"2794:7:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9322,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9293,"src":"2803:10:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":9323,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2793:21:69","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":9271,"id":9324,"nodeType":"Return","src":"2786:28:69"}]},"functionSelector":"47153f82","id":9326,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"1749:7:69","nodeType":"FunctionDefinition","parameters":{"id":9266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9263,"mutability":"mutable","name":"req","nameLocation":"1781:3:69","nodeType":"VariableDeclaration","scope":9326,"src":"1757:27:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_calldata_ptr","typeString":"struct MinimalForwarder.ForwardRequest"},"typeName":{"id":9262,"nodeType":"UserDefinedTypeName","pathNode":{"id":9261,"name":"ForwardRequest","nodeType":"IdentifierPath","referencedDeclaration":9179,"src":"1757:14:69"},"referencedDeclaration":9179,"src":"1757:14:69","typeDescriptions":{"typeIdentifier":"t_struct$_ForwardRequest_$9179_storage_ptr","typeString":"struct MinimalForwarder.ForwardRequest"}},"visibility":"internal"},{"constant":false,"id":9265,"mutability":"mutable","name":"signature","nameLocation":"1801:9:69","nodeType":"VariableDeclaration","scope":9326,"src":"1786:24:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":9264,"name":"bytes","nodeType":"ElementaryTypeName","src":"1786:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1756:55:69"},"returnParameters":{"id":9271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9326,"src":"1860:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9267,"name":"bool","nodeType":"ElementaryTypeName","src":"1860:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9326,"src":"1866:12:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9269,"name":"bytes","nodeType":"ElementaryTypeName","src":"1866:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1859:20:69"},"scope":9327,"src":"1740:1081:69","stateMutability":"payable","virtual":false,"visibility":"public"}],"scope":9328,"src":"768:2055:69","usedErrors":[]}],"src":"111:2713:69"},"id":69},"contracts/@openzeppelin/contracts/proxy/Clones.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/Clones.sol","exportedSymbols":{"Clones":[9407]},"id":9408,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9329,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:70"},{"abstract":false,"baseContracts":[],"canonicalName":"Clones","contractDependencies":[],"contractKind":"library","documentation":{"id":9330,"nodeType":"StructuredDocumentation","src":"125:629:70","text":" @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for\n deploying minimal proxy contracts, also known as \"clones\".\n > To simply and cheaply clone contract functionality in an immutable way, this standard specifies\n > a minimal bytecode implementation that delegates all calls to a known, fixed address.\n The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`\n (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the\n deterministic method.\n _Available since v3.4._"},"fullyImplemented":true,"id":9407,"linearizedBaseContracts":[9407],"name":"Clones","nameLocation":"763:6:70","nodeType":"ContractDefinition","nodes":[{"body":{"id":9349,"nodeType":"Block","src":"1048:684:70","statements":[{"AST":{"nodeType":"YulBlock","src":"1110:549:70","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1315:4:70","type":"","value":"0x00"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1328:4:70","type":"","value":"0xe8"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1338:4:70","type":"","value":"0x60"},{"name":"implementation","nodeType":"YulIdentifier","src":"1344:14:70"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1334:3:70"},"nodeType":"YulFunctionCall","src":"1334:25:70"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1324:3:70"},"nodeType":"YulFunctionCall","src":"1324:36:70"},{"kind":"number","nodeType":"YulLiteral","src":"1362:48:70","type":"","value":"0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1321:2:70"},"nodeType":"YulFunctionCall","src":"1321:90:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1308:6:70"},"nodeType":"YulFunctionCall","src":"1308:104:70"},"nodeType":"YulExpressionStatement","src":"1308:104:70"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1533:4:70","type":"","value":"0x20"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1546:4:70","type":"","value":"0x78"},{"name":"implementation","nodeType":"YulIdentifier","src":"1552:14:70"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1542:3:70"},"nodeType":"YulFunctionCall","src":"1542:25:70"},{"kind":"number","nodeType":"YulLiteral","src":"1569:32:70","type":"","value":"0x5af43d82803e903d91602b57fd5bf3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1539:2:70"},"nodeType":"YulFunctionCall","src":"1539:63:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1526:6:70"},"nodeType":"YulFunctionCall","src":"1526:77:70"},"nodeType":"YulExpressionStatement","src":"1526:77:70"},{"nodeType":"YulAssignment","src":"1616:33:70","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1635:1:70","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1638:4:70","type":"","value":"0x09"},{"kind":"number","nodeType":"YulLiteral","src":"1644:4:70","type":"","value":"0x37"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"1628:6:70"},"nodeType":"YulFunctionCall","src":"1628:21:70"},"variableNames":[{"name":"instance","nodeType":"YulIdentifier","src":"1616:8:70"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":9333,"isOffset":false,"isSlot":false,"src":"1344:14:70","valueSize":1},{"declaration":9333,"isOffset":false,"isSlot":false,"src":"1552:14:70","valueSize":1},{"declaration":9336,"isOffset":false,"isSlot":false,"src":"1616:8:70","valueSize":1}],"id":9338,"nodeType":"InlineAssembly","src":"1101:558:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9340,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9336,"src":"1676:8:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":9343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1696:1:70","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":9342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1688:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9341,"name":"address","nodeType":"ElementaryTypeName","src":"1688:7:70","typeDescriptions":{}}},"id":9344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1688:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1676:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313136373a20637265617465206661696c6564","id":9346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1700:24:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_68ca40b61460257f14e69f48b1a4dbc812e9afc6932f127ef8084544457b3335","typeString":"literal_string \"ERC1167: create failed\""},"value":"ERC1167: create failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_68ca40b61460257f14e69f48b1a4dbc812e9afc6932f127ef8084544457b3335","typeString":"literal_string \"ERC1167: create failed\""}],"id":9339,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1668:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1668:57:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9348,"nodeType":"ExpressionStatement","src":"1668:57:70"}]},"documentation":{"id":9331,"nodeType":"StructuredDocumentation","src":"776:192:70","text":" @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.\n This function uses the create opcode, which should never revert."},"id":9350,"implemented":true,"kind":"function","modifiers":[],"name":"clone","nameLocation":"982:5:70","nodeType":"FunctionDefinition","parameters":{"id":9334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9333,"mutability":"mutable","name":"implementation","nameLocation":"996:14:70","nodeType":"VariableDeclaration","scope":9350,"src":"988:22:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9332,"name":"address","nodeType":"ElementaryTypeName","src":"988:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"987:24:70"},"returnParameters":{"id":9337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9336,"mutability":"mutable","name":"instance","nameLocation":"1038:8:70","nodeType":"VariableDeclaration","scope":9350,"src":"1030:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9335,"name":"address","nodeType":"ElementaryTypeName","src":"1030:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1029:18:70"},"scope":9407,"src":"973:759:70","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9371,"nodeType":"Block","src":"2209:692:70","statements":[{"AST":{"nodeType":"YulBlock","src":"2271:556:70","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2476:4:70","type":"","value":"0x00"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2489:4:70","type":"","value":"0xe8"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2499:4:70","type":"","value":"0x60"},{"name":"implementation","nodeType":"YulIdentifier","src":"2505:14:70"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2495:3:70"},"nodeType":"YulFunctionCall","src":"2495:25:70"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2485:3:70"},"nodeType":"YulFunctionCall","src":"2485:36:70"},{"kind":"number","nodeType":"YulLiteral","src":"2523:48:70","type":"","value":"0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2482:2:70"},"nodeType":"YulFunctionCall","src":"2482:90:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2469:6:70"},"nodeType":"YulFunctionCall","src":"2469:104:70"},"nodeType":"YulExpressionStatement","src":"2469:104:70"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2694:4:70","type":"","value":"0x20"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2707:4:70","type":"","value":"0x78"},{"name":"implementation","nodeType":"YulIdentifier","src":"2713:14:70"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2703:3:70"},"nodeType":"YulFunctionCall","src":"2703:25:70"},{"kind":"number","nodeType":"YulLiteral","src":"2730:32:70","type":"","value":"0x5af43d82803e903d91602b57fd5bf3"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2700:2:70"},"nodeType":"YulFunctionCall","src":"2700:63:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2687:6:70"},"nodeType":"YulFunctionCall","src":"2687:77:70"},"nodeType":"YulExpressionStatement","src":"2687:77:70"},{"nodeType":"YulAssignment","src":"2777:40:70","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2797:1:70","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2800:4:70","type":"","value":"0x09"},{"kind":"number","nodeType":"YulLiteral","src":"2806:4:70","type":"","value":"0x37"},{"name":"salt","nodeType":"YulIdentifier","src":"2812:4:70"}],"functionName":{"name":"create2","nodeType":"YulIdentifier","src":"2789:7:70"},"nodeType":"YulFunctionCall","src":"2789:28:70"},"variableNames":[{"name":"instance","nodeType":"YulIdentifier","src":"2777:8:70"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":9353,"isOffset":false,"isSlot":false,"src":"2505:14:70","valueSize":1},{"declaration":9353,"isOffset":false,"isSlot":false,"src":"2713:14:70","valueSize":1},{"declaration":9358,"isOffset":false,"isSlot":false,"src":"2777:8:70","valueSize":1},{"declaration":9355,"isOffset":false,"isSlot":false,"src":"2812:4:70","valueSize":1}],"id":9360,"nodeType":"InlineAssembly","src":"2262:565:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9362,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"2844:8:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":9365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2864:1:70","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":9364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2856:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9363,"name":"address","nodeType":"ElementaryTypeName","src":"2856:7:70","typeDescriptions":{}}},"id":9366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2856:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2844:22:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313136373a2063726561746532206661696c6564","id":9368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2868:25:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ec050e530ce66e7658278ab7a4e4a2f19225159c48fc52eb249bd268e755d73","typeString":"literal_string \"ERC1167: create2 failed\""},"value":"ERC1167: create2 failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4ec050e530ce66e7658278ab7a4e4a2f19225159c48fc52eb249bd268e755d73","typeString":"literal_string \"ERC1167: create2 failed\""}],"id":9361,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2836:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2836:58:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9370,"nodeType":"ExpressionStatement","src":"2836:58:70"}]},"documentation":{"id":9351,"nodeType":"StructuredDocumentation","src":"1738:364:70","text":" @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.\n This function uses the create2 opcode and a `salt` to deterministically deploy\n the clone. Using the same `implementation` and `salt` multiple time will revert, since\n the clones cannot be deployed twice at the same address."},"id":9372,"implemented":true,"kind":"function","modifiers":[],"name":"cloneDeterministic","nameLocation":"2116:18:70","nodeType":"FunctionDefinition","parameters":{"id":9356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9353,"mutability":"mutable","name":"implementation","nameLocation":"2143:14:70","nodeType":"VariableDeclaration","scope":9372,"src":"2135:22:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9352,"name":"address","nodeType":"ElementaryTypeName","src":"2135:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9355,"mutability":"mutable","name":"salt","nameLocation":"2167:4:70","nodeType":"VariableDeclaration","scope":9372,"src":"2159:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2159:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2134:38:70"},"returnParameters":{"id":9359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9358,"mutability":"mutable","name":"instance","nameLocation":"2199:8:70","nodeType":"VariableDeclaration","scope":9372,"src":"2191:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9357,"name":"address","nodeType":"ElementaryTypeName","src":"2191:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2190:18:70"},"scope":9407,"src":"2107:794:70","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9385,"nodeType":"Block","src":"3176:515:70","statements":[{"AST":{"nodeType":"YulBlock","src":"3238:447:70","statements":[{"nodeType":"YulVariableDeclaration","src":"3252:22:70","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3269:4:70","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3263:5:70"},"nodeType":"YulFunctionCall","src":"3263:11:70"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"3256:3:70","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3298:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3303:4:70","type":"","value":"0x38"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3294:3:70"},"nodeType":"YulFunctionCall","src":"3294:14:70"},{"name":"deployer","nodeType":"YulIdentifier","src":"3310:8:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3287:6:70"},"nodeType":"YulFunctionCall","src":"3287:32:70"},"nodeType":"YulExpressionStatement","src":"3287:32:70"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3343:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3348:4:70","type":"","value":"0x24"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3339:3:70"},"nodeType":"YulFunctionCall","src":"3339:14:70"},{"kind":"number","nodeType":"YulLiteral","src":"3355:34:70","type":"","value":"0x5af43d82803e903d91602b57fd5bf3ff"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3332:6:70"},"nodeType":"YulFunctionCall","src":"3332:58:70"},"nodeType":"YulExpressionStatement","src":"3332:58:70"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3414:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3419:4:70","type":"","value":"0x14"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3410:3:70"},"nodeType":"YulFunctionCall","src":"3410:14:70"},{"name":"implementation","nodeType":"YulIdentifier","src":"3426:14:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3403:6:70"},"nodeType":"YulFunctionCall","src":"3403:38:70"},"nodeType":"YulExpressionStatement","src":"3403:38:70"},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3461:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3466:42:70","type":"","value":"0x3d602d80600a3d3981f3363d3d373d3d3d363d73"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3454:6:70"},"nodeType":"YulFunctionCall","src":"3454:55:70"},"nodeType":"YulExpressionStatement","src":"3454:55:70"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3533:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3538:4:70","type":"","value":"0x58"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3529:3:70"},"nodeType":"YulFunctionCall","src":"3529:14:70"},{"name":"salt","nodeType":"YulIdentifier","src":"3545:4:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3522:6:70"},"nodeType":"YulFunctionCall","src":"3522:28:70"},"nodeType":"YulExpressionStatement","src":"3522:28:70"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3574:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3579:4:70","type":"","value":"0x78"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3570:3:70"},"nodeType":"YulFunctionCall","src":"3570:14:70"},{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3600:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3605:4:70","type":"","value":"0x0c"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3596:3:70"},"nodeType":"YulFunctionCall","src":"3596:14:70"},{"kind":"number","nodeType":"YulLiteral","src":"3612:4:70","type":"","value":"0x37"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"3586:9:70"},"nodeType":"YulFunctionCall","src":"3586:31:70"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3563:6:70"},"nodeType":"YulFunctionCall","src":"3563:55:70"},"nodeType":"YulExpressionStatement","src":"3563:55:70"},{"nodeType":"YulAssignment","src":"3631:44:70","value":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3658:3:70"},{"kind":"number","nodeType":"YulLiteral","src":"3663:4:70","type":"","value":"0x43"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3654:3:70"},"nodeType":"YulFunctionCall","src":"3654:14:70"},{"kind":"number","nodeType":"YulLiteral","src":"3670:4:70","type":"","value":"0x55"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"3644:9:70"},"nodeType":"YulFunctionCall","src":"3644:31:70"},"variableNames":[{"name":"predicted","nodeType":"YulIdentifier","src":"3631:9:70"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":9379,"isOffset":false,"isSlot":false,"src":"3310:8:70","valueSize":1},{"declaration":9375,"isOffset":false,"isSlot":false,"src":"3426:14:70","valueSize":1},{"declaration":9382,"isOffset":false,"isSlot":false,"src":"3631:9:70","valueSize":1},{"declaration":9377,"isOffset":false,"isSlot":false,"src":"3545:4:70","valueSize":1}],"id":9384,"nodeType":"InlineAssembly","src":"3229:456:70"}]},"documentation":{"id":9373,"nodeType":"StructuredDocumentation","src":"2907:99:70","text":" @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}."},"id":9386,"implemented":true,"kind":"function","modifiers":[],"name":"predictDeterministicAddress","nameLocation":"3020:27:70","nodeType":"FunctionDefinition","parameters":{"id":9380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9375,"mutability":"mutable","name":"implementation","nameLocation":"3065:14:70","nodeType":"VariableDeclaration","scope":9386,"src":"3057:22:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9374,"name":"address","nodeType":"ElementaryTypeName","src":"3057:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9377,"mutability":"mutable","name":"salt","nameLocation":"3097:4:70","nodeType":"VariableDeclaration","scope":9386,"src":"3089:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3089:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9379,"mutability":"mutable","name":"deployer","nameLocation":"3119:8:70","nodeType":"VariableDeclaration","scope":9386,"src":"3111:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9378,"name":"address","nodeType":"ElementaryTypeName","src":"3111:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3047:86:70"},"returnParameters":{"id":9383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9382,"mutability":"mutable","name":"predicted","nameLocation":"3165:9:70","nodeType":"VariableDeclaration","scope":9386,"src":"3157:17:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9381,"name":"address","nodeType":"ElementaryTypeName","src":"3157:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3156:19:70"},"scope":9407,"src":"3011:680:70","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9405,"nodeType":"Block","src":"3946:88:70","statements":[{"expression":{"arguments":[{"id":9397,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9389,"src":"3991:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9398,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9391,"src":"4007:4:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":9401,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4021:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_Clones_$9407","typeString":"library Clones"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Clones_$9407","typeString":"library Clones"}],"id":9400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4013:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9399,"name":"address","nodeType":"ElementaryTypeName","src":"4013:7:70","typeDescriptions":{}}},"id":9402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4013:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9396,"name":"predictDeterministicAddress","nodeType":"Identifier","overloadedDeclarations":[9386,9406],"referencedDeclaration":9386,"src":"3963:27:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (address,bytes32,address) pure returns (address)"}},"id":9403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3963:64:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9395,"id":9404,"nodeType":"Return","src":"3956:71:70"}]},"documentation":{"id":9387,"nodeType":"StructuredDocumentation","src":"3697:99:70","text":" @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}."},"id":9406,"implemented":true,"kind":"function","modifiers":[],"name":"predictDeterministicAddress","nameLocation":"3810:27:70","nodeType":"FunctionDefinition","parameters":{"id":9392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9389,"mutability":"mutable","name":"implementation","nameLocation":"3846:14:70","nodeType":"VariableDeclaration","scope":9406,"src":"3838:22:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9388,"name":"address","nodeType":"ElementaryTypeName","src":"3838:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9391,"mutability":"mutable","name":"salt","nameLocation":"3870:4:70","nodeType":"VariableDeclaration","scope":9406,"src":"3862:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3862:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3837:38:70"},"returnParameters":{"id":9395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9394,"mutability":"mutable","name":"predicted","nameLocation":"3931:9:70","nodeType":"VariableDeclaration","scope":9406,"src":"3923:17:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9393,"name":"address","nodeType":"ElementaryTypeName","src":"3923:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3922:19:70"},"scope":9407,"src":"3801:233:70","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":9408,"src":"755:3281:70","usedErrors":[]}],"src":"100:3937:70"},"id":70},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","exportedSymbols":{"Address":[20688],"ERC1967Proxy":[9444],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"Proxy":[9814],"StorageSlot":[22551]},"id":9445,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9409,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"114:23:71"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/Proxy.sol","file":"../Proxy.sol","id":9410,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9445,"sourceUnit":9815,"src":"139:22:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol","file":"./ERC1967Upgrade.sol","id":9411,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9445,"sourceUnit":9763,"src":"162:30:71","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9413,"name":"Proxy","nodeType":"IdentifierPath","referencedDeclaration":9814,"src":"592:5:71"},"id":9414,"nodeType":"InheritanceSpecifier","src":"592:5:71"},{"baseName":{"id":9415,"name":"ERC1967Upgrade","nodeType":"IdentifierPath","referencedDeclaration":9762,"src":"599:14:71"},"id":9416,"nodeType":"InheritanceSpecifier","src":"599:14:71"}],"canonicalName":"ERC1967Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":9412,"nodeType":"StructuredDocumentation","src":"194:372:71","text":" @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy."},"fullyImplemented":true,"id":9444,"linearizedBaseContracts":[9444,9762,9814],"name":"ERC1967Proxy","nameLocation":"576:12:71","nodeType":"ContractDefinition","nodes":[{"body":{"id":9430,"nodeType":"Block","src":"1014:56:71","statements":[{"expression":{"arguments":[{"id":9425,"name":"_logic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9419,"src":"1042:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9426,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9421,"src":"1050:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":9427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1057:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9424,"name":"_upgradeToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9545,"src":"1024:17:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":9428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1024:39:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9429,"nodeType":"ExpressionStatement","src":"1024:39:71"}]},"documentation":{"id":9417,"nodeType":"StructuredDocumentation","src":"620:333:71","text":" @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n function call, and allows initializing the storage of the proxy like a Solidity constructor."},"id":9431,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9419,"mutability":"mutable","name":"_logic","nameLocation":"978:6:71","nodeType":"VariableDeclaration","scope":9431,"src":"970:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9418,"name":"address","nodeType":"ElementaryTypeName","src":"970:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9421,"mutability":"mutable","name":"_data","nameLocation":"999:5:71","nodeType":"VariableDeclaration","scope":9431,"src":"986:18:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9420,"name":"bytes","nodeType":"ElementaryTypeName","src":"986:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"969:36:71"},"returnParameters":{"id":9423,"nodeType":"ParameterList","parameters":[],"src":"1014:0:71"},"scope":9444,"src":"958:112:71","stateMutability":"payable","virtual":false,"visibility":"public"},{"baseFunctions":[9779],"body":{"id":9442,"nodeType":"Block","src":"1229:59:71","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9438,"name":"ERC1967Upgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9762,"src":"1246:14:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Upgrade_$9762_$","typeString":"type(contract ERC1967Upgrade)"}},"id":9439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_getImplementation","nodeType":"MemberAccess","referencedDeclaration":9476,"src":"1246:33:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1246:35:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9437,"id":9441,"nodeType":"Return","src":"1239:42:71"}]},"documentation":{"id":9432,"nodeType":"StructuredDocumentation","src":"1076:67:71","text":" @dev Returns the current implementation address."},"id":9443,"implemented":true,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"1157:15:71","nodeType":"FunctionDefinition","overrides":{"id":9434,"nodeType":"OverrideSpecifier","overrides":[],"src":"1197:8:71"},"parameters":{"id":9433,"nodeType":"ParameterList","parameters":[],"src":"1172:2:71"},"returnParameters":{"id":9437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9436,"mutability":"mutable","name":"impl","nameLocation":"1223:4:71","nodeType":"VariableDeclaration","scope":9443,"src":"1215:12:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9435,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1214:14:71"},"scope":9444,"src":"1148:140:71","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":9445,"src":"567:723:71","usedErrors":[]}],"src":"114:1177:71"},"id":71},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol","exportedSymbols":{"Address":[20688],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"StorageSlot":[22551]},"id":9763,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9446,"literals":["solidity","^","0.8",".2"],"nodeType":"PragmaDirective","src":"116:23:72"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","file":"../beacon/IBeacon.sol","id":9447,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9763,"sourceUnit":9891,"src":"141:31:72","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","file":"../../interfaces/draft-IERC1822.sol","id":9448,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9763,"sourceUnit":9072,"src":"173:45:72","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":9449,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9763,"sourceUnit":20689,"src":"219:33:72","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/StorageSlot.sol","file":"../../utils/StorageSlot.sol","id":9450,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9763,"sourceUnit":22552,"src":"253:37:72","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"ERC1967Upgrade","contractDependencies":[],"contractKind":"contract","documentation":{"id":9451,"nodeType":"StructuredDocumentation","src":"292:236:72","text":" @dev This abstract contract provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n _Available since v4.1._\n @custom:oz-upgrades-unsafe-allow delegatecall"},"fullyImplemented":true,"id":9762,"linearizedBaseContracts":[9762],"name":"ERC1967Upgrade","nameLocation":"547:14:72","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":9454,"mutability":"constant","name":"_ROLLBACK_SLOT","nameLocation":"672:14:72","nodeType":"VariableDeclaration","scope":9762,"src":"647:108:72","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"647:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834393130666466613136666564333236306564306537313437663763633664613131613630323038623562393430366431326136333536313466666439313433","id":9453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"689:66:72","typeDescriptions":{"typeIdentifier":"t_rational_33048860383849004559742813297059419343339852917517107368639918720169455489347_by_1","typeString":"int_const 3304...(69 digits omitted)...9347"},"value":"0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143"},"visibility":"private"},{"constant":true,"documentation":{"id":9455,"nodeType":"StructuredDocumentation","src":"762:214:72","text":" @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is\n validated in the constructor."},"id":9458,"mutability":"constant","name":"_IMPLEMENTATION_SLOT","nameLocation":"1007:20:72","nodeType":"VariableDeclaration","scope":9762,"src":"981:115:72","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"981:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263","id":9457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1030:66:72","typeDescriptions":{"typeIdentifier":"t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1","typeString":"int_const 2444...(69 digits omitted)...5612"},"value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"visibility":"internal"},{"anonymous":false,"documentation":{"id":9459,"nodeType":"StructuredDocumentation","src":"1103:68:72","text":" @dev Emitted when the implementation is upgraded."},"id":9463,"name":"Upgraded","nameLocation":"1182:8:72","nodeType":"EventDefinition","parameters":{"id":9462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9461,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"1207:14:72","nodeType":"VariableDeclaration","scope":9463,"src":"1191:30:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9460,"name":"address","nodeType":"ElementaryTypeName","src":"1191:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1190:32:72"},"src":"1176:47:72"},{"body":{"id":9475,"nodeType":"Block","src":"1363:78:72","statements":[{"expression":{"expression":{"arguments":[{"id":9471,"name":"_IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"1407:20:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9469,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"1380:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"1380:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1380:48:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"1380:54:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9468,"id":9474,"nodeType":"Return","src":"1373:61:72"}]},"documentation":{"id":9464,"nodeType":"StructuredDocumentation","src":"1229:67:72","text":" @dev Returns the current implementation address."},"id":9476,"implemented":true,"kind":"function","modifiers":[],"name":"_getImplementation","nameLocation":"1310:18:72","nodeType":"FunctionDefinition","parameters":{"id":9465,"nodeType":"ParameterList","parameters":[],"src":"1328:2:72"},"returnParameters":{"id":9468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9476,"src":"1354:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9466,"name":"address","nodeType":"ElementaryTypeName","src":"1354:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1353:9:72"},"scope":9762,"src":"1301:140:72","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9499,"nodeType":"Block","src":"1595:196:72","statements":[{"expression":{"arguments":[{"arguments":[{"id":9485,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9479,"src":"1632:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9483,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"1613:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"1613:18:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1613:37:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313936373a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374","id":9487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1652:47:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65","typeString":"literal_string \"ERC1967: new implementation is not a contract\""},"value":"ERC1967: new implementation is not a contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65","typeString":"literal_string \"ERC1967: new implementation is not a contract\""}],"id":9482,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1605:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1605:95:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9489,"nodeType":"ExpressionStatement","src":"1605:95:72"},{"expression":{"id":9497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":9493,"name":"_IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"1737:20:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9490,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"1710:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"1710:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1710:48:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"1710:54:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9496,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9479,"src":"1767:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1710:74:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9498,"nodeType":"ExpressionStatement","src":"1710:74:72"}]},"documentation":{"id":9477,"nodeType":"StructuredDocumentation","src":"1447:80:72","text":" @dev Stores a new address in the EIP1967 implementation slot."},"id":9500,"implemented":true,"kind":"function","modifiers":[],"name":"_setImplementation","nameLocation":"1541:18:72","nodeType":"FunctionDefinition","parameters":{"id":9480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9479,"mutability":"mutable","name":"newImplementation","nameLocation":"1568:17:72","nodeType":"VariableDeclaration","scope":9500,"src":"1560:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9478,"name":"address","nodeType":"ElementaryTypeName","src":"1560:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1559:27:72"},"returnParameters":{"id":9481,"nodeType":"ParameterList","parameters":[],"src":"1595:0:72"},"scope":9762,"src":"1532:259:72","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9514,"nodeType":"Block","src":"1953:96:72","statements":[{"expression":{"arguments":[{"id":9507,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9503,"src":"1982:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9506,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9500,"src":"1963:18:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1963:37:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9509,"nodeType":"ExpressionStatement","src":"1963:37:72"},{"eventCall":{"arguments":[{"id":9511,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9503,"src":"2024:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9510,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9463,"src":"2015:8:72","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2015:27:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9513,"nodeType":"EmitStatement","src":"2010:32:72"}]},"documentation":{"id":9501,"nodeType":"StructuredDocumentation","src":"1797:95:72","text":" @dev Perform implementation upgrade\n Emits an {Upgraded} event."},"id":9515,"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeTo","nameLocation":"1906:10:72","nodeType":"FunctionDefinition","parameters":{"id":9504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9503,"mutability":"mutable","name":"newImplementation","nameLocation":"1925:17:72","nodeType":"VariableDeclaration","scope":9515,"src":"1917:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9502,"name":"address","nodeType":"ElementaryTypeName","src":"1917:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1916:27:72"},"returnParameters":{"id":9505,"nodeType":"ParameterList","parameters":[],"src":"1953:0:72"},"scope":9762,"src":"1897:152:72","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9544,"nodeType":"Block","src":"2311:167:72","statements":[{"expression":{"arguments":[{"id":9526,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9518,"src":"2332:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9525,"name":"_upgradeTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9515,"src":"2321:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2321:29:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9528,"nodeType":"ExpressionStatement","src":"2321:29:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9529,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9520,"src":"2364:4:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2364:11:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2378:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2364:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":9533,"name":"forceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9522,"src":"2383:9:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2364:28:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9543,"nodeType":"IfStatement","src":"2360:112:72","trueBody":{"id":9542,"nodeType":"Block","src":"2394:78:72","statements":[{"expression":{"arguments":[{"id":9538,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9518,"src":"2437:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9539,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9520,"src":"2456:4:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9535,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"2408:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":20575,"src":"2408:28:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":9540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2408:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9541,"nodeType":"ExpressionStatement","src":"2408:53:72"}]}}]},"documentation":{"id":9516,"nodeType":"StructuredDocumentation","src":"2055:123:72","text":" @dev Perform implementation upgrade with additional setup call.\n Emits an {Upgraded} event."},"id":9545,"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeToAndCall","nameLocation":"2192:17:72","nodeType":"FunctionDefinition","parameters":{"id":9523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9518,"mutability":"mutable","name":"newImplementation","nameLocation":"2227:17:72","nodeType":"VariableDeclaration","scope":9545,"src":"2219:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9517,"name":"address","nodeType":"ElementaryTypeName","src":"2219:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9520,"mutability":"mutable","name":"data","nameLocation":"2267:4:72","nodeType":"VariableDeclaration","scope":9545,"src":"2254:17:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9519,"name":"bytes","nodeType":"ElementaryTypeName","src":"2254:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9522,"mutability":"mutable","name":"forceCall","nameLocation":"2286:9:72","nodeType":"VariableDeclaration","scope":9545,"src":"2281:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9521,"name":"bool","nodeType":"ElementaryTypeName","src":"2281:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2209:92:72"},"returnParameters":{"id":9524,"nodeType":"ParameterList","parameters":[],"src":"2311:0:72"},"scope":9762,"src":"2183:295:72","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9597,"nodeType":"Block","src":"2782:820:72","statements":[{"condition":{"expression":{"arguments":[{"id":9557,"name":"_ROLLBACK_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9454,"src":"3123:14:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9555,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"3096:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBooleanSlot","nodeType":"MemberAccess","referencedDeclaration":22528,"src":"3096:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_BooleanSlot_$22500_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.BooleanSlot storage pointer)"}},"id":9558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3096:42:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$22500_storage_ptr","typeString":"struct StorageSlot.BooleanSlot storage pointer"}},"id":9559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22499,"src":"3096:48:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9595,"nodeType":"Block","src":"3214:382:72","statements":[{"clauses":[{"block":{"id":9580,"nodeType":"Block","src":"3308:115:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9574,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9571,"src":"3334:4:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9575,"name":"_IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"3342:20:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3334:28:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524331393637557067726164653a20756e737570706f727465642070726f786961626c6555554944","id":9577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3364:43:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_76b6b6debfc5febf101145a79ecf0b0d2e89e397dfdab2bca99888370411152c","typeString":"literal_string \"ERC1967Upgrade: unsupported proxiableUUID\""},"value":"ERC1967Upgrade: unsupported proxiableUUID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_76b6b6debfc5febf101145a79ecf0b0d2e89e397dfdab2bca99888370411152c","typeString":"literal_string \"ERC1967Upgrade: unsupported proxiableUUID\""}],"id":9573,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3326:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3326:82:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9579,"nodeType":"ExpressionStatement","src":"3326:82:72"}]},"errorName":"","id":9581,"nodeType":"TryCatchClause","parameters":{"id":9572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9571,"mutability":"mutable","name":"slot","nameLocation":"3302:4:72","nodeType":"VariableDeclaration","scope":9581,"src":"3294:12:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3294:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3293:14:72"},"src":"3285:138:72"},{"block":{"id":9586,"nodeType":"Block","src":"3430:89:72","statements":[{"expression":{"arguments":[{"hexValue":"45524331393637557067726164653a206e657720696d706c656d656e746174696f6e206973206e6f742055555053","id":9583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3455:48:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e8e2fbcb586f700b5b14e2c4a650c8d83b9773c31c5fe8962070ea544e11f24","typeString":"literal_string \"ERC1967Upgrade: new implementation is not UUPS\""},"value":"ERC1967Upgrade: new implementation is not UUPS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e8e2fbcb586f700b5b14e2c4a650c8d83b9773c31c5fe8962070ea544e11f24","typeString":"literal_string \"ERC1967Upgrade: new implementation is not UUPS\""}],"id":9582,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3448:6:72","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3448:56:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9585,"nodeType":"ExpressionStatement","src":"3448:56:72"}]},"errorName":"","id":9587,"nodeType":"TryCatchClause","src":"3424:95:72"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":9566,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"3250:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9565,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9071,"src":"3232:17:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1822Proxiable_$9071_$","typeString":"type(contract IERC1822Proxiable)"}},"id":9567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3232:36:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1822Proxiable_$9071","typeString":"contract IERC1822Proxiable"}},"id":9568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":9070,"src":"3232:50:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":9569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3232:52:72","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9588,"nodeType":"TryStatement","src":"3228:291:72"},{"expression":{"arguments":[{"id":9590,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"3550:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9591,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9550,"src":"3569:4:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9592,"name":"forceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9552,"src":"3575:9:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9589,"name":"_upgradeToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9545,"src":"3532:17:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":9593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3532:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9594,"nodeType":"ExpressionStatement","src":"3532:53:72"}]},"id":9596,"nodeType":"IfStatement","src":"3092:504:72","trueBody":{"id":9564,"nodeType":"Block","src":"3146:62:72","statements":[{"expression":{"arguments":[{"id":9561,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"3179:17:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9560,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9500,"src":"3160:18:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3160:37:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9563,"nodeType":"ExpressionStatement","src":"3160:37:72"}]}}]},"documentation":{"id":9546,"nodeType":"StructuredDocumentation","src":"2484:161:72","text":" @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call.\n Emits an {Upgraded} event."},"id":9598,"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeToAndCallUUPS","nameLocation":"2659:21:72","nodeType":"FunctionDefinition","parameters":{"id":9553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9548,"mutability":"mutable","name":"newImplementation","nameLocation":"2698:17:72","nodeType":"VariableDeclaration","scope":9598,"src":"2690:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9547,"name":"address","nodeType":"ElementaryTypeName","src":"2690:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9550,"mutability":"mutable","name":"data","nameLocation":"2738:4:72","nodeType":"VariableDeclaration","scope":9598,"src":"2725:17:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9549,"name":"bytes","nodeType":"ElementaryTypeName","src":"2725:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9552,"mutability":"mutable","name":"forceCall","nameLocation":"2757:9:72","nodeType":"VariableDeclaration","scope":9598,"src":"2752:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9551,"name":"bool","nodeType":"ElementaryTypeName","src":"2752:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2680:92:72"},"returnParameters":{"id":9554,"nodeType":"ParameterList","parameters":[],"src":"2782:0:72"},"scope":9762,"src":"2650:952:72","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"constant":true,"documentation":{"id":9599,"nodeType":"StructuredDocumentation","src":"3608:189:72","text":" @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is\n validated in the constructor."},"id":9602,"mutability":"constant","name":"_ADMIN_SLOT","nameLocation":"3828:11:72","nodeType":"VariableDeclaration","scope":9762,"src":"3802:106:72","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3802:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033","id":9601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3842:66:72","typeDescriptions":{"typeIdentifier":"t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1","typeString":"int_const 8195...(69 digits omitted)...7091"},"value":"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"},"visibility":"internal"},{"anonymous":false,"documentation":{"id":9603,"nodeType":"StructuredDocumentation","src":"3915:67:72","text":" @dev Emitted when the admin account has changed."},"id":9609,"name":"AdminChanged","nameLocation":"3993:12:72","nodeType":"EventDefinition","parameters":{"id":9608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9605,"indexed":false,"mutability":"mutable","name":"previousAdmin","nameLocation":"4014:13:72","nodeType":"VariableDeclaration","scope":9609,"src":"4006:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9604,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9607,"indexed":false,"mutability":"mutable","name":"newAdmin","nameLocation":"4037:8:72","nodeType":"VariableDeclaration","scope":9609,"src":"4029:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9606,"name":"address","nodeType":"ElementaryTypeName","src":"4029:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:41:72"},"src":"3987:60:72"},{"body":{"id":9621,"nodeType":"Block","src":"4161:69:72","statements":[{"expression":{"expression":{"arguments":[{"id":9617,"name":"_ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9602,"src":"4205:11:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9615,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"4178:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"4178:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4178:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"4178:45:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9614,"id":9620,"nodeType":"Return","src":"4171:52:72"}]},"documentation":{"id":9610,"nodeType":"StructuredDocumentation","src":"4053:50:72","text":" @dev Returns the current admin."},"id":9622,"implemented":true,"kind":"function","modifiers":[],"name":"_getAdmin","nameLocation":"4117:9:72","nodeType":"FunctionDefinition","parameters":{"id":9611,"nodeType":"ParameterList","parameters":[],"src":"4126:2:72"},"returnParameters":{"id":9614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9622,"src":"4152:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9612,"name":"address","nodeType":"ElementaryTypeName","src":"4152:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4151:9:72"},"scope":9762,"src":"4108:122:72","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9647,"nodeType":"Block","src":"4357:156:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9629,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9625,"src":"4375:8:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":9632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4395:1:72","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":9631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4387:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9630,"name":"address","nodeType":"ElementaryTypeName","src":"4387:7:72","typeDescriptions":{}}},"id":9633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4387:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4375:22:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313936373a206e65772061646d696e20697320746865207a65726f2061646472657373","id":9635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4399:40:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5","typeString":"literal_string \"ERC1967: new admin is the zero address\""},"value":"ERC1967: new admin is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5","typeString":"literal_string \"ERC1967: new admin is the zero address\""}],"id":9628,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4367:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4367:73:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9637,"nodeType":"ExpressionStatement","src":"4367:73:72"},{"expression":{"id":9645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":9641,"name":"_ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9602,"src":"4477:11:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9638,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"4450:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"4450:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4450:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"4450:45:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9644,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9625,"src":"4498:8:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4450:56:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9646,"nodeType":"ExpressionStatement","src":"4450:56:72"}]},"documentation":{"id":9623,"nodeType":"StructuredDocumentation","src":"4236:71:72","text":" @dev Stores a new address in the EIP1967 admin slot."},"id":9648,"implemented":true,"kind":"function","modifiers":[],"name":"_setAdmin","nameLocation":"4321:9:72","nodeType":"FunctionDefinition","parameters":{"id":9626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9625,"mutability":"mutable","name":"newAdmin","nameLocation":"4339:8:72","nodeType":"VariableDeclaration","scope":9648,"src":"4331:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9624,"name":"address","nodeType":"ElementaryTypeName","src":"4331:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4330:18:72"},"returnParameters":{"id":9627,"nodeType":"ParameterList","parameters":[],"src":"4357:0:72"},"scope":9762,"src":"4312:201:72","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9664,"nodeType":"Block","src":"4673:86:72","statements":[{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":9655,"name":"_getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9622,"src":"4701:9:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4701:11:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9657,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9651,"src":"4714:8:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9654,"name":"AdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9609,"src":"4688:12:72","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4688:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9659,"nodeType":"EmitStatement","src":"4683:40:72"},{"expression":{"arguments":[{"id":9661,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9651,"src":"4743:8:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9660,"name":"_setAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9648,"src":"4733:9:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4733:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9663,"nodeType":"ExpressionStatement","src":"4733:19:72"}]},"documentation":{"id":9649,"nodeType":"StructuredDocumentation","src":"4519:100:72","text":" @dev Changes the admin of the proxy.\n Emits an {AdminChanged} event."},"id":9665,"implemented":true,"kind":"function","modifiers":[],"name":"_changeAdmin","nameLocation":"4633:12:72","nodeType":"FunctionDefinition","parameters":{"id":9652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9651,"mutability":"mutable","name":"newAdmin","nameLocation":"4654:8:72","nodeType":"VariableDeclaration","scope":9665,"src":"4646:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9650,"name":"address","nodeType":"ElementaryTypeName","src":"4646:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4645:18:72"},"returnParameters":{"id":9653,"nodeType":"ParameterList","parameters":[],"src":"4673:0:72"},"scope":9762,"src":"4624:135:72","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"constant":true,"documentation":{"id":9666,"nodeType":"StructuredDocumentation","src":"4765:232:72","text":" @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor."},"id":9669,"mutability":"constant","name":"_BEACON_SLOT","nameLocation":"5028:12:72","nodeType":"VariableDeclaration","scope":9762,"src":"5002:107:72","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5002:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530","id":9668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5043:66:72","typeDescriptions":{"typeIdentifier":"t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1","typeString":"int_const 7415...(69 digits omitted)...4704"},"value":"0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50"},"visibility":"internal"},{"anonymous":false,"documentation":{"id":9670,"nodeType":"StructuredDocumentation","src":"5116:60:72","text":" @dev Emitted when the beacon is upgraded."},"id":9674,"name":"BeaconUpgraded","nameLocation":"5187:14:72","nodeType":"EventDefinition","parameters":{"id":9673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9672,"indexed":true,"mutability":"mutable","name":"beacon","nameLocation":"5218:6:72","nodeType":"VariableDeclaration","scope":9674,"src":"5202:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9671,"name":"address","nodeType":"ElementaryTypeName","src":"5202:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5201:24:72"},"src":"5181:45:72"},{"body":{"id":9686,"nodeType":"Block","src":"5342:70:72","statements":[{"expression":{"expression":{"arguments":[{"id":9682,"name":"_BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9669,"src":"5386:12:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9680,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"5359:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"5359:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5359:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"5359:46:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9679,"id":9685,"nodeType":"Return","src":"5352:53:72"}]},"documentation":{"id":9675,"nodeType":"StructuredDocumentation","src":"5232:51:72","text":" @dev Returns the current beacon."},"id":9687,"implemented":true,"kind":"function","modifiers":[],"name":"_getBeacon","nameLocation":"5297:10:72","nodeType":"FunctionDefinition","parameters":{"id":9676,"nodeType":"ParameterList","parameters":[],"src":"5307:2:72"},"returnParameters":{"id":9679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9687,"src":"5333:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9677,"name":"address","nodeType":"ElementaryTypeName","src":"5333:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5332:9:72"},"scope":9762,"src":"5288:124:72","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9722,"nodeType":"Block","src":"5541:324:72","statements":[{"expression":{"arguments":[{"arguments":[{"id":9696,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9690,"src":"5578:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9694,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"5559:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"5559:18:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5559:29:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313936373a206e657720626561636f6e206973206e6f74206120636f6e7472616374","id":9698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5590:39:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470","typeString":"literal_string \"ERC1967: new beacon is not a contract\""},"value":"ERC1967: new beacon is not a contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470","typeString":"literal_string \"ERC1967: new beacon is not a contract\""}],"id":9693,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5551:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5551:79:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9700,"nodeType":"ExpressionStatement","src":"5551:79:72"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":9705,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9690,"src":"5688:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9704,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9890,"src":"5680:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$9890_$","typeString":"type(contract IBeacon)"}},"id":9706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5680:18:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$9890","typeString":"contract IBeacon"}},"id":9707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":9889,"src":"5680:33:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":9708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5680:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9702,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"5661:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"5661:18:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5661:55:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313936373a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374","id":9710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5730:50:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8","typeString":"literal_string \"ERC1967: beacon implementation is not a contract\""},"value":"ERC1967: beacon implementation is not a contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8","typeString":"literal_string \"ERC1967: beacon implementation is not a contract\""}],"id":9701,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5640:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5640:150:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9712,"nodeType":"ExpressionStatement","src":"5640:150:72"},{"expression":{"id":9720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":9716,"name":"_BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9669,"src":"5827:12:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9713,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22551,"src":"5800:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$22551_$","typeString":"type(library StorageSlot)"}},"id":9715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"5800:26:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":9717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5800:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":9718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22496,"src":"5800:46:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9719,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9690,"src":"5849:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5800:58:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9721,"nodeType":"ExpressionStatement","src":"5800:58:72"}]},"documentation":{"id":9688,"nodeType":"StructuredDocumentation","src":"5418:71:72","text":" @dev Stores a new beacon in the EIP1967 beacon slot."},"id":9723,"implemented":true,"kind":"function","modifiers":[],"name":"_setBeacon","nameLocation":"5503:10:72","nodeType":"FunctionDefinition","parameters":{"id":9691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9690,"mutability":"mutable","name":"newBeacon","nameLocation":"5522:9:72","nodeType":"VariableDeclaration","scope":9723,"src":"5514:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9689,"name":"address","nodeType":"ElementaryTypeName","src":"5514:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5513:19:72"},"returnParameters":{"id":9692,"nodeType":"ParameterList","parameters":[],"src":"5541:0:72"},"scope":9762,"src":"5494:371:72","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9760,"nodeType":"Block","src":"6294:217:72","statements":[{"expression":{"arguments":[{"id":9734,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9726,"src":"6315:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9733,"name":"_setBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9723,"src":"6304:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6304:21:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9736,"nodeType":"ExpressionStatement","src":"6304:21:72"},{"eventCall":{"arguments":[{"id":9738,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9726,"src":"6355:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9737,"name":"BeaconUpgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9674,"src":"6340:14:72","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6340:25:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9740,"nodeType":"EmitStatement","src":"6335:30:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9741,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"6379:4:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6379:11:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6393:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6379:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":9745,"name":"forceCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9730,"src":"6398:9:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6379:28:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9759,"nodeType":"IfStatement","src":"6375:130:72","trueBody":{"id":9758,"nodeType":"Block","src":"6409:96:72","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":9751,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9726,"src":"6460:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9750,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9890,"src":"6452:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$9890_$","typeString":"type(contract IBeacon)"}},"id":9752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6452:18:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$9890","typeString":"contract IBeacon"}},"id":9753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":9889,"src":"6452:33:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":9754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6452:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9755,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"6489:4:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9747,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"6423:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":20575,"src":"6423:28:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":9756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6423:71:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9757,"nodeType":"ExpressionStatement","src":"6423:71:72"}]}}]},"documentation":{"id":9724,"nodeType":"StructuredDocumentation","src":"5871:292:72","text":" @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does\n not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that).\n Emits a {BeaconUpgraded} event."},"id":9761,"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeBeaconToAndCall","nameLocation":"6177:23:72","nodeType":"FunctionDefinition","parameters":{"id":9731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9726,"mutability":"mutable","name":"newBeacon","nameLocation":"6218:9:72","nodeType":"VariableDeclaration","scope":9761,"src":"6210:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9725,"name":"address","nodeType":"ElementaryTypeName","src":"6210:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9728,"mutability":"mutable","name":"data","nameLocation":"6250:4:72","nodeType":"VariableDeclaration","scope":9761,"src":"6237:17:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9727,"name":"bytes","nodeType":"ElementaryTypeName","src":"6237:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9730,"mutability":"mutable","name":"forceCall","nameLocation":"6269:9:72","nodeType":"VariableDeclaration","scope":9761,"src":"6264:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9729,"name":"bool","nodeType":"ElementaryTypeName","src":"6264:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6200:84:72"},"returnParameters":{"id":9732,"nodeType":"ParameterList","parameters":[],"src":"6294:0:72"},"scope":9762,"src":"6168:343:72","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":9763,"src":"529:5984:72","usedErrors":[]}],"src":"116:6398:72"},"id":72},"contracts/@openzeppelin/contracts/proxy/Proxy.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/Proxy.sol","exportedSymbols":{"Proxy":[9814]},"id":9815,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9764,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:73"},{"abstract":true,"baseContracts":[],"canonicalName":"Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":9765,"nodeType":"StructuredDocumentation","src":"124:598:73","text":" @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n be specified by overriding the virtual {_implementation} function.\n Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n different contract through the {_delegate} function.\n The success and return data of the delegated call will be returned back to the caller of the proxy."},"fullyImplemented":false,"id":9814,"linearizedBaseContracts":[9814],"name":"Proxy","nameLocation":"741:5:73","nodeType":"ContractDefinition","nodes":[{"body":{"id":9772,"nodeType":"Block","src":"1008:835:73","statements":[{"AST":{"nodeType":"YulBlock","src":"1027:810:73","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1280:1:73","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1283:1:73","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1286:12:73"},"nodeType":"YulFunctionCall","src":"1286:14:73"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1267:12:73"},"nodeType":"YulFunctionCall","src":"1267:34:73"},"nodeType":"YulExpressionStatement","src":"1267:34:73"},{"nodeType":"YulVariableDeclaration","src":"1428:74:73","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"1455:3:73"},"nodeType":"YulFunctionCall","src":"1455:5:73"},{"name":"implementation","nodeType":"YulIdentifier","src":"1462:14:73"},{"kind":"number","nodeType":"YulLiteral","src":"1478:1:73","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1481:12:73"},"nodeType":"YulFunctionCall","src":"1481:14:73"},{"kind":"number","nodeType":"YulLiteral","src":"1497:1:73","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1500:1:73","type":"","value":"0"}],"functionName":{"name":"delegatecall","nodeType":"YulIdentifier","src":"1442:12:73"},"nodeType":"YulFunctionCall","src":"1442:60:73"},"variables":[{"name":"result","nodeType":"YulTypedName","src":"1432:6:73","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1570:1:73","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1573:1:73","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1576:14:73"},"nodeType":"YulFunctionCall","src":"1576:16:73"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"1555:14:73"},"nodeType":"YulFunctionCall","src":"1555:38:73"},"nodeType":"YulExpressionStatement","src":"1555:38:73"},{"cases":[{"body":{"nodeType":"YulBlock","src":"1688:59:73","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1713:1:73","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1716:14:73"},"nodeType":"YulFunctionCall","src":"1716:16:73"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1706:6:73"},"nodeType":"YulFunctionCall","src":"1706:27:73"},"nodeType":"YulExpressionStatement","src":"1706:27:73"}]},"nodeType":"YulCase","src":"1681:66:73","value":{"kind":"number","nodeType":"YulLiteral","src":"1686:1:73","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"1768:59:73","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1793:1:73","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1796:14:73"},"nodeType":"YulFunctionCall","src":"1796:16:73"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1786:6:73"},"nodeType":"YulFunctionCall","src":"1786:27:73"},"nodeType":"YulExpressionStatement","src":"1786:27:73"}]},"nodeType":"YulCase","src":"1760:67:73","value":"default"}],"expression":{"name":"result","nodeType":"YulIdentifier","src":"1614:6:73"},"nodeType":"YulSwitch","src":"1607:220:73"}]},"evmVersion":"london","externalReferences":[{"declaration":9768,"isOffset":false,"isSlot":false,"src":"1462:14:73","valueSize":1}],"id":9771,"nodeType":"InlineAssembly","src":"1018:819:73"}]},"documentation":{"id":9766,"nodeType":"StructuredDocumentation","src":"753:190:73","text":" @dev Delegates the current call to `implementation`.\n This function does not return to its internal call site, it will return directly to the external caller."},"id":9773,"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"957:9:73","nodeType":"FunctionDefinition","parameters":{"id":9769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9768,"mutability":"mutable","name":"implementation","nameLocation":"975:14:73","nodeType":"VariableDeclaration","scope":9773,"src":"967:22:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9767,"name":"address","nodeType":"ElementaryTypeName","src":"967:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"966:24:73"},"returnParameters":{"id":9770,"nodeType":"ParameterList","parameters":[],"src":"1008:0:73"},"scope":9814,"src":"948:895:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":9774,"nodeType":"StructuredDocumentation","src":"1849:173:73","text":" @dev This is a virtual function that should be overridden so it returns the address to which the fallback function\n and {_fallback} should delegate."},"id":9779,"implemented":false,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"2036:15:73","nodeType":"FunctionDefinition","parameters":{"id":9775,"nodeType":"ParameterList","parameters":[],"src":"2051:2:73"},"returnParameters":{"id":9778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9779,"src":"2085:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9776,"name":"address","nodeType":"ElementaryTypeName","src":"2085:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2084:9:73"},"scope":9814,"src":"2027:67:73","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":9791,"nodeType":"Block","src":"2360:72:73","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":9783,"name":"_beforeFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9813,"src":"2370:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":9784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2370:17:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9785,"nodeType":"ExpressionStatement","src":"2370:17:73"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":9787,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9779,"src":"2407:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2407:17:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9786,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9773,"src":"2397:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2397:28:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9790,"nodeType":"ExpressionStatement","src":"2397:28:73"}]},"documentation":{"id":9780,"nodeType":"StructuredDocumentation","src":"2100:217:73","text":" @dev Delegates the current call to the address returned by `_implementation()`.\n This function does not return to its internal call site, it will return directly to the external caller."},"id":9792,"implemented":true,"kind":"function","modifiers":[],"name":"_fallback","nameLocation":"2331:9:73","nodeType":"FunctionDefinition","parameters":{"id":9781,"nodeType":"ParameterList","parameters":[],"src":"2340:2:73"},"returnParameters":{"id":9782,"nodeType":"ParameterList","parameters":[],"src":"2360:0:73"},"scope":9814,"src":"2322:110:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":9799,"nodeType":"Block","src":"2665:28:73","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":9796,"name":"_fallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9792,"src":"2675:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":9797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2675:11:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9798,"nodeType":"ExpressionStatement","src":"2675:11:73"}]},"documentation":{"id":9793,"nodeType":"StructuredDocumentation","src":"2438:186:73","text":" @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n function in the contract matches the call data."},"id":9800,"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9794,"nodeType":"ParameterList","parameters":[],"src":"2637:2:73"},"returnParameters":{"id":9795,"nodeType":"ParameterList","parameters":[],"src":"2665:0:73"},"scope":9814,"src":"2629:64:73","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":9807,"nodeType":"Block","src":"2888:28:73","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":9804,"name":"_fallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9792,"src":"2898:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2898:11:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9806,"nodeType":"ExpressionStatement","src":"2898:11:73"}]},"documentation":{"id":9801,"nodeType":"StructuredDocumentation","src":"2699:149:73","text":" @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\n is empty."},"id":9808,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9802,"nodeType":"ParameterList","parameters":[],"src":"2860:2:73"},"returnParameters":{"id":9803,"nodeType":"ParameterList","parameters":[],"src":"2888:0:73"},"scope":9814,"src":"2853:63:73","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":9812,"nodeType":"Block","src":"3242:2:73","statements":[]},"documentation":{"id":9809,"nodeType":"StructuredDocumentation","src":"2922:271:73","text":" @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\n call, or as part of the Solidity `fallback` or `receive` functions.\n If overridden should call `super._beforeFallback()`."},"id":9813,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeFallback","nameLocation":"3207:15:73","nodeType":"FunctionDefinition","parameters":{"id":9810,"nodeType":"ParameterList","parameters":[],"src":"3222:2:73"},"returnParameters":{"id":9811,"nodeType":"ParameterList","parameters":[],"src":"3242:0:73"},"scope":9814,"src":"3198:46:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":9815,"src":"723:2523:73","usedErrors":[]}],"src":"99:3148:73"},"id":73},"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol","exportedSymbols":{"Address":[20688],"BeaconProxy":[9880],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"Proxy":[9814],"StorageSlot":[22551]},"id":9881,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9816,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:74"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","file":"./IBeacon.sol","id":9817,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9881,"sourceUnit":9891,"src":"137:23:74","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/Proxy.sol","file":"../Proxy.sol","id":9818,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9881,"sourceUnit":9815,"src":"161:22:74","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol","file":"../ERC1967/ERC1967Upgrade.sol","id":9819,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9881,"sourceUnit":9763,"src":"184:39:74","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9821,"name":"Proxy","nodeType":"IdentifierPath","referencedDeclaration":9814,"src":"604:5:74"},"id":9822,"nodeType":"InheritanceSpecifier","src":"604:5:74"},{"baseName":{"id":9823,"name":"ERC1967Upgrade","nodeType":"IdentifierPath","referencedDeclaration":9762,"src":"611:14:74"},"id":9824,"nodeType":"InheritanceSpecifier","src":"611:14:74"}],"canonicalName":"BeaconProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":9820,"nodeType":"StructuredDocumentation","src":"225:354:74","text":" @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}.\n The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't\n conflict with the storage layout of the implementation behind the proxy.\n _Available since v3.4._"},"fullyImplemented":true,"id":9880,"linearizedBaseContracts":[9880,9762,9814],"name":"BeaconProxy","nameLocation":"589:11:74","nodeType":"ContractDefinition","nodes":[{"body":{"id":9838,"nodeType":"Block","src":"1115:61:74","statements":[{"expression":{"arguments":[{"id":9833,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9827,"src":"1149:6:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9834,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9829,"src":"1157:4:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":9835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1163:5:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9832,"name":"_upgradeBeaconToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"1125:23:74","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":9836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1125:44:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9837,"nodeType":"ExpressionStatement","src":"1125:44:74"}]},"documentation":{"id":9825,"nodeType":"StructuredDocumentation","src":"632:423:74","text":" @dev Initializes the proxy with `beacon`.\n If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This\n will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity\n constructor.\n Requirements:\n - `beacon` must be a contract with the interface {IBeacon}."},"id":9839,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9827,"mutability":"mutable","name":"beacon","nameLocation":"1080:6:74","nodeType":"VariableDeclaration","scope":9839,"src":"1072:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9826,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9829,"mutability":"mutable","name":"data","nameLocation":"1101:4:74","nodeType":"VariableDeclaration","scope":9839,"src":"1088:17:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9828,"name":"bytes","nodeType":"ElementaryTypeName","src":"1088:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1071:35:74"},"returnParameters":{"id":9831,"nodeType":"ParameterList","parameters":[],"src":"1115:0:74"},"scope":9880,"src":"1060:116:74","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":9848,"nodeType":"Block","src":"1305:36:74","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":9845,"name":"_getBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9687,"src":"1322:10:74","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1322:12:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9844,"id":9847,"nodeType":"Return","src":"1315:19:74"}]},"documentation":{"id":9840,"nodeType":"StructuredDocumentation","src":"1182:59:74","text":" @dev Returns the current beacon address."},"id":9849,"implemented":true,"kind":"function","modifiers":[],"name":"_beacon","nameLocation":"1255:7:74","nodeType":"FunctionDefinition","parameters":{"id":9841,"nodeType":"ParameterList","parameters":[],"src":"1262:2:74"},"returnParameters":{"id":9844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9849,"src":"1296:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9842,"name":"address","nodeType":"ElementaryTypeName","src":"1296:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1295:9:74"},"scope":9880,"src":"1246:95:74","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[9779],"body":{"id":9863,"nodeType":"Block","src":"1520:62:74","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":9857,"name":"_getBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9687,"src":"1545:10:74","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":9858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1545:12:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9856,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9890,"src":"1537:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$9890_$","typeString":"type(contract IBeacon)"}},"id":9859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1537:21:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$9890","typeString":"contract IBeacon"}},"id":9860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":9889,"src":"1537:36:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":9861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1537:38:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9855,"id":9862,"nodeType":"Return","src":"1530:45:74"}]},"documentation":{"id":9850,"nodeType":"StructuredDocumentation","src":"1347:92:74","text":" @dev Returns the current implementation address of the associated beacon."},"id":9864,"implemented":true,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"1453:15:74","nodeType":"FunctionDefinition","overrides":{"id":9852,"nodeType":"OverrideSpecifier","overrides":[],"src":"1493:8:74"},"parameters":{"id":9851,"nodeType":"ParameterList","parameters":[],"src":"1468:2:74"},"returnParameters":{"id":9855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9864,"src":"1511:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9853,"name":"address","nodeType":"ElementaryTypeName","src":"1511:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1510:9:74"},"scope":9880,"src":"1444:138:74","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":9878,"nodeType":"Block","src":"2032:61:74","statements":[{"expression":{"arguments":[{"id":9873,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9867,"src":"2066:6:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9874,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"2074:4:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":9875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2080:5:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9872,"name":"_upgradeBeaconToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"2042:23:74","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":9876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2042:44:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9877,"nodeType":"ExpressionStatement","src":"2042:44:74"}]},"documentation":{"id":9865,"nodeType":"StructuredDocumentation","src":"1588:367:74","text":" @dev Changes the proxy to use a new beacon. Deprecated: see {_upgradeBeaconToAndCall}.\n If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon.\n Requirements:\n - `beacon` must be a contract.\n - The implementation returned by `beacon` must be a contract."},"id":9879,"implemented":true,"kind":"function","modifiers":[],"name":"_setBeacon","nameLocation":"1969:10:74","nodeType":"FunctionDefinition","parameters":{"id":9870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9867,"mutability":"mutable","name":"beacon","nameLocation":"1988:6:74","nodeType":"VariableDeclaration","scope":9879,"src":"1980:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9866,"name":"address","nodeType":"ElementaryTypeName","src":"1980:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9869,"mutability":"mutable","name":"data","nameLocation":"2009:4:74","nodeType":"VariableDeclaration","scope":9879,"src":"1996:17:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9868,"name":"bytes","nodeType":"ElementaryTypeName","src":"1996:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1979:35:74"},"returnParameters":{"id":9871,"nodeType":"ParameterList","parameters":[],"src":"2032:0:74"},"scope":9880,"src":"1960:133:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":9881,"src":"580:1515:74","usedErrors":[]}],"src":"112:1984:74"},"id":74},"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","exportedSymbols":{"IBeacon":[9890]},"id":9891,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9882,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"93:23:75"},{"abstract":false,"baseContracts":[],"canonicalName":"IBeacon","contractDependencies":[],"contractKind":"interface","documentation":{"id":9883,"nodeType":"StructuredDocumentation","src":"118:79:75","text":" @dev This is the interface that {BeaconProxy} expects of its beacon."},"fullyImplemented":false,"id":9890,"linearizedBaseContracts":[9890],"name":"IBeacon","nameLocation":"208:7:75","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":9884,"nodeType":"StructuredDocumentation","src":"222:162:75","text":" @dev Must return an address that can be used as a delegate call target.\n {BeaconProxy} will check that this address is a contract."},"functionSelector":"5c60da1b","id":9889,"implemented":false,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"398:14:75","nodeType":"FunctionDefinition","parameters":{"id":9885,"nodeType":"ParameterList","parameters":[],"src":"412:2:75"},"returnParameters":{"id":9888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9887,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9889,"src":"438:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9886,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"437:9:75"},"scope":9890,"src":"389:58:75","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":9891,"src":"198:251:75","usedErrors":[]}],"src":"93:357:75"},"id":75},"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"IBeacon":[9890],"Ownable":[1418],"UpgradeableBeacon":[9965]},"id":9966,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9892,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:76"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","file":"./IBeacon.sol","id":9893,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9966,"sourceUnit":9891,"src":"128:23:76","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable.sol","file":"../../access/Ownable.sol","id":9894,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9966,"sourceUnit":1419,"src":"152:34:76","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":9895,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9966,"sourceUnit":20689,"src":"187:33:76","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9897,"name":"IBeacon","nodeType":"IdentifierPath","referencedDeclaration":9890,"src":"573:7:76"},"id":9898,"nodeType":"InheritanceSpecifier","src":"573:7:76"},{"baseName":{"id":9899,"name":"Ownable","nodeType":"IdentifierPath","referencedDeclaration":1418,"src":"582:7:76"},"id":9900,"nodeType":"InheritanceSpecifier","src":"582:7:76"}],"canonicalName":"UpgradeableBeacon","contractDependencies":[],"contractKind":"contract","documentation":{"id":9896,"nodeType":"StructuredDocumentation","src":"222:320:76","text":" @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their\n implementation contract, which is where they will delegate all function calls.\n An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon."},"fullyImplemented":true,"id":9965,"linearizedBaseContracts":[9965,1418,22281,9890],"name":"UpgradeableBeacon","nameLocation":"552:17:76","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":9902,"mutability":"mutable","name":"_implementation","nameLocation":"612:15:76","nodeType":"VariableDeclaration","scope":9965,"src":"596:31:76","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9901,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"documentation":{"id":9903,"nodeType":"StructuredDocumentation","src":"634:90:76","text":" @dev Emitted when the implementation returned by the beacon is changed."},"id":9907,"name":"Upgraded","nameLocation":"735:8:76","nodeType":"EventDefinition","parameters":{"id":9906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9905,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"760:14:76","nodeType":"VariableDeclaration","scope":9907,"src":"744:30:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9904,"name":"address","nodeType":"ElementaryTypeName","src":"744:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"743:32:76"},"src":"729:47:76"},{"body":{"id":9917,"nodeType":"Block","src":"968:52:76","statements":[{"expression":{"arguments":[{"id":9914,"name":"implementation_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9910,"src":"997:15:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9913,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9964,"src":"978:18:76","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"978:35:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9916,"nodeType":"ExpressionStatement","src":"978:35:76"}]},"documentation":{"id":9908,"nodeType":"StructuredDocumentation","src":"782:144:76","text":" @dev Sets the address of the initial implementation, and the deployer account as the owner who can upgrade the\n beacon."},"id":9918,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":9911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9910,"mutability":"mutable","name":"implementation_","nameLocation":"951:15:76","nodeType":"VariableDeclaration","scope":9918,"src":"943:23:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9909,"name":"address","nodeType":"ElementaryTypeName","src":"943:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"942:25:76"},"returnParameters":{"id":9912,"nodeType":"ParameterList","parameters":[],"src":"968:0:76"},"scope":9965,"src":"931:89:76","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[9889],"body":{"id":9927,"nodeType":"Block","src":"1171:39:76","statements":[{"expression":{"id":9925,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"1188:15:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9924,"id":9926,"nodeType":"Return","src":"1181:22:76"}]},"documentation":{"id":9919,"nodeType":"StructuredDocumentation","src":"1026:67:76","text":" @dev Returns the current implementation address."},"functionSelector":"5c60da1b","id":9928,"implemented":true,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"1107:14:76","nodeType":"FunctionDefinition","overrides":{"id":9921,"nodeType":"OverrideSpecifier","overrides":[],"src":"1144:8:76"},"parameters":{"id":9920,"nodeType":"ParameterList","parameters":[],"src":"1121:2:76"},"returnParameters":{"id":9924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9928,"src":"1162:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9922,"name":"address","nodeType":"ElementaryTypeName","src":"1162:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1161:9:76"},"scope":9965,"src":"1098:112:76","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":9944,"nodeType":"Block","src":"1540:96:76","statements":[{"expression":{"arguments":[{"id":9937,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9931,"src":"1569:17:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9936,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9964,"src":"1550:18:76","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1550:37:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9939,"nodeType":"ExpressionStatement","src":"1550:37:76"},{"eventCall":{"arguments":[{"id":9941,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9931,"src":"1611:17:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9940,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9907,"src":"1602:8:76","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1602:27:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9943,"nodeType":"EmitStatement","src":"1597:32:76"}]},"documentation":{"id":9929,"nodeType":"StructuredDocumentation","src":"1216:248:76","text":" @dev Upgrades the beacon to a new implementation.\n Emits an {Upgraded} event.\n Requirements:\n - msg.sender must be the owner of the contract.\n - `newImplementation` must be a contract."},"functionSelector":"3659cfe6","id":9945,"implemented":true,"kind":"function","modifiers":[{"id":9934,"kind":"modifierInvocation","modifierName":{"id":9933,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"1530:9:76"},"nodeType":"ModifierInvocation","src":"1530:9:76"}],"name":"upgradeTo","nameLocation":"1478:9:76","nodeType":"FunctionDefinition","parameters":{"id":9932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9931,"mutability":"mutable","name":"newImplementation","nameLocation":"1496:17:76","nodeType":"VariableDeclaration","scope":9945,"src":"1488:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9930,"name":"address","nodeType":"ElementaryTypeName","src":"1488:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1487:27:76"},"returnParameters":{"id":9935,"nodeType":"ParameterList","parameters":[],"src":"1540:0:76"},"scope":9965,"src":"1469:167:76","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":9963,"nodeType":"Block","src":"1874:163:76","statements":[{"expression":{"arguments":[{"arguments":[{"id":9954,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9948,"src":"1911:17:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9952,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"1892:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":9953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"1892:18:76","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":9955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1892:37:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374","id":9956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1931:53:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6","typeString":"literal_string \"UpgradeableBeacon: implementation is not a contract\""},"value":"UpgradeableBeacon: implementation is not a contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6","typeString":"literal_string \"UpgradeableBeacon: implementation is not a contract\""}],"id":9951,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1884:7:76","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1884:101:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9958,"nodeType":"ExpressionStatement","src":"1884:101:76"},{"expression":{"id":9961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9959,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"1995:15:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9960,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9948,"src":"2013:17:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1995:35:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9962,"nodeType":"ExpressionStatement","src":"1995:35:76"}]},"documentation":{"id":9946,"nodeType":"StructuredDocumentation","src":"1642:164:76","text":" @dev Sets the implementation contract address for this beacon\n Requirements:\n - `newImplementation` must be a contract."},"id":9964,"implemented":true,"kind":"function","modifiers":[],"name":"_setImplementation","nameLocation":"1820:18:76","nodeType":"FunctionDefinition","parameters":{"id":9949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9948,"mutability":"mutable","name":"newImplementation","nameLocation":"1847:17:76","nodeType":"VariableDeclaration","scope":9964,"src":"1839:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9947,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1838:27:76"},"returnParameters":{"id":9950,"nodeType":"ParameterList","parameters":[],"src":"1874:0:76"},"scope":9965,"src":"1811:226:76","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":9966,"src":"543:1496:76","usedErrors":[]}],"src":"103:1937:76"},"id":76},"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1967Proxy":[9444],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"Ownable":[1418],"Proxy":[9814],"ProxyAdmin":[10101],"StorageSlot":[22551],"TransparentUpgradeableProxy":[10249]},"id":10102,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9967,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:77"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","file":"./TransparentUpgradeableProxy.sol","id":9968,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10102,"sourceUnit":10250,"src":"126:43:77","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable.sol","file":"../../access/Ownable.sol","id":9969,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10102,"sourceUnit":1419,"src":"170:34:77","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":9971,"name":"Ownable","nodeType":"IdentifierPath","referencedDeclaration":1418,"src":"458:7:77"},"id":9972,"nodeType":"InheritanceSpecifier","src":"458:7:77"}],"canonicalName":"ProxyAdmin","contractDependencies":[],"contractKind":"contract","documentation":{"id":9970,"nodeType":"StructuredDocumentation","src":"206:228:77","text":" @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}."},"fullyImplemented":true,"id":10101,"linearizedBaseContracts":[10101,1418,22281],"name":"ProxyAdmin","nameLocation":"444:10:77","nodeType":"ContractDefinition","nodes":[{"body":{"id":10005,"nodeType":"Block","src":"740:332:77","statements":[{"assignments":[9982,9984],"declarations":[{"constant":false,"id":9982,"mutability":"mutable","name":"success","nameLocation":"913:7:77","nodeType":"VariableDeclaration","scope":10005,"src":"908:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9981,"name":"bool","nodeType":"ElementaryTypeName","src":"908:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9984,"mutability":"mutable","name":"returndata","nameLocation":"935:10:77","nodeType":"VariableDeclaration","scope":10005,"src":"922:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9983,"name":"bytes","nodeType":"ElementaryTypeName","src":"922:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9992,"initialValue":{"arguments":[{"hexValue":"5c60da1b","id":9990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"975:13:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29","typeString":"literal_string hex\"5c60da1b\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29","typeString":"literal_string hex\"5c60da1b\""}],"expression":{"arguments":[{"id":9987,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9976,"src":"957:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}],"id":9986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"949:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9985,"name":"address","nodeType":"ElementaryTypeName","src":"949:7:77","typeDescriptions":{}}},"id":9988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"949:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"949:25:77","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"949:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"907:82:77"},{"expression":{"arguments":[{"id":9994,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"1007:7:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9993,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"999:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":9995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"999:16:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9996,"nodeType":"ExpressionStatement","src":"999:16:77"},{"expression":{"arguments":[{"id":9999,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9984,"src":"1043:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1056:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10000,"name":"address","nodeType":"ElementaryTypeName","src":"1056:7:77","typeDescriptions":{}}}],"id":10002,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1055:9:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":9997,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1032:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"1032:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1032:33:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":9980,"id":10004,"nodeType":"Return","src":"1025:40:77"}]},"documentation":{"id":9973,"nodeType":"StructuredDocumentation","src":"472:158:77","text":" @dev Returns the current implementation of `proxy`.\n Requirements:\n - This contract must be the admin of `proxy`."},"functionSelector":"204e1c7a","id":10006,"implemented":true,"kind":"function","modifiers":[],"name":"getProxyImplementation","nameLocation":"644:22:77","nodeType":"FunctionDefinition","parameters":{"id":9977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9976,"mutability":"mutable","name":"proxy","nameLocation":"695:5:77","nodeType":"VariableDeclaration","scope":10006,"src":"667:33:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"},"typeName":{"id":9975,"nodeType":"UserDefinedTypeName","pathNode":{"id":9974,"name":"TransparentUpgradeableProxy","nodeType":"IdentifierPath","referencedDeclaration":10249,"src":"667:27:77"},"referencedDeclaration":10249,"src":"667:27:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"visibility":"internal"}],"src":"666:35:77"},"returnParameters":{"id":9980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10006,"src":"731:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9978,"name":"address","nodeType":"ElementaryTypeName","src":"731:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"730:9:77"},"scope":10101,"src":"635:437:77","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":10039,"nodeType":"Block","src":"1328:323:77","statements":[{"assignments":[10016,10018],"declarations":[{"constant":false,"id":10016,"mutability":"mutable","name":"success","nameLocation":"1492:7:77","nodeType":"VariableDeclaration","scope":10039,"src":"1487:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10015,"name":"bool","nodeType":"ElementaryTypeName","src":"1487:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10018,"mutability":"mutable","name":"returndata","nameLocation":"1514:10:77","nodeType":"VariableDeclaration","scope":10039,"src":"1501:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10017,"name":"bytes","nodeType":"ElementaryTypeName","src":"1501:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10026,"initialValue":{"arguments":[{"hexValue":"f851a440","id":10024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"1554:13:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7","typeString":"literal_string hex\"f851a440\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7","typeString":"literal_string hex\"f851a440\""}],"expression":{"arguments":[{"id":10021,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10010,"src":"1536:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}],"id":10020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1528:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10019,"name":"address","nodeType":"ElementaryTypeName","src":"1528:7:77","typeDescriptions":{}}},"id":10022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1528:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"1528:25:77","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1528:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1486:82:77"},{"expression":{"arguments":[{"id":10028,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10016,"src":"1586:7:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10027,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1578:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":10029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1578:16:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10030,"nodeType":"ExpressionStatement","src":"1578:16:77"},{"expression":{"arguments":[{"id":10033,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"1622:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1635:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10034,"name":"address","nodeType":"ElementaryTypeName","src":"1635:7:77","typeDescriptions":{}}}],"id":10036,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1634:9:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":10031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1611:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"1611:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1611:33:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":10014,"id":10038,"nodeType":"Return","src":"1604:40:77"}]},"documentation":{"id":10007,"nodeType":"StructuredDocumentation","src":"1078:149:77","text":" @dev Returns the current admin of `proxy`.\n Requirements:\n - This contract must be the admin of `proxy`."},"functionSelector":"f3b7dead","id":10040,"implemented":true,"kind":"function","modifiers":[],"name":"getProxyAdmin","nameLocation":"1241:13:77","nodeType":"FunctionDefinition","parameters":{"id":10011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10010,"mutability":"mutable","name":"proxy","nameLocation":"1283:5:77","nodeType":"VariableDeclaration","scope":10040,"src":"1255:33:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"},"typeName":{"id":10009,"nodeType":"UserDefinedTypeName","pathNode":{"id":10008,"name":"TransparentUpgradeableProxy","nodeType":"IdentifierPath","referencedDeclaration":10249,"src":"1255:27:77"},"referencedDeclaration":10249,"src":"1255:27:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"visibility":"internal"}],"src":"1254:35:77"},"returnParameters":{"id":10014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10040,"src":"1319:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10012,"name":"address","nodeType":"ElementaryTypeName","src":"1319:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1318:9:77"},"scope":10101,"src":"1232:419:77","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":10057,"nodeType":"Block","src":"1929:44:77","statements":[{"expression":{"arguments":[{"id":10054,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10046,"src":"1957:8:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10051,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"1939:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"id":10053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"changeAdmin","nodeType":"MemberAccess","referencedDeclaration":10183,"src":"1939:17:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":10055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1939:27:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10056,"nodeType":"ExpressionStatement","src":"1939:27:77"}]},"documentation":{"id":10041,"nodeType":"StructuredDocumentation","src":"1657:163:77","text":" @dev Changes the admin of `proxy` to `newAdmin`.\n Requirements:\n - This contract must be the current admin of `proxy`."},"functionSelector":"7eff275e","id":10058,"implemented":true,"kind":"function","modifiers":[{"id":10049,"kind":"modifierInvocation","modifierName":{"id":10048,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"1919:9:77"},"nodeType":"ModifierInvocation","src":"1919:9:77"}],"name":"changeProxyAdmin","nameLocation":"1834:16:77","nodeType":"FunctionDefinition","parameters":{"id":10047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10044,"mutability":"mutable","name":"proxy","nameLocation":"1879:5:77","nodeType":"VariableDeclaration","scope":10058,"src":"1851:33:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"},"typeName":{"id":10043,"nodeType":"UserDefinedTypeName","pathNode":{"id":10042,"name":"TransparentUpgradeableProxy","nodeType":"IdentifierPath","referencedDeclaration":10249,"src":"1851:27:77"},"referencedDeclaration":10249,"src":"1851:27:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"visibility":"internal"},{"constant":false,"id":10046,"mutability":"mutable","name":"newAdmin","nameLocation":"1894:8:77","nodeType":"VariableDeclaration","scope":10058,"src":"1886:16:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10045,"name":"address","nodeType":"ElementaryTypeName","src":"1886:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1850:53:77"},"returnParameters":{"id":10050,"nodeType":"ParameterList","parameters":[],"src":"1929:0:77"},"scope":10101,"src":"1825:148:77","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":10075,"nodeType":"Block","src":"2279:48:77","statements":[{"expression":{"arguments":[{"id":10072,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10064,"src":"2305:14:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10069,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10062,"src":"2289:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"id":10071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":10201,"src":"2289:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":10073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2289:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10074,"nodeType":"ExpressionStatement","src":"2289:31:77"}]},"documentation":{"id":10059,"nodeType":"StructuredDocumentation","src":"1979:194:77","text":" @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}.\n Requirements:\n - This contract must be the admin of `proxy`."},"functionSelector":"99a88ec4","id":10076,"implemented":true,"kind":"function","modifiers":[{"id":10067,"kind":"modifierInvocation","modifierName":{"id":10066,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2269:9:77"},"nodeType":"ModifierInvocation","src":"2269:9:77"}],"name":"upgrade","nameLocation":"2187:7:77","nodeType":"FunctionDefinition","parameters":{"id":10065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10062,"mutability":"mutable","name":"proxy","nameLocation":"2223:5:77","nodeType":"VariableDeclaration","scope":10076,"src":"2195:33:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"},"typeName":{"id":10061,"nodeType":"UserDefinedTypeName","pathNode":{"id":10060,"name":"TransparentUpgradeableProxy","nodeType":"IdentifierPath","referencedDeclaration":10249,"src":"2195:27:77"},"referencedDeclaration":10249,"src":"2195:27:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"visibility":"internal"},{"constant":false,"id":10064,"mutability":"mutable","name":"implementation","nameLocation":"2238:14:77","nodeType":"VariableDeclaration","scope":10076,"src":"2230:22:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10063,"name":"address","nodeType":"ElementaryTypeName","src":"2230:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2194:59:77"},"returnParameters":{"id":10068,"nodeType":"ParameterList","parameters":[],"src":"2279:0:77"},"scope":10101,"src":"2178:149:77","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":10099,"nodeType":"Block","src":"2758:79:77","statements":[{"expression":{"arguments":[{"id":10095,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10082,"src":"2809:14:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10096,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10084,"src":"2825:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10089,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10080,"src":"2768:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"id":10091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":10218,"src":"2768:22:77","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) payable external"}},"id":10094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":10092,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2798:3:77","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"2798:9:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2768:40:77","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$value","typeString":"function (address,bytes memory) payable external"}},"id":10097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2768:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10098,"nodeType":"ExpressionStatement","src":"2768:62:77"}]},"documentation":{"id":10077,"nodeType":"StructuredDocumentation","src":"2333:255:77","text":" @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See\n {TransparentUpgradeableProxy-upgradeToAndCall}.\n Requirements:\n - This contract must be the admin of `proxy`."},"functionSelector":"9623609d","id":10100,"implemented":true,"kind":"function","modifiers":[{"id":10087,"kind":"modifierInvocation","modifierName":{"id":10086,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2748:9:77"},"nodeType":"ModifierInvocation","src":"2748:9:77"}],"name":"upgradeAndCall","nameLocation":"2602:14:77","nodeType":"FunctionDefinition","parameters":{"id":10085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10080,"mutability":"mutable","name":"proxy","nameLocation":"2654:5:77","nodeType":"VariableDeclaration","scope":10100,"src":"2626:33:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"},"typeName":{"id":10079,"nodeType":"UserDefinedTypeName","pathNode":{"id":10078,"name":"TransparentUpgradeableProxy","nodeType":"IdentifierPath","referencedDeclaration":10249,"src":"2626:27:77"},"referencedDeclaration":10249,"src":"2626:27:77","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$10249","typeString":"contract TransparentUpgradeableProxy"}},"visibility":"internal"},{"constant":false,"id":10082,"mutability":"mutable","name":"implementation","nameLocation":"2677:14:77","nodeType":"VariableDeclaration","scope":10100,"src":"2669:22:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10081,"name":"address","nodeType":"ElementaryTypeName","src":"2669:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10084,"mutability":"mutable","name":"data","nameLocation":"2714:4:77","nodeType":"VariableDeclaration","scope":10100,"src":"2701:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10083,"name":"bytes","nodeType":"ElementaryTypeName","src":"2701:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2616:108:77"},"returnParameters":{"id":10088,"nodeType":"ParameterList","parameters":[],"src":"2758:0:77"},"scope":10101,"src":"2593:244:77","stateMutability":"payable","virtual":true,"visibility":"public"}],"scope":10102,"src":"435:2404:77","usedErrors":[]}],"src":"101:2739:77"},"id":77},"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","exportedSymbols":{"Address":[20688],"ERC1967Proxy":[9444],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"Proxy":[9814],"StorageSlot":[22551],"TransparentUpgradeableProxy":[10249]},"id":10250,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10103,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"133:23:78"},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"../ERC1967/ERC1967Proxy.sol","id":10104,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10250,"sourceUnit":9445,"src":"158:37:78","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":10106,"name":"ERC1967Proxy","nodeType":"IdentifierPath","referencedDeclaration":9444,"src":"1689:12:78"},"id":10107,"nodeType":"InheritanceSpecifier","src":"1689:12:78"}],"canonicalName":"TransparentUpgradeableProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":10105,"nodeType":"StructuredDocumentation","src":"197:1451:78","text":" @dev This contract implements a proxy that is upgradeable by an admin.\n To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n clashing], which can potentially be used in an attack, this contract uses the\n https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n things that go hand in hand:\n 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n that call matches one of the admin functions exposed by the proxy itself.\n 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the\n implementation. If the admin tries to call a function on the implementation it will fail with an error that says\n \"admin cannot fallback to proxy target\".\n These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing\n the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due\n to sudden errors when trying to call a function from the proxy implementation.\n Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,\n you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy."},"fullyImplemented":true,"id":10249,"linearizedBaseContracts":[10249,9444,9762,9814],"name":"TransparentUpgradeableProxy","nameLocation":"1658:27:78","nodeType":"ContractDefinition","nodes":[{"body":{"id":10125,"nodeType":"Block","src":"2053:37:78","statements":[{"expression":{"arguments":[{"id":10122,"name":"admin_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10112,"src":"2076:6:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10121,"name":"_changeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9665,"src":"2063:12:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2063:20:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10124,"nodeType":"ExpressionStatement","src":"2063:20:78"}]},"documentation":{"id":10108,"nodeType":"StructuredDocumentation","src":"1708:210:78","text":" @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and\n optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}."},"id":10126,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":10117,"name":"_logic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10110,"src":"2038:6:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10118,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10114,"src":"2046:5:78","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":10119,"kind":"baseConstructorSpecifier","modifierName":{"id":10116,"name":"ERC1967Proxy","nodeType":"IdentifierPath","referencedDeclaration":9444,"src":"2025:12:78"},"nodeType":"ModifierInvocation","src":"2025:27:78"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10110,"mutability":"mutable","name":"_logic","nameLocation":"1952:6:78","nodeType":"VariableDeclaration","scope":10126,"src":"1944:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10109,"name":"address","nodeType":"ElementaryTypeName","src":"1944:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10112,"mutability":"mutable","name":"admin_","nameLocation":"1976:6:78","nodeType":"VariableDeclaration","scope":10126,"src":"1968:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10111,"name":"address","nodeType":"ElementaryTypeName","src":"1968:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10114,"mutability":"mutable","name":"_data","nameLocation":"2005:5:78","nodeType":"VariableDeclaration","scope":10126,"src":"1992:18:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10113,"name":"bytes","nodeType":"ElementaryTypeName","src":"1992:5:78","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1934:82:78"},"returnParameters":{"id":10120,"nodeType":"ParameterList","parameters":[],"src":"2053:0:78"},"scope":10249,"src":"1923:167:78","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":10141,"nodeType":"Block","src":"2250:115:78","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10129,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2264:3:78","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2264:10:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10131,"name":"_getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9622,"src":"2278:9:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2278:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2264:25:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10139,"nodeType":"Block","src":"2323:36:78","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10136,"name":"_fallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9792,"src":"2337:9:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2337:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10138,"nodeType":"ExpressionStatement","src":"2337:11:78"}]},"id":10140,"nodeType":"IfStatement","src":"2260:99:78","trueBody":{"id":10135,"nodeType":"Block","src":"2291:26:78","statements":[{"id":10134,"nodeType":"PlaceholderStatement","src":"2305:1:78"}]}}]},"documentation":{"id":10127,"nodeType":"StructuredDocumentation","src":"2096:130:78","text":" @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin."},"id":10142,"name":"ifAdmin","nameLocation":"2240:7:78","nodeType":"ModifierDefinition","parameters":{"id":10128,"nodeType":"ParameterList","parameters":[],"src":"2247:2:78"},"src":"2231:134:78","virtual":false,"visibility":"internal"},{"body":{"id":10155,"nodeType":"Block","src":"2866:37:78","statements":[{"expression":{"id":10153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10150,"name":"admin_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10148,"src":"2876:6:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":10151,"name":"_getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9622,"src":"2885:9:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2885:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2876:20:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10154,"nodeType":"ExpressionStatement","src":"2876:20:78"}]},"documentation":{"id":10143,"nodeType":"StructuredDocumentation","src":"2371:431:78","text":" @dev Returns the current admin.\n NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`"},"functionSelector":"f851a440","id":10156,"implemented":true,"kind":"function","modifiers":[{"id":10146,"kind":"modifierInvocation","modifierName":{"id":10145,"name":"ifAdmin","nodeType":"IdentifierPath","referencedDeclaration":10142,"src":"2833:7:78"},"nodeType":"ModifierInvocation","src":"2833:7:78"}],"name":"admin","nameLocation":"2816:5:78","nodeType":"FunctionDefinition","parameters":{"id":10144,"nodeType":"ParameterList","parameters":[],"src":"2821:2:78"},"returnParameters":{"id":10149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10148,"mutability":"mutable","name":"admin_","nameLocation":"2858:6:78","nodeType":"VariableDeclaration","scope":10156,"src":"2850:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10147,"name":"address","nodeType":"ElementaryTypeName","src":"2850:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2849:16:78"},"scope":10249,"src":"2807:96:78","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10169,"nodeType":"Block","src":"3440:52:78","statements":[{"expression":{"id":10167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10164,"name":"implementation_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10162,"src":"3450:15:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":10165,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[9443],"referencedDeclaration":9443,"src":"3468:15:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3468:17:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3450:35:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10168,"nodeType":"ExpressionStatement","src":"3450:35:78"}]},"documentation":{"id":10157,"nodeType":"StructuredDocumentation","src":"2909:449:78","text":" @dev Returns the current implementation.\n NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`"},"functionSelector":"5c60da1b","id":10170,"implemented":true,"kind":"function","modifiers":[{"id":10160,"kind":"modifierInvocation","modifierName":{"id":10159,"name":"ifAdmin","nodeType":"IdentifierPath","referencedDeclaration":10142,"src":"3398:7:78"},"nodeType":"ModifierInvocation","src":"3398:7:78"}],"name":"implementation","nameLocation":"3372:14:78","nodeType":"FunctionDefinition","parameters":{"id":10158,"nodeType":"ParameterList","parameters":[],"src":"3386:2:78"},"returnParameters":{"id":10163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10162,"mutability":"mutable","name":"implementation_","nameLocation":"3423:15:78","nodeType":"VariableDeclaration","scope":10170,"src":"3415:23:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10161,"name":"address","nodeType":"ElementaryTypeName","src":"3415:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3414:25:78"},"scope":10249,"src":"3363:129:78","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10182,"nodeType":"Block","src":"3761:39:78","statements":[{"expression":{"arguments":[{"id":10179,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10173,"src":"3784:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10178,"name":"_changeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9665,"src":"3771:12:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3771:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10181,"nodeType":"ExpressionStatement","src":"3771:22:78"}]},"documentation":{"id":10171,"nodeType":"StructuredDocumentation","src":"3498:194:78","text":" @dev Changes the admin of the proxy.\n Emits an {AdminChanged} event.\n NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}."},"functionSelector":"8f283970","id":10183,"implemented":true,"kind":"function","modifiers":[{"id":10176,"kind":"modifierInvocation","modifierName":{"id":10175,"name":"ifAdmin","nodeType":"IdentifierPath","referencedDeclaration":10142,"src":"3753:7:78"},"nodeType":"ModifierInvocation","src":"3753:7:78"}],"name":"changeAdmin","nameLocation":"3706:11:78","nodeType":"FunctionDefinition","parameters":{"id":10174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10173,"mutability":"mutable","name":"newAdmin","nameLocation":"3726:8:78","nodeType":"VariableDeclaration","scope":10183,"src":"3718:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10172,"name":"address","nodeType":"ElementaryTypeName","src":"3718:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3717:18:78"},"returnParameters":{"id":10177,"nodeType":"ParameterList","parameters":[],"src":"3761:0:78"},"scope":10249,"src":"3697:103:78","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":10200,"nodeType":"Block","src":"4023:71:78","statements":[{"expression":{"arguments":[{"id":10192,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10186,"src":"4051:17:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"","id":10195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4076:2:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":10194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4070:5:78","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":10193,"name":"bytes","nodeType":"ElementaryTypeName","src":"4070:5:78","typeDescriptions":{}}},"id":10196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4070:9:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":10197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4081:5:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10191,"name":"_upgradeToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9545,"src":"4033:17:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":10198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4033:54:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10199,"nodeType":"ExpressionStatement","src":"4033:54:78"}]},"documentation":{"id":10184,"nodeType":"StructuredDocumentation","src":"3806:149:78","text":" @dev Upgrade the implementation of the proxy.\n NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}."},"functionSelector":"3659cfe6","id":10201,"implemented":true,"kind":"function","modifiers":[{"id":10189,"kind":"modifierInvocation","modifierName":{"id":10188,"name":"ifAdmin","nodeType":"IdentifierPath","referencedDeclaration":10142,"src":"4015:7:78"},"nodeType":"ModifierInvocation","src":"4015:7:78"}],"name":"upgradeTo","nameLocation":"3969:9:78","nodeType":"FunctionDefinition","parameters":{"id":10187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10186,"mutability":"mutable","name":"newImplementation","nameLocation":"3987:17:78","nodeType":"VariableDeclaration","scope":10201,"src":"3979:25:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10185,"name":"address","nodeType":"ElementaryTypeName","src":"3979:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3978:27:78"},"returnParameters":{"id":10190,"nodeType":"ParameterList","parameters":[],"src":"4023:0:78"},"scope":10249,"src":"3960:134:78","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10217,"nodeType":"Block","src":"4569:65:78","statements":[{"expression":{"arguments":[{"id":10212,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10204,"src":"4597:17:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10213,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10206,"src":"4616:4:78","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"hexValue":"74727565","id":10214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4622:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10211,"name":"_upgradeToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9545,"src":"4579:17:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":10215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4579:48:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10216,"nodeType":"ExpressionStatement","src":"4579:48:78"}]},"documentation":{"id":10202,"nodeType":"StructuredDocumentation","src":"4100:365:78","text":" @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified\n by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the\n proxied contract.\n NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}."},"functionSelector":"4f1ef286","id":10218,"implemented":true,"kind":"function","modifiers":[{"id":10209,"kind":"modifierInvocation","modifierName":{"id":10208,"name":"ifAdmin","nodeType":"IdentifierPath","referencedDeclaration":10142,"src":"4561:7:78"},"nodeType":"ModifierInvocation","src":"4561:7:78"}],"name":"upgradeToAndCall","nameLocation":"4479:16:78","nodeType":"FunctionDefinition","parameters":{"id":10207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10204,"mutability":"mutable","name":"newImplementation","nameLocation":"4504:17:78","nodeType":"VariableDeclaration","scope":10218,"src":"4496:25:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10203,"name":"address","nodeType":"ElementaryTypeName","src":"4496:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10206,"mutability":"mutable","name":"data","nameLocation":"4538:4:78","nodeType":"VariableDeclaration","scope":10218,"src":"4523:19:78","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":10205,"name":"bytes","nodeType":"ElementaryTypeName","src":"4523:5:78","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4495:48:78"},"returnParameters":{"id":10210,"nodeType":"ParameterList","parameters":[],"src":"4569:0:78"},"scope":10249,"src":"4470:164:78","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":10227,"nodeType":"Block","src":"4753:35:78","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10224,"name":"_getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9622,"src":"4770:9:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4770:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10223,"id":10226,"nodeType":"Return","src":"4763:18:78"}]},"documentation":{"id":10219,"nodeType":"StructuredDocumentation","src":"4640:50:78","text":" @dev Returns the current admin."},"id":10228,"implemented":true,"kind":"function","modifiers":[],"name":"_admin","nameLocation":"4704:6:78","nodeType":"FunctionDefinition","parameters":{"id":10220,"nodeType":"ParameterList","parameters":[],"src":"4710:2:78"},"returnParameters":{"id":10223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10228,"src":"4744:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10221,"name":"address","nodeType":"ElementaryTypeName","src":"4744:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4743:9:78"},"scope":10249,"src":"4695:93:78","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[9813],"body":{"id":10247,"nodeType":"Block","src":"4962:154:78","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10234,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4980:3:78","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4980:10:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10236,"name":"_getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9622,"src":"4994:9:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4994:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4980:25:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574","id":10239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5007:68:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d","typeString":"literal_string \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\""},"value":"TransparentUpgradeableProxy: admin cannot fallback to proxy target"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d","typeString":"literal_string \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\""}],"id":10233,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4972:7:78","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4972:104:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10241,"nodeType":"ExpressionStatement","src":"4972:104:78"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10242,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5086:5:78","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TransparentUpgradeableProxy_$10249_$","typeString":"type(contract super TransparentUpgradeableProxy)"}},"id":10244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeFallback","nodeType":"MemberAccess","referencedDeclaration":9813,"src":"5086:21:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5086:23:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10246,"nodeType":"ExpressionStatement","src":"5086:23:78"}]},"documentation":{"id":10229,"nodeType":"StructuredDocumentation","src":"4794:110:78","text":" @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}."},"id":10248,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeFallback","nameLocation":"4918:15:78","nodeType":"FunctionDefinition","overrides":{"id":10231,"nodeType":"OverrideSpecifier","overrides":[],"src":"4953:8:78"},"parameters":{"id":10230,"nodeType":"ParameterList","parameters":[],"src":"4933:2:78"},"returnParameters":{"id":10232,"nodeType":"ParameterList","parameters":[],"src":"4962:0:78"},"scope":10249,"src":"4909:207:78","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":10250,"src":"1649:3469:78","usedErrors":[]}],"src":"133:4986:78"},"id":78},"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol","exportedSymbols":{"Address":[20688],"Initializable":[10418]},"id":10419,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10251,"literals":["solidity","^","0.8",".2"],"nodeType":"PragmaDirective","src":"113:23:79"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":10252,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10419,"sourceUnit":20689,"src":"138:33:79","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"Initializable","contractDependencies":[],"contractKind":"contract","documentation":{"id":10253,"nodeType":"StructuredDocumentation","src":"173:2198:79","text":" @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```\n contract MyToken is ERC20Upgradeable {\n function initialize() initializer public {\n __ERC20_init(\"MyToken\", \"MTK\");\n }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n function initializeV2() reinitializer(2) public {\n __ERC20Permit_init(\"MyToken\");\n }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n ```\n ===="},"fullyImplemented":true,"id":10418,"linearizedBaseContracts":[10418],"name":"Initializable","nameLocation":"2390:13:79","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":10254,"nodeType":"StructuredDocumentation","src":"2410:109:79","text":" @dev Indicates that the contract has been initialized.\n @custom:oz-retyped-from bool"},"id":10256,"mutability":"mutable","name":"_initialized","nameLocation":"2538:12:79","nodeType":"VariableDeclaration","scope":10418,"src":"2524:26:79","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10255,"name":"uint8","nodeType":"ElementaryTypeName","src":"2524:5:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"private"},{"constant":false,"documentation":{"id":10257,"nodeType":"StructuredDocumentation","src":"2557:91:79","text":" @dev Indicates that the contract is in the process of being initialized."},"id":10259,"mutability":"mutable","name":"_initializing","nameLocation":"2666:13:79","nodeType":"VariableDeclaration","scope":10418,"src":"2653:26:79","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10258,"name":"bool","nodeType":"ElementaryTypeName","src":"2653:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"anonymous":false,"documentation":{"id":10260,"nodeType":"StructuredDocumentation","src":"2686:90:79","text":" @dev Triggered when the contract has been initialized or reinitialized."},"id":10264,"name":"Initialized","nameLocation":"2787:11:79","nodeType":"EventDefinition","parameters":{"id":10263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10262,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"2805:7:79","nodeType":"VariableDeclaration","scope":10264,"src":"2799:13:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10261,"name":"uint8","nodeType":"ElementaryTypeName","src":"2799:5:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2798:15:79"},"src":"2781:33:79"},{"body":{"id":10319,"nodeType":"Block","src":"3247:472:79","statements":[{"assignments":[10268],"declarations":[{"constant":false,"id":10268,"mutability":"mutable","name":"isTopLevelCall","nameLocation":"3262:14:79","nodeType":"VariableDeclaration","scope":10319,"src":"3257:19:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10267,"name":"bool","nodeType":"ElementaryTypeName","src":"3257:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":10271,"initialValue":{"id":10270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3279:14:79","subExpression":{"id":10269,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"3280:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3257:36:79"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10273,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"3325:14:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10274,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"3343:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"31","id":10275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3358:1:79","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3343:16:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3325:34:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":10278,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3324:36:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3365:34:79","subExpression":{"arguments":[{"arguments":[{"id":10283,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3393:4:79","typeDescriptions":{"typeIdentifier":"t_contract$_Initializable_$10418","typeString":"contract Initializable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Initializable_$10418","typeString":"contract Initializable"}],"id":10282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3385:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10281,"name":"address","nodeType":"ElementaryTypeName","src":"3385:7:79","typeDescriptions":{}}},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3385:13:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10279,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"3366:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":10280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"3366:18:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":10285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3366:33:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10287,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"3403:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":10288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3419:1:79","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3403:17:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3365:55:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":10291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3364:57:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3324:97:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564","id":10293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3435:48:79","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759","typeString":"literal_string \"Initializable: contract is already initialized\""},"value":"Initializable: contract is already initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759","typeString":"literal_string \"Initializable: contract is already initialized\""}],"id":10272,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3303:7:79","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3303:190:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10295,"nodeType":"ExpressionStatement","src":"3303:190:79"},{"expression":{"id":10298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10296,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"3503:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":10297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3518:1:79","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3503:16:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10299,"nodeType":"ExpressionStatement","src":"3503:16:79"},{"condition":{"id":10300,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"3533:14:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10306,"nodeType":"IfStatement","src":"3529:65:79","trueBody":{"id":10305,"nodeType":"Block","src":"3549:45:79","statements":[{"expression":{"id":10303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10301,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"3563:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3579:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3563:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10304,"nodeType":"ExpressionStatement","src":"3563:20:79"}]}},{"id":10307,"nodeType":"PlaceholderStatement","src":"3603:1:79"},{"condition":{"id":10308,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10268,"src":"3618:14:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10318,"nodeType":"IfStatement","src":"3614:99:79","trueBody":{"id":10317,"nodeType":"Block","src":"3634:79:79","statements":[{"expression":{"id":10311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10309,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"3648:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3664:5:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3648:21:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10312,"nodeType":"ExpressionStatement","src":"3648:21:79"},{"eventCall":{"arguments":[{"hexValue":"31","id":10314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3700:1:79","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":10313,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"3688:11:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$returns$__$","typeString":"function (uint8)"}},"id":10315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3688:14:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10316,"nodeType":"EmitStatement","src":"3683:19:79"}]}}]},"documentation":{"id":10265,"nodeType":"StructuredDocumentation","src":"2820:399:79","text":" @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\n constructor.\n Emits an {Initialized} event."},"id":10320,"name":"initializer","nameLocation":"3233:11:79","nodeType":"ModifierDefinition","parameters":{"id":10266,"nodeType":"ParameterList","parameters":[],"src":"3244:2:79"},"src":"3224:495:79","virtual":false,"visibility":"internal"},{"body":{"id":10352,"nodeType":"Block","src":"4830:255:79","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4848:14:79","subExpression":{"id":10326,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"4849:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10328,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"4866:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10329,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10323,"src":"4881:7:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4866:22:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4848:40:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564","id":10332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4890:48:79","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759","typeString":"literal_string \"Initializable: contract is already initialized\""},"value":"Initializable: contract is already initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759","typeString":"literal_string \"Initializable: contract is already initialized\""}],"id":10325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4840:7:79","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4840:99:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10334,"nodeType":"ExpressionStatement","src":"4840:99:79"},{"expression":{"id":10337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10335,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"4949:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10336,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10323,"src":"4964:7:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4949:22:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10338,"nodeType":"ExpressionStatement","src":"4949:22:79"},{"expression":{"id":10341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10339,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"4981:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4997:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4981:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10342,"nodeType":"ExpressionStatement","src":"4981:20:79"},{"id":10343,"nodeType":"PlaceholderStatement","src":"5011:1:79"},{"expression":{"id":10346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10344,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"5022:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5038:5:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5022:21:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10347,"nodeType":"ExpressionStatement","src":"5022:21:79"},{"eventCall":{"arguments":[{"id":10349,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10323,"src":"5070:7:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":10348,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"5058:11:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$returns$__$","typeString":"function (uint8)"}},"id":10350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5058:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10351,"nodeType":"EmitStatement","src":"5053:25:79"}]},"documentation":{"id":10321,"nodeType":"StructuredDocumentation","src":"3725:1062:79","text":" @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n used to initialize parent contracts.\n A reinitializer may be used after the original initialization step. This is essential to configure modules that\n are added through upgrades and that require initialization.\n When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n cannot be nested. If one is invoked in the context of another, execution will revert.\n Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n a contract, executing them in the right order is up to the developer or operator.\n WARNING: setting the version to 255 will prevent any future reinitialization.\n Emits an {Initialized} event."},"id":10353,"name":"reinitializer","nameLocation":"4801:13:79","nodeType":"ModifierDefinition","parameters":{"id":10324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10323,"mutability":"mutable","name":"version","nameLocation":"4821:7:79","nodeType":"VariableDeclaration","scope":10353,"src":"4815:13:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10322,"name":"uint8","nodeType":"ElementaryTypeName","src":"4815:5:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4814:15:79"},"src":"4792:293:79","virtual":false,"visibility":"internal"},{"body":{"id":10362,"nodeType":"Block","src":"5323:97:79","statements":[{"expression":{"arguments":[{"id":10357,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"5341:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420696e697469616c697a696e67","id":10358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5356:45:79","typeDescriptions":{"typeIdentifier":"t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b","typeString":"literal_string \"Initializable: contract is not initializing\""},"value":"Initializable: contract is not initializing"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b","typeString":"literal_string \"Initializable: contract is not initializing\""}],"id":10356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5333:7:79","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5333:69:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10360,"nodeType":"ExpressionStatement","src":"5333:69:79"},{"id":10361,"nodeType":"PlaceholderStatement","src":"5412:1:79"}]},"documentation":{"id":10354,"nodeType":"StructuredDocumentation","src":"5091:199:79","text":" @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n {initializer} and {reinitializer} modifiers, directly or indirectly."},"id":10363,"name":"onlyInitializing","nameLocation":"5304:16:79","nodeType":"ModifierDefinition","parameters":{"id":10355,"nodeType":"ParameterList","parameters":[],"src":"5320:2:79"},"src":"5295:125:79","virtual":false,"visibility":"internal"},{"body":{"id":10398,"nodeType":"Block","src":"5955:230:79","statements":[{"expression":{"arguments":[{"id":10369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5973:14:79","subExpression":{"id":10368,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"5974:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e697469616c697a61626c653a20636f6e747261637420697320696e697469616c697a696e67","id":10370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5989:41:79","typeDescriptions":{"typeIdentifier":"t_stringliteral_a53f5879e7518078ff19b2e3d6b41e757a87364ec6872787feb45bfc41131d1a","typeString":"literal_string \"Initializable: contract is initializing\""},"value":"Initializable: contract is initializing"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a53f5879e7518078ff19b2e3d6b41e757a87364ec6872787feb45bfc41131d1a","typeString":"literal_string \"Initializable: contract is initializing\""}],"id":10367,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5965:7:79","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5965:66:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10372,"nodeType":"ExpressionStatement","src":"5965:66:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":10379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10373,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"6045:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"id":10376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6065:5:79","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10375,"name":"uint8","nodeType":"ElementaryTypeName","src":"6065:5:79","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":10374,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6060:4:79","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":10377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6060:11:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":10378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6060:15:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6045:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10397,"nodeType":"IfStatement","src":"6041:138:79","trueBody":{"id":10396,"nodeType":"Block","src":"6077:102:79","statements":[{"expression":{"id":10386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10380,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"6091:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":10383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6111:5:79","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10382,"name":"uint8","nodeType":"ElementaryTypeName","src":"6111:5:79","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":10381,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6106:4:79","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":10384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6106:11:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6106:15:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6091:30:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10387,"nodeType":"ExpressionStatement","src":"6091:30:79"},{"eventCall":{"arguments":[{"expression":{"arguments":[{"id":10391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6157:5:79","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10390,"name":"uint8","nodeType":"ElementaryTypeName","src":"6157:5:79","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":10389,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6152:4:79","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":10392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6152:11:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":10393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6152:15:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":10388,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"6140:11:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$returns$__$","typeString":"function (uint8)"}},"id":10394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6140:28:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10395,"nodeType":"EmitStatement","src":"6135:33:79"}]}}]},"documentation":{"id":10364,"nodeType":"StructuredDocumentation","src":"5426:475:79","text":" @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n through proxies.\n Emits an {Initialized} event the first time it is successfully executed."},"id":10399,"implemented":true,"kind":"function","modifiers":[],"name":"_disableInitializers","nameLocation":"5915:20:79","nodeType":"FunctionDefinition","parameters":{"id":10365,"nodeType":"ParameterList","parameters":[],"src":"5935:2:79"},"returnParameters":{"id":10366,"nodeType":"ParameterList","parameters":[],"src":"5955:0:79"},"scope":10418,"src":"5906:279:79","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10407,"nodeType":"Block","src":"6362:36:79","statements":[{"expression":{"id":10405,"name":"_initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10256,"src":"6379:12:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":10404,"id":10406,"nodeType":"Return","src":"6372:19:79"}]},"documentation":{"id":10400,"nodeType":"StructuredDocumentation","src":"6191:102:79","text":" @dev Internal function that returns the initialized version. Returns `_initialized`"},"id":10408,"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializedVersion","nameLocation":"6307:22:79","nodeType":"FunctionDefinition","parameters":{"id":10401,"nodeType":"ParameterList","parameters":[],"src":"6329:2:79"},"returnParameters":{"id":10404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10408,"src":"6355:5:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10402,"name":"uint8","nodeType":"ElementaryTypeName","src":"6355:5:79","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6354:7:79"},"scope":10418,"src":"6298:100:79","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10416,"nodeType":"Block","src":"6568:37:79","statements":[{"expression":{"id":10414,"name":"_initializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"6585:13:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10413,"id":10415,"nodeType":"Return","src":"6578:20:79"}]},"documentation":{"id":10409,"nodeType":"StructuredDocumentation","src":"6404:103:79","text":" @dev Internal function that returns the initialized version. Returns `_initializing`"},"id":10417,"implemented":true,"kind":"function","modifiers":[],"name":"_isInitializing","nameLocation":"6521:15:79","nodeType":"FunctionDefinition","parameters":{"id":10410,"nodeType":"ParameterList","parameters":[],"src":"6536:2:79"},"returnParameters":{"id":10413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10417,"src":"6562:4:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10411,"name":"bool","nodeType":"ElementaryTypeName","src":"6562:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6561:6:79"},"scope":10418,"src":"6512:93:79","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":10419,"src":"2372:4235:79","usedErrors":[]}],"src":"113:6495:79"},"id":79},"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","exportedSymbols":{"Address":[20688],"ERC1967Upgrade":[9762],"IBeacon":[9890],"IERC1822Proxiable":[9071],"StorageSlot":[22551],"UUPSUpgradeable":[10534]},"id":10535,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10420,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"115:23:80"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","file":"../../interfaces/draft-IERC1822.sol","id":10421,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10535,"sourceUnit":9072,"src":"140:45:80","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol","file":"../ERC1967/ERC1967Upgrade.sol","id":10422,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10535,"sourceUnit":9763,"src":"186:39:80","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":10424,"name":"IERC1822Proxiable","nodeType":"IdentifierPath","referencedDeclaration":9071,"src":"913:17:80"},"id":10425,"nodeType":"InheritanceSpecifier","src":"913:17:80"},{"baseName":{"id":10426,"name":"ERC1967Upgrade","nodeType":"IdentifierPath","referencedDeclaration":9762,"src":"932:14:80"},"id":10427,"nodeType":"InheritanceSpecifier","src":"932:14:80"}],"canonicalName":"UUPSUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":10423,"nodeType":"StructuredDocumentation","src":"227:648:80","text":" @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n `UUPSUpgradeable` with a custom implementation of upgrades.\n The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\n _Available since v4.1._"},"fullyImplemented":false,"id":10534,"linearizedBaseContracts":[10534,9762,9071],"name":"UUPSUpgradeable","nameLocation":"894:15:80","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":10428,"nodeType":"StructuredDocumentation","src":"953:87:80","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable state-variable-assignment"},"id":10434,"mutability":"immutable","name":"__self","nameLocation":"1071:6:80","nodeType":"VariableDeclaration","scope":10534,"src":"1045:48:80","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10429,"name":"address","nodeType":"ElementaryTypeName","src":"1045:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"id":10432,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1088:4:80","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}],"id":10431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1080:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10430,"name":"address","nodeType":"ElementaryTypeName","src":"1080:7:80","typeDescriptions":{}}},"id":10433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1080:13:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":10456,"nodeType":"Block","src":"1619:205:80","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10440,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1645:4:80","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}],"id":10439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1637:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10438,"name":"address","nodeType":"ElementaryTypeName","src":"1637:7:80","typeDescriptions":{}}},"id":10441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1637:13:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10442,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10434,"src":"1654:6:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1637:23:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682064656c656761746563616c6c","id":10444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1662:46:80","typeDescriptions":{"typeIdentifier":"t_stringliteral_36e108fa7a809b52ab1951dd91c117a7bc9ac5250bdf1aa162d4e104f7edf9eb","typeString":"literal_string \"Function must be called through delegatecall\""},"value":"Function must be called through delegatecall"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_36e108fa7a809b52ab1951dd91c117a7bc9ac5250bdf1aa162d4e104f7edf9eb","typeString":"literal_string \"Function must be called through delegatecall\""}],"id":10437,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1629:7:80","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1629:80:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10446,"nodeType":"ExpressionStatement","src":"1629:80:80"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10448,"name":"_getImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9476,"src":"1727:18:80","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1727:20:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":10450,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10434,"src":"1751:6:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1727:30:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"46756e6374696f6e206d7573742062652063616c6c6564207468726f756768206163746976652070726f7879","id":10452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1759:46:80","typeDescriptions":{"typeIdentifier":"t_stringliteral_52f1ead4d9653e13afbd2e90ef2587c30187cd50b2e97d784e3f7a7541247434","typeString":"literal_string \"Function must be called through active proxy\""},"value":"Function must be called through active proxy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_52f1ead4d9653e13afbd2e90ef2587c30187cd50b2e97d784e3f7a7541247434","typeString":"literal_string \"Function must be called through active proxy\""}],"id":10447,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1719:7:80","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1719:87:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10454,"nodeType":"ExpressionStatement","src":"1719:87:80"},{"id":10455,"nodeType":"PlaceholderStatement","src":"1816:1:80"}]},"documentation":{"id":10435,"nodeType":"StructuredDocumentation","src":"1100:493:80","text":" @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case\n for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n fail."},"id":10457,"name":"onlyProxy","nameLocation":"1607:9:80","nodeType":"ModifierDefinition","parameters":{"id":10436,"nodeType":"ParameterList","parameters":[],"src":"1616:2:80"},"src":"1598:226:80","virtual":false,"visibility":"internal"},{"body":{"id":10471,"nodeType":"Block","src":"2054:120:80","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10463,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2080:4:80","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$10534","typeString":"contract UUPSUpgradeable"}],"id":10462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2072:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10461,"name":"address","nodeType":"ElementaryTypeName","src":"2072:7:80","typeDescriptions":{}}},"id":10464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2072:13:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":10465,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10434,"src":"2089:6:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2072:23:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"555550535570677261646561626c653a206d757374206e6f742062652063616c6c6564207468726f7567682064656c656761746563616c6c","id":10467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2097:58:80","typeDescriptions":{"typeIdentifier":"t_stringliteral_67f0151b4ad1dcfa0e3302a0cd6019f51582ef1807b37dceb00bd852a514f7f4","typeString":"literal_string \"UUPSUpgradeable: must not be called through delegatecall\""},"value":"UUPSUpgradeable: must not be called through delegatecall"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67f0151b4ad1dcfa0e3302a0cd6019f51582ef1807b37dceb00bd852a514f7f4","typeString":"literal_string \"UUPSUpgradeable: must not be called through delegatecall\""}],"id":10460,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2064:7:80","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2064:92:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10469,"nodeType":"ExpressionStatement","src":"2064:92:80"},{"id":10470,"nodeType":"PlaceholderStatement","src":"2166:1:80"}]},"documentation":{"id":10458,"nodeType":"StructuredDocumentation","src":"1830:195:80","text":" @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n callable on the implementing contract but not through proxies."},"id":10472,"name":"notDelegated","nameLocation":"2039:12:80","nodeType":"ModifierDefinition","parameters":{"id":10459,"nodeType":"ParameterList","parameters":[],"src":"2051:2:80"},"src":"2030:144:80","virtual":false,"visibility":"internal"},{"baseFunctions":[9070],"body":{"id":10483,"nodeType":"Block","src":"2849:44:80","statements":[{"expression":{"id":10481,"name":"_IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"2866:20:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10480,"id":10482,"nodeType":"Return","src":"2859:27:80"}]},"documentation":{"id":10473,"nodeType":"StructuredDocumentation","src":"2180:577:80","text":" @dev Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the\n implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"functionSelector":"52d1902d","id":10484,"implemented":true,"kind":"function","modifiers":[{"id":10477,"kind":"modifierInvocation","modifierName":{"id":10476,"name":"notDelegated","nodeType":"IdentifierPath","referencedDeclaration":10472,"src":"2818:12:80"},"nodeType":"ModifierInvocation","src":"2818:12:80"}],"name":"proxiableUUID","nameLocation":"2771:13:80","nodeType":"FunctionDefinition","overrides":{"id":10475,"nodeType":"OverrideSpecifier","overrides":[],"src":"2809:8:80"},"parameters":{"id":10474,"nodeType":"ParameterList","parameters":[],"src":"2784:2:80"},"returnParameters":{"id":10480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10484,"src":"2840:7:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2840:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2839:9:80"},"scope":10534,"src":"2762:131:80","stateMutability":"view","virtual":true,"visibility":"external"},{"body":{"id":10505,"nodeType":"Block","src":"3146:124:80","statements":[{"expression":{"arguments":[{"id":10493,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10487,"src":"3174:17:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10492,"name":"_authorizeUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"3156:17:80","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3156:36:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10495,"nodeType":"ExpressionStatement","src":"3156:36:80"},{"expression":{"arguments":[{"id":10497,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10487,"src":"3224:17:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":10500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3253:1:80","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":10499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3243:9:80","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":10498,"name":"bytes","nodeType":"ElementaryTypeName","src":"3247:5:80","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":10501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3243:12:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":10502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3257:5:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10496,"name":"_upgradeToAndCallUUPS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9598,"src":"3202:21:80","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":10503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3202:61:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10504,"nodeType":"ExpressionStatement","src":"3202:61:80"}]},"documentation":{"id":10485,"nodeType":"StructuredDocumentation","src":"2899:169:80","text":" @dev Upgrade the implementation of the proxy to `newImplementation`.\n Calls {_authorizeUpgrade}.\n Emits an {Upgraded} event."},"functionSelector":"3659cfe6","id":10506,"implemented":true,"kind":"function","modifiers":[{"id":10490,"kind":"modifierInvocation","modifierName":{"id":10489,"name":"onlyProxy","nodeType":"IdentifierPath","referencedDeclaration":10457,"src":"3136:9:80"},"nodeType":"ModifierInvocation","src":"3136:9:80"}],"name":"upgradeTo","nameLocation":"3082:9:80","nodeType":"FunctionDefinition","parameters":{"id":10488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10487,"mutability":"mutable","name":"newImplementation","nameLocation":"3100:17:80","nodeType":"VariableDeclaration","scope":10506,"src":"3092:25:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10486,"name":"address","nodeType":"ElementaryTypeName","src":"3092:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3091:27:80"},"returnParameters":{"id":10491,"nodeType":"ParameterList","parameters":[],"src":"3146:0:80"},"scope":10534,"src":"3073:197:80","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":10526,"nodeType":"Block","src":"3626:115:80","statements":[{"expression":{"arguments":[{"id":10517,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10509,"src":"3654:17:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10516,"name":"_authorizeUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"3636:17:80","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3636:36:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10519,"nodeType":"ExpressionStatement","src":"3636:36:80"},{"expression":{"arguments":[{"id":10521,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10509,"src":"3704:17:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10522,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10511,"src":"3723:4:80","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":10523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3729:4:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10520,"name":"_upgradeToAndCallUUPS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9598,"src":"3682:21:80","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,bool)"}},"id":10524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3682:52:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10525,"nodeType":"ExpressionStatement","src":"3682:52:80"}]},"documentation":{"id":10507,"nodeType":"StructuredDocumentation","src":"3276:238:80","text":" @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n encoded in `data`.\n Calls {_authorizeUpgrade}.\n Emits an {Upgraded} event."},"functionSelector":"4f1ef286","id":10527,"implemented":true,"kind":"function","modifiers":[{"id":10514,"kind":"modifierInvocation","modifierName":{"id":10513,"name":"onlyProxy","nodeType":"IdentifierPath","referencedDeclaration":10457,"src":"3616:9:80"},"nodeType":"ModifierInvocation","src":"3616:9:80"}],"name":"upgradeToAndCall","nameLocation":"3528:16:80","nodeType":"FunctionDefinition","parameters":{"id":10512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10509,"mutability":"mutable","name":"newImplementation","nameLocation":"3553:17:80","nodeType":"VariableDeclaration","scope":10527,"src":"3545:25:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10508,"name":"address","nodeType":"ElementaryTypeName","src":"3545:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10511,"mutability":"mutable","name":"data","nameLocation":"3585:4:80","nodeType":"VariableDeclaration","scope":10527,"src":"3572:17:80","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10510,"name":"bytes","nodeType":"ElementaryTypeName","src":"3572:5:80","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3544:46:80"},"returnParameters":{"id":10515,"nodeType":"ParameterList","parameters":[],"src":"3626:0:80"},"scope":10534,"src":"3519:222:80","stateMutability":"payable","virtual":true,"visibility":"external"},{"documentation":{"id":10528,"nodeType":"StructuredDocumentation","src":"3747:397:80","text":" @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n {upgradeTo} and {upgradeToAndCall}.\n Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n ```solidity\n function _authorizeUpgrade(address) internal override onlyOwner {}\n ```"},"id":10533,"implemented":false,"kind":"function","modifiers":[],"name":"_authorizeUpgrade","nameLocation":"4158:17:80","nodeType":"FunctionDefinition","parameters":{"id":10531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10530,"mutability":"mutable","name":"newImplementation","nameLocation":"4184:17:80","nodeType":"VariableDeclaration","scope":10533,"src":"4176:25:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10529,"name":"address","nodeType":"ElementaryTypeName","src":"4176:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4175:27:80"},"returnParameters":{"id":10532,"nodeType":"ParameterList","parameters":[],"src":"4219:0:80"},"scope":10534,"src":"4149:71:80","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":10535,"src":"876:3346:80","usedErrors":[]}],"src":"115:4108:80"},"id":80},"contracts/@openzeppelin/contracts/security/Pausable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/security/Pausable.sol","exportedSymbols":{"Context":[22281],"Pausable":[10642]},"id":10643,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10536,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"105:23:81"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":10537,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10643,"sourceUnit":22282,"src":"130:30:81","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":10539,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"632:7:81"},"id":10540,"nodeType":"InheritanceSpecifier","src":"632:7:81"}],"canonicalName":"Pausable","contractDependencies":[],"contractKind":"contract","documentation":{"id":10538,"nodeType":"StructuredDocumentation","src":"162:439:81","text":" @dev Contract module which allows children to implement an emergency stop\n mechanism that can be triggered by an authorized account.\n This module is used through inheritance. It will make available the\n modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n the functions of your contract. Note that they will not be pausable by\n simply including this module, only once the modifiers are put in place."},"fullyImplemented":true,"id":10642,"linearizedBaseContracts":[10642,22281],"name":"Pausable","nameLocation":"620:8:81","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":10541,"nodeType":"StructuredDocumentation","src":"646:73:81","text":" @dev Emitted when the pause is triggered by `account`."},"id":10545,"name":"Paused","nameLocation":"730:6:81","nodeType":"EventDefinition","parameters":{"id":10544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10543,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"745:7:81","nodeType":"VariableDeclaration","scope":10545,"src":"737:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10542,"name":"address","nodeType":"ElementaryTypeName","src":"737:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"736:17:81"},"src":"724:30:81"},{"anonymous":false,"documentation":{"id":10546,"nodeType":"StructuredDocumentation","src":"760:70:81","text":" @dev Emitted when the pause is lifted by `account`."},"id":10550,"name":"Unpaused","nameLocation":"841:8:81","nodeType":"EventDefinition","parameters":{"id":10549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10548,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"858:7:81","nodeType":"VariableDeclaration","scope":10550,"src":"850:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10547,"name":"address","nodeType":"ElementaryTypeName","src":"850:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"849:17:81"},"src":"835:32:81"},{"constant":false,"id":10552,"mutability":"mutable","name":"_paused","nameLocation":"886:7:81","nodeType":"VariableDeclaration","scope":10642,"src":"873:20:81","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10551,"name":"bool","nodeType":"ElementaryTypeName","src":"873:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"body":{"id":10560,"nodeType":"Block","src":"986:32:81","statements":[{"expression":{"id":10558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10556,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10552,"src":"996:7:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1006:5:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"996:15:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10559,"nodeType":"ExpressionStatement","src":"996:15:81"}]},"documentation":{"id":10553,"nodeType":"StructuredDocumentation","src":"900:67:81","text":" @dev Initializes the contract in unpaused state."},"id":10561,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10554,"nodeType":"ParameterList","parameters":[],"src":"983:2:81"},"returnParameters":{"id":10555,"nodeType":"ParameterList","parameters":[],"src":"986:0:81"},"scope":10642,"src":"972:46:81","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10568,"nodeType":"Block","src":"1229:47:81","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10564,"name":"_requireNotPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10598,"src":"1239:17:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":10565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1239:19:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10566,"nodeType":"ExpressionStatement","src":"1239:19:81"},{"id":10567,"nodeType":"PlaceholderStatement","src":"1268:1:81"}]},"documentation":{"id":10562,"nodeType":"StructuredDocumentation","src":"1024:175:81","text":" @dev Modifier to make a function callable only when the contract is not paused.\n Requirements:\n - The contract must not be paused."},"id":10569,"name":"whenNotPaused","nameLocation":"1213:13:81","nodeType":"ModifierDefinition","parameters":{"id":10563,"nodeType":"ParameterList","parameters":[],"src":"1226:2:81"},"src":"1204:72:81","virtual":false,"visibility":"internal"},{"body":{"id":10576,"nodeType":"Block","src":"1476:44:81","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10572,"name":"_requirePaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10609,"src":"1486:14:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":10573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1486:16:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10574,"nodeType":"ExpressionStatement","src":"1486:16:81"},{"id":10575,"nodeType":"PlaceholderStatement","src":"1512:1:81"}]},"documentation":{"id":10570,"nodeType":"StructuredDocumentation","src":"1282:167:81","text":" @dev Modifier to make a function callable only when the contract is paused.\n Requirements:\n - The contract must be paused."},"id":10577,"name":"whenPaused","nameLocation":"1463:10:81","nodeType":"ModifierDefinition","parameters":{"id":10571,"nodeType":"ParameterList","parameters":[],"src":"1473:2:81"},"src":"1454:66:81","virtual":false,"visibility":"internal"},{"body":{"id":10585,"nodeType":"Block","src":"1668:31:81","statements":[{"expression":{"id":10583,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10552,"src":"1685:7:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10582,"id":10584,"nodeType":"Return","src":"1678:14:81"}]},"documentation":{"id":10578,"nodeType":"StructuredDocumentation","src":"1526:84:81","text":" @dev Returns true if the contract is paused, and false otherwise."},"functionSelector":"5c975abb","id":10586,"implemented":true,"kind":"function","modifiers":[],"name":"paused","nameLocation":"1624:6:81","nodeType":"FunctionDefinition","parameters":{"id":10579,"nodeType":"ParameterList","parameters":[],"src":"1630:2:81"},"returnParameters":{"id":10582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10586,"src":"1662:4:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10580,"name":"bool","nodeType":"ElementaryTypeName","src":"1662:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1661:6:81"},"scope":10642,"src":"1615:84:81","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":10597,"nodeType":"Block","src":"1818:55:81","statements":[{"expression":{"arguments":[{"id":10593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1836:9:81","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10591,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"1837:6:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":10592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1837:8:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061757361626c653a20706175736564","id":10594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1847:18:81","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":10590,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1828:7:81","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1828:38:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10596,"nodeType":"ExpressionStatement","src":"1828:38:81"}]},"documentation":{"id":10587,"nodeType":"StructuredDocumentation","src":"1705:57:81","text":" @dev Throws if the contract is paused."},"id":10598,"implemented":true,"kind":"function","modifiers":[],"name":"_requireNotPaused","nameLocation":"1776:17:81","nodeType":"FunctionDefinition","parameters":{"id":10588,"nodeType":"ParameterList","parameters":[],"src":"1793:2:81"},"returnParameters":{"id":10589,"nodeType":"ParameterList","parameters":[],"src":"1818:0:81"},"scope":10642,"src":"1767:106:81","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10608,"nodeType":"Block","src":"1993:58:81","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":10603,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"2011:6:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":10604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2011:8:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061757361626c653a206e6f7420706175736564","id":10605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2021:22:81","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":10602,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2003:7:81","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2003:41:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10607,"nodeType":"ExpressionStatement","src":"2003:41:81"}]},"documentation":{"id":10599,"nodeType":"StructuredDocumentation","src":"1879:61:81","text":" @dev Throws if the contract is not paused."},"id":10609,"implemented":true,"kind":"function","modifiers":[],"name":"_requirePaused","nameLocation":"1954:14:81","nodeType":"FunctionDefinition","parameters":{"id":10600,"nodeType":"ParameterList","parameters":[],"src":"1968:2:81"},"returnParameters":{"id":10601,"nodeType":"ParameterList","parameters":[],"src":"1993:0:81"},"scope":10642,"src":"1945:106:81","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10624,"nodeType":"Block","src":"2235:66:81","statements":[{"expression":{"id":10617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10615,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10552,"src":"2245:7:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2255:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2245:14:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10618,"nodeType":"ExpressionStatement","src":"2245:14:81"},{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":10620,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2281:10:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2281:12:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10619,"name":"Paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10545,"src":"2274:6:81","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2274:20:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10623,"nodeType":"EmitStatement","src":"2269:25:81"}]},"documentation":{"id":10610,"nodeType":"StructuredDocumentation","src":"2057:124:81","text":" @dev Triggers stopped state.\n Requirements:\n - The contract must not be paused."},"id":10625,"implemented":true,"kind":"function","modifiers":[{"id":10613,"kind":"modifierInvocation","modifierName":{"id":10612,"name":"whenNotPaused","nodeType":"IdentifierPath","referencedDeclaration":10569,"src":"2221:13:81"},"nodeType":"ModifierInvocation","src":"2221:13:81"}],"name":"_pause","nameLocation":"2195:6:81","nodeType":"FunctionDefinition","parameters":{"id":10611,"nodeType":"ParameterList","parameters":[],"src":"2201:2:81"},"returnParameters":{"id":10614,"nodeType":"ParameterList","parameters":[],"src":"2235:0:81"},"scope":10642,"src":"2186:115:81","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10640,"nodeType":"Block","src":"2481:69:81","statements":[{"expression":{"id":10633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10631,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10552,"src":"2491:7:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2501:5:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2491:15:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10634,"nodeType":"ExpressionStatement","src":"2491:15:81"},{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":10636,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2530:10:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2530:12:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10635,"name":"Unpaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10550,"src":"2521:8:81","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2521:22:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10639,"nodeType":"EmitStatement","src":"2516:27:81"}]},"documentation":{"id":10626,"nodeType":"StructuredDocumentation","src":"2307:121:81","text":" @dev Returns to normal state.\n Requirements:\n - The contract must be paused."},"id":10641,"implemented":true,"kind":"function","modifiers":[{"id":10629,"kind":"modifierInvocation","modifierName":{"id":10628,"name":"whenPaused","nodeType":"IdentifierPath","referencedDeclaration":10577,"src":"2470:10:81"},"nodeType":"ModifierInvocation","src":"2470:10:81"}],"name":"_unpause","nameLocation":"2442:8:81","nodeType":"FunctionDefinition","parameters":{"id":10627,"nodeType":"ParameterList","parameters":[],"src":"2450:2:81"},"returnParameters":{"id":10630,"nodeType":"ParameterList","parameters":[],"src":"2481:0:81"},"scope":10642,"src":"2433:117:81","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":10643,"src":"602:1950:81","usedErrors":[]}],"src":"105:2448:81"},"id":81},"contracts/@openzeppelin/contracts/security/PullPayment.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/security/PullPayment.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"Escrow":[24174],"Ownable":[1418],"PullPayment":[10705]},"id":10706,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10644,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:82"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol","file":"../utils/escrow/Escrow.sol","id":10645,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10706,"sourceUnit":24175,"src":"133:36:82","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"PullPayment","contractDependencies":[24174],"contractKind":"contract","documentation":{"id":10646,"nodeType":"StructuredDocumentation","src":"171:984:82","text":" @dev Simple implementation of a\n https://consensys.github.io/smart-contract-best-practices/development-recommendations/general/external-calls/#favor-pull-over-push-for-external-calls[pull-payment]\n strategy, where the paying contract doesn't interact directly with the\n receiver account, which must withdraw its payments itself.\n Pull-payments are often considered the best practice when it comes to sending\n Ether, security-wise. It prevents recipients from blocking execution, and\n eliminates reentrancy concerns.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n To use, derive from the `PullPayment` contract, and use {_asyncTransfer}\n instead of Solidity's `transfer` function. Payees can query their due\n payments with {payments}, and retrieve them with {withdrawPayments}."},"fullyImplemented":true,"id":10705,"linearizedBaseContracts":[10705],"name":"PullPayment","nameLocation":"1174:11:82","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":10649,"mutability":"immutable","name":"_escrow","nameLocation":"1217:7:82","nodeType":"VariableDeclaration","scope":10705,"src":"1192:32:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"},"typeName":{"id":10648,"nodeType":"UserDefinedTypeName","pathNode":{"id":10647,"name":"Escrow","nodeType":"IdentifierPath","referencedDeclaration":24174,"src":"1192:6:82"},"referencedDeclaration":24174,"src":"1192:6:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"visibility":"private"},{"body":{"id":10659,"nodeType":"Block","src":"1245:39:82","statements":[{"expression":{"id":10657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10652,"name":"_escrow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10649,"src":"1255:7:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":10655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1265:10:82","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$24174_$","typeString":"function () returns (contract Escrow)"},"typeName":{"id":10654,"nodeType":"UserDefinedTypeName","pathNode":{"id":10653,"name":"Escrow","nodeType":"IdentifierPath","referencedDeclaration":24174,"src":"1269:6:82"},"referencedDeclaration":24174,"src":"1269:6:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}}},"id":10656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1265:12:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"src":"1255:22:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"id":10658,"nodeType":"ExpressionStatement","src":"1255:22:82"}]},"id":10660,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10650,"nodeType":"ParameterList","parameters":[],"src":"1242:2:82"},"returnParameters":{"id":10651,"nodeType":"ParameterList","parameters":[],"src":"1245:0:82"},"scope":10705,"src":"1231:53:82","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10672,"nodeType":"Block","src":"2060:40:82","statements":[{"expression":{"arguments":[{"id":10669,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10663,"src":"2087:5:82","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":10666,"name":"_escrow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10649,"src":"2070:7:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"id":10668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"withdraw","nodeType":"MemberAccess","referencedDeclaration":24173,"src":"2070:16:82","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable) external"}},"id":10670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2070:23:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10671,"nodeType":"ExpressionStatement","src":"2070:23:82"}]},"documentation":{"id":10661,"nodeType":"StructuredDocumentation","src":"1290:701:82","text":" @dev Withdraw accumulated payments, forwarding all gas to the recipient.\n Note that _any_ account can call this function, not just the `payee`.\n This means that contracts unaware of the `PullPayment` protocol can still\n receive funds this way, by having a separate account call\n {withdrawPayments}.\n WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities.\n Make sure you trust the recipient, or are either following the\n checks-effects-interactions pattern or using {ReentrancyGuard}.\n @param payee Whose payments will be withdrawn.\n Causes the `escrow` to emit a {Withdrawn} event."},"functionSelector":"31b3eb94","id":10673,"implemented":true,"kind":"function","modifiers":[],"name":"withdrawPayments","nameLocation":"2005:16:82","nodeType":"FunctionDefinition","parameters":{"id":10664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10663,"mutability":"mutable","name":"payee","nameLocation":"2038:5:82","nodeType":"VariableDeclaration","scope":10673,"src":"2022:21:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":10662,"name":"address","nodeType":"ElementaryTypeName","src":"2022:15:82","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"2021:23:82"},"returnParameters":{"id":10665,"nodeType":"ParameterList","parameters":[],"src":"2060:0:82"},"scope":10705,"src":"1996:104:82","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":10686,"nodeType":"Block","src":"2280:48:82","statements":[{"expression":{"arguments":[{"id":10683,"name":"dest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10676,"src":"2316:4:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10681,"name":"_escrow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10649,"src":"2297:7:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"id":10682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depositsOf","nodeType":"MemberAccess","referencedDeclaration":24116,"src":"2297:18:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":10684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2297:24:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10680,"id":10685,"nodeType":"Return","src":"2290:31:82"}]},"documentation":{"id":10674,"nodeType":"StructuredDocumentation","src":"2106:107:82","text":" @dev Returns the payments owed to an address.\n @param dest The creditor's address."},"functionSelector":"e2982c21","id":10687,"implemented":true,"kind":"function","modifiers":[],"name":"payments","nameLocation":"2227:8:82","nodeType":"FunctionDefinition","parameters":{"id":10677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10676,"mutability":"mutable","name":"dest","nameLocation":"2244:4:82","nodeType":"VariableDeclaration","scope":10687,"src":"2236:12:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10675,"name":"address","nodeType":"ElementaryTypeName","src":"2236:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2235:14:82"},"returnParameters":{"id":10680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10687,"src":"2271:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10678,"name":"uint256","nodeType":"ElementaryTypeName","src":"2271:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2270:9:82"},"scope":10705,"src":"2218:110:82","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":10703,"nodeType":"Block","src":"2821:53:82","statements":[{"expression":{"arguments":[{"id":10700,"name":"dest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10690,"src":"2862:4:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10695,"name":"_escrow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10649,"src":"2831:7:82","typeDescriptions":{"typeIdentifier":"t_contract$_Escrow_$24174","typeString":"contract Escrow"}},"id":10697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":24141,"src":"2831:15:82","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":10699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":10698,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10692,"src":"2854:6:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2831:30:82","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$value","typeString":"function (address) payable external"}},"id":10701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2831:36:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10702,"nodeType":"ExpressionStatement","src":"2831:36:82"}]},"documentation":{"id":10688,"nodeType":"StructuredDocumentation","src":"2334:411:82","text":" @dev Called by the payer to store the sent amount as credit to be pulled.\n Funds sent in this way are stored in an intermediate {Escrow} contract, so\n there is no danger of them being spent before withdrawal.\n @param dest The destination address of the funds.\n @param amount The amount to transfer.\n Causes the `escrow` to emit a {Deposited} event."},"id":10704,"implemented":true,"kind":"function","modifiers":[],"name":"_asyncTransfer","nameLocation":"2759:14:82","nodeType":"FunctionDefinition","parameters":{"id":10693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10690,"mutability":"mutable","name":"dest","nameLocation":"2782:4:82","nodeType":"VariableDeclaration","scope":10704,"src":"2774:12:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10689,"name":"address","nodeType":"ElementaryTypeName","src":"2774:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10692,"mutability":"mutable","name":"amount","nameLocation":"2796:6:82","nodeType":"VariableDeclaration","scope":10704,"src":"2788:14:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10691,"name":"uint256","nodeType":"ElementaryTypeName","src":"2788:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2773:30:82"},"returnParameters":{"id":10694,"nodeType":"ParameterList","parameters":[],"src":"2821:0:82"},"scope":10705,"src":"2750:124:82","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":10706,"src":"1156:1720:82","usedErrors":[]}],"src":"108:2769:82"},"id":82},"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol","exportedSymbols":{"ReentrancyGuard":[10759]},"id":10760,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10707,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:83"},{"abstract":true,"baseContracts":[],"canonicalName":"ReentrancyGuard","contractDependencies":[],"contractKind":"contract","documentation":{"id":10708,"nodeType":"StructuredDocumentation","src":"137:750:83","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]."},"fullyImplemented":true,"id":10759,"linearizedBaseContracts":[10759],"name":"ReentrancyGuard","nameLocation":"906:15:83","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":10711,"mutability":"constant","name":"_NOT_ENTERED","nameLocation":"1701:12:83","nodeType":"VariableDeclaration","scope":10759,"src":"1676:41:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10709,"name":"uint256","nodeType":"ElementaryTypeName","src":"1676:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":10710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1716:1:83","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":10714,"mutability":"constant","name":"_ENTERED","nameLocation":"1748:8:83","nodeType":"VariableDeclaration","scope":10759,"src":"1723:37:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10712,"name":"uint256","nodeType":"ElementaryTypeName","src":"1723:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":10713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1759:1:83","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":false,"id":10716,"mutability":"mutable","name":"_status","nameLocation":"1783:7:83","nodeType":"VariableDeclaration","scope":10759,"src":"1767:23:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10715,"name":"uint256","nodeType":"ElementaryTypeName","src":"1767:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"body":{"id":10723,"nodeType":"Block","src":"1811:39:83","statements":[{"expression":{"id":10721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10719,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10716,"src":"1821:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10720,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10711,"src":"1831:12:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1821:22:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10722,"nodeType":"ExpressionStatement","src":"1821:22:83"}]},"id":10724,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10717,"nodeType":"ParameterList","parameters":[],"src":"1808:2:83"},"returnParameters":{"id":10718,"nodeType":"ParameterList","parameters":[],"src":"1811:0:83"},"scope":10759,"src":"1797:53:83","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10734,"nodeType":"Block","src":"2251:79:83","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10727,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10750,"src":"2261:19:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2261:21:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10729,"nodeType":"ExpressionStatement","src":"2261:21:83"},{"id":10730,"nodeType":"PlaceholderStatement","src":"2292:1:83"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10731,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10758,"src":"2303:18:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2303:20:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10733,"nodeType":"ExpressionStatement","src":"2303:20:83"}]},"documentation":{"id":10725,"nodeType":"StructuredDocumentation","src":"1856:366:83","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"id":10735,"name":"nonReentrant","nameLocation":"2236:12:83","nodeType":"ModifierDefinition","parameters":{"id":10726,"nodeType":"ParameterList","parameters":[],"src":"2248:2:83"},"src":"2227:103:83","virtual":false,"visibility":"internal"},{"body":{"id":10749,"nodeType":"Block","src":"2375:248:83","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10739,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10716,"src":"2468:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10740,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10714,"src":"2479:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2468:19:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265656e7472616e637947756172643a207265656e7472616e742063616c6c","id":10742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2489:33:83","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":10738,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2460:7:83","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2460:63:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10744,"nodeType":"ExpressionStatement","src":"2460:63:83"},{"expression":{"id":10747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10745,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10716,"src":"2598:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10746,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10714,"src":"2608:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2598:18:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10748,"nodeType":"ExpressionStatement","src":"2598:18:83"}]},"id":10750,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"2345:19:83","nodeType":"FunctionDefinition","parameters":{"id":10736,"nodeType":"ParameterList","parameters":[],"src":"2364:2:83"},"returnParameters":{"id":10737,"nodeType":"ParameterList","parameters":[],"src":"2375:0:83"},"scope":10759,"src":"2336:287:83","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":10757,"nodeType":"Block","src":"2667:171:83","statements":[{"expression":{"id":10755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10753,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10716,"src":"2809:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10754,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10711,"src":"2819:12:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2809:22:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10756,"nodeType":"ExpressionStatement","src":"2809:22:83"}]},"id":10758,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"2638:18:83","nodeType":"FunctionDefinition","parameters":{"id":10751,"nodeType":"ParameterList","parameters":[],"src":"2656:2:83"},"returnParameters":{"id":10752,"nodeType":"ParameterList","parameters":[],"src":"2667:0:83"},"scope":10759,"src":"2629:209:83","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":10760,"src":"888:1952:83","usedErrors":[]}],"src":"112:2729:83"},"id":83},"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC165":[24377],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693]},"id":11983,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10761,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:84"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol","file":"./IERC1155.sol","id":10762,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":12105,"src":"134:24:84","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"./IERC1155Receiver.sol","id":10763,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":12146,"src":"159:32:84","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","file":"./extensions/IERC1155MetadataURI.sol","id":10764,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":12523,"src":"192:46:84","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":10765,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":20689,"src":"239:33:84","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":10766,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":22282,"src":"273:33:84","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","id":10767,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11983,"sourceUnit":24378,"src":"307:46:84","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":10769,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"590:7:84"},"id":10770,"nodeType":"InheritanceSpecifier","src":"590:7:84"},{"baseName":{"id":10771,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"599:6:84"},"id":10772,"nodeType":"InheritanceSpecifier","src":"599:6:84"},{"baseName":{"id":10773,"name":"IERC1155","nodeType":"IdentifierPath","referencedDeclaration":12104,"src":"607:8:84"},"id":10774,"nodeType":"InheritanceSpecifier","src":"607:8:84"},{"baseName":{"id":10775,"name":"IERC1155MetadataURI","nodeType":"IdentifierPath","referencedDeclaration":12522,"src":"617:19:84"},"id":10776,"nodeType":"InheritanceSpecifier","src":"617:19:84"}],"canonicalName":"ERC1155","contractDependencies":[],"contractKind":"contract","documentation":{"id":10768,"nodeType":"StructuredDocumentation","src":"355:214:84","text":" @dev Implementation of the basic standard multi-token.\n See https://eips.ethereum.org/EIPS/eip-1155\n Originally based on code by Enjin: https://github.com/enjin/erc-1155\n _Available since v3.1._"},"fullyImplemented":true,"id":11982,"linearizedBaseContracts":[11982,12522,12104,24377,24693,22281],"name":"ERC1155","nameLocation":"579:7:84","nodeType":"ContractDefinition","nodes":[{"id":10779,"libraryName":{"id":10777,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"649:7:84"},"nodeType":"UsingForDirective","src":"643:26:84","typeName":{"id":10778,"name":"address","nodeType":"ElementaryTypeName","src":"661:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"constant":false,"id":10785,"mutability":"mutable","name":"_balances","nameLocation":"780:9:84","nodeType":"VariableDeclaration","scope":11982,"src":"724:65:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"typeName":{"id":10784,"keyType":{"id":10780,"name":"uint256","nodeType":"ElementaryTypeName","src":"732:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"724:47:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"valueType":{"id":10783,"keyType":{"id":10781,"name":"address","nodeType":"ElementaryTypeName","src":"751:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"743:27:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":10782,"name":"uint256","nodeType":"ElementaryTypeName","src":"762:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":10791,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"899:18:84","nodeType":"VariableDeclaration","scope":11982,"src":"846:71:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":10790,"keyType":{"id":10786,"name":"address","nodeType":"ElementaryTypeName","src":"854:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"846:44:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":10789,"keyType":{"id":10787,"name":"address","nodeType":"ElementaryTypeName","src":"873:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"865:24:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":10788,"name":"bool","nodeType":"ElementaryTypeName","src":"884:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"constant":false,"id":10793,"mutability":"mutable","name":"_uri","nameLocation":"1053:4:84","nodeType":"VariableDeclaration","scope":11982,"src":"1038:19:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":10792,"name":"string","nodeType":"ElementaryTypeName","src":"1038:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":10803,"nodeType":"Block","src":"1139:30:84","statements":[{"expression":{"arguments":[{"id":10800,"name":"uri_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10796,"src":"1157:4:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10799,"name":"_setURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11315,"src":"1149:7:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":10801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1149:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10802,"nodeType":"ExpressionStatement","src":"1149:13:84"}]},"documentation":{"id":10794,"nodeType":"StructuredDocumentation","src":"1064:38:84","text":" @dev See {_setURI}."},"id":10804,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10796,"mutability":"mutable","name":"uri_","nameLocation":"1133:4:84","nodeType":"VariableDeclaration","scope":10804,"src":"1119:18:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10795,"name":"string","nodeType":"ElementaryTypeName","src":"1119:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1118:20:84"},"returnParameters":{"id":10798,"nodeType":"ParameterList","parameters":[],"src":"1139:0:84"},"scope":11982,"src":"1107:62:84","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[24376,24692],"body":{"id":10834,"nodeType":"Block","src":"1344:197:84","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":10820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10815,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10807,"src":"1373:11:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":10817,"name":"IERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12104,"src":"1393:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155_$12104_$","typeString":"type(contract IERC1155)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155_$12104_$","typeString":"type(contract IERC1155)"}],"id":10816,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1388:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":10818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1388:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155_$12104","typeString":"type(contract IERC1155)"}},"id":10819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1388:26:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1373:41:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":10826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10821,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10807,"src":"1430:11:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":10823,"name":"IERC1155MetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12522,"src":"1450:19:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155MetadataURI_$12522_$","typeString":"type(contract IERC1155MetadataURI)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155MetadataURI_$12522_$","typeString":"type(contract IERC1155MetadataURI)"}],"id":10822,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1445:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":10824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1445:25:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155MetadataURI_$12522","typeString":"type(contract IERC1155MetadataURI)"}},"id":10825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1445:37:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1430:52:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1373:109:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":10830,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10807,"src":"1522:11:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":10828,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1498:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155_$11982_$","typeString":"type(contract super ERC1155)"}},"id":10829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"1498:23:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":10831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1498:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1373:161:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10814,"id":10833,"nodeType":"Return","src":"1354:180:84"}]},"documentation":{"id":10805,"nodeType":"StructuredDocumentation","src":"1175:56:84","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":10835,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1245:17:84","nodeType":"FunctionDefinition","overrides":{"id":10811,"nodeType":"OverrideSpecifier","overrides":[{"id":10809,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1312:6:84"},{"id":10810,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1320:7:84"}],"src":"1303:25:84"},"parameters":{"id":10808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10807,"mutability":"mutable","name":"interfaceId","nameLocation":"1270:11:84","nodeType":"VariableDeclaration","scope":10835,"src":"1263:18:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":10806,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1263:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1262:20:84"},"returnParameters":{"id":10814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10835,"src":"1338:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10812,"name":"bool","nodeType":"ElementaryTypeName","src":"1338:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1337:6:84"},"scope":11982,"src":"1236:305:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[12521],"body":{"id":10846,"nodeType":"Block","src":"2015:28:84","statements":[{"expression":{"id":10844,"name":"_uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10793,"src":"2032:4:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":10843,"id":10845,"nodeType":"Return","src":"2025:11:84"}]},"documentation":{"id":10836,"nodeType":"StructuredDocumentation","src":"1547:388:84","text":" @dev See {IERC1155MetadataURI-uri}.\n This implementation returns the same URI for *all* token types. It relies\n on the token type ID substitution mechanism\n https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP].\n Clients calling this function must replace the `\\{id\\}` substring with the\n actual token type ID."},"functionSelector":"0e89341c","id":10847,"implemented":true,"kind":"function","modifiers":[],"name":"uri","nameLocation":"1949:3:84","nodeType":"FunctionDefinition","overrides":{"id":10840,"nodeType":"OverrideSpecifier","overrides":[],"src":"1982:8:84"},"parameters":{"id":10839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10847,"src":"1953:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10837,"name":"uint256","nodeType":"ElementaryTypeName","src":"1953:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1952:9:84"},"returnParameters":{"id":10843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10842,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10847,"src":"2000:13:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10841,"name":"string","nodeType":"ElementaryTypeName","src":"2000:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1999:15:84"},"scope":11982,"src":"1940:103:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[12042],"body":{"id":10874,"nodeType":"Block","src":"2280:132:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10859,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10850,"src":"2298:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2317:1:84","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":10861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2309:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10860,"name":"address","nodeType":"ElementaryTypeName","src":"2309:7:84","typeDescriptions":{}}},"id":10863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2309:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2298:21:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572","id":10865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2321:44:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad","typeString":"literal_string \"ERC1155: address zero is not a valid owner\""},"value":"ERC1155: address zero is not a valid owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad","typeString":"literal_string \"ERC1155: address zero is not a valid owner\""}],"id":10858,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2290:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2290:76:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10867,"nodeType":"ExpressionStatement","src":"2290:76:84"},{"expression":{"baseExpression":{"baseExpression":{"id":10868,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"2383:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":10870,"indexExpression":{"id":10869,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10852,"src":"2393:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2383:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":10872,"indexExpression":{"id":10871,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10850,"src":"2397:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2383:22:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10857,"id":10873,"nodeType":"Return","src":"2376:29:84"}]},"documentation":{"id":10848,"nodeType":"StructuredDocumentation","src":"2049:131:84","text":" @dev See {IERC1155-balanceOf}.\n Requirements:\n - `account` cannot be the zero address."},"functionSelector":"00fdd58e","id":10875,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2194:9:84","nodeType":"FunctionDefinition","overrides":{"id":10854,"nodeType":"OverrideSpecifier","overrides":[],"src":"2253:8:84"},"parameters":{"id":10853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10850,"mutability":"mutable","name":"account","nameLocation":"2212:7:84","nodeType":"VariableDeclaration","scope":10875,"src":"2204:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10849,"name":"address","nodeType":"ElementaryTypeName","src":"2204:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10852,"mutability":"mutable","name":"id","nameLocation":"2229:2:84","nodeType":"VariableDeclaration","scope":10875,"src":"2221:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10851,"name":"uint256","nodeType":"ElementaryTypeName","src":"2221:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2203:29:84"},"returnParameters":{"id":10857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10875,"src":"2271:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10855,"name":"uint256","nodeType":"ElementaryTypeName","src":"2271:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2270:9:84"},"scope":11982,"src":"2185:227:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[12055],"body":{"id":10938,"nodeType":"Block","src":"2742:335:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10890,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10879,"src":"2760:8:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2760:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10892,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10882,"src":"2779:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2779:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2760:29:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206163636f756e747320616e6420696473206c656e677468206d69736d61746368","id":10895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2791:43:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5","typeString":"literal_string \"ERC1155: accounts and ids length mismatch\""},"value":"ERC1155: accounts and ids length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5","typeString":"literal_string \"ERC1155: accounts and ids length mismatch\""}],"id":10889,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2752:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2752:83:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10897,"nodeType":"ExpressionStatement","src":"2752:83:84"},{"assignments":[10902],"declarations":[{"constant":false,"id":10902,"mutability":"mutable","name":"batchBalances","nameLocation":"2863:13:84","nodeType":"VariableDeclaration","scope":10938,"src":"2846:30:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10900,"name":"uint256","nodeType":"ElementaryTypeName","src":"2846:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10901,"nodeType":"ArrayTypeName","src":"2846:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":10909,"initialValue":{"arguments":[{"expression":{"id":10906,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10879,"src":"2893:8:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2893:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2879:13:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":10903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2883:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10904,"nodeType":"ArrayTypeName","src":"2883:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":10908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2879:30:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2846:63:84"},{"body":{"id":10934,"nodeType":"Block","src":"2966:74:84","statements":[{"expression":{"id":10932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10921,"name":"batchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10902,"src":"2980:13:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10923,"indexExpression":{"id":10922,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"2994:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2980:16:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":10925,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10879,"src":"3009:8:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10927,"indexExpression":{"id":10926,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"3018:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3009:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":10928,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10882,"src":"3022:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10930,"indexExpression":{"id":10929,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"3026:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3022:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10924,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10875,"src":"2999:9:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":10931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2999:30:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2980:49:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10933,"nodeType":"ExpressionStatement","src":"2980:49:84"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10914,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"2940:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":10915,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10879,"src":"2944:8:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2944:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2940:19:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10935,"initializationExpression":{"assignments":[10911],"declarations":[{"constant":false,"id":10911,"mutability":"mutable","name":"i","nameLocation":"2933:1:84","nodeType":"VariableDeclaration","scope":10935,"src":"2925:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10910,"name":"uint256","nodeType":"ElementaryTypeName","src":"2925:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10913,"initialValue":{"hexValue":"30","id":10912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2937:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2925:13:84"},"loopExpression":{"expression":{"id":10919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2961:3:84","subExpression":{"id":10918,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"2963:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10920,"nodeType":"ExpressionStatement","src":"2961:3:84"},"nodeType":"ForStatement","src":"2920:120:84"},{"expression":{"id":10936,"name":"batchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10902,"src":"3057:13:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":10888,"id":10937,"nodeType":"Return","src":"3050:20:84"}]},"documentation":{"id":10876,"nodeType":"StructuredDocumentation","src":"2418:146:84","text":" @dev See {IERC1155-balanceOfBatch}.\n Requirements:\n - `accounts` and `ids` must have the same length."},"functionSelector":"4e1273f4","id":10939,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOfBatch","nameLocation":"2578:14:84","nodeType":"FunctionDefinition","overrides":{"id":10884,"nodeType":"OverrideSpecifier","overrides":[],"src":"2694:8:84"},"parameters":{"id":10883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10879,"mutability":"mutable","name":"accounts","nameLocation":"2610:8:84","nodeType":"VariableDeclaration","scope":10939,"src":"2593:25:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":10877,"name":"address","nodeType":"ElementaryTypeName","src":"2593:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10878,"nodeType":"ArrayTypeName","src":"2593:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":10882,"mutability":"mutable","name":"ids","nameLocation":"2637:3:84","nodeType":"VariableDeclaration","scope":10939,"src":"2620:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10880,"name":"uint256","nodeType":"ElementaryTypeName","src":"2620:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10881,"nodeType":"ArrayTypeName","src":"2620:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2592:49:84"},"returnParameters":{"id":10888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10887,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10939,"src":"2720:16:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10885,"name":"uint256","nodeType":"ElementaryTypeName","src":"2720:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10886,"nodeType":"ArrayTypeName","src":"2720:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2719:18:84"},"scope":11982,"src":"2569:508:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[12063],"body":{"id":10955,"nodeType":"Block","src":"3229:69:84","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":10949,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3258:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3258:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10951,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10942,"src":"3272:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10952,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10944,"src":"3282:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10948,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3239:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":10953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3239:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10954,"nodeType":"ExpressionStatement","src":"3239:52:84"}]},"documentation":{"id":10940,"nodeType":"StructuredDocumentation","src":"3083:57:84","text":" @dev See {IERC1155-setApprovalForAll}."},"functionSelector":"a22cb465","id":10956,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"3154:17:84","nodeType":"FunctionDefinition","overrides":{"id":10946,"nodeType":"OverrideSpecifier","overrides":[],"src":"3220:8:84"},"parameters":{"id":10945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10942,"mutability":"mutable","name":"operator","nameLocation":"3180:8:84","nodeType":"VariableDeclaration","scope":10956,"src":"3172:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10941,"name":"address","nodeType":"ElementaryTypeName","src":"3172:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10944,"mutability":"mutable","name":"approved","nameLocation":"3195:8:84","nodeType":"VariableDeclaration","scope":10956,"src":"3190:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10943,"name":"bool","nodeType":"ElementaryTypeName","src":"3190:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3171:33:84"},"returnParameters":{"id":10947,"nodeType":"ParameterList","parameters":[],"src":"3229:0:84"},"scope":11982,"src":"3145:153:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12073],"body":{"id":10973,"nodeType":"Block","src":"3470:61:84","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":10967,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10791,"src":"3487:18:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":10969,"indexExpression":{"id":10968,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10959,"src":"3506:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3487:27:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10971,"indexExpression":{"id":10970,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10961,"src":"3515:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3487:37:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10966,"id":10972,"nodeType":"Return","src":"3480:44:84"}]},"documentation":{"id":10957,"nodeType":"StructuredDocumentation","src":"3304:56:84","text":" @dev See {IERC1155-isApprovedForAll}."},"functionSelector":"e985e9c5","id":10974,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"3374:16:84","nodeType":"FunctionDefinition","overrides":{"id":10963,"nodeType":"OverrideSpecifier","overrides":[],"src":"3446:8:84"},"parameters":{"id":10962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10959,"mutability":"mutable","name":"account","nameLocation":"3399:7:84","nodeType":"VariableDeclaration","scope":10974,"src":"3391:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10958,"name":"address","nodeType":"ElementaryTypeName","src":"3391:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10961,"mutability":"mutable","name":"operator","nameLocation":"3416:8:84","nodeType":"VariableDeclaration","scope":10974,"src":"3408:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10960,"name":"address","nodeType":"ElementaryTypeName","src":"3408:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3390:35:84"},"returnParameters":{"id":10966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10974,"src":"3464:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10964,"name":"bool","nodeType":"ElementaryTypeName","src":"3464:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3463:6:84"},"scope":11982,"src":"3365:166:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[12087],"body":{"id":11011,"nodeType":"Block","src":"3767:225:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10990,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10977,"src":"3798:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10991,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3806:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3806:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3798:20:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":10995,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10977,"src":"3839:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":10996,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3845:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3845:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10994,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10974,"src":"3822:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":10998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3822:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3798:60:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":11000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3872:48:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""},"value":"ERC1155: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""}],"id":10989,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3777:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3777:153:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11002,"nodeType":"ExpressionStatement","src":"3777:153:84"},{"expression":{"arguments":[{"id":11004,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10977,"src":"3958:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11005,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"3964:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11006,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10981,"src":"3968:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11007,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10983,"src":"3972:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11008,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10985,"src":"3980:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11003,"name":"_safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11169,"src":"3940:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,uint256,bytes memory)"}},"id":11009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3940:45:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11010,"nodeType":"ExpressionStatement","src":"3940:45:84"}]},"documentation":{"id":10975,"nodeType":"StructuredDocumentation","src":"3537:56:84","text":" @dev See {IERC1155-safeTransferFrom}."},"functionSelector":"f242432a","id":11012,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3607:16:84","nodeType":"FunctionDefinition","overrides":{"id":10987,"nodeType":"OverrideSpecifier","overrides":[],"src":"3758:8:84"},"parameters":{"id":10986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10977,"mutability":"mutable","name":"from","nameLocation":"3641:4:84","nodeType":"VariableDeclaration","scope":11012,"src":"3633:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10976,"name":"address","nodeType":"ElementaryTypeName","src":"3633:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10979,"mutability":"mutable","name":"to","nameLocation":"3663:2:84","nodeType":"VariableDeclaration","scope":11012,"src":"3655:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10978,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10981,"mutability":"mutable","name":"id","nameLocation":"3683:2:84","nodeType":"VariableDeclaration","scope":11012,"src":"3675:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10980,"name":"uint256","nodeType":"ElementaryTypeName","src":"3675:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10983,"mutability":"mutable","name":"amount","nameLocation":"3703:6:84","nodeType":"VariableDeclaration","scope":11012,"src":"3695:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10982,"name":"uint256","nodeType":"ElementaryTypeName","src":"3695:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10985,"mutability":"mutable","name":"data","nameLocation":"3732:4:84","nodeType":"VariableDeclaration","scope":11012,"src":"3719:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10984,"name":"bytes","nodeType":"ElementaryTypeName","src":"3719:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3623:119:84"},"returnParameters":{"id":10988,"nodeType":"ParameterList","parameters":[],"src":"3767:0:84"},"scope":11982,"src":"3598:394:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12103],"body":{"id":11051,"nodeType":"Block","src":"4258:232:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":11039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11030,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11015,"src":"4289:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11031,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4297:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4297:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4289:20:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":11035,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11015,"src":"4330:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":11036,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4336:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4336:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":11034,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10974,"src":"4313:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":11038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4313:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4289:60:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":11040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4363:48:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""},"value":"ERC1155: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""}],"id":11029,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4268:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4268:153:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11042,"nodeType":"ExpressionStatement","src":"4268:153:84"},{"expression":{"arguments":[{"id":11044,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11015,"src":"4454:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11045,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11017,"src":"4460:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11046,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11020,"src":"4464:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11047,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11023,"src":"4469:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11048,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11025,"src":"4478:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11043,"name":"_safeBatchTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11304,"src":"4431:22:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4431:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11050,"nodeType":"ExpressionStatement","src":"4431:52:84"}]},"documentation":{"id":11013,"nodeType":"StructuredDocumentation","src":"3998:61:84","text":" @dev See {IERC1155-safeBatchTransferFrom}."},"functionSelector":"2eb2c2d6","id":11052,"implemented":true,"kind":"function","modifiers":[],"name":"safeBatchTransferFrom","nameLocation":"4073:21:84","nodeType":"FunctionDefinition","overrides":{"id":11027,"nodeType":"OverrideSpecifier","overrides":[],"src":"4249:8:84"},"parameters":{"id":11026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11015,"mutability":"mutable","name":"from","nameLocation":"4112:4:84","nodeType":"VariableDeclaration","scope":11052,"src":"4104:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11014,"name":"address","nodeType":"ElementaryTypeName","src":"4104:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11017,"mutability":"mutable","name":"to","nameLocation":"4134:2:84","nodeType":"VariableDeclaration","scope":11052,"src":"4126:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11016,"name":"address","nodeType":"ElementaryTypeName","src":"4126:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11020,"mutability":"mutable","name":"ids","nameLocation":"4163:3:84","nodeType":"VariableDeclaration","scope":11052,"src":"4146:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11018,"name":"uint256","nodeType":"ElementaryTypeName","src":"4146:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11019,"nodeType":"ArrayTypeName","src":"4146:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11023,"mutability":"mutable","name":"amounts","nameLocation":"4193:7:84","nodeType":"VariableDeclaration","scope":11052,"src":"4176:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11021,"name":"uint256","nodeType":"ElementaryTypeName","src":"4176:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11022,"nodeType":"ArrayTypeName","src":"4176:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11025,"mutability":"mutable","name":"data","nameLocation":"4223:4:84","nodeType":"VariableDeclaration","scope":11052,"src":"4210:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11024,"name":"bytes","nodeType":"ElementaryTypeName","src":"4210:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4094:139:84"},"returnParameters":{"id":11028,"nodeType":"ParameterList","parameters":[],"src":"4258:0:84"},"scope":11982,"src":"4064:426:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11168,"nodeType":"Block","src":"5103:784:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11067,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5121:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5135:1:84","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":11069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5127:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11068,"name":"address","nodeType":"ElementaryTypeName","src":"5127:7:84","typeDescriptions":{}}},"id":11071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5127:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5121:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a207472616e7366657220746f20746865207a65726f2061646472657373","id":11073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5139:39:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d","typeString":"literal_string \"ERC1155: transfer to the zero address\""},"value":"ERC1155: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d","typeString":"literal_string \"ERC1155: transfer to the zero address\""}],"id":11066,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5113:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5113:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11075,"nodeType":"ExpressionStatement","src":"5113:66:84"},{"assignments":[11077],"declarations":[{"constant":false,"id":11077,"mutability":"mutable","name":"operator","nameLocation":"5198:8:84","nodeType":"VariableDeclaration","scope":11168,"src":"5190:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11076,"name":"address","nodeType":"ElementaryTypeName","src":"5190:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11080,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11078,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5209:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5209:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5190:31:84"},{"assignments":[11085],"declarations":[{"constant":false,"id":11085,"mutability":"mutable","name":"ids","nameLocation":"5248:3:84","nodeType":"VariableDeclaration","scope":11168,"src":"5231:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11083,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11084,"nodeType":"ArrayTypeName","src":"5231:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11089,"initialValue":{"arguments":[{"id":11087,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5272:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11086,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"5254:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5254:21:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5231:44:84"},{"assignments":[11094],"declarations":[{"constant":false,"id":11094,"mutability":"mutable","name":"amounts","nameLocation":"5302:7:84","nodeType":"VariableDeclaration","scope":11168,"src":"5285:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11092,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11093,"nodeType":"ArrayTypeName","src":"5285:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11098,"initialValue":{"arguments":[{"id":11096,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5330:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11095,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"5312:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:25:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5285:52:84"},{"expression":{"arguments":[{"id":11100,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11077,"src":"5369:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11101,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5379:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11102,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5385:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11103,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"5389:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11104,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11094,"src":"5394:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11105,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11063,"src":"5403:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11099,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"5348:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5348:60:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11107,"nodeType":"ExpressionStatement","src":"5348:60:84"},{"assignments":[11109],"declarations":[{"constant":false,"id":11109,"mutability":"mutable","name":"fromBalance","nameLocation":"5427:11:84","nodeType":"VariableDeclaration","scope":11168,"src":"5419:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11108,"name":"uint256","nodeType":"ElementaryTypeName","src":"5419:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11115,"initialValue":{"baseExpression":{"baseExpression":{"id":11110,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"5441:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11112,"indexExpression":{"id":11111,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5451:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5441:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11114,"indexExpression":{"id":11113,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5455:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5441:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5419:41:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11117,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11109,"src":"5478:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11118,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5493:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5478:21:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e73666572","id":11120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5501:44:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf","typeString":"literal_string \"ERC1155: insufficient balance for transfer\""},"value":"ERC1155: insufficient balance for transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf","typeString":"literal_string \"ERC1155: insufficient balance for transfer\""}],"id":11116,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5470:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5470:76:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11122,"nodeType":"ExpressionStatement","src":"5470:76:84"},{"id":11133,"nodeType":"UncheckedBlock","src":"5556:77:84","statements":[{"expression":{"id":11131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11123,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"5580:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11126,"indexExpression":{"id":11124,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5590:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5580:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11127,"indexExpression":{"id":11125,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5594:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5580:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11128,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11109,"src":"5602:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11129,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5616:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5602:20:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5580:42:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11132,"nodeType":"ExpressionStatement","src":"5580:42:84"}]},{"expression":{"id":11140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11134,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"5642:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11137,"indexExpression":{"id":11135,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5652:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5642:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11138,"indexExpression":{"id":11136,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5656:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5642:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":11139,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5663:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5642:27:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11141,"nodeType":"ExpressionStatement","src":"5642:27:84"},{"eventCall":{"arguments":[{"id":11143,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11077,"src":"5700:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11144,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5710:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11145,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5716:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11146,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5720:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11147,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5724:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11142,"name":"TransferSingle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12001,"src":"5685:14:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":11148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5685:46:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11149,"nodeType":"EmitStatement","src":"5680:51:84"},{"expression":{"arguments":[{"id":11151,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11077,"src":"5762:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11152,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5772:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11153,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5778:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11154,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"5782:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11155,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11094,"src":"5787:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11156,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11063,"src":"5796:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11150,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"5742:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5742:59:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11158,"nodeType":"ExpressionStatement","src":"5742:59:84"},{"expression":{"arguments":[{"id":11160,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11077,"src":"5843:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11161,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11055,"src":"5853:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11162,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"5859:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11163,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"5863:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11164,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"5867:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11165,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11063,"src":"5875:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11159,"name":"_doSafeTransferAcceptanceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11888,"src":"5812:30:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,uint256,bytes memory)"}},"id":11166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5812:68:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11167,"nodeType":"ExpressionStatement","src":"5812:68:84"}]},"documentation":{"id":11053,"nodeType":"StructuredDocumentation","src":"4496:439:84","text":" @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value."},"id":11169,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransferFrom","nameLocation":"4949:17:84","nodeType":"FunctionDefinition","parameters":{"id":11064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11055,"mutability":"mutable","name":"from","nameLocation":"4984:4:84","nodeType":"VariableDeclaration","scope":11169,"src":"4976:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11054,"name":"address","nodeType":"ElementaryTypeName","src":"4976:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11057,"mutability":"mutable","name":"to","nameLocation":"5006:2:84","nodeType":"VariableDeclaration","scope":11169,"src":"4998:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11056,"name":"address","nodeType":"ElementaryTypeName","src":"4998:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11059,"mutability":"mutable","name":"id","nameLocation":"5026:2:84","nodeType":"VariableDeclaration","scope":11169,"src":"5018:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11058,"name":"uint256","nodeType":"ElementaryTypeName","src":"5018:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11061,"mutability":"mutable","name":"amount","nameLocation":"5046:6:84","nodeType":"VariableDeclaration","scope":11169,"src":"5038:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11060,"name":"uint256","nodeType":"ElementaryTypeName","src":"5038:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11063,"mutability":"mutable","name":"data","nameLocation":"5075:4:84","nodeType":"VariableDeclaration","scope":11169,"src":"5062:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11062,"name":"bytes","nodeType":"ElementaryTypeName","src":"5062:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4966:119:84"},"returnParameters":{"id":11065,"nodeType":"ParameterList","parameters":[],"src":"5103:0:84"},"scope":11982,"src":"4940:947:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11303,"nodeType":"Block","src":"6421:927:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11186,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"6439:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6439:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":11188,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"6453:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6453:14:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6439:28:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2069647320616e6420616d6f756e7473206c656e677468206d69736d61746368","id":11191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6469:42:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""},"value":"ERC1155: ids and amounts length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""}],"id":11185,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6431:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6431:81:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11193,"nodeType":"ExpressionStatement","src":"6431:81:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11195,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"6530:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6544:1:84","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":11197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6536:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11196,"name":"address","nodeType":"ElementaryTypeName","src":"6536:7:84","typeDescriptions":{}}},"id":11199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6536:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6530:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a207472616e7366657220746f20746865207a65726f2061646472657373","id":11201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6548:39:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d","typeString":"literal_string \"ERC1155: transfer to the zero address\""},"value":"ERC1155: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d","typeString":"literal_string \"ERC1155: transfer to the zero address\""}],"id":11194,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6522:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6522:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11203,"nodeType":"ExpressionStatement","src":"6522:66:84"},{"assignments":[11205],"declarations":[{"constant":false,"id":11205,"mutability":"mutable","name":"operator","nameLocation":"6607:8:84","nodeType":"VariableDeclaration","scope":11303,"src":"6599:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11204,"name":"address","nodeType":"ElementaryTypeName","src":"6599:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11208,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11206,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6618:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6618:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6599:31:84"},{"expression":{"arguments":[{"id":11210,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"6662:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11211,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"6672:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11212,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"6678:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11213,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"6682:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11214,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"6687:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11215,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11182,"src":"6696:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11209,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"6641:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6641:60:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11217,"nodeType":"ExpressionStatement","src":"6641:60:84"},{"body":{"id":11275,"nodeType":"Block","src":"6753:370:84","statements":[{"assignments":[11230],"declarations":[{"constant":false,"id":11230,"mutability":"mutable","name":"id","nameLocation":"6775:2:84","nodeType":"VariableDeclaration","scope":11275,"src":"6767:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11229,"name":"uint256","nodeType":"ElementaryTypeName","src":"6767:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11234,"initialValue":{"baseExpression":{"id":11231,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"6780:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11233,"indexExpression":{"id":11232,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11219,"src":"6784:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6780:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6767:19:84"},{"assignments":[11236],"declarations":[{"constant":false,"id":11236,"mutability":"mutable","name":"amount","nameLocation":"6808:6:84","nodeType":"VariableDeclaration","scope":11275,"src":"6800:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11235,"name":"uint256","nodeType":"ElementaryTypeName","src":"6800:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11240,"initialValue":{"baseExpression":{"id":11237,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"6817:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11239,"indexExpression":{"id":11238,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11219,"src":"6825:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6817:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6800:27:84"},{"assignments":[11242],"declarations":[{"constant":false,"id":11242,"mutability":"mutable","name":"fromBalance","nameLocation":"6850:11:84","nodeType":"VariableDeclaration","scope":11275,"src":"6842:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11241,"name":"uint256","nodeType":"ElementaryTypeName","src":"6842:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11248,"initialValue":{"baseExpression":{"baseExpression":{"id":11243,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"6864:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11245,"indexExpression":{"id":11244,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11230,"src":"6874:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6864:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11247,"indexExpression":{"id":11246,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"6878:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6864:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6842:41:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11250,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11242,"src":"6905:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11251,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11236,"src":"6920:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6905:21:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e73666572","id":11253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6928:44:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf","typeString":"literal_string \"ERC1155: insufficient balance for transfer\""},"value":"ERC1155: insufficient balance for transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf","typeString":"literal_string \"ERC1155: insufficient balance for transfer\""}],"id":11249,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6897:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6897:76:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11255,"nodeType":"ExpressionStatement","src":"6897:76:84"},{"id":11266,"nodeType":"UncheckedBlock","src":"6987:85:84","statements":[{"expression":{"id":11264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11256,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"7015:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11259,"indexExpression":{"id":11257,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11230,"src":"7025:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7015:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11260,"indexExpression":{"id":11258,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"7029:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7015:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11261,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11242,"src":"7037:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11262,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11236,"src":"7051:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7037:20:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7015:42:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11265,"nodeType":"ExpressionStatement","src":"7015:42:84"}]},{"expression":{"id":11273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11267,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"7085:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11270,"indexExpression":{"id":11268,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11230,"src":"7095:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7085:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11271,"indexExpression":{"id":11269,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"7099:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7085:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":11272,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11236,"src":"7106:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7085:27:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11274,"nodeType":"ExpressionStatement","src":"7085:27:84"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11222,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11219,"src":"6732:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11223,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"6736:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6736:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6732:14:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11276,"initializationExpression":{"assignments":[11219],"declarations":[{"constant":false,"id":11219,"mutability":"mutable","name":"i","nameLocation":"6725:1:84","nodeType":"VariableDeclaration","scope":11276,"src":"6717:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11218,"name":"uint256","nodeType":"ElementaryTypeName","src":"6717:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11221,"initialValue":{"hexValue":"30","id":11220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6729:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6717:13:84"},"loopExpression":{"expression":{"id":11227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6748:3:84","subExpression":{"id":11226,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11219,"src":"6750:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11228,"nodeType":"ExpressionStatement","src":"6748:3:84"},"nodeType":"ForStatement","src":"6712:411:84"},{"eventCall":{"arguments":[{"id":11278,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"7152:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11279,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"7162:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11280,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"7168:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11281,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"7172:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11282,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"7177:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":11277,"name":"TransferBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12016,"src":"7138:13:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory)"}},"id":11283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7138:47:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11284,"nodeType":"EmitStatement","src":"7133:52:84"},{"expression":{"arguments":[{"id":11286,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"7216:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11287,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"7226:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11288,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"7232:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11289,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"7236:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11290,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"7241:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11291,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11182,"src":"7250:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11285,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"7196:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7196:59:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11293,"nodeType":"ExpressionStatement","src":"7196:59:84"},{"expression":{"arguments":[{"id":11295,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"7302:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11296,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"7312:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11297,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"7318:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11298,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"7322:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11299,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"7327:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11300,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11182,"src":"7336:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11294,"name":"_doSafeBatchTransferAcceptanceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"7266:35:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7266:75:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11302,"nodeType":"ExpressionStatement","src":"7266:75:84"}]},"documentation":{"id":11170,"nodeType":"StructuredDocumentation","src":"5893:335:84","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value."},"id":11304,"implemented":true,"kind":"function","modifiers":[],"name":"_safeBatchTransferFrom","nameLocation":"6242:22:84","nodeType":"FunctionDefinition","parameters":{"id":11183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11172,"mutability":"mutable","name":"from","nameLocation":"6282:4:84","nodeType":"VariableDeclaration","scope":11304,"src":"6274:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11171,"name":"address","nodeType":"ElementaryTypeName","src":"6274:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11174,"mutability":"mutable","name":"to","nameLocation":"6304:2:84","nodeType":"VariableDeclaration","scope":11304,"src":"6296:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11173,"name":"address","nodeType":"ElementaryTypeName","src":"6296:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11177,"mutability":"mutable","name":"ids","nameLocation":"6333:3:84","nodeType":"VariableDeclaration","scope":11304,"src":"6316:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11175,"name":"uint256","nodeType":"ElementaryTypeName","src":"6316:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11176,"nodeType":"ArrayTypeName","src":"6316:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11180,"mutability":"mutable","name":"amounts","nameLocation":"6363:7:84","nodeType":"VariableDeclaration","scope":11304,"src":"6346:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11178,"name":"uint256","nodeType":"ElementaryTypeName","src":"6346:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11179,"nodeType":"ArrayTypeName","src":"6346:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11182,"mutability":"mutable","name":"data","nameLocation":"6393:4:84","nodeType":"VariableDeclaration","scope":11304,"src":"6380:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11181,"name":"bytes","nodeType":"ElementaryTypeName","src":"6380:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6264:139:84"},"returnParameters":{"id":11184,"nodeType":"ParameterList","parameters":[],"src":"6421:0:84"},"scope":11982,"src":"6233:1115:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11314,"nodeType":"Block","src":"8227:30:84","statements":[{"expression":{"id":11312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11310,"name":"_uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10793,"src":"8237:4:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11311,"name":"newuri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11307,"src":"8244:6:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8237:13:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":11313,"nodeType":"ExpressionStatement","src":"8237:13:84"}]},"documentation":{"id":11305,"nodeType":"StructuredDocumentation","src":"7354:812:84","text":" @dev Sets a new URI for all token types, by relying on the token type ID\n substitution mechanism\n https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP].\n By this mechanism, any occurrence of the `\\{id\\}` substring in either the\n URI or any of the amounts in the JSON file at said URI will be replaced by\n clients with the token type ID.\n For example, the `https://token-cdn-domain/\\{id\\}.json` URI would be\n interpreted by clients as\n `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json`\n for token type ID 0x4cce0.\n See {uri}.\n Because these URIs cannot be meaningfully represented by the {URI} event,\n this function emits no events."},"id":11315,"implemented":true,"kind":"function","modifiers":[],"name":"_setURI","nameLocation":"8180:7:84","nodeType":"FunctionDefinition","parameters":{"id":11308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11307,"mutability":"mutable","name":"newuri","nameLocation":"8202:6:84","nodeType":"VariableDeclaration","scope":11315,"src":"8188:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11306,"name":"string","nodeType":"ElementaryTypeName","src":"8188:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8187:22:84"},"returnParameters":{"id":11309,"nodeType":"ParameterList","parameters":[],"src":"8227:0:84"},"scope":11982,"src":"8171:86:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11415,"nodeType":"Block","src":"8759:580:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11328,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"8777:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8791:1:84","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":11330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8783:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11329,"name":"address","nodeType":"ElementaryTypeName","src":"8783:7:84","typeDescriptions":{}}},"id":11332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8783:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8777:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206d696e7420746f20746865207a65726f2061646472657373","id":11334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8795:35:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2","typeString":"literal_string \"ERC1155: mint to the zero address\""},"value":"ERC1155: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2","typeString":"literal_string \"ERC1155: mint to the zero address\""}],"id":11327,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8769:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8769:62:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11336,"nodeType":"ExpressionStatement","src":"8769:62:84"},{"assignments":[11338],"declarations":[{"constant":false,"id":11338,"mutability":"mutable","name":"operator","nameLocation":"8850:8:84","nodeType":"VariableDeclaration","scope":11415,"src":"8842:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11337,"name":"address","nodeType":"ElementaryTypeName","src":"8842:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11341,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11339,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"8861:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8861:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8842:31:84"},{"assignments":[11346],"declarations":[{"constant":false,"id":11346,"mutability":"mutable","name":"ids","nameLocation":"8900:3:84","nodeType":"VariableDeclaration","scope":11415,"src":"8883:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11344,"name":"uint256","nodeType":"ElementaryTypeName","src":"8883:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11345,"nodeType":"ArrayTypeName","src":"8883:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11350,"initialValue":{"arguments":[{"id":11348,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11320,"src":"8924:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11347,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"8906:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8906:21:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8883:44:84"},{"assignments":[11355],"declarations":[{"constant":false,"id":11355,"mutability":"mutable","name":"amounts","nameLocation":"8954:7:84","nodeType":"VariableDeclaration","scope":11415,"src":"8937:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11353,"name":"uint256","nodeType":"ElementaryTypeName","src":"8937:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11354,"nodeType":"ArrayTypeName","src":"8937:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11359,"initialValue":{"arguments":[{"id":11357,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11322,"src":"8982:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11356,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"8964:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8964:25:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8937:52:84"},{"expression":{"arguments":[{"id":11361,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"9021:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9039:1:84","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":11363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9031:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11362,"name":"address","nodeType":"ElementaryTypeName","src":"9031:7:84","typeDescriptions":{}}},"id":11365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9031:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11366,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"9043:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11367,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11346,"src":"9047:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11368,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11355,"src":"9052:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11369,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11324,"src":"9061:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11360,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"9000:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9000:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11371,"nodeType":"ExpressionStatement","src":"9000:66:84"},{"expression":{"id":11378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11372,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"9077:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11375,"indexExpression":{"id":11373,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11320,"src":"9087:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9077:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11376,"indexExpression":{"id":11374,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"9091:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9077:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":11377,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11322,"src":"9098:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9077:27:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11379,"nodeType":"ExpressionStatement","src":"9077:27:84"},{"eventCall":{"arguments":[{"id":11381,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"9134:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:84","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":11383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9144:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11382,"name":"address","nodeType":"ElementaryTypeName","src":"9144:7:84","typeDescriptions":{}}},"id":11385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9144:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11386,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"9156:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11387,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11320,"src":"9160:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11388,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11322,"src":"9164:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11380,"name":"TransferSingle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12001,"src":"9119:14:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":11389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9119:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11390,"nodeType":"EmitStatement","src":"9114:57:84"},{"expression":{"arguments":[{"id":11392,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"9202:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9220:1:84","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":11394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9212:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11393,"name":"address","nodeType":"ElementaryTypeName","src":"9212:7:84","typeDescriptions":{}}},"id":11396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9212:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11397,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"9224:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11398,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11346,"src":"9228:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11399,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11355,"src":"9233:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11400,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11324,"src":"9242:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11391,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"9182:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9182:65:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11402,"nodeType":"ExpressionStatement","src":"9182:65:84"},{"expression":{"arguments":[{"id":11404,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"9289:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9307:1:84","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":11406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9299:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11405,"name":"address","nodeType":"ElementaryTypeName","src":"9299:7:84","typeDescriptions":{}}},"id":11408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9299:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11409,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"9311:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11410,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11320,"src":"9315:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11411,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11322,"src":"9319:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11412,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11324,"src":"9327:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11403,"name":"_doSafeTransferAcceptanceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11888,"src":"9258:30:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,uint256,bytes memory)"}},"id":11413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9258:74:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11414,"nodeType":"ExpressionStatement","src":"9258:74:84"}]},"documentation":{"id":11316,"nodeType":"StructuredDocumentation","src":"8263:362:84","text":" @dev Creates `amount` tokens of token type `id`, and assigns them to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value."},"id":11416,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8639:5:84","nodeType":"FunctionDefinition","parameters":{"id":11325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11318,"mutability":"mutable","name":"to","nameLocation":"8662:2:84","nodeType":"VariableDeclaration","scope":11416,"src":"8654:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11317,"name":"address","nodeType":"ElementaryTypeName","src":"8654:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11320,"mutability":"mutable","name":"id","nameLocation":"8682:2:84","nodeType":"VariableDeclaration","scope":11416,"src":"8674:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11319,"name":"uint256","nodeType":"ElementaryTypeName","src":"8674:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11322,"mutability":"mutable","name":"amount","nameLocation":"8702:6:84","nodeType":"VariableDeclaration","scope":11416,"src":"8694:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11321,"name":"uint256","nodeType":"ElementaryTypeName","src":"8694:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11324,"mutability":"mutable","name":"data","nameLocation":"8731:4:84","nodeType":"VariableDeclaration","scope":11416,"src":"8718:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11323,"name":"bytes","nodeType":"ElementaryTypeName","src":"8718:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8644:97:84"},"returnParameters":{"id":11326,"nodeType":"ParameterList","parameters":[],"src":"8759:0:84"},"scope":11982,"src":"8630:709:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11526,"nodeType":"Block","src":"9883:637:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11431,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"9901:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9915:1:84","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":11433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9907:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11432,"name":"address","nodeType":"ElementaryTypeName","src":"9907:7:84","typeDescriptions":{}}},"id":11435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9907:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9901:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206d696e7420746f20746865207a65726f2061646472657373","id":11437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9919:35:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2","typeString":"literal_string \"ERC1155: mint to the zero address\""},"value":"ERC1155: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2","typeString":"literal_string \"ERC1155: mint to the zero address\""}],"id":11430,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9893:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9893:62:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11439,"nodeType":"ExpressionStatement","src":"9893:62:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11441,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"9973:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9973:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":11443,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"9987:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9987:14:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9973:28:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2069647320616e6420616d6f756e7473206c656e677468206d69736d61746368","id":11446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10003:42:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""},"value":"ERC1155: ids and amounts length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""}],"id":11440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9965:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9965:81:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11448,"nodeType":"ExpressionStatement","src":"9965:81:84"},{"assignments":[11450],"declarations":[{"constant":false,"id":11450,"mutability":"mutable","name":"operator","nameLocation":"10065:8:84","nodeType":"VariableDeclaration","scope":11526,"src":"10057:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11449,"name":"address","nodeType":"ElementaryTypeName","src":"10057:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11453,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11451,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"10076:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10076:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10057:31:84"},{"expression":{"arguments":[{"id":11455,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"10120:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10138:1:84","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":11457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10130:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11456,"name":"address","nodeType":"ElementaryTypeName","src":"10130:7:84","typeDescriptions":{}}},"id":11459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10130:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11460,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"10142:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11461,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10146:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11462,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"10151:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11463,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11427,"src":"10160:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11454,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"10099:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10099:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11465,"nodeType":"ExpressionStatement","src":"10099:66:84"},{"body":{"id":11489,"nodeType":"Block","src":"10217:60:84","statements":[{"expression":{"id":11487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11477,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"10231:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11482,"indexExpression":{"baseExpression":{"id":11478,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10241:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11480,"indexExpression":{"id":11479,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"10245:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10241:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10231:17:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11483,"indexExpression":{"id":11481,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"10249:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10231:21:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":11484,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"10256:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11486,"indexExpression":{"id":11485,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"10264:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10256:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10231:35:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11488,"nodeType":"ExpressionStatement","src":"10231:35:84"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11470,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"10196:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11471,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10200:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10200:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10196:14:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11490,"initializationExpression":{"assignments":[11467],"declarations":[{"constant":false,"id":11467,"mutability":"mutable","name":"i","nameLocation":"10189:1:84","nodeType":"VariableDeclaration","scope":11490,"src":"10181:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11466,"name":"uint256","nodeType":"ElementaryTypeName","src":"10181:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11469,"initialValue":{"hexValue":"30","id":11468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10193:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10181:13:84"},"loopExpression":{"expression":{"id":11475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10212:3:84","subExpression":{"id":11474,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"10212:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11476,"nodeType":"ExpressionStatement","src":"10212:3:84"},"nodeType":"ForStatement","src":"10176:101:84"},{"eventCall":{"arguments":[{"id":11492,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"10306:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10324:1:84","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":11494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10316:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11493,"name":"address","nodeType":"ElementaryTypeName","src":"10316:7:84","typeDescriptions":{}}},"id":11496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10316:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11497,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"10328:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11498,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10332:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11499,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"10337:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":11491,"name":"TransferBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12016,"src":"10292:13:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory)"}},"id":11500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10292:53:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11501,"nodeType":"EmitStatement","src":"10287:58:84"},{"expression":{"arguments":[{"id":11503,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"10376:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10394:1:84","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":11505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10386:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11504,"name":"address","nodeType":"ElementaryTypeName","src":"10386:7:84","typeDescriptions":{}}},"id":11507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10386:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11508,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"10398:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11509,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10402:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11510,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"10407:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11511,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11427,"src":"10416:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11502,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"10356:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10356:65:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11513,"nodeType":"ExpressionStatement","src":"10356:65:84"},{"expression":{"arguments":[{"id":11515,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"10468:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10486:1:84","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":11517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10478:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11516,"name":"address","nodeType":"ElementaryTypeName","src":"10478:7:84","typeDescriptions":{}}},"id":11519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10478:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11520,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11419,"src":"10490:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11521,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11422,"src":"10494:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11522,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"10499:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11523,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11427,"src":"10508:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11514,"name":"_doSafeBatchTransferAcceptanceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"10432:35:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10432:81:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11525,"nodeType":"ExpressionStatement","src":"10432:81:84"}]},"documentation":{"id":11417,"nodeType":"StructuredDocumentation","src":"9345:379:84","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value."},"id":11527,"implemented":true,"kind":"function","modifiers":[],"name":"_mintBatch","nameLocation":"9738:10:84","nodeType":"FunctionDefinition","parameters":{"id":11428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11419,"mutability":"mutable","name":"to","nameLocation":"9766:2:84","nodeType":"VariableDeclaration","scope":11527,"src":"9758:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11418,"name":"address","nodeType":"ElementaryTypeName","src":"9758:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11422,"mutability":"mutable","name":"ids","nameLocation":"9795:3:84","nodeType":"VariableDeclaration","scope":11527,"src":"9778:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11420,"name":"uint256","nodeType":"ElementaryTypeName","src":"9778:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11421,"nodeType":"ArrayTypeName","src":"9778:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11425,"mutability":"mutable","name":"amounts","nameLocation":"9825:7:84","nodeType":"VariableDeclaration","scope":11527,"src":"9808:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11423,"name":"uint256","nodeType":"ElementaryTypeName","src":"9808:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11424,"nodeType":"ArrayTypeName","src":"9808:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11427,"mutability":"mutable","name":"data","nameLocation":"9855:4:84","nodeType":"VariableDeclaration","scope":11527,"src":"9842:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11426,"name":"bytes","nodeType":"ElementaryTypeName","src":"9842:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9748:117:84"},"returnParameters":{"id":11429,"nodeType":"ParameterList","parameters":[],"src":"9883:0:84"},"scope":11982,"src":"9729:791:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11631,"nodeType":"Block","src":"10910:682:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11538,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"10928:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10944:1:84","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":11540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10936:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11539,"name":"address","nodeType":"ElementaryTypeName","src":"10936:7:84","typeDescriptions":{}}},"id":11542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10936:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10928:18:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206275726e2066726f6d20746865207a65726f2061646472657373","id":11544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10948:37:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a","typeString":"literal_string \"ERC1155: burn from the zero address\""},"value":"ERC1155: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a","typeString":"literal_string \"ERC1155: burn from the zero address\""}],"id":11537,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10920:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10920:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11546,"nodeType":"ExpressionStatement","src":"10920:66:84"},{"assignments":[11548],"declarations":[{"constant":false,"id":11548,"mutability":"mutable","name":"operator","nameLocation":"11005:8:84","nodeType":"VariableDeclaration","scope":11631,"src":"10997:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11547,"name":"address","nodeType":"ElementaryTypeName","src":"10997:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11551,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11549,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"11016:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11016:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10997:31:84"},{"assignments":[11556],"declarations":[{"constant":false,"id":11556,"mutability":"mutable","name":"ids","nameLocation":"11055:3:84","nodeType":"VariableDeclaration","scope":11631,"src":"11038:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11554,"name":"uint256","nodeType":"ElementaryTypeName","src":"11038:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11555,"nodeType":"ArrayTypeName","src":"11038:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11560,"initialValue":{"arguments":[{"id":11558,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11532,"src":"11079:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11557,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"11061:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11061:21:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11038:44:84"},{"assignments":[11565],"declarations":[{"constant":false,"id":11565,"mutability":"mutable","name":"amounts","nameLocation":"11109:7:84","nodeType":"VariableDeclaration","scope":11631,"src":"11092:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11563,"name":"uint256","nodeType":"ElementaryTypeName","src":"11092:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11564,"nodeType":"ArrayTypeName","src":"11092:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11569,"initialValue":{"arguments":[{"id":11567,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11534,"src":"11137:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11566,"name":"_asSingletonArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11981,"src":"11119:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"}},"id":11568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11119:25:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11092:52:84"},{"expression":{"arguments":[{"id":11571,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11548,"src":"11176:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11572,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"11186:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11200:1:84","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":11574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11192:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11573,"name":"address","nodeType":"ElementaryTypeName","src":"11192:7:84","typeDescriptions":{}}},"id":11576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11192:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11577,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11556,"src":"11204:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11578,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11565,"src":"11209:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"","id":11579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11218:2:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":11570,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"11155:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11155:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11581,"nodeType":"ExpressionStatement","src":"11155:66:84"},{"assignments":[11583],"declarations":[{"constant":false,"id":11583,"mutability":"mutable","name":"fromBalance","nameLocation":"11240:11:84","nodeType":"VariableDeclaration","scope":11631,"src":"11232:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11582,"name":"uint256","nodeType":"ElementaryTypeName","src":"11232:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11589,"initialValue":{"baseExpression":{"baseExpression":{"id":11584,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"11254:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11586,"indexExpression":{"id":11585,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11532,"src":"11264:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11254:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11588,"indexExpression":{"id":11587,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"11268:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11254:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11232:41:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11591,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11583,"src":"11291:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11592,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11534,"src":"11306:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11291:21:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206275726e20616d6f756e7420657863656564732062616c616e6365","id":11594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11314:38:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685","typeString":"literal_string \"ERC1155: burn amount exceeds balance\""},"value":"ERC1155: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685","typeString":"literal_string \"ERC1155: burn amount exceeds balance\""}],"id":11590,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11283:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11283:70:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11596,"nodeType":"ExpressionStatement","src":"11283:70:84"},{"id":11607,"nodeType":"UncheckedBlock","src":"11363:77:84","statements":[{"expression":{"id":11605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11597,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"11387:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11600,"indexExpression":{"id":11598,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11532,"src":"11397:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11387:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11601,"indexExpression":{"id":11599,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"11401:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11387:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11602,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11583,"src":"11409:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11603,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11534,"src":"11423:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11409:20:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11387:42:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11606,"nodeType":"ExpressionStatement","src":"11387:42:84"}]},{"eventCall":{"arguments":[{"id":11609,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11548,"src":"11470:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11610,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"11480:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11494:1:84","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":11612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11486:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11611,"name":"address","nodeType":"ElementaryTypeName","src":"11486:7:84","typeDescriptions":{}}},"id":11614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11486:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11615,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11532,"src":"11498:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11616,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11534,"src":"11502:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11608,"name":"TransferSingle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12001,"src":"11455:14:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":11617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11455:54:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11618,"nodeType":"EmitStatement","src":"11450:59:84"},{"expression":{"arguments":[{"id":11620,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11548,"src":"11540:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11621,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"11550:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11564:1:84","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":11623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11556:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11622,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:84","typeDescriptions":{}}},"id":11625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11556:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11626,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11556,"src":"11568:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11627,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11565,"src":"11573:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"","id":11628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11582:2:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":11619,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"11520:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11520:65:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11630,"nodeType":"ExpressionStatement","src":"11520:65:84"}]},"documentation":{"id":11528,"nodeType":"StructuredDocumentation","src":"10526:275:84","text":" @dev Destroys `amount` tokens of token type `id` from `from`\n Emits a {TransferSingle} event.\n Requirements:\n - `from` cannot be the zero address.\n - `from` must have at least `amount` tokens of token type `id`."},"id":11632,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"10815:5:84","nodeType":"FunctionDefinition","parameters":{"id":11535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11530,"mutability":"mutable","name":"from","nameLocation":"10838:4:84","nodeType":"VariableDeclaration","scope":11632,"src":"10830:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11529,"name":"address","nodeType":"ElementaryTypeName","src":"10830:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11532,"mutability":"mutable","name":"id","nameLocation":"10860:2:84","nodeType":"VariableDeclaration","scope":11632,"src":"10852:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11531,"name":"uint256","nodeType":"ElementaryTypeName","src":"10852:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11534,"mutability":"mutable","name":"amount","nameLocation":"10880:6:84","nodeType":"VariableDeclaration","scope":11632,"src":"10872:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11533,"name":"uint256","nodeType":"ElementaryTypeName","src":"10872:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10820:72:84"},"returnParameters":{"id":11536,"nodeType":"ParameterList","parameters":[],"src":"10910:0:84"},"scope":11982,"src":"10806:786:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11754,"nodeType":"Block","src":"11960:814:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11645,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"11978:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11994:1:84","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":11647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11986:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11646,"name":"address","nodeType":"ElementaryTypeName","src":"11986:7:84","typeDescriptions":{}}},"id":11649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11986:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11978:18:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206275726e2066726f6d20746865207a65726f2061646472657373","id":11651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11998:37:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a","typeString":"literal_string \"ERC1155: burn from the zero address\""},"value":"ERC1155: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a","typeString":"literal_string \"ERC1155: burn from the zero address\""}],"id":11644,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11970:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11970:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11653,"nodeType":"ExpressionStatement","src":"11970:66:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11655,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12054:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12054:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":11657,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"12068:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12068:14:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12054:28:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2069647320616e6420616d6f756e7473206c656e677468206d69736d61746368","id":11660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12084:42:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""},"value":"ERC1155: ids and amounts length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807","typeString":"literal_string \"ERC1155: ids and amounts length mismatch\""}],"id":11654,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12046:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12046:81:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11662,"nodeType":"ExpressionStatement","src":"12046:81:84"},{"assignments":[11664],"declarations":[{"constant":false,"id":11664,"mutability":"mutable","name":"operator","nameLocation":"12146:8:84","nodeType":"VariableDeclaration","scope":11754,"src":"12138:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11663,"name":"address","nodeType":"ElementaryTypeName","src":"12138:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":11667,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11665,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"12157:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":11666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12157:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12138:31:84"},{"expression":{"arguments":[{"id":11669,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"12201:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11670,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"12211:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12225:1:84","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":11672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12217:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11671,"name":"address","nodeType":"ElementaryTypeName","src":"12217:7:84","typeDescriptions":{}}},"id":11674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12217:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11675,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12229:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11676,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"12234:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"","id":11677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12243:2:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":11668,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11806,"src":"12180:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12180:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11679,"nodeType":"ExpressionStatement","src":"12180:66:84"},{"body":{"id":11729,"nodeType":"Block","src":"12298:323:84","statements":[{"assignments":[11692],"declarations":[{"constant":false,"id":11692,"mutability":"mutable","name":"id","nameLocation":"12320:2:84","nodeType":"VariableDeclaration","scope":11729,"src":"12312:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11691,"name":"uint256","nodeType":"ElementaryTypeName","src":"12312:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11696,"initialValue":{"baseExpression":{"id":11693,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12325:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11695,"indexExpression":{"id":11694,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11681,"src":"12329:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12325:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12312:19:84"},{"assignments":[11698],"declarations":[{"constant":false,"id":11698,"mutability":"mutable","name":"amount","nameLocation":"12353:6:84","nodeType":"VariableDeclaration","scope":11729,"src":"12345:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11697,"name":"uint256","nodeType":"ElementaryTypeName","src":"12345:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11702,"initialValue":{"baseExpression":{"id":11699,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"12362:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11701,"indexExpression":{"id":11700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11681,"src":"12370:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12362:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12345:27:84"},{"assignments":[11704],"declarations":[{"constant":false,"id":11704,"mutability":"mutable","name":"fromBalance","nameLocation":"12395:11:84","nodeType":"VariableDeclaration","scope":11729,"src":"12387:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11703,"name":"uint256","nodeType":"ElementaryTypeName","src":"12387:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11710,"initialValue":{"baseExpression":{"baseExpression":{"id":11705,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"12409:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11707,"indexExpression":{"id":11706,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11692,"src":"12419:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12409:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11709,"indexExpression":{"id":11708,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"12423:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12409:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12387:41:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11712,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11704,"src":"12450:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11713,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11698,"src":"12465:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12450:21:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206275726e20616d6f756e7420657863656564732062616c616e6365","id":11715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12473:38:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685","typeString":"literal_string \"ERC1155: burn amount exceeds balance\""},"value":"ERC1155: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685","typeString":"literal_string \"ERC1155: burn amount exceeds balance\""}],"id":11711,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12442:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12442:70:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11717,"nodeType":"ExpressionStatement","src":"12442:70:84"},{"id":11728,"nodeType":"UncheckedBlock","src":"12526:85:84","statements":[{"expression":{"id":11726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11718,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10785,"src":"12554:9:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":11721,"indexExpression":{"id":11719,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11692,"src":"12564:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12554:13:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11722,"indexExpression":{"id":11720,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"12568:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12554:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11723,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11704,"src":"12576:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11724,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11698,"src":"12590:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12576:20:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12554:42:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11727,"nodeType":"ExpressionStatement","src":"12554:42:84"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11684,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11681,"src":"12277:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11685,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12281:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12281:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12277:14:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11730,"initializationExpression":{"assignments":[11681],"declarations":[{"constant":false,"id":11681,"mutability":"mutable","name":"i","nameLocation":"12270:1:84","nodeType":"VariableDeclaration","scope":11730,"src":"12262:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11680,"name":"uint256","nodeType":"ElementaryTypeName","src":"12262:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11683,"initialValue":{"hexValue":"30","id":11682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12274:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12262:13:84"},"loopExpression":{"expression":{"id":11689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12293:3:84","subExpression":{"id":11688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11681,"src":"12293:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11690,"nodeType":"ExpressionStatement","src":"12293:3:84"},"nodeType":"ForStatement","src":"12257:364:84"},{"eventCall":{"arguments":[{"id":11732,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"12650:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11733,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"12660:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12674:1:84","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":11735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12666:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11734,"name":"address","nodeType":"ElementaryTypeName","src":"12666:7:84","typeDescriptions":{}}},"id":11737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12666:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11738,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12678:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11739,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"12683:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":11731,"name":"TransferBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12016,"src":"12636:13:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory)"}},"id":11740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12636:55:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11741,"nodeType":"EmitStatement","src":"12631:60:84"},{"expression":{"arguments":[{"id":11743,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"12722:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11744,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"12732:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12746:1:84","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":11746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12738:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11745,"name":"address","nodeType":"ElementaryTypeName","src":"12738:7:84","typeDescriptions":{}}},"id":11748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12738:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11749,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11638,"src":"12750:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11750,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"12755:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"","id":11751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12764:2:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":11742,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"12702:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":11752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12702:65:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11753,"nodeType":"ExpressionStatement","src":"12702:65:84"}]},"documentation":{"id":11633,"nodeType":"StructuredDocumentation","src":"11598:228:84","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length."},"id":11755,"implemented":true,"kind":"function","modifiers":[],"name":"_burnBatch","nameLocation":"11840:10:84","nodeType":"FunctionDefinition","parameters":{"id":11642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11635,"mutability":"mutable","name":"from","nameLocation":"11868:4:84","nodeType":"VariableDeclaration","scope":11755,"src":"11860:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11634,"name":"address","nodeType":"ElementaryTypeName","src":"11860:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11638,"mutability":"mutable","name":"ids","nameLocation":"11899:3:84","nodeType":"VariableDeclaration","scope":11755,"src":"11882:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11636,"name":"uint256","nodeType":"ElementaryTypeName","src":"11882:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11637,"nodeType":"ArrayTypeName","src":"11882:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11641,"mutability":"mutable","name":"amounts","nameLocation":"11929:7:84","nodeType":"VariableDeclaration","scope":11755,"src":"11912:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11639,"name":"uint256","nodeType":"ElementaryTypeName","src":"11912:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11640,"nodeType":"ArrayTypeName","src":"11912:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11850:92:84"},"returnParameters":{"id":11643,"nodeType":"ParameterList","parameters":[],"src":"11960:0:84"},"scope":11982,"src":"11831:943:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11786,"nodeType":"Block","src":"13033:200:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11766,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11758,"src":"13051:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":11767,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11760,"src":"13060:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13051:17:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2073657474696e6720617070726f76616c2073746174757320666f722073656c66","id":11769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13070:43:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2","typeString":"literal_string \"ERC1155: setting approval status for self\""},"value":"ERC1155: setting approval status for self"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2","typeString":"literal_string \"ERC1155: setting approval status for self\""}],"id":11765,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13043:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13043:71:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11771,"nodeType":"ExpressionStatement","src":"13043:71:84"},{"expression":{"id":11778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11772,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10791,"src":"13124:18:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":11775,"indexExpression":{"id":11773,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11758,"src":"13143:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13124:25:84","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":11776,"indexExpression":{"id":11774,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11760,"src":"13150:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13124:35:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11777,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11762,"src":"13162:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13124:46:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11779,"nodeType":"ExpressionStatement","src":"13124:46:84"},{"eventCall":{"arguments":[{"id":11781,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11758,"src":"13200:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11782,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11760,"src":"13207:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11783,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11762,"src":"13217:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":11780,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12025,"src":"13185:14:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":11784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13185:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11785,"nodeType":"EmitStatement","src":"13180:46:84"}]},"documentation":{"id":11756,"nodeType":"StructuredDocumentation","src":"12780:125:84","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"id":11787,"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"12919:18:84","nodeType":"FunctionDefinition","parameters":{"id":11763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11758,"mutability":"mutable","name":"owner","nameLocation":"12955:5:84","nodeType":"VariableDeclaration","scope":11787,"src":"12947:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11757,"name":"address","nodeType":"ElementaryTypeName","src":"12947:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11760,"mutability":"mutable","name":"operator","nameLocation":"12978:8:84","nodeType":"VariableDeclaration","scope":11787,"src":"12970:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11759,"name":"address","nodeType":"ElementaryTypeName","src":"12970:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11762,"mutability":"mutable","name":"approved","nameLocation":"13001:8:84","nodeType":"VariableDeclaration","scope":11787,"src":"12996:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11761,"name":"bool","nodeType":"ElementaryTypeName","src":"12996:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12937:78:84"},"returnParameters":{"id":11764,"nodeType":"ParameterList","parameters":[],"src":"13033:0:84"},"scope":11982,"src":"12910:323:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11805,"nodeType":"Block","src":"14381:2:84","statements":[]},"documentation":{"id":11788,"nodeType":"StructuredDocumentation","src":"13239:925:84","text":" @dev Hook that is called before any token transfer. This includes minting\n and burning, as well as batched variants.\n The same hook is called on both single and batched variants. For single\n transfers, the length of the `ids` and `amounts` arrays will be 1.\n Calling conditions (for each `id` and `amount` pair):\n - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n of token type `id` will be transferred to `to`.\n - When `from` is zero, `amount` tokens of token type `id` will be minted\n for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens of token type `id`\n will be burned.\n - `from` and `to` are never both zero.\n - `ids` and `amounts` have the same, non-zero length.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":11806,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"14178:20:84","nodeType":"FunctionDefinition","parameters":{"id":11803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11790,"mutability":"mutable","name":"operator","nameLocation":"14216:8:84","nodeType":"VariableDeclaration","scope":11806,"src":"14208:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11789,"name":"address","nodeType":"ElementaryTypeName","src":"14208:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11792,"mutability":"mutable","name":"from","nameLocation":"14242:4:84","nodeType":"VariableDeclaration","scope":11806,"src":"14234:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11791,"name":"address","nodeType":"ElementaryTypeName","src":"14234:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11794,"mutability":"mutable","name":"to","nameLocation":"14264:2:84","nodeType":"VariableDeclaration","scope":11806,"src":"14256:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11793,"name":"address","nodeType":"ElementaryTypeName","src":"14256:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11797,"mutability":"mutable","name":"ids","nameLocation":"14293:3:84","nodeType":"VariableDeclaration","scope":11806,"src":"14276:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11795,"name":"uint256","nodeType":"ElementaryTypeName","src":"14276:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11796,"nodeType":"ArrayTypeName","src":"14276:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11800,"mutability":"mutable","name":"amounts","nameLocation":"14323:7:84","nodeType":"VariableDeclaration","scope":11806,"src":"14306:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11798,"name":"uint256","nodeType":"ElementaryTypeName","src":"14306:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11799,"nodeType":"ArrayTypeName","src":"14306:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11802,"mutability":"mutable","name":"data","nameLocation":"14353:4:84","nodeType":"VariableDeclaration","scope":11806,"src":"14340:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11801,"name":"bytes","nodeType":"ElementaryTypeName","src":"14340:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14198:165:84"},"returnParameters":{"id":11804,"nodeType":"ParameterList","parameters":[],"src":"14381:0:84"},"scope":11982,"src":"14169:214:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11824,"nodeType":"Block","src":"15527:2:84","statements":[]},"documentation":{"id":11807,"nodeType":"StructuredDocumentation","src":"14389:922:84","text":" @dev Hook that is called after any token transfer. This includes minting\n and burning, as well as batched variants.\n The same hook is called on both single and batched variants. For single\n transfers, the length of the `id` and `amount` arrays will be 1.\n Calling conditions (for each `id` and `amount` pair):\n - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n of token type `id` will be transferred to `to`.\n - When `from` is zero, `amount` tokens of token type `id` will be minted\n for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens of token type `id`\n will be burned.\n - `from` and `to` are never both zero.\n - `ids` and `amounts` have the same, non-zero length.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":11825,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"15325:19:84","nodeType":"FunctionDefinition","parameters":{"id":11822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11809,"mutability":"mutable","name":"operator","nameLocation":"15362:8:84","nodeType":"VariableDeclaration","scope":11825,"src":"15354:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11808,"name":"address","nodeType":"ElementaryTypeName","src":"15354:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11811,"mutability":"mutable","name":"from","nameLocation":"15388:4:84","nodeType":"VariableDeclaration","scope":11825,"src":"15380:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11810,"name":"address","nodeType":"ElementaryTypeName","src":"15380:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11813,"mutability":"mutable","name":"to","nameLocation":"15410:2:84","nodeType":"VariableDeclaration","scope":11825,"src":"15402:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11812,"name":"address","nodeType":"ElementaryTypeName","src":"15402:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11816,"mutability":"mutable","name":"ids","nameLocation":"15439:3:84","nodeType":"VariableDeclaration","scope":11825,"src":"15422:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11814,"name":"uint256","nodeType":"ElementaryTypeName","src":"15422:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11815,"nodeType":"ArrayTypeName","src":"15422:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11819,"mutability":"mutable","name":"amounts","nameLocation":"15469:7:84","nodeType":"VariableDeclaration","scope":11825,"src":"15452:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11817,"name":"uint256","nodeType":"ElementaryTypeName","src":"15452:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11818,"nodeType":"ArrayTypeName","src":"15452:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11821,"mutability":"mutable","name":"data","nameLocation":"15499:4:84","nodeType":"VariableDeclaration","scope":11825,"src":"15486:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11820,"name":"bytes","nodeType":"ElementaryTypeName","src":"15486:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15344:165:84"},"returnParameters":{"id":11823,"nodeType":"ParameterList","parameters":[],"src":"15527:0:84"},"scope":11982,"src":"15316:213:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11887,"nodeType":"Block","src":"15728:532:84","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11840,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11831,"src":"15742:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"15742:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":11842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15742:15:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11886,"nodeType":"IfStatement","src":"15738:516:84","trueBody":{"id":11885,"nodeType":"Block","src":"15759:495:84","statements":[{"clauses":[{"block":{"id":11867,"nodeType":"Block","src":"15876:184:84","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":11860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11856,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11854,"src":"15898:8:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":11857,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"15910:16:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}},"id":11858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":12126,"src":"15910:34:84","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC1155Receiver.onERC1155Received(address,address,uint256,uint256,bytes calldata) returns (bytes4)"}},"id":11859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"15910:43:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"15898:55:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11866,"nodeType":"IfStatement","src":"15894:152:84","trueBody":{"id":11865,"nodeType":"Block","src":"15955:91:84","statements":[{"expression":{"arguments":[{"hexValue":"455243313135353a204552433131353552656365697665722072656a656374656420746f6b656e73","id":11862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15984:42:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503","typeString":"literal_string \"ERC1155: ERC1155Receiver rejected tokens\""},"value":"ERC1155: ERC1155Receiver rejected tokens"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503","typeString":"literal_string \"ERC1155: ERC1155Receiver rejected tokens\""}],"id":11861,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"15977:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15977:50:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11864,"nodeType":"ExpressionStatement","src":"15977:50:84"}]}}]},"errorName":"","id":11868,"nodeType":"TryCatchClause","parameters":{"id":11855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11854,"mutability":"mutable","name":"response","nameLocation":"15866:8:84","nodeType":"VariableDeclaration","scope":11868,"src":"15859:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":11853,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15859:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"15858:17:84"},"src":"15850:210:84"},{"block":{"id":11876,"nodeType":"Block","src":"16095:47:84","statements":[{"expression":{"arguments":[{"id":11873,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11870,"src":"16120:6:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11872,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16113:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16113:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11875,"nodeType":"ExpressionStatement","src":"16113:14:84"}]},"errorName":"Error","id":11877,"nodeType":"TryCatchClause","parameters":{"id":11871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11870,"mutability":"mutable","name":"reason","nameLocation":"16087:6:84","nodeType":"VariableDeclaration","scope":11877,"src":"16073:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11869,"name":"string","nodeType":"ElementaryTypeName","src":"16073:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16072:22:84"},"src":"16061:81:84"},{"block":{"id":11882,"nodeType":"Block","src":"16149:95:84","statements":[{"expression":{"arguments":[{"hexValue":"455243313135353a207472616e7366657220746f206e6f6e2d45524331313535526563656976657220696d706c656d656e746572","id":11879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16174:54:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d","typeString":"literal_string \"ERC1155: transfer to non-ERC1155Receiver implementer\""},"value":"ERC1155: transfer to non-ERC1155Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d","typeString":"literal_string \"ERC1155: transfer to non-ERC1155Receiver implementer\""}],"id":11878,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16167:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16167:62:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11881,"nodeType":"ExpressionStatement","src":"16167:62:84"}]},"errorName":"","id":11883,"nodeType":"TryCatchClause","src":"16143:101:84"}],"externalCall":{"arguments":[{"id":11847,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11827,"src":"15816:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11848,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11829,"src":"15826:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11849,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11833,"src":"15832:2:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11850,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11835,"src":"15836:6:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11851,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11837,"src":"15844:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":11844,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11831,"src":"15794:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11843,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"15777:16:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}},"id":11845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15777:20:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1155Receiver_$12145","typeString":"contract IERC1155Receiver"}},"id":11846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":12126,"src":"15777:38:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":11852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15777:72:84","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":11884,"nodeType":"TryStatement","src":"15773:471:84"}]}}]},"id":11888,"implemented":true,"kind":"function","modifiers":[],"name":"_doSafeTransferAcceptanceCheck","nameLocation":"15544:30:84","nodeType":"FunctionDefinition","parameters":{"id":11838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11827,"mutability":"mutable","name":"operator","nameLocation":"15592:8:84","nodeType":"VariableDeclaration","scope":11888,"src":"15584:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11826,"name":"address","nodeType":"ElementaryTypeName","src":"15584:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11829,"mutability":"mutable","name":"from","nameLocation":"15618:4:84","nodeType":"VariableDeclaration","scope":11888,"src":"15610:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11828,"name":"address","nodeType":"ElementaryTypeName","src":"15610:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11831,"mutability":"mutable","name":"to","nameLocation":"15640:2:84","nodeType":"VariableDeclaration","scope":11888,"src":"15632:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11830,"name":"address","nodeType":"ElementaryTypeName","src":"15632:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11833,"mutability":"mutable","name":"id","nameLocation":"15660:2:84","nodeType":"VariableDeclaration","scope":11888,"src":"15652:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11832,"name":"uint256","nodeType":"ElementaryTypeName","src":"15652:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11835,"mutability":"mutable","name":"amount","nameLocation":"15680:6:84","nodeType":"VariableDeclaration","scope":11888,"src":"15672:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11834,"name":"uint256","nodeType":"ElementaryTypeName","src":"15672:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11837,"mutability":"mutable","name":"data","nameLocation":"15709:4:84","nodeType":"VariableDeclaration","scope":11888,"src":"15696:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11836,"name":"bytes","nodeType":"ElementaryTypeName","src":"15696:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15574:145:84"},"returnParameters":{"id":11839,"nodeType":"ParameterList","parameters":[],"src":"15728:0:84"},"scope":11982,"src":"15535:725:84","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":11952,"nodeType":"Block","src":"16484:574:84","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11905,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11894,"src":"16498:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"16498:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":11907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16498:15:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11951,"nodeType":"IfStatement","src":"16494:558:84","trueBody":{"id":11950,"nodeType":"Block","src":"16515:537:84","statements":[{"clauses":[{"block":{"id":11932,"nodeType":"Block","src":"16669:189:84","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":11925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11921,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11919,"src":"16691:8:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":11922,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"16703:16:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}},"id":11923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":12144,"src":"16703:39:84","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC1155Receiver.onERC1155BatchReceived(address,address,uint256[] calldata,uint256[] calldata,bytes calldata) returns (bytes4)"}},"id":11924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"16703:48:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"16691:60:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11931,"nodeType":"IfStatement","src":"16687:157:84","trueBody":{"id":11930,"nodeType":"Block","src":"16753:91:84","statements":[{"expression":{"arguments":[{"hexValue":"455243313135353a204552433131353552656365697665722072656a656374656420746f6b656e73","id":11927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16782:42:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503","typeString":"literal_string \"ERC1155: ERC1155Receiver rejected tokens\""},"value":"ERC1155: ERC1155Receiver rejected tokens"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503","typeString":"literal_string \"ERC1155: ERC1155Receiver rejected tokens\""}],"id":11926,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16775:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16775:50:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11929,"nodeType":"ExpressionStatement","src":"16775:50:84"}]}}]},"errorName":"","id":11933,"nodeType":"TryCatchClause","parameters":{"id":11920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11919,"mutability":"mutable","name":"response","nameLocation":"16646:8:84","nodeType":"VariableDeclaration","scope":11933,"src":"16639:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":11918,"name":"bytes4","nodeType":"ElementaryTypeName","src":"16639:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"16621:47:84"},"src":"16613:245:84"},{"block":{"id":11941,"nodeType":"Block","src":"16893:47:84","statements":[{"expression":{"arguments":[{"id":11938,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11935,"src":"16918:6:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11937,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16911:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16911:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11940,"nodeType":"ExpressionStatement","src":"16911:14:84"}]},"errorName":"Error","id":11942,"nodeType":"TryCatchClause","parameters":{"id":11936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11935,"mutability":"mutable","name":"reason","nameLocation":"16885:6:84","nodeType":"VariableDeclaration","scope":11942,"src":"16871:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11934,"name":"string","nodeType":"ElementaryTypeName","src":"16871:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16870:22:84"},"src":"16859:81:84"},{"block":{"id":11947,"nodeType":"Block","src":"16947:95:84","statements":[{"expression":{"arguments":[{"hexValue":"455243313135353a207472616e7366657220746f206e6f6e2d45524331313535526563656976657220696d706c656d656e746572","id":11944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16972:54:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d","typeString":"literal_string \"ERC1155: transfer to non-ERC1155Receiver implementer\""},"value":"ERC1155: transfer to non-ERC1155Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d","typeString":"literal_string \"ERC1155: transfer to non-ERC1155Receiver implementer\""}],"id":11943,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16965:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16965:62:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11946,"nodeType":"ExpressionStatement","src":"16965:62:84"}]},"errorName":"","id":11948,"nodeType":"TryCatchClause","src":"16941:101:84"}],"externalCall":{"arguments":[{"id":11912,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11890,"src":"16577:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11913,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11892,"src":"16587:4:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11914,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11897,"src":"16593:3:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11915,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11900,"src":"16598:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":11916,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11902,"src":"16607:4:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":11909,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11894,"src":"16550:2:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11908,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"16533:16:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}},"id":11910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16533:20:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1155Receiver_$12145","typeString":"contract IERC1155Receiver"}},"id":11911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":12144,"src":"16533:43:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":11917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16533:79:84","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":11949,"nodeType":"TryStatement","src":"16529:513:84"}]}}]},"id":11953,"implemented":true,"kind":"function","modifiers":[],"name":"_doSafeBatchTransferAcceptanceCheck","nameLocation":"16275:35:84","nodeType":"FunctionDefinition","parameters":{"id":11903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11890,"mutability":"mutable","name":"operator","nameLocation":"16328:8:84","nodeType":"VariableDeclaration","scope":11953,"src":"16320:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11889,"name":"address","nodeType":"ElementaryTypeName","src":"16320:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11892,"mutability":"mutable","name":"from","nameLocation":"16354:4:84","nodeType":"VariableDeclaration","scope":11953,"src":"16346:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11891,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11894,"mutability":"mutable","name":"to","nameLocation":"16376:2:84","nodeType":"VariableDeclaration","scope":11953,"src":"16368:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11893,"name":"address","nodeType":"ElementaryTypeName","src":"16368:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11897,"mutability":"mutable","name":"ids","nameLocation":"16405:3:84","nodeType":"VariableDeclaration","scope":11953,"src":"16388:20:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11895,"name":"uint256","nodeType":"ElementaryTypeName","src":"16388:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11896,"nodeType":"ArrayTypeName","src":"16388:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11900,"mutability":"mutable","name":"amounts","nameLocation":"16435:7:84","nodeType":"VariableDeclaration","scope":11953,"src":"16418:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11898,"name":"uint256","nodeType":"ElementaryTypeName","src":"16418:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11899,"nodeType":"ArrayTypeName","src":"16418:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":11902,"mutability":"mutable","name":"data","nameLocation":"16465:4:84","nodeType":"VariableDeclaration","scope":11953,"src":"16452:17:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11901,"name":"bytes","nodeType":"ElementaryTypeName","src":"16452:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16310:165:84"},"returnParameters":{"id":11904,"nodeType":"ParameterList","parameters":[],"src":"16484:0:84"},"scope":11982,"src":"16266:792:84","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":11980,"nodeType":"Block","src":"17148:109:84","statements":[{"assignments":[11965],"declarations":[{"constant":false,"id":11965,"mutability":"mutable","name":"array","nameLocation":"17175:5:84","nodeType":"VariableDeclaration","scope":11980,"src":"17158:22:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11963,"name":"uint256","nodeType":"ElementaryTypeName","src":"17158:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11964,"nodeType":"ArrayTypeName","src":"17158:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11971,"initialValue":{"arguments":[{"hexValue":"31","id":11969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17197:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":11968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17183:13:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":11966,"name":"uint256","nodeType":"ElementaryTypeName","src":"17187:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11967,"nodeType":"ArrayTypeName","src":"17187:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":11970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17183:16:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17158:41:84"},{"expression":{"id":11976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11972,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11965,"src":"17209:5:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11974,"indexExpression":{"hexValue":"30","id":11973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17215:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17209:8:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11975,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"17220:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17209:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11977,"nodeType":"ExpressionStatement","src":"17209:18:84"},{"expression":{"id":11978,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11965,"src":"17245:5:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11960,"id":11979,"nodeType":"Return","src":"17238:12:84"}]},"id":11981,"implemented":true,"kind":"function","modifiers":[],"name":"_asSingletonArray","nameLocation":"17073:17:84","nodeType":"FunctionDefinition","parameters":{"id":11956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11955,"mutability":"mutable","name":"element","nameLocation":"17099:7:84","nodeType":"VariableDeclaration","scope":11981,"src":"17091:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11954,"name":"uint256","nodeType":"ElementaryTypeName","src":"17091:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17090:17:84"},"returnParameters":{"id":11960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11981,"src":"17130:16:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11957,"name":"uint256","nodeType":"ElementaryTypeName","src":"17130:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11958,"nodeType":"ArrayTypeName","src":"17130:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"17129:18:84"},"scope":11982,"src":"17064:193:84","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":11983,"src":"570:16689:84","usedErrors":[]}],"src":"109:17151:84"},"id":84},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol","exportedSymbols":{"IERC1155":[12104],"IERC165":[24693]},"id":12105,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11984,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"110:23:85"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":11985,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12105,"sourceUnit":24694,"src":"135:47:85","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":11987,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"372:7:85"},"id":11988,"nodeType":"InheritanceSpecifier","src":"372:7:85"}],"canonicalName":"IERC1155","contractDependencies":[],"contractKind":"interface","documentation":{"id":11986,"nodeType":"StructuredDocumentation","src":"184:165:85","text":" @dev Required interface of an ERC1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[EIP].\n _Available since v3.1._"},"fullyImplemented":false,"id":12104,"linearizedBaseContracts":[12104,24693],"name":"IERC1155","nameLocation":"360:8:85","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":11989,"nodeType":"StructuredDocumentation","src":"386:121:85","text":" @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`."},"id":12001,"name":"TransferSingle","nameLocation":"518:14:85","nodeType":"EventDefinition","parameters":{"id":12000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11991,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"549:8:85","nodeType":"VariableDeclaration","scope":12001,"src":"533:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11990,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11993,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"575:4:85","nodeType":"VariableDeclaration","scope":12001,"src":"559:20:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11992,"name":"address","nodeType":"ElementaryTypeName","src":"559:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11995,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"597:2:85","nodeType":"VariableDeclaration","scope":12001,"src":"581:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11994,"name":"address","nodeType":"ElementaryTypeName","src":"581:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11997,"indexed":false,"mutability":"mutable","name":"id","nameLocation":"609:2:85","nodeType":"VariableDeclaration","scope":12001,"src":"601:10:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11996,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11999,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"621:5:85","nodeType":"VariableDeclaration","scope":12001,"src":"613:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11998,"name":"uint256","nodeType":"ElementaryTypeName","src":"613:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"532:95:85"},"src":"512:116:85"},{"anonymous":false,"documentation":{"id":12002,"nodeType":"StructuredDocumentation","src":"634:144:85","text":" @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers."},"id":12016,"name":"TransferBatch","nameLocation":"789:13:85","nodeType":"EventDefinition","parameters":{"id":12015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12004,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"828:8:85","nodeType":"VariableDeclaration","scope":12016,"src":"812:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12003,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12006,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"862:4:85","nodeType":"VariableDeclaration","scope":12016,"src":"846:20:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12005,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12008,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"892:2:85","nodeType":"VariableDeclaration","scope":12016,"src":"876:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12007,"name":"address","nodeType":"ElementaryTypeName","src":"876:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12011,"indexed":false,"mutability":"mutable","name":"ids","nameLocation":"914:3:85","nodeType":"VariableDeclaration","scope":12016,"src":"904:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12009,"name":"uint256","nodeType":"ElementaryTypeName","src":"904:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12010,"nodeType":"ArrayTypeName","src":"904:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12014,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"937:6:85","nodeType":"VariableDeclaration","scope":12016,"src":"927:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12012,"name":"uint256","nodeType":"ElementaryTypeName","src":"927:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12013,"nodeType":"ArrayTypeName","src":"927:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"802:147:85"},"src":"783:167:85"},{"anonymous":false,"documentation":{"id":12017,"nodeType":"StructuredDocumentation","src":"956:147:85","text":" @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`."},"id":12025,"name":"ApprovalForAll","nameLocation":"1114:14:85","nodeType":"EventDefinition","parameters":{"id":12024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12019,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1145:7:85","nodeType":"VariableDeclaration","scope":12025,"src":"1129:23:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12018,"name":"address","nodeType":"ElementaryTypeName","src":"1129:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12021,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1170:8:85","nodeType":"VariableDeclaration","scope":12025,"src":"1154:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12020,"name":"address","nodeType":"ElementaryTypeName","src":"1154:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12023,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"1185:8:85","nodeType":"VariableDeclaration","scope":12025,"src":"1180:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12022,"name":"bool","nodeType":"ElementaryTypeName","src":"1180:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1128:66:85"},"src":"1108:87:85"},{"anonymous":false,"documentation":{"id":12026,"nodeType":"StructuredDocumentation","src":"1201:343:85","text":" @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}."},"id":12032,"name":"URI","nameLocation":"1555:3:85","nodeType":"EventDefinition","parameters":{"id":12031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12028,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1566:5:85","nodeType":"VariableDeclaration","scope":12032,"src":"1559:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12027,"name":"string","nodeType":"ElementaryTypeName","src":"1559:6:85","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12030,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"1589:2:85","nodeType":"VariableDeclaration","scope":12032,"src":"1573:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12029,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1558:34:85"},"src":"1549:44:85"},{"documentation":{"id":12033,"nodeType":"StructuredDocumentation","src":"1599:173:85","text":" @dev Returns the amount of tokens of token type `id` owned by `account`.\n Requirements:\n - `account` cannot be the zero address."},"functionSelector":"00fdd58e","id":12042,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1786:9:85","nodeType":"FunctionDefinition","parameters":{"id":12038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12035,"mutability":"mutable","name":"account","nameLocation":"1804:7:85","nodeType":"VariableDeclaration","scope":12042,"src":"1796:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12034,"name":"address","nodeType":"ElementaryTypeName","src":"1796:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12037,"mutability":"mutable","name":"id","nameLocation":"1821:2:85","nodeType":"VariableDeclaration","scope":12042,"src":"1813:10:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12036,"name":"uint256","nodeType":"ElementaryTypeName","src":"1813:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1795:29:85"},"returnParameters":{"id":12041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12042,"src":"1848:7:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12039,"name":"uint256","nodeType":"ElementaryTypeName","src":"1848:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1847:9:85"},"scope":12104,"src":"1777:80:85","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":12043,"nodeType":"StructuredDocumentation","src":"1863:188:85","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length."},"functionSelector":"4e1273f4","id":12055,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOfBatch","nameLocation":"2065:14:85","nodeType":"FunctionDefinition","parameters":{"id":12050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12046,"mutability":"mutable","name":"accounts","nameLocation":"2099:8:85","nodeType":"VariableDeclaration","scope":12055,"src":"2080:27:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12044,"name":"address","nodeType":"ElementaryTypeName","src":"2080:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12045,"nodeType":"ArrayTypeName","src":"2080:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":12049,"mutability":"mutable","name":"ids","nameLocation":"2128:3:85","nodeType":"VariableDeclaration","scope":12055,"src":"2109:22:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12047,"name":"uint256","nodeType":"ElementaryTypeName","src":"2109:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12048,"nodeType":"ArrayTypeName","src":"2109:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2079:53:85"},"returnParameters":{"id":12054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12055,"src":"2180:16:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12051,"name":"uint256","nodeType":"ElementaryTypeName","src":"2180:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12052,"nodeType":"ArrayTypeName","src":"2180:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2179:18:85"},"scope":12104,"src":"2056:142:85","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":12056,"nodeType":"StructuredDocumentation","src":"2204:248:85","text":" @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the caller."},"functionSelector":"a22cb465","id":12063,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"2466:17:85","nodeType":"FunctionDefinition","parameters":{"id":12061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12058,"mutability":"mutable","name":"operator","nameLocation":"2492:8:85","nodeType":"VariableDeclaration","scope":12063,"src":"2484:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12057,"name":"address","nodeType":"ElementaryTypeName","src":"2484:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12060,"mutability":"mutable","name":"approved","nameLocation":"2507:8:85","nodeType":"VariableDeclaration","scope":12063,"src":"2502:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12059,"name":"bool","nodeType":"ElementaryTypeName","src":"2502:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2483:33:85"},"returnParameters":{"id":12062,"nodeType":"ParameterList","parameters":[],"src":"2525:0:85"},"scope":12104,"src":"2457:69:85","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":12064,"nodeType":"StructuredDocumentation","src":"2532:135:85","text":" @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}."},"functionSelector":"e985e9c5","id":12073,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"2681:16:85","nodeType":"FunctionDefinition","parameters":{"id":12069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12066,"mutability":"mutable","name":"account","nameLocation":"2706:7:85","nodeType":"VariableDeclaration","scope":12073,"src":"2698:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12065,"name":"address","nodeType":"ElementaryTypeName","src":"2698:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12068,"mutability":"mutable","name":"operator","nameLocation":"2723:8:85","nodeType":"VariableDeclaration","scope":12073,"src":"2715:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12067,"name":"address","nodeType":"ElementaryTypeName","src":"2715:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2697:35:85"},"returnParameters":{"id":12072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12073,"src":"2756:4:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12070,"name":"bool","nodeType":"ElementaryTypeName","src":"2756:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2755:6:85"},"scope":12104,"src":"2672:90:85","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":12074,"nodeType":"StructuredDocumentation","src":"2768:556:85","text":" @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value."},"functionSelector":"f242432a","id":12087,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3338:16:85","nodeType":"FunctionDefinition","parameters":{"id":12085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12076,"mutability":"mutable","name":"from","nameLocation":"3372:4:85","nodeType":"VariableDeclaration","scope":12087,"src":"3364:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12075,"name":"address","nodeType":"ElementaryTypeName","src":"3364:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12078,"mutability":"mutable","name":"to","nameLocation":"3394:2:85","nodeType":"VariableDeclaration","scope":12087,"src":"3386:10:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12077,"name":"address","nodeType":"ElementaryTypeName","src":"3386:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12080,"mutability":"mutable","name":"id","nameLocation":"3414:2:85","nodeType":"VariableDeclaration","scope":12087,"src":"3406:10:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12079,"name":"uint256","nodeType":"ElementaryTypeName","src":"3406:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12082,"mutability":"mutable","name":"amount","nameLocation":"3434:6:85","nodeType":"VariableDeclaration","scope":12087,"src":"3426:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12081,"name":"uint256","nodeType":"ElementaryTypeName","src":"3426:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12084,"mutability":"mutable","name":"data","nameLocation":"3465:4:85","nodeType":"VariableDeclaration","scope":12087,"src":"3450:19:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12083,"name":"bytes","nodeType":"ElementaryTypeName","src":"3450:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3354:121:85"},"returnParameters":{"id":12086,"nodeType":"ParameterList","parameters":[],"src":"3484:0:85"},"scope":12104,"src":"3329:156:85","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":12088,"nodeType":"StructuredDocumentation","src":"3491:390:85","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value."},"functionSelector":"2eb2c2d6","id":12103,"implemented":false,"kind":"function","modifiers":[],"name":"safeBatchTransferFrom","nameLocation":"3895:21:85","nodeType":"FunctionDefinition","parameters":{"id":12101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12090,"mutability":"mutable","name":"from","nameLocation":"3934:4:85","nodeType":"VariableDeclaration","scope":12103,"src":"3926:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12089,"name":"address","nodeType":"ElementaryTypeName","src":"3926:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12092,"mutability":"mutable","name":"to","nameLocation":"3956:2:85","nodeType":"VariableDeclaration","scope":12103,"src":"3948:10:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12091,"name":"address","nodeType":"ElementaryTypeName","src":"3948:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12095,"mutability":"mutable","name":"ids","nameLocation":"3987:3:85","nodeType":"VariableDeclaration","scope":12103,"src":"3968:22:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12093,"name":"uint256","nodeType":"ElementaryTypeName","src":"3968:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12094,"nodeType":"ArrayTypeName","src":"3968:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12098,"mutability":"mutable","name":"amounts","nameLocation":"4019:7:85","nodeType":"VariableDeclaration","scope":12103,"src":"4000:26:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12096,"name":"uint256","nodeType":"ElementaryTypeName","src":"4000:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12097,"nodeType":"ArrayTypeName","src":"4000:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12100,"mutability":"mutable","name":"data","nameLocation":"4051:4:85","nodeType":"VariableDeclaration","scope":12103,"src":"4036:19:85","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12099,"name":"bytes","nodeType":"ElementaryTypeName","src":"4036:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3916:145:85"},"returnParameters":{"id":12102,"nodeType":"ParameterList","parameters":[],"src":"4070:0:85"},"scope":12104,"src":"3886:185:85","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":12105,"src":"350:3723:85","usedErrors":[]}],"src":"110:3964:85"},"id":85},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","exportedSymbols":{"IERC1155Receiver":[12145],"IERC165":[24693]},"id":12146,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12106,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"118:23:86"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":12107,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12146,"sourceUnit":24694,"src":"143:47:86","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12109,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"262:7:86"},"id":12110,"nodeType":"InheritanceSpecifier","src":"262:7:86"}],"canonicalName":"IERC1155Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":12108,"nodeType":"StructuredDocumentation","src":"192:39:86","text":" @dev _Available since v3.1._"},"fullyImplemented":false,"id":12145,"linearizedBaseContracts":[12145,24693],"name":"IERC1155Receiver","nameLocation":"242:16:86","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":12111,"nodeType":"StructuredDocumentation","src":"276:826:86","text":" @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n NOTE: To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"},"functionSelector":"f23a6e61","id":12126,"implemented":false,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"1116:17:86","nodeType":"FunctionDefinition","parameters":{"id":12122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12113,"mutability":"mutable","name":"operator","nameLocation":"1151:8:86","nodeType":"VariableDeclaration","scope":12126,"src":"1143:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12112,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12115,"mutability":"mutable","name":"from","nameLocation":"1177:4:86","nodeType":"VariableDeclaration","scope":12126,"src":"1169:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12114,"name":"address","nodeType":"ElementaryTypeName","src":"1169:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12117,"mutability":"mutable","name":"id","nameLocation":"1199:2:86","nodeType":"VariableDeclaration","scope":12126,"src":"1191:10:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1191:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12119,"mutability":"mutable","name":"value","nameLocation":"1219:5:86","nodeType":"VariableDeclaration","scope":12126,"src":"1211:13:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12118,"name":"uint256","nodeType":"ElementaryTypeName","src":"1211:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12121,"mutability":"mutable","name":"data","nameLocation":"1249:4:86","nodeType":"VariableDeclaration","scope":12126,"src":"1234:19:86","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12120,"name":"bytes","nodeType":"ElementaryTypeName","src":"1234:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1133:126:86"},"returnParameters":{"id":12125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12126,"src":"1278:6:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12123,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1278:6:86","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1277:8:86"},"scope":12145,"src":"1107:179:86","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":12127,"nodeType":"StructuredDocumentation","src":"1292:994:86","text":" @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated.\n NOTE: To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"},"functionSelector":"bc197c81","id":12144,"implemented":false,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"2300:22:86","nodeType":"FunctionDefinition","parameters":{"id":12140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12129,"mutability":"mutable","name":"operator","nameLocation":"2340:8:86","nodeType":"VariableDeclaration","scope":12144,"src":"2332:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12128,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12131,"mutability":"mutable","name":"from","nameLocation":"2366:4:86","nodeType":"VariableDeclaration","scope":12144,"src":"2358:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12130,"name":"address","nodeType":"ElementaryTypeName","src":"2358:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12134,"mutability":"mutable","name":"ids","nameLocation":"2399:3:86","nodeType":"VariableDeclaration","scope":12144,"src":"2380:22:86","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12132,"name":"uint256","nodeType":"ElementaryTypeName","src":"2380:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12133,"nodeType":"ArrayTypeName","src":"2380:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12137,"mutability":"mutable","name":"values","nameLocation":"2431:6:86","nodeType":"VariableDeclaration","scope":12144,"src":"2412:25:86","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12135,"name":"uint256","nodeType":"ElementaryTypeName","src":"2412:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12136,"nodeType":"ArrayTypeName","src":"2412:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12139,"mutability":"mutable","name":"data","nameLocation":"2462:4:86","nodeType":"VariableDeclaration","scope":12144,"src":"2447:19:86","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12138,"name":"bytes","nodeType":"ElementaryTypeName","src":"2447:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2322:150:86"},"returnParameters":{"id":12143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12144,"src":"2491:6:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12141,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2491:6:86","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2490:8:86"},"scope":12145,"src":"2291:208:86","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":12146,"src":"232:2269:86","usedErrors":[]}],"src":"118:2384:86"},"id":86},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC1155Burnable":[12214],"ERC165":[24377],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693]},"id":12215,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12147,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:87"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"../ERC1155.sol","id":12148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12215,"sourceUnit":11983,"src":"153:24:87","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":12150,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"394:7:87"},"id":12151,"nodeType":"InheritanceSpecifier","src":"394:7:87"}],"canonicalName":"ERC1155Burnable","contractDependencies":[],"contractKind":"contract","documentation":{"id":12149,"nodeType":"StructuredDocumentation","src":"179:177:87","text":" @dev Extension of {ERC1155} that allows token holders to destroy both their\n own tokens and those that they have been approved to use.\n _Available since v3.1._"},"fullyImplemented":false,"id":12214,"linearizedBaseContracts":[12214,11982,12522,12104,24377,24693,22281],"name":"ERC1155Burnable","nameLocation":"375:15:87","nodeType":"ContractDefinition","nodes":[{"body":{"id":12180,"nodeType":"Block","src":"511:212:87","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12161,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"542:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12162,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"553:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"553:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"542:23:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":12166,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"586:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12167,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"595:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"595:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12165,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10974,"src":"569:16:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":12169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"569:39:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"542:66:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":12171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"622:48:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""},"value":"ERC1155: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""}],"id":12160,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"521:7:87","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"521:159:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12173,"nodeType":"ExpressionStatement","src":"521:159:87"},{"expression":{"arguments":[{"id":12175,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"697:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12176,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"706:2:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12177,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"710:5:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12174,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11632,"src":"691:5:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":12178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"691:25:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12179,"nodeType":"ExpressionStatement","src":"691:25:87"}]},"functionSelector":"f5298aca","id":12181,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"417:4:87","nodeType":"FunctionDefinition","parameters":{"id":12158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12153,"mutability":"mutable","name":"account","nameLocation":"439:7:87","nodeType":"VariableDeclaration","scope":12181,"src":"431:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12152,"name":"address","nodeType":"ElementaryTypeName","src":"431:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12155,"mutability":"mutable","name":"id","nameLocation":"464:2:87","nodeType":"VariableDeclaration","scope":12181,"src":"456:10:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12154,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12157,"mutability":"mutable","name":"value","nameLocation":"484:5:87","nodeType":"VariableDeclaration","scope":12181,"src":"476:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12156,"name":"uint256","nodeType":"ElementaryTypeName","src":"476:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"421:74:87"},"returnParameters":{"id":12159,"nodeType":"ParameterList","parameters":[],"src":"511:0:87"},"scope":12214,"src":"408:315:87","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12212,"nodeType":"Block","src":"857:219:87","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12193,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12183,"src":"888:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12194,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"899:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"899:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"888:23:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":12198,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12183,"src":"932:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12199,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"941:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12197,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10974,"src":"915:16:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":12201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"915:39:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"888:66:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":12203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"968:48:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""},"value":"ERC1155: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156","typeString":"literal_string \"ERC1155: caller is not token owner or approved\""}],"id":12192,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"867:7:87","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"867:159:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12205,"nodeType":"ExpressionStatement","src":"867:159:87"},{"expression":{"arguments":[{"id":12207,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12183,"src":"1048:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12208,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"1057:3:87","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12209,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12189,"src":"1062:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":12206,"name":"_burnBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11755,"src":"1037:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256[] memory,uint256[] memory)"}},"id":12210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1037:32:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12211,"nodeType":"ExpressionStatement","src":"1037:32:87"}]},"functionSelector":"6b20c454","id":12213,"implemented":true,"kind":"function","modifiers":[],"name":"burnBatch","nameLocation":"738:9:87","nodeType":"FunctionDefinition","parameters":{"id":12190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12183,"mutability":"mutable","name":"account","nameLocation":"765:7:87","nodeType":"VariableDeclaration","scope":12213,"src":"757:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12182,"name":"address","nodeType":"ElementaryTypeName","src":"757:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12186,"mutability":"mutable","name":"ids","nameLocation":"799:3:87","nodeType":"VariableDeclaration","scope":12213,"src":"782:20:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12184,"name":"uint256","nodeType":"ElementaryTypeName","src":"782:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12185,"nodeType":"ArrayTypeName","src":"782:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12189,"mutability":"mutable","name":"values","nameLocation":"829:6:87","nodeType":"VariableDeclaration","scope":12213,"src":"812:23:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12187,"name":"uint256","nodeType":"ElementaryTypeName","src":"812:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12188,"nodeType":"ArrayTypeName","src":"812:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"747:94:87"},"returnParameters":{"id":12191,"nodeType":"ParameterList","parameters":[],"src":"857:0:87"},"scope":12214,"src":"729:347:87","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":12215,"src":"357:721:87","usedErrors":[]}],"src":"128:951:87"},"id":87},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC1155Pausable":[12262],"ERC165":[24377],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693],"Pausable":[10642]},"id":12263,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12216,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"113:23:88"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"../ERC1155.sol","id":12217,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12263,"sourceUnit":11983,"src":"138:24:88","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/security/Pausable.sol","file":"../../../security/Pausable.sol","id":12218,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12263,"sourceUnit":10643,"src":"163:40:88","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":12220,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"544:7:88"},"id":12221,"nodeType":"InheritanceSpecifier","src":"544:7:88"},{"baseName":{"id":12222,"name":"Pausable","nodeType":"IdentifierPath","referencedDeclaration":10642,"src":"553:8:88"},"id":12223,"nodeType":"InheritanceSpecifier","src":"553:8:88"}],"canonicalName":"ERC1155Pausable","contractDependencies":[],"contractKind":"contract","documentation":{"id":12219,"nodeType":"StructuredDocumentation","src":"205:301:88","text":" @dev ERC1155 token with pausable token transfers, minting and burning.\n Useful for scenarios such as preventing trades until the end of an evaluation\n period, or having an emergency switch for freezing all token transfers in the\n event of a large bug.\n _Available since v3.1._"},"fullyImplemented":false,"id":12262,"linearizedBaseContracts":[12262,10642,11982,12522,12104,24377,24693,22281],"name":"ERC1155Pausable","nameLocation":"525:15:88","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[11806],"body":{"id":12260,"nodeType":"Block","src":"930:160:88","statements":[{"expression":{"arguments":[{"id":12245,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12226,"src":"967:8:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12246,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"977:4:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12247,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"983:2:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12248,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12233,"src":"987:3:88","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12249,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12236,"src":"992:7:88","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12250,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12238,"src":"1001:4:88","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12242,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"940:5:88","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155Pausable_$12262_$","typeString":"type(contract super ERC1155Pausable)"}},"id":12244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":11806,"src":"940:26:88","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":12251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"940:66:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12252,"nodeType":"ExpressionStatement","src":"940:66:88"},{"expression":{"arguments":[{"id":12256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1025:9:88","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12254,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"1026:6:88","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":12255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1026:8:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135355061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564","id":12257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1036:46:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_382791644f51336ed3667770955aa8eb4efb839029c48708cadb22e92d271435","typeString":"literal_string \"ERC1155Pausable: token transfer while paused\""},"value":"ERC1155Pausable: token transfer while paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_382791644f51336ed3667770955aa8eb4efb839029c48708cadb22e92d271435","typeString":"literal_string \"ERC1155Pausable: token transfer while paused\""}],"id":12253,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1017:7:88","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1017:66:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12259,"nodeType":"ExpressionStatement","src":"1017:66:88"}]},"documentation":{"id":12224,"nodeType":"StructuredDocumentation","src":"568:136:88","text":" @dev See {ERC1155-_beforeTokenTransfer}.\n Requirements:\n - the contract must not be paused."},"id":12261,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"718:20:88","nodeType":"FunctionDefinition","overrides":{"id":12240,"nodeType":"OverrideSpecifier","overrides":[],"src":"921:8:88"},"parameters":{"id":12239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12226,"mutability":"mutable","name":"operator","nameLocation":"756:8:88","nodeType":"VariableDeclaration","scope":12261,"src":"748:16:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12225,"name":"address","nodeType":"ElementaryTypeName","src":"748:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12228,"mutability":"mutable","name":"from","nameLocation":"782:4:88","nodeType":"VariableDeclaration","scope":12261,"src":"774:12:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12227,"name":"address","nodeType":"ElementaryTypeName","src":"774:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12230,"mutability":"mutable","name":"to","nameLocation":"804:2:88","nodeType":"VariableDeclaration","scope":12261,"src":"796:10:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12229,"name":"address","nodeType":"ElementaryTypeName","src":"796:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12233,"mutability":"mutable","name":"ids","nameLocation":"833:3:88","nodeType":"VariableDeclaration","scope":12261,"src":"816:20:88","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12231,"name":"uint256","nodeType":"ElementaryTypeName","src":"816:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12232,"nodeType":"ArrayTypeName","src":"816:9:88","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12236,"mutability":"mutable","name":"amounts","nameLocation":"863:7:88","nodeType":"VariableDeclaration","scope":12261,"src":"846:24:88","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12234,"name":"uint256","nodeType":"ElementaryTypeName","src":"846:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12235,"nodeType":"ArrayTypeName","src":"846:9:88","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12238,"mutability":"mutable","name":"data","nameLocation":"893:4:88","nodeType":"VariableDeclaration","scope":12261,"src":"880:17:88","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12237,"name":"bytes","nodeType":"ElementaryTypeName","src":"880:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"738:165:88"},"returnParameters":{"id":12241,"nodeType":"ParameterList","parameters":[],"src":"930:0:88"},"scope":12262,"src":"709:381:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":12263,"src":"507:585:88","usedErrors":[]}],"src":"113:980:88"},"id":88},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC1155Supply":[12419],"ERC165":[24377],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693]},"id":12420,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12264,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"126:23:89"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"../ERC1155.sol","id":12265,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12420,"sourceUnit":11983,"src":"151:24:89","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":12267,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"557:7:89"},"id":12268,"nodeType":"InheritanceSpecifier","src":"557:7:89"}],"canonicalName":"ERC1155Supply","contractDependencies":[],"contractKind":"contract","documentation":{"id":12266,"nodeType":"StructuredDocumentation","src":"177:344:89","text":" @dev Extension of ERC1155 that adds tracking of total supply per id.\n Useful for scenarios where Fungible and Non-fungible tokens have to be\n clearly identified. Note: While a totalSupply of 1 might mean the\n corresponding is an NFT, there is no guarantees that no other token with the\n same id are not going to be minted."},"fullyImplemented":false,"id":12419,"linearizedBaseContracts":[12419,11982,12522,12104,24377,24693,22281],"name":"ERC1155Supply","nameLocation":"540:13:89","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":12272,"mutability":"mutable","name":"_totalSupply","nameLocation":"607:12:89","nodeType":"VariableDeclaration","scope":12419,"src":"571:48:89","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":12271,"keyType":{"id":12269,"name":"uint256","nodeType":"ElementaryTypeName","src":"579:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"571:27:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueType":{"id":12270,"name":"uint256","nodeType":"ElementaryTypeName","src":"590:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"body":{"id":12284,"nodeType":"Block","src":"768:40:89","statements":[{"expression":{"baseExpression":{"id":12280,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"785:12:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12282,"indexExpression":{"id":12281,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12275,"src":"798:2:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"785:16:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12279,"id":12283,"nodeType":"Return","src":"778:23:89"}]},"documentation":{"id":12273,"nodeType":"StructuredDocumentation","src":"626:66:89","text":" @dev Total amount of tokens in with a given id."},"functionSelector":"bd85b039","id":12285,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"706:11:89","nodeType":"FunctionDefinition","parameters":{"id":12276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12275,"mutability":"mutable","name":"id","nameLocation":"726:2:89","nodeType":"VariableDeclaration","scope":12285,"src":"718:10:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12274,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"717:12:89"},"returnParameters":{"id":12279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12285,"src":"759:7:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12277,"name":"uint256","nodeType":"ElementaryTypeName","src":"759:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"758:9:89"},"scope":12419,"src":"697:111:89","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":12300,"nodeType":"Block","src":"964:57:89","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12295,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12288,"src":"1007:2:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12293,"name":"ERC1155Supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12419,"src":"981:13:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1155Supply_$12419_$","typeString":"type(contract ERC1155Supply)"}},"id":12294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":12285,"src":"981:25:89","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"981:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1013:1:89","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"981:33:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12292,"id":12299,"nodeType":"Return","src":"974:40:89"}]},"documentation":{"id":12286,"nodeType":"StructuredDocumentation","src":"814:82:89","text":" @dev Indicates whether any token exist with a given id, or not."},"functionSelector":"4f558e79","id":12301,"implemented":true,"kind":"function","modifiers":[],"name":"exists","nameLocation":"910:6:89","nodeType":"FunctionDefinition","parameters":{"id":12289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12288,"mutability":"mutable","name":"id","nameLocation":"925:2:89","nodeType":"VariableDeclaration","scope":12301,"src":"917:10:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12287,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"916:12:89"},"returnParameters":{"id":12292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12301,"src":"958:4:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12290,"name":"bool","nodeType":"ElementaryTypeName","src":"958:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"957:6:89"},"scope":12419,"src":"901:120:89","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[11806],"body":{"id":12417,"nodeType":"Block","src":"1312:683:89","statements":[{"expression":{"arguments":[{"id":12323,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12304,"src":"1349:8:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12324,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12306,"src":"1359:4:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12325,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12308,"src":"1365:2:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12326,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12311,"src":"1369:3:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12327,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12314,"src":"1374:7:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12328,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12316,"src":"1383:4:89","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12320,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1322:5:89","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155Supply_$12419_$","typeString":"type(contract super ERC1155Supply)"}},"id":12322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":11806,"src":"1322:26:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":12329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1322:66:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12330,"nodeType":"ExpressionStatement","src":"1322:66:89"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12331,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12306,"src":"1403:4:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":12334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1419:1:89","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":12333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1411:7:89","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12332,"name":"address","nodeType":"ElementaryTypeName","src":"1411:7:89","typeDescriptions":{}}},"id":12335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1411:10:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1403:18:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12361,"nodeType":"IfStatement","src":"1399:156:89","trueBody":{"id":12360,"nodeType":"Block","src":"1423:132:89","statements":[{"body":{"id":12358,"nodeType":"Block","src":"1478:67:89","statements":[{"expression":{"id":12356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12348,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"1496:12:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12352,"indexExpression":{"baseExpression":{"id":12349,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12311,"src":"1509:3:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12351,"indexExpression":{"id":12350,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12338,"src":"1513:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1509:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1496:20:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":12353,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12314,"src":"1520:7:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12355,"indexExpression":{"id":12354,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12338,"src":"1528:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:10:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1496:34:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12357,"nodeType":"ExpressionStatement","src":"1496:34:89"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12341,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12338,"src":"1457:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12342,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12311,"src":"1461:3:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1461:10:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1457:14:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12359,"initializationExpression":{"assignments":[12338],"declarations":[{"constant":false,"id":12338,"mutability":"mutable","name":"i","nameLocation":"1450:1:89","nodeType":"VariableDeclaration","scope":12359,"src":"1442:9:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1442:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12340,"initialValue":{"hexValue":"30","id":12339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1454:1:89","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1442:13:89"},"loopExpression":{"expression":{"id":12346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1473:3:89","subExpression":{"id":12345,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12338,"src":"1475:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12347,"nodeType":"ExpressionStatement","src":"1473:3:89"},"nodeType":"ForStatement","src":"1437:108:89"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12362,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12308,"src":"1569:2:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":12365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1583:1:89","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":12364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1575:7:89","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12363,"name":"address","nodeType":"ElementaryTypeName","src":"1575:7:89","typeDescriptions":{}}},"id":12366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1575:10:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1569:16:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12416,"nodeType":"IfStatement","src":"1565:424:89","trueBody":{"id":12415,"nodeType":"Block","src":"1587:402:89","statements":[{"body":{"id":12413,"nodeType":"Block","src":"1642:337:89","statements":[{"assignments":[12380],"declarations":[{"constant":false,"id":12380,"mutability":"mutable","name":"id","nameLocation":"1668:2:89","nodeType":"VariableDeclaration","scope":12413,"src":"1660:10:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12379,"name":"uint256","nodeType":"ElementaryTypeName","src":"1660:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12384,"initialValue":{"baseExpression":{"id":12381,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12311,"src":"1673:3:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12383,"indexExpression":{"id":12382,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12369,"src":"1677:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1673:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1660:19:89"},{"assignments":[12386],"declarations":[{"constant":false,"id":12386,"mutability":"mutable","name":"amount","nameLocation":"1705:6:89","nodeType":"VariableDeclaration","scope":12413,"src":"1697:14:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12385,"name":"uint256","nodeType":"ElementaryTypeName","src":"1697:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12390,"initialValue":{"baseExpression":{"id":12387,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12314,"src":"1714:7:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12389,"indexExpression":{"id":12388,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12369,"src":"1722:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1714:10:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1697:27:89"},{"assignments":[12392],"declarations":[{"constant":false,"id":12392,"mutability":"mutable","name":"supply","nameLocation":"1750:6:89","nodeType":"VariableDeclaration","scope":12413,"src":"1742:14:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12391,"name":"uint256","nodeType":"ElementaryTypeName","src":"1742:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12396,"initialValue":{"baseExpression":{"id":12393,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"1759:12:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12395,"indexExpression":{"id":12394,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"1772:2:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1759:16:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1742:33:89"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12398,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12392,"src":"1801:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12399,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12386,"src":"1811:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1801:16:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135353a206275726e20616d6f756e74206578636565647320746f74616c537570706c79","id":12401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1819:42:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_9eb0869d69143813ac9f244871191d8f2e530e71a4599ba9db4501f0f6110ee4","typeString":"literal_string \"ERC1155: burn amount exceeds totalSupply\""},"value":"ERC1155: burn amount exceeds totalSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9eb0869d69143813ac9f244871191d8f2e530e71a4599ba9db4501f0f6110ee4","typeString":"literal_string \"ERC1155: burn amount exceeds totalSupply\""}],"id":12397,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1793:7:89","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1793:69:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12403,"nodeType":"ExpressionStatement","src":"1793:69:89"},{"id":12412,"nodeType":"UncheckedBlock","src":"1880:85:89","statements":[{"expression":{"id":12410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12404,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"1912:12:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12406,"indexExpression":{"id":12405,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"1925:2:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1912:16:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12407,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12392,"src":"1931:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12408,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12386,"src":"1940:6:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1931:15:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1912:34:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12411,"nodeType":"ExpressionStatement","src":"1912:34:89"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12372,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12369,"src":"1621:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12373,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12311,"src":"1625:3:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1625:10:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1621:14:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12414,"initializationExpression":{"assignments":[12369],"declarations":[{"constant":false,"id":12369,"mutability":"mutable","name":"i","nameLocation":"1614:1:89","nodeType":"VariableDeclaration","scope":12414,"src":"1606:9:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1606:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12371,"initialValue":{"hexValue":"30","id":12370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1618:1:89","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1606:13:89"},"loopExpression":{"expression":{"id":12377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1637:3:89","subExpression":{"id":12376,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12369,"src":"1639:1:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12378,"nodeType":"ExpressionStatement","src":"1637:3:89"},"nodeType":"ForStatement","src":"1601:378:89"}]}}]},"documentation":{"id":12302,"nodeType":"StructuredDocumentation","src":"1027:59:89","text":" @dev See {ERC1155-_beforeTokenTransfer}."},"id":12418,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"1100:20:89","nodeType":"FunctionDefinition","overrides":{"id":12318,"nodeType":"OverrideSpecifier","overrides":[],"src":"1303:8:89"},"parameters":{"id":12317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12304,"mutability":"mutable","name":"operator","nameLocation":"1138:8:89","nodeType":"VariableDeclaration","scope":12418,"src":"1130:16:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12303,"name":"address","nodeType":"ElementaryTypeName","src":"1130:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12306,"mutability":"mutable","name":"from","nameLocation":"1164:4:89","nodeType":"VariableDeclaration","scope":12418,"src":"1156:12:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12305,"name":"address","nodeType":"ElementaryTypeName","src":"1156:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12308,"mutability":"mutable","name":"to","nameLocation":"1186:2:89","nodeType":"VariableDeclaration","scope":12418,"src":"1178:10:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12307,"name":"address","nodeType":"ElementaryTypeName","src":"1178:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12311,"mutability":"mutable","name":"ids","nameLocation":"1215:3:89","nodeType":"VariableDeclaration","scope":12418,"src":"1198:20:89","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12309,"name":"uint256","nodeType":"ElementaryTypeName","src":"1198:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12310,"nodeType":"ArrayTypeName","src":"1198:9:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12314,"mutability":"mutable","name":"amounts","nameLocation":"1245:7:89","nodeType":"VariableDeclaration","scope":12418,"src":"1228:24:89","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12312,"name":"uint256","nodeType":"ElementaryTypeName","src":"1228:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12313,"nodeType":"ArrayTypeName","src":"1228:9:89","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12316,"mutability":"mutable","name":"data","nameLocation":"1275:4:89","nodeType":"VariableDeclaration","scope":12418,"src":"1262:17:89","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12315,"name":"bytes","nodeType":"ElementaryTypeName","src":"1262:5:89","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1120:165:89"},"returnParameters":{"id":12319,"nodeType":"ParameterList","parameters":[],"src":"1312:0:89"},"scope":12419,"src":"1091:904:89","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":12420,"src":"522:1475:89","usedErrors":[]}],"src":"126:1872:89"},"id":89},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC1155URIStorage":[12507],"ERC165":[24377],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693],"Math":[25662],"Strings":[22726]},"id":12508,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12421,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"130:23:90"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Strings.sol","file":"../../../utils/Strings.sol","id":12422,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12508,"sourceUnit":22727,"src":"155:36:90","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"../ERC1155.sol","id":12423,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12508,"sourceUnit":11983,"src":"192:24:90","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":12425,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"404:7:90"},"id":12426,"nodeType":"InheritanceSpecifier","src":"404:7:90"}],"canonicalName":"ERC1155URIStorage","contractDependencies":[],"contractKind":"contract","documentation":{"id":12424,"nodeType":"StructuredDocumentation","src":"218:146:90","text":" @dev ERC1155 token with storage based token URI management.\n Inspired by the ERC721URIStorage extension\n _Available since v4.6._"},"fullyImplemented":false,"id":12507,"linearizedBaseContracts":[12507,11982,12522,12104,24377,24693,22281],"name":"ERC1155URIStorage","nameLocation":"383:17:90","nodeType":"ContractDefinition","nodes":[{"id":12429,"libraryName":{"id":12427,"name":"Strings","nodeType":"IdentifierPath","referencedDeclaration":22726,"src":"424:7:90"},"nodeType":"UsingForDirective","src":"418:26:90","typeName":{"id":12428,"name":"uint256","nodeType":"ElementaryTypeName","src":"436:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":12432,"mutability":"mutable","name":"_baseURI","nameLocation":"490:8:90","nodeType":"VariableDeclaration","scope":12507,"src":"475:28:90","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":12430,"name":"string","nodeType":"ElementaryTypeName","src":"475:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"","id":12431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"501:2:90","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"visibility":"private"},{"constant":false,"id":12436,"mutability":"mutable","name":"_tokenURIs","nameLocation":"584:10:90","nodeType":"VariableDeclaration","scope":12507,"src":"549:45:90","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":12435,"keyType":{"id":12433,"name":"uint256","nodeType":"ElementaryTypeName","src":"557:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"549:26:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueType":{"id":12434,"name":"string","nodeType":"ElementaryTypeName","src":"568:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"baseFunctions":[10847],"body":{"id":12472,"nodeType":"Block","src":"1405:263:90","statements":[{"assignments":[12446],"declarations":[{"constant":false,"id":12446,"mutability":"mutable","name":"tokenURI","nameLocation":"1429:8:90","nodeType":"VariableDeclaration","scope":12472,"src":"1415:22:90","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12445,"name":"string","nodeType":"ElementaryTypeName","src":"1415:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":12450,"initialValue":{"baseExpression":{"id":12447,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12436,"src":"1440:10:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":12449,"indexExpression":{"id":12448,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12439,"src":"1451:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1440:19:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1415:44:90"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":12453,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12446,"src":"1573:8:90","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1567:5:90","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12451,"name":"bytes","nodeType":"ElementaryTypeName","src":"1567:5:90","typeDescriptions":{}}},"id":12454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1567:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1567:22:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1592:1:90","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1567:26:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":12468,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12439,"src":"1653:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12466,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1643:5:90","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155URIStorage_$12507_$","typeString":"type(contract super ERC1155URIStorage)"}},"id":12467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"uri","nodeType":"MemberAccess","referencedDeclaration":10847,"src":"1643:9:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":12469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1643:18:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":12470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1567:94:90","trueExpression":{"arguments":[{"arguments":[{"id":12462,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12432,"src":"1620:8:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"id":12463,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12446,"src":"1630:8:90","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1603:3:90","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1603:16:90","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1603:36:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1596:6:90","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":12458,"name":"string","nodeType":"ElementaryTypeName","src":"1596:6:90","typeDescriptions":{}}},"id":12465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1596:44:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12444,"id":12471,"nodeType":"Return","src":"1560:101:90"}]},"documentation":{"id":12437,"nodeType":"StructuredDocumentation","src":"601:716:90","text":" @dev See {IERC1155MetadataURI-uri}.\n This implementation returns the concatenation of the `_baseURI`\n and the token-specific uri if the latter is set\n This enables the following behaviors:\n - if `_tokenURIs[tokenId]` is set, then the result is the concatenation\n of `_baseURI` and `_tokenURIs[tokenId]` (keep in mind that `_baseURI`\n is empty per default);\n - if `_tokenURIs[tokenId]` is NOT set then we fallback to `super.uri()`\n which in most cases will contain `ERC1155._uri`;\n - if `_tokenURIs[tokenId]` is NOT set, and if the parents do not have a\n uri value set, then the result is empty."},"functionSelector":"0e89341c","id":12473,"implemented":true,"kind":"function","modifiers":[],"name":"uri","nameLocation":"1331:3:90","nodeType":"FunctionDefinition","overrides":{"id":12441,"nodeType":"OverrideSpecifier","overrides":[],"src":"1372:8:90"},"parameters":{"id":12440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12439,"mutability":"mutable","name":"tokenId","nameLocation":"1343:7:90","nodeType":"VariableDeclaration","scope":12473,"src":"1335:15:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12438,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:17:90"},"returnParameters":{"id":12444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12473,"src":"1390:13:90","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12442,"name":"string","nodeType":"ElementaryTypeName","src":"1390:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1389:15:90"},"scope":12507,"src":"1322:346:90","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":12494,"nodeType":"Block","src":"1823:88:90","statements":[{"expression":{"id":12485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12481,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12436,"src":"1833:10:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":12483,"indexExpression":{"id":12482,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12476,"src":"1844:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1833:19:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12484,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12478,"src":"1855:8:90","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1833:30:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12486,"nodeType":"ExpressionStatement","src":"1833:30:90"},{"eventCall":{"arguments":[{"arguments":[{"id":12489,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12476,"src":"1886:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12488,"name":"uri","nodeType":"Identifier","overloadedDeclarations":[12473],"referencedDeclaration":12473,"src":"1882:3:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":12490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1882:12:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12491,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12476,"src":"1896:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12487,"name":"URI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12032,"src":"1878:3:90","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":12492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1878:26:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12493,"nodeType":"EmitStatement","src":"1873:31:90"}]},"documentation":{"id":12474,"nodeType":"StructuredDocumentation","src":"1674:69:90","text":" @dev Sets `tokenURI` as the tokenURI of `tokenId`."},"id":12495,"implemented":true,"kind":"function","modifiers":[],"name":"_setURI","nameLocation":"1757:7:90","nodeType":"FunctionDefinition","parameters":{"id":12479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12476,"mutability":"mutable","name":"tokenId","nameLocation":"1773:7:90","nodeType":"VariableDeclaration","scope":12495,"src":"1765:15:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1765:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12478,"mutability":"mutable","name":"tokenURI","nameLocation":"1796:8:90","nodeType":"VariableDeclaration","scope":12495,"src":"1782:22:90","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12477,"name":"string","nodeType":"ElementaryTypeName","src":"1782:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1764:41:90"},"returnParameters":{"id":12480,"nodeType":"ParameterList","parameters":[],"src":"1823:0:90"},"scope":12507,"src":"1748:163:90","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12505,"nodeType":"Block","src":"2054:35:90","statements":[{"expression":{"id":12503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12501,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12432,"src":"2064:8:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12502,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12498,"src":"2075:7:90","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2064:18:90","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12504,"nodeType":"ExpressionStatement","src":"2064:18:90"}]},"documentation":{"id":12496,"nodeType":"StructuredDocumentation","src":"1917:71:90","text":" @dev Sets `baseURI` as the `_baseURI` for all tokens"},"id":12506,"implemented":true,"kind":"function","modifiers":[],"name":"_setBaseURI","nameLocation":"2002:11:90","nodeType":"FunctionDefinition","parameters":{"id":12499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12498,"mutability":"mutable","name":"baseURI","nameLocation":"2028:7:90","nodeType":"VariableDeclaration","scope":12506,"src":"2014:21:90","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12497,"name":"string","nodeType":"ElementaryTypeName","src":"2014:6:90","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2013:23:90"},"returnParameters":{"id":12500,"nodeType":"ParameterList","parameters":[],"src":"2054:0:90"},"scope":12507,"src":"1993:96:90","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":12508,"src":"365:1726:90","usedErrors":[]}],"src":"130:1962:90"},"id":90},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","exportedSymbols":{"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC165":[24693]},"id":12523,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12509,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"117:23:91"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol","file":"../IERC1155.sol","id":12510,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12523,"sourceUnit":12105,"src":"142:25:91","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12512,"name":"IERC1155","nodeType":"IdentifierPath","referencedDeclaration":12104,"src":"397:8:91"},"id":12513,"nodeType":"InheritanceSpecifier","src":"397:8:91"}],"canonicalName":"IERC1155MetadataURI","contractDependencies":[],"contractKind":"interface","documentation":{"id":12511,"nodeType":"StructuredDocumentation","src":"169:194:91","text":" @dev Interface of the optional ERC1155MetadataExtension interface, as defined\n in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].\n _Available since v3.1._"},"fullyImplemented":false,"id":12522,"linearizedBaseContracts":[12522,12104,24693],"name":"IERC1155MetadataURI","nameLocation":"374:19:91","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":12514,"nodeType":"StructuredDocumentation","src":"412:192:91","text":" @dev Returns the URI for token type `id`.\n If the `\\{id\\}` substring is present in the URI, it must be replaced by\n clients with the actual token type ID."},"functionSelector":"0e89341c","id":12521,"implemented":false,"kind":"function","modifiers":[],"name":"uri","nameLocation":"618:3:91","nodeType":"FunctionDefinition","parameters":{"id":12517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12516,"mutability":"mutable","name":"id","nameLocation":"630:2:91","nodeType":"VariableDeclaration","scope":12521,"src":"622:10:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12515,"name":"uint256","nodeType":"ElementaryTypeName","src":"622:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"621:12:91"},"returnParameters":{"id":12520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12521,"src":"657:13:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12518,"name":"string","nodeType":"ElementaryTypeName","src":"657:6:91","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"656:15:91"},"scope":12522,"src":"609:63:91","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":12523,"src":"364:310:91","usedErrors":[]}],"src":"117:558:91"},"id":91},"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol","exportedSymbols":{"AccessControl":[1027],"AccessControlEnumerable":[1207],"Address":[20688],"Context":[22281],"ERC1155":[11982],"ERC1155Burnable":[12214],"ERC1155Pausable":[12262],"ERC1155PresetMinterPauser":[12720],"ERC165":[24377],"EnumerableSet":[29898],"IAccessControl":[1280],"IAccessControlEnumerable":[1305],"IERC1155":[12104],"IERC1155MetadataURI":[12522],"IERC1155Receiver":[12145],"IERC165":[24693],"Math":[25662],"Pausable":[10642],"Strings":[22726]},"id":12721,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12524,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"135:23:92"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"../ERC1155.sol","id":12525,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":11983,"src":"160:24:92","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol","file":"../extensions/ERC1155Burnable.sol","id":12526,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":12215,"src":"185:43:92","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol","file":"../extensions/ERC1155Pausable.sol","id":12527,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":12263,"src":"229:43:92","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol","file":"../../../access/AccessControlEnumerable.sol","id":12528,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":1208,"src":"273:53:92","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":12529,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12721,"sourceUnit":22282,"src":"327:36:92","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12531,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1055:7:92"},"id":12532,"nodeType":"InheritanceSpecifier","src":"1055:7:92"},{"baseName":{"id":12533,"name":"AccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1207,"src":"1064:23:92"},"id":12534,"nodeType":"InheritanceSpecifier","src":"1064:23:92"},{"baseName":{"id":12535,"name":"ERC1155Burnable","nodeType":"IdentifierPath","referencedDeclaration":12214,"src":"1089:15:92"},"id":12536,"nodeType":"InheritanceSpecifier","src":"1089:15:92"},{"baseName":{"id":12537,"name":"ERC1155Pausable","nodeType":"IdentifierPath","referencedDeclaration":12262,"src":"1106:15:92"},"id":12538,"nodeType":"InheritanceSpecifier","src":"1106:15:92"}],"canonicalName":"ERC1155PresetMinterPauser","contractDependencies":[],"contractKind":"contract","documentation":{"id":12530,"nodeType":"StructuredDocumentation","src":"365:651:92","text":" @dev {ERC1155} token, including:\n - ability for holders to burn (destroy) their tokens\n - a minter role that allows for token minting (creation)\n - a pauser role that allows to stop all token transfers\n This contract uses {AccessControl} to lock permissioned functions using the\n different roles - head to its documentation for details.\n The account that deploys the contract will be granted the minter and pauser\n roles, as well as the default admin role, which will let it grant both minter\n and pauser roles to other accounts.\n _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._"},"fullyImplemented":true,"id":12720,"linearizedBaseContracts":[12720,12262,10642,12214,11982,12522,12104,1207,1027,24377,24693,1305,1280,22281],"name":"ERC1155PresetMinterPauser","nameLocation":"1026:25:92","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"d5391393","id":12543,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"1152:11:92","nodeType":"VariableDeclaration","scope":12720,"src":"1128:62:92","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1128:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":12541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1176:13:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":12540,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1166:9:92","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1166:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":12548,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"1220:11:92","nodeType":"VariableDeclaration","scope":12720,"src":"1196:62:92","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1196:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":12546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1244:13:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":12545,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1234:9:92","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1234:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":12575,"nodeType":"Block","src":"1448:156:92","statements":[{"expression":{"arguments":[{"id":12558,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":739,"src":"1469:18:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12559,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1489:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1489:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12557,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1458:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1458:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12562,"nodeType":"ExpressionStatement","src":"1458:44:92"},{"expression":{"arguments":[{"id":12564,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12543,"src":"1524:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12565,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1537:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1537:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12563,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1513:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1513:37:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12568,"nodeType":"ExpressionStatement","src":"1513:37:92"},{"expression":{"arguments":[{"id":12570,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"1571:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12571,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1584:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1584:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12569,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1560:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1560:37:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12574,"nodeType":"ExpressionStatement","src":"1560:37:92"}]},"documentation":{"id":12549,"nodeType":"StructuredDocumentation","src":"1265:134:92","text":" @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that\n deploys the contract."},"id":12576,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":12554,"name":"uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12551,"src":"1443:3:92","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":12555,"kind":"baseConstructorSpecifier","modifierName":{"id":12553,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"1435:7:92"},"nodeType":"ModifierInvocation","src":"1435:12:92"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":12552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12551,"mutability":"mutable","name":"uri","nameLocation":"1430:3:92","nodeType":"VariableDeclaration","scope":12576,"src":"1416:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12550,"name":"string","nodeType":"ElementaryTypeName","src":"1416:6:92","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1415:19:92"},"returnParameters":{"id":12556,"nodeType":"ParameterList","parameters":[],"src":"1448:0:92"},"scope":12720,"src":"1404:200:92","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":12604,"nodeType":"Block","src":"1941:158:92","statements":[{"expression":{"arguments":[{"arguments":[{"id":12590,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12543,"src":"1967:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12591,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1980:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1980:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12589,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"1959:7:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1959:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e74","id":12594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1995:58:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c","typeString":"literal_string \"ERC1155PresetMinterPauser: must have minter role to mint\""},"value":"ERC1155PresetMinterPauser: must have minter role to mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c","typeString":"literal_string \"ERC1155PresetMinterPauser: must have minter role to mint\""}],"id":12588,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1951:7:92","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1951:103:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12596,"nodeType":"ExpressionStatement","src":"1951:103:92"},{"expression":{"arguments":[{"id":12598,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12579,"src":"2071:2:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12599,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12581,"src":"2075:2:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12600,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12583,"src":"2079:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12601,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12585,"src":"2087:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12597,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11416,"src":"2065:5:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint256,bytes memory)"}},"id":12602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2065:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12603,"nodeType":"ExpressionStatement","src":"2065:27:92"}]},"documentation":{"id":12577,"nodeType":"StructuredDocumentation","src":"1610:200:92","text":" @dev Creates `amount` new tokens for `to`, of token type `id`.\n See {ERC1155-_mint}.\n Requirements:\n - the caller must have the `MINTER_ROLE`."},"functionSelector":"731133e9","id":12605,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"1824:4:92","nodeType":"FunctionDefinition","parameters":{"id":12586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12579,"mutability":"mutable","name":"to","nameLocation":"1846:2:92","nodeType":"VariableDeclaration","scope":12605,"src":"1838:10:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12578,"name":"address","nodeType":"ElementaryTypeName","src":"1838:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12581,"mutability":"mutable","name":"id","nameLocation":"1866:2:92","nodeType":"VariableDeclaration","scope":12605,"src":"1858:10:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12583,"mutability":"mutable","name":"amount","nameLocation":"1886:6:92","nodeType":"VariableDeclaration","scope":12605,"src":"1878:14:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12582,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12585,"mutability":"mutable","name":"data","nameLocation":"1915:4:92","nodeType":"VariableDeclaration","scope":12605,"src":"1902:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12584,"name":"bytes","nodeType":"ElementaryTypeName","src":"1902:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1828:97:92"},"returnParameters":{"id":12587,"nodeType":"ParameterList","parameters":[],"src":"1941:0:92"},"scope":12720,"src":"1815:284:92","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12635,"nodeType":"Block","src":"2352:165:92","statements":[{"expression":{"arguments":[{"arguments":[{"id":12621,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12543,"src":"2378:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12622,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2391:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2391:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12620,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2370:7:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2370:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e74","id":12625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2406:58:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c","typeString":"literal_string \"ERC1155PresetMinterPauser: must have minter role to mint\""},"value":"ERC1155PresetMinterPauser: must have minter role to mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c","typeString":"literal_string \"ERC1155PresetMinterPauser: must have minter role to mint\""}],"id":12619,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2362:7:92","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2362:103:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12627,"nodeType":"ExpressionStatement","src":"2362:103:92"},{"expression":{"arguments":[{"id":12629,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"2487:2:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12630,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12611,"src":"2491:3:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12631,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12614,"src":"2496:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12632,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12616,"src":"2505:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12628,"name":"_mintBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"2476:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":12633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2476:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12634,"nodeType":"ExpressionStatement","src":"2476:34:92"}]},"documentation":{"id":12606,"nodeType":"StructuredDocumentation","src":"2105:91:92","text":" @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] variant of {mint}."},"functionSelector":"1f7fdffa","id":12636,"implemented":true,"kind":"function","modifiers":[],"name":"mintBatch","nameLocation":"2210:9:92","nodeType":"FunctionDefinition","parameters":{"id":12617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12608,"mutability":"mutable","name":"to","nameLocation":"2237:2:92","nodeType":"VariableDeclaration","scope":12636,"src":"2229:10:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12607,"name":"address","nodeType":"ElementaryTypeName","src":"2229:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12611,"mutability":"mutable","name":"ids","nameLocation":"2266:3:92","nodeType":"VariableDeclaration","scope":12636,"src":"2249:20:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12609,"name":"uint256","nodeType":"ElementaryTypeName","src":"2249:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12610,"nodeType":"ArrayTypeName","src":"2249:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12614,"mutability":"mutable","name":"amounts","nameLocation":"2296:7:92","nodeType":"VariableDeclaration","scope":12636,"src":"2279:24:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12612,"name":"uint256","nodeType":"ElementaryTypeName","src":"2279:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12613,"nodeType":"ArrayTypeName","src":"2279:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12616,"mutability":"mutable","name":"data","nameLocation":"2326:4:92","nodeType":"VariableDeclaration","scope":12636,"src":"2313:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12615,"name":"bytes","nodeType":"ElementaryTypeName","src":"2313:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2219:117:92"},"returnParameters":{"id":12618,"nodeType":"ParameterList","parameters":[],"src":"2352:0:92"},"scope":12720,"src":"2201:316:92","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12652,"nodeType":"Block","src":"2754:139:92","statements":[{"expression":{"arguments":[{"arguments":[{"id":12642,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"2780:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12643,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2793:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2793:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12641,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2772:7:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2772:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f207061757365","id":12646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2808:59:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5053a301adec69bf5c7c3782556a354b14090e41fa7ca93c4de3863fd6a98b9","typeString":"literal_string \"ERC1155PresetMinterPauser: must have pauser role to pause\""},"value":"ERC1155PresetMinterPauser: must have pauser role to pause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d5053a301adec69bf5c7c3782556a354b14090e41fa7ca93c4de3863fd6a98b9","typeString":"literal_string \"ERC1155PresetMinterPauser: must have pauser role to pause\""}],"id":12640,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2764:7:92","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2764:104:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12648,"nodeType":"ExpressionStatement","src":"2764:104:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12649,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"2878:6:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":12650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2878:8:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12651,"nodeType":"ExpressionStatement","src":"2878:8:92"}]},"documentation":{"id":12637,"nodeType":"StructuredDocumentation","src":"2523:194:92","text":" @dev Pauses all token transfers.\n See {ERC1155Pausable} and {Pausable-_pause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"8456cb59","id":12653,"implemented":true,"kind":"function","modifiers":[],"name":"pause","nameLocation":"2731:5:92","nodeType":"FunctionDefinition","parameters":{"id":12638,"nodeType":"ParameterList","parameters":[],"src":"2736:2:92"},"returnParameters":{"id":12639,"nodeType":"ParameterList","parameters":[],"src":"2754:0:92"},"scope":12720,"src":"2722:171:92","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12669,"nodeType":"Block","src":"3136:143:92","statements":[{"expression":{"arguments":[{"arguments":[{"id":12659,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"3162:11:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12660,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3175:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3175:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12658,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"3154:7:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3154:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e7061757365","id":12663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3190:61:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_be510562063387b7714478be5eff01a8c39efbb1b76d9be224d34aac440c9e31","typeString":"literal_string \"ERC1155PresetMinterPauser: must have pauser role to unpause\""},"value":"ERC1155PresetMinterPauser: must have pauser role to unpause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_be510562063387b7714478be5eff01a8c39efbb1b76d9be224d34aac440c9e31","typeString":"literal_string \"ERC1155PresetMinterPauser: must have pauser role to unpause\""}],"id":12657,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3146:7:92","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3146:106:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12665,"nodeType":"ExpressionStatement","src":"3146:106:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12666,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10641,"src":"3262:8:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":12667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3262:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12668,"nodeType":"ExpressionStatement","src":"3262:10:92"}]},"documentation":{"id":12654,"nodeType":"StructuredDocumentation","src":"2899:198:92","text":" @dev Unpauses all token transfers.\n See {ERC1155Pausable} and {Pausable-_unpause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"3f4ba83a","id":12670,"implemented":true,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"3111:7:92","nodeType":"FunctionDefinition","parameters":{"id":12655,"nodeType":"ParameterList","parameters":[],"src":"3118:2:92"},"returnParameters":{"id":12656,"nodeType":"ParameterList","parameters":[],"src":"3136:0:92"},"scope":12720,"src":"3102:177:92","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1123,10835],"body":{"id":12686,"nodeType":"Block","src":"3515:60:92","statements":[{"expression":{"arguments":[{"id":12683,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12673,"src":"3556:11:92","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":12681,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3532:5:92","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155PresetMinterPauser_$12720_$","typeString":"type(contract super ERC1155PresetMinterPauser)"}},"id":12682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":10835,"src":"3532:23:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":12684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3532:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12680,"id":12685,"nodeType":"Return","src":"3525:43:92"}]},"documentation":{"id":12671,"nodeType":"StructuredDocumentation","src":"3285:56:92","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":12687,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3355:17:92","nodeType":"FunctionDefinition","overrides":{"id":12677,"nodeType":"OverrideSpecifier","overrides":[{"id":12675,"name":"AccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1207,"src":"3454:23:92"},{"id":12676,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"3479:7:92"}],"src":"3445:42:92"},"parameters":{"id":12674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12673,"mutability":"mutable","name":"interfaceId","nameLocation":"3380:11:92","nodeType":"VariableDeclaration","scope":12687,"src":"3373:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12672,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3373:6:92","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3372:20:92"},"returnParameters":{"id":12680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12687,"src":"3505:4:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12678,"name":"bool","nodeType":"ElementaryTypeName","src":"3505:4:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3504:6:92"},"scope":12720,"src":"3346:229:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[11806,12261],"body":{"id":12718,"nodeType":"Block","src":"3828:83:92","statements":[{"expression":{"arguments":[{"id":12710,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12689,"src":"3865:8:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12711,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12691,"src":"3875:4:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12712,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12693,"src":"3881:2:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12713,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12696,"src":"3885:3:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12714,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12699,"src":"3890:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":12715,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"3899:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12707,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3838:5:92","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155PresetMinterPauser_$12720_$","typeString":"type(contract super ERC1155PresetMinterPauser)"}},"id":12709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":12261,"src":"3838:26:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256[] memory,uint256[] memory,bytes memory)"}},"id":12716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3838:66:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12717,"nodeType":"ExpressionStatement","src":"3838:66:92"}]},"id":12719,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"3590:20:92","nodeType":"FunctionDefinition","overrides":{"id":12705,"nodeType":"OverrideSpecifier","overrides":[{"id":12703,"name":"ERC1155","nodeType":"IdentifierPath","referencedDeclaration":11982,"src":"3802:7:92"},{"id":12704,"name":"ERC1155Pausable","nodeType":"IdentifierPath","referencedDeclaration":12262,"src":"3811:15:92"}],"src":"3793:34:92"},"parameters":{"id":12702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12689,"mutability":"mutable","name":"operator","nameLocation":"3628:8:92","nodeType":"VariableDeclaration","scope":12719,"src":"3620:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12688,"name":"address","nodeType":"ElementaryTypeName","src":"3620:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12691,"mutability":"mutable","name":"from","nameLocation":"3654:4:92","nodeType":"VariableDeclaration","scope":12719,"src":"3646:12:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12690,"name":"address","nodeType":"ElementaryTypeName","src":"3646:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12693,"mutability":"mutable","name":"to","nameLocation":"3676:2:92","nodeType":"VariableDeclaration","scope":12719,"src":"3668:10:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12692,"name":"address","nodeType":"ElementaryTypeName","src":"3668:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12696,"mutability":"mutable","name":"ids","nameLocation":"3705:3:92","nodeType":"VariableDeclaration","scope":12719,"src":"3688:20:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12694,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12695,"nodeType":"ArrayTypeName","src":"3688:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12699,"mutability":"mutable","name":"amounts","nameLocation":"3735:7:92","nodeType":"VariableDeclaration","scope":12719,"src":"3718:24:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12697,"name":"uint256","nodeType":"ElementaryTypeName","src":"3718:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12698,"nodeType":"ArrayTypeName","src":"3718:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12701,"mutability":"mutable","name":"data","nameLocation":"3765:4:92","nodeType":"VariableDeclaration","scope":12719,"src":"3752:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12700,"name":"bytes","nodeType":"ElementaryTypeName","src":"3752:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3610:165:92"},"returnParameters":{"id":12706,"nodeType":"ParameterList","parameters":[],"src":"3828:0:92"},"scope":12720,"src":"3581:330:92","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":12721,"src":"1017:2896:92","usedErrors":[]}],"src":"135:3779:92"},"id":92},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol","exportedSymbols":{"ERC1155Holder":[12771],"ERC1155Receiver":[12805],"ERC165":[24377],"IERC1155Receiver":[12145],"IERC165":[24693]},"id":12772,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12722,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"121:23:93"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol","file":"./ERC1155Receiver.sol","id":12723,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12772,"sourceUnit":12806,"src":"146:31:93","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12725,"name":"ERC1155Receiver","nodeType":"IdentifierPath","referencedDeclaration":12805,"src":"477:15:93"},"id":12726,"nodeType":"InheritanceSpecifier","src":"477:15:93"}],"canonicalName":"ERC1155Holder","contractDependencies":[],"contractKind":"contract","documentation":{"id":12724,"nodeType":"StructuredDocumentation","src":"179:271:93","text":" Simple implementation of `ERC1155Receiver` that will allow a contract to hold ERC1155 tokens.\n IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be\n stuck.\n @dev _Available since v3.1._"},"fullyImplemented":true,"id":12771,"linearizedBaseContracts":[12771,12805,12145,24377,24693],"name":"ERC1155Holder","nameLocation":"460:13:93","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[12126],"body":{"id":12746,"nodeType":"Block","src":"663:55:93","statements":[{"expression":{"expression":{"expression":{"id":12742,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"680:4:93","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1155Holder_$12771","typeString":"contract ERC1155Holder"}},"id":12743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":12747,"src":"680:22:93","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":12744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"680:31:93","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":12741,"id":12745,"nodeType":"Return","src":"673:38:93"}]},"functionSelector":"f23a6e61","id":12747,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"508:17:93","nodeType":"FunctionDefinition","overrides":{"id":12738,"nodeType":"OverrideSpecifier","overrides":[],"src":"637:8:93"},"parameters":{"id":12737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"535:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12727,"name":"address","nodeType":"ElementaryTypeName","src":"535:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"552:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12729,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"569:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12731,"name":"uint256","nodeType":"ElementaryTypeName","src":"569:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"586:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12733,"name":"uint256","nodeType":"ElementaryTypeName","src":"586:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"603:12:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12735,"name":"bytes","nodeType":"ElementaryTypeName","src":"603:5:93","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"525:96:93"},"returnParameters":{"id":12741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12747,"src":"655:6:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12739,"name":"bytes4","nodeType":"ElementaryTypeName","src":"655:6:93","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"654:8:93"},"scope":12771,"src":"499:219:93","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[12144],"body":{"id":12769,"nodeType":"Block","src":"911:60:93","statements":[{"expression":{"expression":{"expression":{"id":12765,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"928:4:93","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1155Holder_$12771","typeString":"contract ERC1155Holder"}},"id":12766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":12770,"src":"928:27:93","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":12767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"928:36:93","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":12764,"id":12768,"nodeType":"Return","src":"921:43:93"}]},"functionSelector":"bc197c81","id":12770,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"733:22:93","nodeType":"FunctionDefinition","overrides":{"id":12761,"nodeType":"OverrideSpecifier","overrides":[],"src":"885:8:93"},"parameters":{"id":12760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"765:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12748,"name":"address","nodeType":"ElementaryTypeName","src":"765:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"782:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12750,"name":"address","nodeType":"ElementaryTypeName","src":"782:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"799:16:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12752,"name":"uint256","nodeType":"ElementaryTypeName","src":"799:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12753,"nodeType":"ArrayTypeName","src":"799:9:93","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"825:16:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12755,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12756,"nodeType":"ArrayTypeName","src":"825:9:93","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":12759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"851:12:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12758,"name":"bytes","nodeType":"ElementaryTypeName","src":"851:5:93","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"755:114:93"},"returnParameters":{"id":12764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12770,"src":"903:6:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12762,"name":"bytes4","nodeType":"ElementaryTypeName","src":"903:6:93","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"902:8:93"},"scope":12771,"src":"724:247:93","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":12772,"src":"451:522:93","usedErrors":[]}],"src":"121:853:93"},"id":93},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol","exportedSymbols":{"ERC1155Receiver":[12805],"ERC165":[24377],"IERC1155Receiver":[12145],"IERC165":[24693]},"id":12806,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12773,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:94"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"../IERC1155Receiver.sol","id":12774,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12806,"sourceUnit":12146,"src":"133:33:94","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../../utils/introspection/ERC165.sol","id":12775,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12806,"sourceUnit":24378,"src":"167:49:94","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":12777,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"295:6:94"},"id":12778,"nodeType":"InheritanceSpecifier","src":"295:6:94"},{"baseName":{"id":12779,"name":"IERC1155Receiver","nodeType":"IdentifierPath","referencedDeclaration":12145,"src":"303:16:94"},"id":12780,"nodeType":"InheritanceSpecifier","src":"303:16:94"}],"canonicalName":"ERC1155Receiver","contractDependencies":[],"contractKind":"contract","documentation":{"id":12776,"nodeType":"StructuredDocumentation","src":"218:39:94","text":" @dev _Available since v3.1._"},"fullyImplemented":false,"id":12805,"linearizedBaseContracts":[12805,12145,24377,24693],"name":"ERC1155Receiver","nameLocation":"276:15:94","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[24376,24692],"body":{"id":12803,"nodeType":"Block","src":"495:113:94","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":12796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12791,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12783,"src":"512:11:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":12793,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"532:16:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$12145_$","typeString":"type(contract IERC1155Receiver)"}],"id":12792,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"527:4:94","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":12794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"527:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$12145","typeString":"type(contract IERC1155Receiver)"}},"id":12795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"527:34:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"512:49:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":12799,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12783,"src":"589:11:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":12797,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"565:5:94","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155Receiver_$12805_$","typeString":"type(contract super ERC1155Receiver)"}},"id":12798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"565:23:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":12800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"565:36:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"512:89:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12790,"id":12802,"nodeType":"Return","src":"505:96:94"}]},"documentation":{"id":12781,"nodeType":"StructuredDocumentation","src":"326:56:94","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":12804,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"396:17:94","nodeType":"FunctionDefinition","overrides":{"id":12787,"nodeType":"OverrideSpecifier","overrides":[{"id":12785,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"463:6:94"},{"id":12786,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"471:7:94"}],"src":"454:25:94"},"parameters":{"id":12784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12783,"mutability":"mutable","name":"interfaceId","nameLocation":"421:11:94","nodeType":"VariableDeclaration","scope":12804,"src":"414:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12782,"name":"bytes4","nodeType":"ElementaryTypeName","src":"414:6:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"413:20:94"},"returnParameters":{"id":12790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12804,"src":"489:4:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12788,"name":"bool","nodeType":"ElementaryTypeName","src":"489:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"488:6:94"},"scope":12805,"src":"387:221:94","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":12806,"src":"258:352:94","usedErrors":[]}],"src":"108:503:94"},"id":94},"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"IERC20":[13470],"IERC20Metadata":[15760]},"id":13393,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12807,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"105:23:95"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","id":12808,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13393,"sourceUnit":13471,"src":"130:22:95","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","id":12809,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13393,"sourceUnit":15761,"src":"153:41:95","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":12810,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13393,"sourceUnit":22282,"src":"195:33:95","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":12812,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1419:7:95"},"id":12813,"nodeType":"InheritanceSpecifier","src":"1419:7:95"},{"baseName":{"id":12814,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1428:6:95"},"id":12815,"nodeType":"InheritanceSpecifier","src":"1428:6:95"},{"baseName":{"id":12816,"name":"IERC20Metadata","nodeType":"IdentifierPath","referencedDeclaration":15760,"src":"1436:14:95"},"id":12817,"nodeType":"InheritanceSpecifier","src":"1436:14:95"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":12811,"nodeType":"StructuredDocumentation","src":"230:1170:95","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"id":13392,"linearizedBaseContracts":[13392,15760,13470,22281],"name":"ERC20","nameLocation":"1410:5:95","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":12821,"mutability":"mutable","name":"_balances","nameLocation":"1493:9:95","nodeType":"VariableDeclaration","scope":13392,"src":"1457:45:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":12820,"keyType":{"id":12818,"name":"address","nodeType":"ElementaryTypeName","src":"1465:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1457:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":12819,"name":"uint256","nodeType":"ElementaryTypeName","src":"1476:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":12827,"mutability":"mutable","name":"_allowances","nameLocation":"1565:11:95","nodeType":"VariableDeclaration","scope":13392,"src":"1509:67:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":12826,"keyType":{"id":12822,"name":"address","nodeType":"ElementaryTypeName","src":"1517:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1509:47:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":12825,"keyType":{"id":12823,"name":"address","nodeType":"ElementaryTypeName","src":"1536:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1528:27:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":12824,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":12829,"mutability":"mutable","name":"_totalSupply","nameLocation":"1599:12:95","nodeType":"VariableDeclaration","scope":13392,"src":"1583:28:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12828,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":12831,"mutability":"mutable","name":"_name","nameLocation":"1633:5:95","nodeType":"VariableDeclaration","scope":13392,"src":"1618:20:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":12830,"name":"string","nodeType":"ElementaryTypeName","src":"1618:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":12833,"mutability":"mutable","name":"_symbol","nameLocation":"1659:7:95","nodeType":"VariableDeclaration","scope":13392,"src":"1644:22:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":12832,"name":"string","nodeType":"ElementaryTypeName","src":"1644:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":12849,"nodeType":"Block","src":"2032:57:95","statements":[{"expression":{"id":12843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12841,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12831,"src":"2042:5:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12842,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12836,"src":"2050:5:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2042:13:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12844,"nodeType":"ExpressionStatement","src":"2042:13:95"},{"expression":{"id":12847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12845,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12833,"src":"2065:7:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12846,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12838,"src":"2075:7:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2065:17:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12848,"nodeType":"ExpressionStatement","src":"2065:17:95"}]},"documentation":{"id":12834,"nodeType":"StructuredDocumentation","src":"1673:298:95","text":" @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction."},"id":12850,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":12839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12836,"mutability":"mutable","name":"name_","nameLocation":"2002:5:95","nodeType":"VariableDeclaration","scope":12850,"src":"1988:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12835,"name":"string","nodeType":"ElementaryTypeName","src":"1988:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12838,"mutability":"mutable","name":"symbol_","nameLocation":"2023:7:95","nodeType":"VariableDeclaration","scope":12850,"src":"2009:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12837,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1987:44:95"},"returnParameters":{"id":12840,"nodeType":"ParameterList","parameters":[],"src":"2032:0:95"},"scope":13392,"src":"1976:113:95","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[15747],"body":{"id":12859,"nodeType":"Block","src":"2223:29:95","statements":[{"expression":{"id":12857,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12831,"src":"2240:5:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":12856,"id":12858,"nodeType":"Return","src":"2233:12:95"}]},"documentation":{"id":12851,"nodeType":"StructuredDocumentation","src":"2095:54:95","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":12860,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2163:4:95","nodeType":"FunctionDefinition","overrides":{"id":12853,"nodeType":"OverrideSpecifier","overrides":[],"src":"2190:8:95"},"parameters":{"id":12852,"nodeType":"ParameterList","parameters":[],"src":"2167:2:95"},"returnParameters":{"id":12856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12860,"src":"2208:13:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12854,"name":"string","nodeType":"ElementaryTypeName","src":"2208:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2207:15:95"},"scope":13392,"src":"2154:98:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[15753],"body":{"id":12869,"nodeType":"Block","src":"2436:31:95","statements":[{"expression":{"id":12867,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12833,"src":"2453:7:95","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":12866,"id":12868,"nodeType":"Return","src":"2446:14:95"}]},"documentation":{"id":12861,"nodeType":"StructuredDocumentation","src":"2258:102:95","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":12870,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2374:6:95","nodeType":"FunctionDefinition","overrides":{"id":12863,"nodeType":"OverrideSpecifier","overrides":[],"src":"2403:8:95"},"parameters":{"id":12862,"nodeType":"ParameterList","parameters":[],"src":"2380:2:95"},"returnParameters":{"id":12866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12870,"src":"2421:13:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12864,"name":"string","nodeType":"ElementaryTypeName","src":"2421:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2420:15:95"},"scope":13392,"src":"2365:102:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[15759],"body":{"id":12879,"nodeType":"Block","src":"3156:26:95","statements":[{"expression":{"hexValue":"3138","id":12877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3173:2:95","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":12876,"id":12878,"nodeType":"Return","src":"3166:9:95"}]},"documentation":{"id":12871,"nodeType":"StructuredDocumentation","src":"2473:613:95","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","id":12880,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3100:8:95","nodeType":"FunctionDefinition","overrides":{"id":12873,"nodeType":"OverrideSpecifier","overrides":[],"src":"3131:8:95"},"parameters":{"id":12872,"nodeType":"ParameterList","parameters":[],"src":"3108:2:95"},"returnParameters":{"id":12876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12880,"src":"3149:5:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12874,"name":"uint8","nodeType":"ElementaryTypeName","src":"3149:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3148:7:95"},"scope":13392,"src":"3091:91:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13419],"body":{"id":12889,"nodeType":"Block","src":"3312:36:95","statements":[{"expression":{"id":12887,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"3329:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12886,"id":12888,"nodeType":"Return","src":"3322:19:95"}]},"documentation":{"id":12881,"nodeType":"StructuredDocumentation","src":"3188:49:95","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","id":12890,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3251:11:95","nodeType":"FunctionDefinition","overrides":{"id":12883,"nodeType":"OverrideSpecifier","overrides":[],"src":"3285:8:95"},"parameters":{"id":12882,"nodeType":"ParameterList","parameters":[],"src":"3262:2:95"},"returnParameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12890,"src":"3303:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12884,"name":"uint256","nodeType":"ElementaryTypeName","src":"3303:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3302:9:95"},"scope":13392,"src":"3242:106:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13427],"body":{"id":12903,"nodeType":"Block","src":"3489:42:95","statements":[{"expression":{"baseExpression":{"id":12899,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"3506:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12901,"indexExpression":{"id":12900,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12893,"src":"3516:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3506:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12898,"id":12902,"nodeType":"Return","src":"3499:25:95"}]},"documentation":{"id":12891,"nodeType":"StructuredDocumentation","src":"3354:47:95","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","id":12904,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3415:9:95","nodeType":"FunctionDefinition","overrides":{"id":12895,"nodeType":"OverrideSpecifier","overrides":[],"src":"3462:8:95"},"parameters":{"id":12894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12893,"mutability":"mutable","name":"account","nameLocation":"3433:7:95","nodeType":"VariableDeclaration","scope":12904,"src":"3425:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12892,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3424:17:95"},"returnParameters":{"id":12898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12904,"src":"3480:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12896,"name":"uint256","nodeType":"ElementaryTypeName","src":"3480:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3479:9:95"},"scope":13392,"src":"3406:125:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13437],"body":{"id":12928,"nodeType":"Block","src":"3812:104:95","statements":[{"assignments":[12916],"declarations":[{"constant":false,"id":12916,"mutability":"mutable","name":"owner","nameLocation":"3830:5:95","nodeType":"VariableDeclaration","scope":12928,"src":"3822:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12915,"name":"address","nodeType":"ElementaryTypeName","src":"3822:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12919,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12917,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3838:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3838:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3822:28:95"},{"expression":{"arguments":[{"id":12921,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12916,"src":"3870:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12922,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12907,"src":"3877:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12923,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12909,"src":"3881:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12920,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13152,"src":"3860:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":12924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3860:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12925,"nodeType":"ExpressionStatement","src":"3860:28:95"},{"expression":{"hexValue":"74727565","id":12926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3905:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":12914,"id":12927,"nodeType":"Return","src":"3898:11:95"}]},"documentation":{"id":12905,"nodeType":"StructuredDocumentation","src":"3537:185:95","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","id":12929,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3736:8:95","nodeType":"FunctionDefinition","overrides":{"id":12911,"nodeType":"OverrideSpecifier","overrides":[],"src":"3788:8:95"},"parameters":{"id":12910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12907,"mutability":"mutable","name":"to","nameLocation":"3753:2:95","nodeType":"VariableDeclaration","scope":12929,"src":"3745:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12906,"name":"address","nodeType":"ElementaryTypeName","src":"3745:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12909,"mutability":"mutable","name":"amount","nameLocation":"3765:6:95","nodeType":"VariableDeclaration","scope":12929,"src":"3757:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12908,"name":"uint256","nodeType":"ElementaryTypeName","src":"3757:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3744:28:95"},"returnParameters":{"id":12914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12913,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12929,"src":"3806:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12912,"name":"bool","nodeType":"ElementaryTypeName","src":"3806:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3805:6:95"},"scope":13392,"src":"3727:189:95","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13447],"body":{"id":12946,"nodeType":"Block","src":"4072:51:95","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":12940,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12827,"src":"4089:11:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":12942,"indexExpression":{"id":12941,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12932,"src":"4101:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4089:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12944,"indexExpression":{"id":12943,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12934,"src":"4108:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4089:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12939,"id":12945,"nodeType":"Return","src":"4082:34:95"}]},"documentation":{"id":12930,"nodeType":"StructuredDocumentation","src":"3922:47:95","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","id":12947,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3983:9:95","nodeType":"FunctionDefinition","overrides":{"id":12936,"nodeType":"OverrideSpecifier","overrides":[],"src":"4045:8:95"},"parameters":{"id":12935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12932,"mutability":"mutable","name":"owner","nameLocation":"4001:5:95","nodeType":"VariableDeclaration","scope":12947,"src":"3993:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12931,"name":"address","nodeType":"ElementaryTypeName","src":"3993:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12934,"mutability":"mutable","name":"spender","nameLocation":"4016:7:95","nodeType":"VariableDeclaration","scope":12947,"src":"4008:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12933,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3992:32:95"},"returnParameters":{"id":12939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12938,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12947,"src":"4063:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12937,"name":"uint256","nodeType":"ElementaryTypeName","src":"4063:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4062:9:95"},"scope":13392,"src":"3974:149:95","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13457],"body":{"id":12971,"nodeType":"Block","src":"4520:108:95","statements":[{"assignments":[12959],"declarations":[{"constant":false,"id":12959,"mutability":"mutable","name":"owner","nameLocation":"4538:5:95","nodeType":"VariableDeclaration","scope":12971,"src":"4530:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12958,"name":"address","nodeType":"ElementaryTypeName","src":"4530:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12962,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12960,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4546:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4530:28:95"},{"expression":{"arguments":[{"id":12964,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12959,"src":"4577:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12965,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12950,"src":"4584:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12966,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12952,"src":"4593:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12963,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"4568:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":12967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4568:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12968,"nodeType":"ExpressionStatement","src":"4568:32:95"},{"expression":{"hexValue":"74727565","id":12969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4617:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":12957,"id":12970,"nodeType":"Return","src":"4610:11:95"}]},"documentation":{"id":12948,"nodeType":"StructuredDocumentation","src":"4129:297:95","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","id":12972,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4440:7:95","nodeType":"FunctionDefinition","overrides":{"id":12954,"nodeType":"OverrideSpecifier","overrides":[],"src":"4496:8:95"},"parameters":{"id":12953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12950,"mutability":"mutable","name":"spender","nameLocation":"4456:7:95","nodeType":"VariableDeclaration","scope":12972,"src":"4448:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12949,"name":"address","nodeType":"ElementaryTypeName","src":"4448:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12952,"mutability":"mutable","name":"amount","nameLocation":"4473:6:95","nodeType":"VariableDeclaration","scope":12972,"src":"4465:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12951,"name":"uint256","nodeType":"ElementaryTypeName","src":"4465:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4447:33:95"},"returnParameters":{"id":12957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12972,"src":"4514:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12955,"name":"bool","nodeType":"ElementaryTypeName","src":"4514:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4513:6:95"},"scope":13392,"src":"4431:197:95","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13469],"body":{"id":13004,"nodeType":"Block","src":"5323:153:95","statements":[{"assignments":[12986],"declarations":[{"constant":false,"id":12986,"mutability":"mutable","name":"spender","nameLocation":"5341:7:95","nodeType":"VariableDeclaration","scope":13004,"src":"5333:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12985,"name":"address","nodeType":"ElementaryTypeName","src":"5333:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12989,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12987,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5351:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5351:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5333:30:95"},{"expression":{"arguments":[{"id":12991,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12975,"src":"5389:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12992,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12986,"src":"5395:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12993,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12979,"src":"5404:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12990,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13369,"src":"5373:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":12994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5373:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12995,"nodeType":"ExpressionStatement","src":"5373:38:95"},{"expression":{"arguments":[{"id":12997,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12975,"src":"5431:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12998,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12977,"src":"5437:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12999,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12979,"src":"5441:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12996,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13152,"src":"5421:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5421:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13001,"nodeType":"ExpressionStatement","src":"5421:27:95"},{"expression":{"hexValue":"74727565","id":13002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5465:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":12984,"id":13003,"nodeType":"Return","src":"5458:11:95"}]},"documentation":{"id":12973,"nodeType":"StructuredDocumentation","src":"4634:551:95","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","id":13005,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5199:12:95","nodeType":"FunctionDefinition","overrides":{"id":12981,"nodeType":"OverrideSpecifier","overrides":[],"src":"5299:8:95"},"parameters":{"id":12980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12975,"mutability":"mutable","name":"from","nameLocation":"5229:4:95","nodeType":"VariableDeclaration","scope":13005,"src":"5221:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12974,"name":"address","nodeType":"ElementaryTypeName","src":"5221:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12977,"mutability":"mutable","name":"to","nameLocation":"5251:2:95","nodeType":"VariableDeclaration","scope":13005,"src":"5243:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12976,"name":"address","nodeType":"ElementaryTypeName","src":"5243:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12979,"mutability":"mutable","name":"amount","nameLocation":"5271:6:95","nodeType":"VariableDeclaration","scope":13005,"src":"5263:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12978,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5211:72:95"},"returnParameters":{"id":12984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13005,"src":"5317:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12982,"name":"bool","nodeType":"ElementaryTypeName","src":"5317:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5316:6:95"},"scope":13392,"src":"5190:286:95","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":13033,"nodeType":"Block","src":"5965:140:95","statements":[{"assignments":[13016],"declarations":[{"constant":false,"id":13016,"mutability":"mutable","name":"owner","nameLocation":"5983:5:95","nodeType":"VariableDeclaration","scope":13033,"src":"5975:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13015,"name":"address","nodeType":"ElementaryTypeName","src":"5975:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13019,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13017,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5991:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":13018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5991:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5975:28:95"},{"expression":{"arguments":[{"id":13021,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13016,"src":"6022:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13022,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13008,"src":"6029:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13024,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13016,"src":"6048:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13025,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13008,"src":"6055:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":13023,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12947,"src":"6038:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":13026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6038:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13027,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13010,"src":"6066:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6038:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13020,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"6013:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6013:64:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13030,"nodeType":"ExpressionStatement","src":"6013:64:95"},{"expression":{"hexValue":"74727565","id":13031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6094:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":13014,"id":13032,"nodeType":"Return","src":"6087:11:95"}]},"documentation":{"id":13006,"nodeType":"StructuredDocumentation","src":"5482:384:95","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","id":13034,"implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5880:17:95","nodeType":"FunctionDefinition","parameters":{"id":13011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13008,"mutability":"mutable","name":"spender","nameLocation":"5906:7:95","nodeType":"VariableDeclaration","scope":13034,"src":"5898:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13007,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13010,"mutability":"mutable","name":"addedValue","nameLocation":"5923:10:95","nodeType":"VariableDeclaration","scope":13034,"src":"5915:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13009,"name":"uint256","nodeType":"ElementaryTypeName","src":"5915:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5897:37:95"},"returnParameters":{"id":13014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13034,"src":"5959:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13012,"name":"bool","nodeType":"ElementaryTypeName","src":"5959:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5958:6:95"},"scope":13392,"src":"5871:234:95","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":13074,"nodeType":"Block","src":"6691:328:95","statements":[{"assignments":[13045],"declarations":[{"constant":false,"id":13045,"mutability":"mutable","name":"owner","nameLocation":"6709:5:95","nodeType":"VariableDeclaration","scope":13074,"src":"6701:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13044,"name":"address","nodeType":"ElementaryTypeName","src":"6701:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13048,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13046,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6717:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":13047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6717:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6701:28:95"},{"assignments":[13050],"declarations":[{"constant":false,"id":13050,"mutability":"mutable","name":"currentAllowance","nameLocation":"6747:16:95","nodeType":"VariableDeclaration","scope":13074,"src":"6739:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13049,"name":"uint256","nodeType":"ElementaryTypeName","src":"6739:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13055,"initialValue":{"arguments":[{"id":13052,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13045,"src":"6776:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13053,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13037,"src":"6783:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":13051,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12947,"src":"6766:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":13054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6766:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6739:52:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13057,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13050,"src":"6809:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":13058,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13039,"src":"6829:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6809:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":13060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6846:39:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":13056,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6801:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6801:85:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13062,"nodeType":"ExpressionStatement","src":"6801:85:95"},{"id":13071,"nodeType":"UncheckedBlock","src":"6896:95:95","statements":[{"expression":{"arguments":[{"id":13064,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13045,"src":"6929:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13065,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13037,"src":"6936:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13066,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13050,"src":"6945:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13067,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13039,"src":"6964:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6945:34:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13063,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"6920:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6920:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13070,"nodeType":"ExpressionStatement","src":"6920:60:95"}]},{"expression":{"hexValue":"74727565","id":13072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7008:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":13043,"id":13073,"nodeType":"Return","src":"7001:11:95"}]},"documentation":{"id":13035,"nodeType":"StructuredDocumentation","src":"6111:476:95","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","id":13075,"implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6601:17:95","nodeType":"FunctionDefinition","parameters":{"id":13040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13037,"mutability":"mutable","name":"spender","nameLocation":"6627:7:95","nodeType":"VariableDeclaration","scope":13075,"src":"6619:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13036,"name":"address","nodeType":"ElementaryTypeName","src":"6619:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13039,"mutability":"mutable","name":"subtractedValue","nameLocation":"6644:15:95","nodeType":"VariableDeclaration","scope":13075,"src":"6636:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13038,"name":"uint256","nodeType":"ElementaryTypeName","src":"6636:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6618:42:95"},"returnParameters":{"id":13043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13075,"src":"6685:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13041,"name":"bool","nodeType":"ElementaryTypeName","src":"6685:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6684:6:95"},"scope":13392,"src":"6592:427:95","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":13151,"nodeType":"Block","src":"7581:710:95","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13086,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"7599:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7615:1:95","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":13088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7607:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13087,"name":"address","nodeType":"ElementaryTypeName","src":"7607:7:95","typeDescriptions":{}}},"id":13090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7607:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7599:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":13092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7619:39:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":13085,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7591:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7591:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13094,"nodeType":"ExpressionStatement","src":"7591:68:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13096,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"7677:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7691:1:95","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":13098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7683:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13097,"name":"address","nodeType":"ElementaryTypeName","src":"7683:7:95","typeDescriptions":{}}},"id":13100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7683:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7677:16:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":13102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7695:37:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":13095,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7669:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7669:64:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13104,"nodeType":"ExpressionStatement","src":"7669:64:95"},{"expression":{"arguments":[{"id":13106,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"7765:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13107,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"7771:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13108,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"7775:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13105,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13380,"src":"7744:20:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7744:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13110,"nodeType":"ExpressionStatement","src":"7744:38:95"},{"assignments":[13112],"declarations":[{"constant":false,"id":13112,"mutability":"mutable","name":"fromBalance","nameLocation":"7801:11:95","nodeType":"VariableDeclaration","scope":13151,"src":"7793:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13111,"name":"uint256","nodeType":"ElementaryTypeName","src":"7793:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13116,"initialValue":{"baseExpression":{"id":13113,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"7815:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13115,"indexExpression":{"id":13114,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"7825:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7815:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7793:37:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13118,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13112,"src":"7848:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":13119,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"7863:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7848:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":13121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7871:40:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":13117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7840:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7840:72:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13123,"nodeType":"ExpressionStatement","src":"7840:72:95"},{"id":13138,"nodeType":"UncheckedBlock","src":"7922:273:95","statements":[{"expression":{"id":13130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13124,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"7946:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13126,"indexExpression":{"id":13125,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"7956:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7946:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13127,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13112,"src":"7964:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13128,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"7978:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7964:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7946:38:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13131,"nodeType":"ExpressionStatement","src":"7946:38:95"},{"expression":{"id":13136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13132,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"8161:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13134,"indexExpression":{"id":13133,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"8171:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8161:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":13135,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"8178:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8161:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13137,"nodeType":"ExpressionStatement","src":"8161:23:95"}]},{"eventCall":{"arguments":[{"id":13140,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"8219:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13141,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"8225:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13142,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"8229:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13139,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"8210:8:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8210:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13144,"nodeType":"EmitStatement","src":"8205:31:95"},{"expression":{"arguments":[{"id":13146,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"8267:4:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13147,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"8273:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13148,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"8277:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13145,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13391,"src":"8247:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8247:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13150,"nodeType":"ExpressionStatement","src":"8247:37:95"}]},"documentation":{"id":13076,"nodeType":"StructuredDocumentation","src":"7025:443:95","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"id":13152,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7482:9:95","nodeType":"FunctionDefinition","parameters":{"id":13083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13078,"mutability":"mutable","name":"from","nameLocation":"7509:4:95","nodeType":"VariableDeclaration","scope":13152,"src":"7501:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13077,"name":"address","nodeType":"ElementaryTypeName","src":"7501:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13080,"mutability":"mutable","name":"to","nameLocation":"7531:2:95","nodeType":"VariableDeclaration","scope":13152,"src":"7523:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13079,"name":"address","nodeType":"ElementaryTypeName","src":"7523:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13082,"mutability":"mutable","name":"amount","nameLocation":"7551:6:95","nodeType":"VariableDeclaration","scope":13152,"src":"7543:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13081,"name":"uint256","nodeType":"ElementaryTypeName","src":"7543:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7491:72:95"},"returnParameters":{"id":13084,"nodeType":"ParameterList","parameters":[],"src":"7581:0:95"},"scope":13392,"src":"7473:818:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13208,"nodeType":"Block","src":"8632:470:95","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13161,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"8650:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8669:1:95","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":13163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8661:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13162,"name":"address","nodeType":"ElementaryTypeName","src":"8661:7:95","typeDescriptions":{}}},"id":13165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8661:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8650:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":13167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8673:33:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":13160,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8642:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8642:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13169,"nodeType":"ExpressionStatement","src":"8642:65:95"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":13173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8747:1:95","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":13172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8739:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13171,"name":"address","nodeType":"ElementaryTypeName","src":"8739:7:95","typeDescriptions":{}}},"id":13174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8739:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13175,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"8751:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13176,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"8760:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13170,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13380,"src":"8718:20:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8718:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13178,"nodeType":"ExpressionStatement","src":"8718:49:95"},{"expression":{"id":13181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13179,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"8778:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":13180,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"8794:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8778:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13182,"nodeType":"ExpressionStatement","src":"8778:22:95"},{"id":13189,"nodeType":"UncheckedBlock","src":"8810:175:95","statements":[{"expression":{"id":13187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13183,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"8946:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13185,"indexExpression":{"id":13184,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"8956:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8946:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":13186,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"8968:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8946:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13188,"nodeType":"ExpressionStatement","src":"8946:28:95"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":13193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9016:1:95","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":13192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9008:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13191,"name":"address","nodeType":"ElementaryTypeName","src":"9008:7:95","typeDescriptions":{}}},"id":13194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9008:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13195,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"9020:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13196,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"9029:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13190,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"8999:8:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8999:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13198,"nodeType":"EmitStatement","src":"8994:42:95"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":13202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9075:1:95","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":13201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9067:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13200,"name":"address","nodeType":"ElementaryTypeName","src":"9067:7:95","typeDescriptions":{}}},"id":13203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9067:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13204,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"9079:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13205,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"9088:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13199,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13391,"src":"9047:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9047:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13207,"nodeType":"ExpressionStatement","src":"9047:48:95"}]},"documentation":{"id":13153,"nodeType":"StructuredDocumentation","src":"8297:265:95","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"id":13209,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8576:5:95","nodeType":"FunctionDefinition","parameters":{"id":13158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13155,"mutability":"mutable","name":"account","nameLocation":"8590:7:95","nodeType":"VariableDeclaration","scope":13209,"src":"8582:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13154,"name":"address","nodeType":"ElementaryTypeName","src":"8582:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13157,"mutability":"mutable","name":"amount","nameLocation":"8607:6:95","nodeType":"VariableDeclaration","scope":13209,"src":"8599:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13156,"name":"uint256","nodeType":"ElementaryTypeName","src":"8599:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8581:33:95"},"returnParameters":{"id":13159,"nodeType":"ParameterList","parameters":[],"src":"8632:0:95"},"scope":13392,"src":"8567:535:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13280,"nodeType":"Block","src":"9487:594:95","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13218,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"9505:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9524:1:95","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":13220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9516:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13219,"name":"address","nodeType":"ElementaryTypeName","src":"9516:7:95","typeDescriptions":{}}},"id":13222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9516:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9505:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":13224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9528:35:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":13217,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9497:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9497:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13226,"nodeType":"ExpressionStatement","src":"9497:67:95"},{"expression":{"arguments":[{"id":13228,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"9596:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":13231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9613:1:95","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":13230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9605:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13229,"name":"address","nodeType":"ElementaryTypeName","src":"9605:7:95","typeDescriptions":{}}},"id":13232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9605:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13233,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"9617:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13227,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13380,"src":"9575:20:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9575:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13235,"nodeType":"ExpressionStatement","src":"9575:49:95"},{"assignments":[13237],"declarations":[{"constant":false,"id":13237,"mutability":"mutable","name":"accountBalance","nameLocation":"9643:14:95","nodeType":"VariableDeclaration","scope":13280,"src":"9635:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13236,"name":"uint256","nodeType":"ElementaryTypeName","src":"9635:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13241,"initialValue":{"baseExpression":{"id":13238,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"9660:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13240,"indexExpression":{"id":13239,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"9670:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9660:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9635:43:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13243,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13237,"src":"9696:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":13244,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"9714:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9696:24:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":13246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9722:36:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":13242,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9688:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9688:71:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13248,"nodeType":"ExpressionStatement","src":"9688:71:95"},{"id":13261,"nodeType":"UncheckedBlock","src":"9769:194:95","statements":[{"expression":{"id":13255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13249,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"9793:9:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13251,"indexExpression":{"id":13250,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"9803:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9793:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13252,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13237,"src":"9814:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13253,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"9831:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9814:23:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9793:44:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13256,"nodeType":"ExpressionStatement","src":"9793:44:95"},{"expression":{"id":13259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13257,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"9930:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":13258,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"9946:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9930:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13260,"nodeType":"ExpressionStatement","src":"9930:22:95"}]},{"eventCall":{"arguments":[{"id":13263,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"9987:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":13266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10004:1:95","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":13265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9996:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13264,"name":"address","nodeType":"ElementaryTypeName","src":"9996:7:95","typeDescriptions":{}}},"id":13267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9996:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13268,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"10008:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13262,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"9978:8:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9978:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13270,"nodeType":"EmitStatement","src":"9973:42:95"},{"expression":{"arguments":[{"id":13272,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"10046:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":13275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10063:1:95","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":13274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10055:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13273,"name":"address","nodeType":"ElementaryTypeName","src":"10055:7:95","typeDescriptions":{}}},"id":13276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10055:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13277,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"10067:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13271,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13391,"src":"10026:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10026:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13279,"nodeType":"ExpressionStatement","src":"10026:48:95"}]},"documentation":{"id":13210,"nodeType":"StructuredDocumentation","src":"9108:309:95","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"id":13281,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9431:5:95","nodeType":"FunctionDefinition","parameters":{"id":13215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13212,"mutability":"mutable","name":"account","nameLocation":"9445:7:95","nodeType":"VariableDeclaration","scope":13281,"src":"9437:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13211,"name":"address","nodeType":"ElementaryTypeName","src":"9437:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13214,"mutability":"mutable","name":"amount","nameLocation":"9462:6:95","nodeType":"VariableDeclaration","scope":13281,"src":"9454:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13213,"name":"uint256","nodeType":"ElementaryTypeName","src":"9454:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9436:33:95"},"returnParameters":{"id":13216,"nodeType":"ParameterList","parameters":[],"src":"9487:0:95"},"scope":13392,"src":"9422:659:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13325,"nodeType":"Block","src":"10617:257:95","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13292,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13284,"src":"10635:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10652:1:95","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":13294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10644:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13293,"name":"address","nodeType":"ElementaryTypeName","src":"10644:7:95","typeDescriptions":{}}},"id":13296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10644:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10635:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":13298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10656:38:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":13291,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10627:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10627:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13300,"nodeType":"ExpressionStatement","src":"10627:68:95"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13302,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13286,"src":"10713:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10732:1:95","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":13304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10724:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13303,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:95","typeDescriptions":{}}},"id":13306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10724:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10713:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":13308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10736:36:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":13301,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10705:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10705:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13310,"nodeType":"ExpressionStatement","src":"10705:68:95"},{"expression":{"id":13317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":13311,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12827,"src":"10784:11:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":13314,"indexExpression":{"id":13312,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13284,"src":"10796:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10784:18:95","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13315,"indexExpression":{"id":13313,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13286,"src":"10803:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10784:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":13316,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13288,"src":"10814:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10784:36:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13318,"nodeType":"ExpressionStatement","src":"10784:36:95"},{"eventCall":{"arguments":[{"id":13320,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13284,"src":"10844:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13321,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13286,"src":"10851:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13322,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13288,"src":"10860:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13319,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13413,"src":"10835:8:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10835:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13324,"nodeType":"EmitStatement","src":"10830:37:95"}]},"documentation":{"id":13282,"nodeType":"StructuredDocumentation","src":"10087:412:95","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"id":13326,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10513:8:95","nodeType":"FunctionDefinition","parameters":{"id":13289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13284,"mutability":"mutable","name":"owner","nameLocation":"10539:5:95","nodeType":"VariableDeclaration","scope":13326,"src":"10531:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13283,"name":"address","nodeType":"ElementaryTypeName","src":"10531:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13286,"mutability":"mutable","name":"spender","nameLocation":"10562:7:95","nodeType":"VariableDeclaration","scope":13326,"src":"10554:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13285,"name":"address","nodeType":"ElementaryTypeName","src":"10554:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13288,"mutability":"mutable","name":"amount","nameLocation":"10587:6:95","nodeType":"VariableDeclaration","scope":13326,"src":"10579:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13287,"name":"uint256","nodeType":"ElementaryTypeName","src":"10579:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10521:78:95"},"returnParameters":{"id":13290,"nodeType":"ParameterList","parameters":[],"src":"10617:0:95"},"scope":13392,"src":"10504:370:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13368,"nodeType":"Block","src":"11275:321:95","statements":[{"assignments":[13337],"declarations":[{"constant":false,"id":13337,"mutability":"mutable","name":"currentAllowance","nameLocation":"11293:16:95","nodeType":"VariableDeclaration","scope":13368,"src":"11285:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13336,"name":"uint256","nodeType":"ElementaryTypeName","src":"11285:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13342,"initialValue":{"arguments":[{"id":13339,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13329,"src":"11322:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13340,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13331,"src":"11329:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":13338,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12947,"src":"11312:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":13341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11312:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11285:52:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13343,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13337,"src":"11351:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":13346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11376:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13345,"name":"uint256","nodeType":"ElementaryTypeName","src":"11376:7:95","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":13344,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11371:4:95","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":13347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11371:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":13348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"11371:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11351:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13367,"nodeType":"IfStatement","src":"11347:243:95","trueBody":{"id":13366,"nodeType":"Block","src":"11390:200:95","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13351,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13337,"src":"11412:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":13352,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13333,"src":"11432:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11412:26:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":13354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11440:31:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":13350,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11404:7:95","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11404:68:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13356,"nodeType":"ExpressionStatement","src":"11404:68:95"},{"id":13365,"nodeType":"UncheckedBlock","src":"11486:94:95","statements":[{"expression":{"arguments":[{"id":13358,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13329,"src":"11523:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13359,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13331,"src":"11530:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13360,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13337,"src":"11539:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13361,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13333,"src":"11558:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11539:25:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13357,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"11514:8:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11514:51:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13364,"nodeType":"ExpressionStatement","src":"11514:51:95"}]}]}}]},"documentation":{"id":13327,"nodeType":"StructuredDocumentation","src":"10880:270:95","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"id":13369,"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11164:15:95","nodeType":"FunctionDefinition","parameters":{"id":13334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13329,"mutability":"mutable","name":"owner","nameLocation":"11197:5:95","nodeType":"VariableDeclaration","scope":13369,"src":"11189:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13328,"name":"address","nodeType":"ElementaryTypeName","src":"11189:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13331,"mutability":"mutable","name":"spender","nameLocation":"11220:7:95","nodeType":"VariableDeclaration","scope":13369,"src":"11212:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13330,"name":"address","nodeType":"ElementaryTypeName","src":"11212:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13333,"mutability":"mutable","name":"amount","nameLocation":"11245:6:95","nodeType":"VariableDeclaration","scope":13369,"src":"11237:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13332,"name":"uint256","nodeType":"ElementaryTypeName","src":"11237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11179:78:95"},"returnParameters":{"id":13335,"nodeType":"ParameterList","parameters":[],"src":"11275:0:95"},"scope":13392,"src":"11155:441:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13379,"nodeType":"Block","src":"12299:2:95","statements":[]},"documentation":{"id":13370,"nodeType":"StructuredDocumentation","src":"11602:573:95","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":13380,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12189:20:95","nodeType":"FunctionDefinition","parameters":{"id":13377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13372,"mutability":"mutable","name":"from","nameLocation":"12227:4:95","nodeType":"VariableDeclaration","scope":13380,"src":"12219:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13371,"name":"address","nodeType":"ElementaryTypeName","src":"12219:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13374,"mutability":"mutable","name":"to","nameLocation":"12249:2:95","nodeType":"VariableDeclaration","scope":13380,"src":"12241:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13373,"name":"address","nodeType":"ElementaryTypeName","src":"12241:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13376,"mutability":"mutable","name":"amount","nameLocation":"12269:6:95","nodeType":"VariableDeclaration","scope":13380,"src":"12261:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13375,"name":"uint256","nodeType":"ElementaryTypeName","src":"12261:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12209:72:95"},"returnParameters":{"id":13378,"nodeType":"ParameterList","parameters":[],"src":"12299:0:95"},"scope":13392,"src":"12180:121:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13390,"nodeType":"Block","src":"13007:2:95","statements":[]},"documentation":{"id":13381,"nodeType":"StructuredDocumentation","src":"12307:577:95","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":13391,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12898:19:95","nodeType":"FunctionDefinition","parameters":{"id":13388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13383,"mutability":"mutable","name":"from","nameLocation":"12935:4:95","nodeType":"VariableDeclaration","scope":13391,"src":"12927:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13382,"name":"address","nodeType":"ElementaryTypeName","src":"12927:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13385,"mutability":"mutable","name":"to","nameLocation":"12957:2:95","nodeType":"VariableDeclaration","scope":13391,"src":"12949:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13384,"name":"address","nodeType":"ElementaryTypeName","src":"12949:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13387,"mutability":"mutable","name":"amount","nameLocation":"12977:6:95","nodeType":"VariableDeclaration","scope":13391,"src":"12969:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13386,"name":"uint256","nodeType":"ElementaryTypeName","src":"12969:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12917:72:95"},"returnParameters":{"id":13389,"nodeType":"ParameterList","parameters":[],"src":"13007:0:95"},"scope":13392,"src":"12889:120:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":13393,"src":"1401:11610:95","usedErrors":[]}],"src":"105:12907:95"},"id":95},"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[13470]},"id":13471,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13394,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"106:23:96"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":13395,"nodeType":"StructuredDocumentation","src":"131:70:96","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":13470,"linearizedBaseContracts":[13470],"name":"IERC20","nameLocation":"212:6:96","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":13396,"nodeType":"StructuredDocumentation","src":"225:158:96","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"id":13404,"name":"Transfer","nameLocation":"394:8:96","nodeType":"EventDefinition","parameters":{"id":13403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13398,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:96","nodeType":"VariableDeclaration","scope":13404,"src":"403:20:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13397,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13400,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:96","nodeType":"VariableDeclaration","scope":13404,"src":"425:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13399,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13402,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:96","nodeType":"VariableDeclaration","scope":13404,"src":"445:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13401,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:96"},"src":"388:72:96"},{"anonymous":false,"documentation":{"id":13405,"nodeType":"StructuredDocumentation","src":"466:148:96","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"id":13413,"name":"Approval","nameLocation":"625:8:96","nodeType":"EventDefinition","parameters":{"id":13412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13407,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:96","nodeType":"VariableDeclaration","scope":13413,"src":"634:21:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13406,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13409,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:96","nodeType":"VariableDeclaration","scope":13413,"src":"657:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13408,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13411,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:96","nodeType":"VariableDeclaration","scope":13413,"src":"682:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13410,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:96"},"src":"619:78:96"},{"documentation":{"id":13414,"nodeType":"StructuredDocumentation","src":"703:66:96","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":13419,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:96","nodeType":"FunctionDefinition","parameters":{"id":13415,"nodeType":"ParameterList","parameters":[],"src":"794:2:96"},"returnParameters":{"id":13418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13419,"src":"820:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13416,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:96"},"scope":13470,"src":"774:55:96","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":13420,"nodeType":"StructuredDocumentation","src":"835:72:96","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":13427,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:96","nodeType":"FunctionDefinition","parameters":{"id":13423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13422,"mutability":"mutable","name":"account","nameLocation":"939:7:96","nodeType":"VariableDeclaration","scope":13427,"src":"931:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13421,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:96"},"returnParameters":{"id":13426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13427,"src":"971:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13424,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:96"},"scope":13470,"src":"912:68:96","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":13428,"nodeType":"StructuredDocumentation","src":"986:202:96","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":13437,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:96","nodeType":"FunctionDefinition","parameters":{"id":13433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13430,"mutability":"mutable","name":"to","nameLocation":"1219:2:96","nodeType":"VariableDeclaration","scope":13437,"src":"1211:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13429,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13432,"mutability":"mutable","name":"amount","nameLocation":"1231:6:96","nodeType":"VariableDeclaration","scope":13437,"src":"1223:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:96"},"returnParameters":{"id":13436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13437,"src":"1257:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13434,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:96"},"scope":13470,"src":"1193:70:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":13438,"nodeType":"StructuredDocumentation","src":"1269:264:96","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":13447,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:96","nodeType":"FunctionDefinition","parameters":{"id":13443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13440,"mutability":"mutable","name":"owner","nameLocation":"1565:5:96","nodeType":"VariableDeclaration","scope":13447,"src":"1557:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13439,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13442,"mutability":"mutable","name":"spender","nameLocation":"1580:7:96","nodeType":"VariableDeclaration","scope":13447,"src":"1572:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13441,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:96"},"returnParameters":{"id":13446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13447,"src":"1612:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:96"},"scope":13470,"src":"1538:83:96","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":13448,"nodeType":"StructuredDocumentation","src":"1627:642:96","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":13457,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:96","nodeType":"FunctionDefinition","parameters":{"id":13453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13450,"mutability":"mutable","name":"spender","nameLocation":"2299:7:96","nodeType":"VariableDeclaration","scope":13457,"src":"2291:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13449,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13452,"mutability":"mutable","name":"amount","nameLocation":"2316:6:96","nodeType":"VariableDeclaration","scope":13457,"src":"2308:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13451,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:96"},"returnParameters":{"id":13456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13457,"src":"2342:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13454,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:96"},"scope":13470,"src":"2274:74:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":13458,"nodeType":"StructuredDocumentation","src":"2354:287:96","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":13469,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:96","nodeType":"FunctionDefinition","parameters":{"id":13465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13460,"mutability":"mutable","name":"from","nameLocation":"2685:4:96","nodeType":"VariableDeclaration","scope":13469,"src":"2677:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13459,"name":"address","nodeType":"ElementaryTypeName","src":"2677:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13462,"mutability":"mutable","name":"to","nameLocation":"2707:2:96","nodeType":"VariableDeclaration","scope":13469,"src":"2699:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13461,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13464,"mutability":"mutable","name":"amount","nameLocation":"2727:6:96","nodeType":"VariableDeclaration","scope":13469,"src":"2719:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13463,"name":"uint256","nodeType":"ElementaryTypeName","src":"2719:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:72:96"},"returnParameters":{"id":13468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13469,"src":"2758:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13466,"name":"bool","nodeType":"ElementaryTypeName","src":"2758:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2757:6:96"},"scope":13470,"src":"2646:118:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":13471,"src":"202:2564:96","usedErrors":[]}],"src":"106:2661:96"},"id":96},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"ERC20Burnable":[13514],"IERC20":[13470],"IERC20Metadata":[15760]},"id":13515,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13472,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"124:23:97"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":13473,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13515,"sourceUnit":13393,"src":"149:22:97","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":13474,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13515,"sourceUnit":22282,"src":"172:36:97","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":13476,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"454:7:97"},"id":13477,"nodeType":"InheritanceSpecifier","src":"454:7:97"},{"baseName":{"id":13478,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"463:5:97"},"id":13479,"nodeType":"InheritanceSpecifier","src":"463:5:97"}],"canonicalName":"ERC20Burnable","contractDependencies":[],"contractKind":"contract","documentation":{"id":13475,"nodeType":"StructuredDocumentation","src":"210:208:97","text":" @dev Extension of {ERC20} that allows token holders to destroy both their own\n tokens and those that they have an allowance for, in a way that can be\n recognized off-chain (via event analysis)."},"fullyImplemented":false,"id":13514,"linearizedBaseContracts":[13514,13392,15760,13470,22281],"name":"ERC20Burnable","nameLocation":"437:13:97","nodeType":"ContractDefinition","nodes":[{"body":{"id":13491,"nodeType":"Block","src":"623:44:97","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":13486,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"639:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":13487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"639:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13488,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13482,"src":"653:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13485,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"633:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"633:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13490,"nodeType":"ExpressionStatement","src":"633:27:97"}]},"documentation":{"id":13480,"nodeType":"StructuredDocumentation","src":"475:98:97","text":" @dev Destroys `amount` tokens from the caller.\n See {ERC20-_burn}."},"functionSelector":"42966c68","id":13492,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"587:4:97","nodeType":"FunctionDefinition","parameters":{"id":13483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13482,"mutability":"mutable","name":"amount","nameLocation":"600:6:97","nodeType":"VariableDeclaration","scope":13492,"src":"592:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13481,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"591:16:97"},"returnParameters":{"id":13484,"nodeType":"ParameterList","parameters":[],"src":"623:0:97"},"scope":13514,"src":"578:89:97","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":13512,"nodeType":"Block","src":"1039:95:97","statements":[{"expression":{"arguments":[{"id":13501,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13495,"src":"1065:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":13502,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1074:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":13503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1074:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13504,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13497,"src":"1088:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13500,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13369,"src":"1049:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1049:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13506,"nodeType":"ExpressionStatement","src":"1049:46:97"},{"expression":{"arguments":[{"id":13508,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13495,"src":"1111:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13509,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13497,"src":"1120:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13507,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"1105:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1105:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13511,"nodeType":"ExpressionStatement","src":"1105:22:97"}]},"documentation":{"id":13493,"nodeType":"StructuredDocumentation","src":"673:295:97","text":" @dev Destroys `amount` tokens from `account`, deducting from the caller's\n allowance.\n See {ERC20-_burn} and {ERC20-allowance}.\n Requirements:\n - the caller must have allowance for ``accounts``'s tokens of at least\n `amount`."},"functionSelector":"79cc6790","id":13513,"implemented":true,"kind":"function","modifiers":[],"name":"burnFrom","nameLocation":"982:8:97","nodeType":"FunctionDefinition","parameters":{"id":13498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13495,"mutability":"mutable","name":"account","nameLocation":"999:7:97","nodeType":"VariableDeclaration","scope":13513,"src":"991:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13494,"name":"address","nodeType":"ElementaryTypeName","src":"991:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13497,"mutability":"mutable","name":"amount","nameLocation":"1016:6:97","nodeType":"VariableDeclaration","scope":13513,"src":"1008:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13496,"name":"uint256","nodeType":"ElementaryTypeName","src":"1008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"990:33:97"},"returnParameters":{"id":13499,"nodeType":"ParameterList","parameters":[],"src":"1039:0:97"},"scope":13514,"src":"973:161:97","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":13515,"src":"419:717:97","usedErrors":[]}],"src":"124:1013:97"},"id":97},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"ERC20Capped":[13579],"IERC20":[13470],"IERC20Metadata":[15760]},"id":13580,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13516,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:98"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":13517,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13580,"sourceUnit":13393,"src":"132:22:98","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":13519,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"267:5:98"},"id":13520,"nodeType":"InheritanceSpecifier","src":"267:5:98"}],"canonicalName":"ERC20Capped","contractDependencies":[],"contractKind":"contract","documentation":{"id":13518,"nodeType":"StructuredDocumentation","src":"156:77:98","text":" @dev Extension of {ERC20} that adds a cap to the supply of tokens."},"fullyImplemented":false,"id":13579,"linearizedBaseContracts":[13579,13392,15760,13470,22281],"name":"ERC20Capped","nameLocation":"252:11:98","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":13522,"mutability":"immutable","name":"_cap","nameLocation":"305:4:98","nodeType":"VariableDeclaration","scope":13579,"src":"279:30:98","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13521,"name":"uint256","nodeType":"ElementaryTypeName","src":"279:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"body":{"id":13539,"nodeType":"Block","src":"476:80:98","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13529,"name":"cap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"494:4:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"501:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"494:8:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332304361707065643a206361702069732030","id":13532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"504:23:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_073f3193e2b9c9099973df1adea790edf33994edcd3f57beae2487f3c5bd8828","typeString":"literal_string \"ERC20Capped: cap is 0\""},"value":"ERC20Capped: cap is 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_073f3193e2b9c9099973df1adea790edf33994edcd3f57beae2487f3c5bd8828","typeString":"literal_string \"ERC20Capped: cap is 0\""}],"id":13528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"486:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"486:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13534,"nodeType":"ExpressionStatement","src":"486:42:98"},{"expression":{"id":13537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13535,"name":"_cap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13522,"src":"538:4:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":13536,"name":"cap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"545:4:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"538:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13538,"nodeType":"ExpressionStatement","src":"538:11:98"}]},"documentation":{"id":13523,"nodeType":"StructuredDocumentation","src":"316:129:98","text":" @dev Sets the value of the `cap`. This value is immutable, it can only be\n set once during construction."},"id":13540,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":13526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13525,"mutability":"mutable","name":"cap_","nameLocation":"470:4:98","nodeType":"VariableDeclaration","scope":13540,"src":"462:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13524,"name":"uint256","nodeType":"ElementaryTypeName","src":"462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"461:14:98"},"returnParameters":{"id":13527,"nodeType":"ParameterList","parameters":[],"src":"476:0:98"},"scope":13579,"src":"450:106:98","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13548,"nodeType":"Block","src":"688:28:98","statements":[{"expression":{"id":13546,"name":"_cap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13522,"src":"705:4:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13545,"id":13547,"nodeType":"Return","src":"698:11:98"}]},"documentation":{"id":13541,"nodeType":"StructuredDocumentation","src":"562:68:98","text":" @dev Returns the cap on the token's total supply."},"functionSelector":"355274ea","id":13549,"implemented":true,"kind":"function","modifiers":[],"name":"cap","nameLocation":"644:3:98","nodeType":"FunctionDefinition","parameters":{"id":13542,"nodeType":"ParameterList","parameters":[],"src":"647:2:98"},"returnParameters":{"id":13545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13549,"src":"679:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13543,"name":"uint256","nodeType":"ElementaryTypeName","src":"679:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"678:9:98"},"scope":13579,"src":"635:81:98","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13209],"body":{"id":13577,"nodeType":"Block","src":"843:130:98","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":13559,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13392,"src":"861:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$13392_$","typeString":"type(contract ERC20)"}},"id":13560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":12890,"src":"861:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":13561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"861:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13562,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13554,"src":"883:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"861:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":13564,"name":"cap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13549,"src":"893:3:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":13565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"893:5:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"861:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332304361707065643a20636170206578636565646564","id":13567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"900:27:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0532a65ade852f12d67926b1625bbc98f7eb7c650703bf531fd4e07ded2c49f","typeString":"literal_string \"ERC20Capped: cap exceeded\""},"value":"ERC20Capped: cap exceeded"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c0532a65ade852f12d67926b1625bbc98f7eb7c650703bf531fd4e07ded2c49f","typeString":"literal_string \"ERC20Capped: cap exceeded\""}],"id":13558,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"853:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"853:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13569,"nodeType":"ExpressionStatement","src":"853:75:98"},{"expression":{"arguments":[{"id":13573,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13552,"src":"950:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13574,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13554,"src":"959:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13570,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"938:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Capped_$13579_$","typeString":"type(contract super ERC20Capped)"}},"id":13572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_mint","nodeType":"MemberAccess","referencedDeclaration":13209,"src":"938:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"938:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13576,"nodeType":"ExpressionStatement","src":"938:28:98"}]},"documentation":{"id":13550,"nodeType":"StructuredDocumentation","src":"722:42:98","text":" @dev See {ERC20-_mint}."},"id":13578,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"778:5:98","nodeType":"FunctionDefinition","overrides":{"id":13556,"nodeType":"OverrideSpecifier","overrides":[],"src":"834:8:98"},"parameters":{"id":13555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13552,"mutability":"mutable","name":"account","nameLocation":"792:7:98","nodeType":"VariableDeclaration","scope":13578,"src":"784:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13551,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13554,"mutability":"mutable","name":"amount","nameLocation":"809:6:98","nodeType":"VariableDeclaration","scope":13578,"src":"801:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13553,"name":"uint256","nodeType":"ElementaryTypeName","src":"801:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"783:33:98"},"returnParameters":{"id":13557,"nodeType":"ParameterList","parameters":[],"src":"843:0:98"},"scope":13579,"src":"769:204:98","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":13580,"src":"234:741:98","usedErrors":[]}],"src":"107:869:98"},"id":98},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"ERC20FlashMint":[13796],"IERC20":[13470],"IERC20Metadata":[15760],"IERC3156FlashBorrower":[8834],"IERC3156FlashLender":[8872]},"id":13797,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13581,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"125:23:99"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol","file":"../../../interfaces/IERC3156FlashBorrower.sol","id":13582,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13797,"sourceUnit":8835,"src":"150:55:99","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol","file":"../../../interfaces/IERC3156FlashLender.sol","id":13583,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13797,"sourceUnit":8873,"src":"206:53:99","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":13584,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13797,"sourceUnit":13393,"src":"260:22:99","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":13586,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"657:5:99"},"id":13587,"nodeType":"InheritanceSpecifier","src":"657:5:99"},{"baseName":{"id":13588,"name":"IERC3156FlashLender","nodeType":"IdentifierPath","referencedDeclaration":8872,"src":"664:19:99"},"id":13589,"nodeType":"InheritanceSpecifier","src":"664:19:99"}],"canonicalName":"ERC20FlashMint","contractDependencies":[],"contractKind":"contract","documentation":{"id":13585,"nodeType":"StructuredDocumentation","src":"284:336:99","text":" @dev Implementation of the ERC3156 Flash loans extension, as defined in\n https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].\n Adds the {flashLoan} method, which provides flash loan support at the token\n level. By default there is no fee, but this can be changed by overriding {flashFee}.\n _Available since v4.1._"},"fullyImplemented":false,"id":13796,"linearizedBaseContracts":[13796,8872,13392,15760,13470,22281],"name":"ERC20FlashMint","nameLocation":"639:14:99","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":13594,"mutability":"constant","name":"_RETURN_VALUE","nameLocation":"715:13:99","nodeType":"VariableDeclaration","scope":13796,"src":"690:86:99","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"690:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"45524333313536466c617368426f72726f7765722e6f6e466c6173684c6f616e","id":13592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"741:34:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9","typeString":"literal_string \"ERC3156FlashBorrower.onFlashLoan\""},"value":"ERC3156FlashBorrower.onFlashLoan"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9","typeString":"literal_string \"ERC3156FlashBorrower.onFlashLoan\""}],"id":13591,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"731:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"731:45:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"baseFunctions":[8846],"body":{"id":13621,"nodeType":"Block","src":"1071:92:99","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13603,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13597,"src":"1088:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":13606,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1105:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}],"id":13605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1097:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13604,"name":"address","nodeType":"ElementaryTypeName","src":"1097:7:99","typeDescriptions":{}}},"id":13607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1097:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1088:22:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":13618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1155:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":13619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1088:68:99","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":13611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1118:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13610,"name":"uint256","nodeType":"ElementaryTypeName","src":"1118:7:99","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":13609,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1113:4:99","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":13612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1113:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":13613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"1113:17:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":13614,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13392,"src":"1133:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$13392_$","typeString":"type(contract ERC20)"}},"id":13615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":12890,"src":"1133:17:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":13616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1133:19:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1113:39:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13602,"id":13620,"nodeType":"Return","src":"1081:75:99"}]},"documentation":{"id":13595,"nodeType":"StructuredDocumentation","src":"783:199:99","text":" @dev Returns the maximum amount of tokens available for loan.\n @param token The address of the token that is requested.\n @return The amount of token that can be loaned."},"functionSelector":"613255ab","id":13622,"implemented":true,"kind":"function","modifiers":[],"name":"maxFlashLoan","nameLocation":"996:12:99","nodeType":"FunctionDefinition","overrides":{"id":13599,"nodeType":"OverrideSpecifier","overrides":[],"src":"1044:8:99"},"parameters":{"id":13598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13597,"mutability":"mutable","name":"token","nameLocation":"1017:5:99","nodeType":"VariableDeclaration","scope":13622,"src":"1009:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13596,"name":"address","nodeType":"ElementaryTypeName","src":"1009:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1008:15:99"},"returnParameters":{"id":13602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13622,"src":"1062:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13600,"name":"uint256","nodeType":"ElementaryTypeName","src":"1062:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1061:9:99"},"scope":13796,"src":"987:176:99","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8856],"body":{"id":13648,"nodeType":"Block","src":"1625:120:99","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13634,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13625,"src":"1643:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":13637,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1660:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}],"id":13636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1652:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13635,"name":"address","nodeType":"ElementaryTypeName","src":"1652:7:99","typeDescriptions":{}}},"id":13638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1652:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1643:22:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230466c6173684d696e743a2077726f6e6720746f6b656e","id":13640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1667:29:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_8045752bf1f8e0707249246eec289248dc4bbf20a7a2babbd0d33f8827b6ff30","typeString":"literal_string \"ERC20FlashMint: wrong token\""},"value":"ERC20FlashMint: wrong token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8045752bf1f8e0707249246eec289248dc4bbf20a7a2babbd0d33f8827b6ff30","typeString":"literal_string \"ERC20FlashMint: wrong token\""}],"id":13633,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1635:7:99","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1635:62:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13642,"nodeType":"ExpressionStatement","src":"1635:62:99"},{"expression":{"arguments":[{"id":13644,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13625,"src":"1724:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13645,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13627,"src":"1731:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13643,"name":"_flashFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13666,"src":"1714:9:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":13646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1714:24:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13632,"id":13647,"nodeType":"Return","src":"1707:31:99"}]},"documentation":{"id":13623,"nodeType":"StructuredDocumentation","src":"1169:355:99","text":" @dev Returns the fee applied when doing flash loans. This function calls\n the {_flashFee} function which returns the fee applied when doing flash\n loans.\n @param token The token to be flash loaned.\n @param amount The amount of tokens to be loaned.\n @return The fees applied to the corresponding flash loan."},"functionSelector":"d9d98ce4","id":13649,"implemented":true,"kind":"function","modifiers":[],"name":"flashFee","nameLocation":"1538:8:99","nodeType":"FunctionDefinition","overrides":{"id":13629,"nodeType":"OverrideSpecifier","overrides":[],"src":"1598:8:99"},"parameters":{"id":13628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13625,"mutability":"mutable","name":"token","nameLocation":"1555:5:99","nodeType":"VariableDeclaration","scope":13649,"src":"1547:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13624,"name":"address","nodeType":"ElementaryTypeName","src":"1547:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13627,"mutability":"mutable","name":"amount","nameLocation":"1570:6:99","nodeType":"VariableDeclaration","scope":13649,"src":"1562:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13626,"name":"uint256","nodeType":"ElementaryTypeName","src":"1562:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1546:31:99"},"returnParameters":{"id":13632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13649,"src":"1616:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13630,"name":"uint256","nodeType":"ElementaryTypeName","src":"1616:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1615:9:99"},"scope":13796,"src":"1529:216:99","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13665,"nodeType":"Block","src":"2224:139:99","statements":[{"expression":{"id":13659,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13652,"src":"2317:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13660,"nodeType":"ExpressionStatement","src":"2317:5:99"},{"expression":{"id":13661,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13654,"src":"2332:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13662,"nodeType":"ExpressionStatement","src":"2332:6:99"},{"expression":{"hexValue":"30","id":13663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2355:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":13658,"id":13664,"nodeType":"Return","src":"2348:8:99"}]},"documentation":{"id":13650,"nodeType":"StructuredDocumentation","src":"1751:378:99","text":" @dev Returns the fee applied when doing flash loans. By default this\n implementation has 0 fees. This function can be overloaded to make\n the flash loan mechanism deflationary.\n @param token The token to be flash loaned.\n @param amount The amount of tokens to be loaned.\n @return The fees applied to the corresponding flash loan."},"id":13666,"implemented":true,"kind":"function","modifiers":[],"name":"_flashFee","nameLocation":"2143:9:99","nodeType":"FunctionDefinition","parameters":{"id":13655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13652,"mutability":"mutable","name":"token","nameLocation":"2161:5:99","nodeType":"VariableDeclaration","scope":13666,"src":"2153:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13651,"name":"address","nodeType":"ElementaryTypeName","src":"2153:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13654,"mutability":"mutable","name":"amount","nameLocation":"2176:6:99","nodeType":"VariableDeclaration","scope":13666,"src":"2168:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13653,"name":"uint256","nodeType":"ElementaryTypeName","src":"2168:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2152:31:99"},"returnParameters":{"id":13658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13657,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13666,"src":"2215:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13656,"name":"uint256","nodeType":"ElementaryTypeName","src":"2215:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2214:9:99"},"scope":13796,"src":"2134:229:99","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":13677,"nodeType":"Block","src":"2751:34:99","statements":[{"expression":{"arguments":[{"hexValue":"30","id":13674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2776:1:99","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":13673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2768:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13672,"name":"address","nodeType":"ElementaryTypeName","src":"2768:7:99","typeDescriptions":{}}},"id":13675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2768:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13671,"id":13676,"nodeType":"Return","src":"2761:17:99"}]},"documentation":{"id":13667,"nodeType":"StructuredDocumentation","src":"2369:308:99","text":" @dev Returns the receiver address of the flash fee. By default this\n implementation returns the address(0) which means the fee amount will be burnt.\n This function can be overloaded to change the fee receiver.\n @return The address for which the flash fee will be sent to."},"id":13678,"implemented":true,"kind":"function","modifiers":[],"name":"_flashFeeReceiver","nameLocation":"2691:17:99","nodeType":"FunctionDefinition","parameters":{"id":13668,"nodeType":"ParameterList","parameters":[],"src":"2708:2:99"},"returnParameters":{"id":13671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13678,"src":"2742:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13669,"name":"address","nodeType":"ElementaryTypeName","src":"2742:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2741:9:99"},"scope":13796,"src":"2682:103:99","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[8871],"body":{"id":13794,"nodeType":"Block","src":"4022:757:99","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13695,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4040:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":13697,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13684,"src":"4063:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13696,"name":"maxFlashLoan","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"4050:12:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4050:19:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4040:29:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230466c6173684d696e743a20616d6f756e742065786365656473206d6178466c6173684c6f616e","id":13700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4071:45:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_a95260fc1ea50b9fae0bd0c2ec12cfdf9bb2fb03a7e318182193c7e9cfe937d9","typeString":"literal_string \"ERC20FlashMint: amount exceeds maxFlashLoan\""},"value":"ERC20FlashMint: amount exceeds maxFlashLoan"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a95260fc1ea50b9fae0bd0c2ec12cfdf9bb2fb03a7e318182193c7e9cfe937d9","typeString":"literal_string \"ERC20FlashMint: amount exceeds maxFlashLoan\""}],"id":13694,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4032:7:99","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4032:85:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13702,"nodeType":"ExpressionStatement","src":"4032:85:99"},{"assignments":[13704],"declarations":[{"constant":false,"id":13704,"mutability":"mutable","name":"fee","nameLocation":"4135:3:99","nodeType":"VariableDeclaration","scope":13794,"src":"4127:11:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13703,"name":"uint256","nodeType":"ElementaryTypeName","src":"4127:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13709,"initialValue":{"arguments":[{"id":13706,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13684,"src":"4150:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13707,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4157:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13705,"name":"flashFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13649,"src":"4141:8:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":13708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4141:23:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4127:37:99"},{"expression":{"arguments":[{"arguments":[{"id":13713,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4188:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}],"id":13712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4180:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13711,"name":"address","nodeType":"ElementaryTypeName","src":"4180:7:99","typeDescriptions":{}}},"id":13714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4180:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13715,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4199:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13710,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"4174:5:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4174:32:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13717,"nodeType":"ExpressionStatement","src":"4174:32:99"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":13721,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4258:3:99","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":13722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4258:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13723,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13684,"src":"4270:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13724,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4277:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13725,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13704,"src":"4285:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13726,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13688,"src":"4290:4:99","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":13719,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4237:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}},"id":13720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onFlashLoan","nodeType":"MemberAccess","referencedDeclaration":8833,"src":"4237:20:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes32)"}},"id":13727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4237:58:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":13728,"name":"_RETURN_VALUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13594,"src":"4299:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4237:75:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230466c6173684d696e743a20696e76616c69642072657475726e2076616c7565","id":13730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4326:38:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_60b46eee919fdc048fce2496f82a5160d2d7a573b9d7b3321e803c603f0879cb","typeString":"literal_string \"ERC20FlashMint: invalid return value\""},"value":"ERC20FlashMint: invalid return value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_60b46eee919fdc048fce2496f82a5160d2d7a573b9d7b3321e803c603f0879cb","typeString":"literal_string \"ERC20FlashMint: invalid return value\""}],"id":13718,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4216:7:99","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4216:158:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13732,"nodeType":"ExpressionStatement","src":"4216:158:99"},{"assignments":[13734],"declarations":[{"constant":false,"id":13734,"mutability":"mutable","name":"flashFeeReceiver","nameLocation":"4392:16:99","nodeType":"VariableDeclaration","scope":13794,"src":"4384:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13733,"name":"address","nodeType":"ElementaryTypeName","src":"4384:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13737,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13735,"name":"_flashFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13678,"src":"4411:17:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":13736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4411:19:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4384:46:99"},{"expression":{"arguments":[{"arguments":[{"id":13741,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4464:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}],"id":13740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4456:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13739,"name":"address","nodeType":"ElementaryTypeName","src":"4456:7:99","typeDescriptions":{}}},"id":13742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4456:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":13745,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4483:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20FlashMint_$13796","typeString":"contract ERC20FlashMint"}],"id":13744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4475:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13743,"name":"address","nodeType":"ElementaryTypeName","src":"4475:7:99","typeDescriptions":{}}},"id":13746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4475:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13747,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4490:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13748,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13704,"src":"4499:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4490:12:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13738,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13369,"src":"4440:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4440:63:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13751,"nodeType":"ExpressionStatement","src":"4440:63:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13752,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13704,"src":"4517:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4524:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4517:8:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13755,"name":"flashFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"4529:16:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":13758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4557:1:99","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":13757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4549:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13756,"name":"address","nodeType":"ElementaryTypeName","src":"4549:7:99","typeDescriptions":{}}},"id":13759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4549:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4529:30:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4517:42:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":13790,"nodeType":"Block","src":"4630:122:99","statements":[{"expression":{"arguments":[{"arguments":[{"id":13776,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4658:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}],"id":13775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4650:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13774,"name":"address","nodeType":"ElementaryTypeName","src":"4650:7:99","typeDescriptions":{}}},"id":13777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4650:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13778,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4669:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13773,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"4644:5:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4644:32:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13780,"nodeType":"ExpressionStatement","src":"4644:32:99"},{"expression":{"arguments":[{"arguments":[{"id":13784,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4708:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}],"id":13783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4700:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13782,"name":"address","nodeType":"ElementaryTypeName","src":"4700:7:99","typeDescriptions":{}}},"id":13785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4700:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13786,"name":"flashFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"4719:16:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13787,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13704,"src":"4737:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13781,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13152,"src":"4690:9:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4690:51:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13789,"nodeType":"ExpressionStatement","src":"4690:51:99"}]},"id":13791,"nodeType":"IfStatement","src":"4513:239:99","trueBody":{"id":13772,"nodeType":"Block","src":"4561:63:99","statements":[{"expression":{"arguments":[{"arguments":[{"id":13765,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"4589:8:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}],"id":13764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4581:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13763,"name":"address","nodeType":"ElementaryTypeName","src":"4581:7:99","typeDescriptions":{}}},"id":13766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4581:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13767,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"4600:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13768,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13704,"src":"4609:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4600:12:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13762,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"4575:5:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4575:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13771,"nodeType":"ExpressionStatement","src":"4575:38:99"}]}},{"expression":{"hexValue":"74727565","id":13792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4768:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":13693,"id":13793,"nodeType":"Return","src":"4761:11:99"}]},"documentation":{"id":13679,"nodeType":"StructuredDocumentation","src":"2791:762:99","text":" @dev Performs a flash loan. New tokens are minted and sent to the\n `receiver`, who is required to implement the {IERC3156FlashBorrower}\n interface. By the end of the flash loan, the receiver is expected to own\n amount + fee tokens and have them approved back to the token contract itself so\n they can be burned.\n @param receiver The receiver of the flash loan. Should implement the\n {IERC3156FlashBorrower-onFlashLoan} interface.\n @param token The token to be flash loaned. Only `address(this)` is\n supported.\n @param amount The amount of tokens to be loaned.\n @param data An arbitrary datafield that is passed to the receiver.\n @return `true` if the flash loan was successful."},"functionSelector":"5cffe9de","id":13795,"implemented":true,"kind":"function","modifiers":[],"name":"flashLoan","nameLocation":"3851:9:99","nodeType":"FunctionDefinition","overrides":{"id":13690,"nodeType":"OverrideSpecifier","overrides":[],"src":"3998:8:99"},"parameters":{"id":13689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13682,"mutability":"mutable","name":"receiver","nameLocation":"3892:8:99","nodeType":"VariableDeclaration","scope":13795,"src":"3870:30:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"},"typeName":{"id":13681,"nodeType":"UserDefinedTypeName","pathNode":{"id":13680,"name":"IERC3156FlashBorrower","nodeType":"IdentifierPath","referencedDeclaration":8834,"src":"3870:21:99"},"referencedDeclaration":8834,"src":"3870:21:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC3156FlashBorrower_$8834","typeString":"contract IERC3156FlashBorrower"}},"visibility":"internal"},{"constant":false,"id":13684,"mutability":"mutable","name":"token","nameLocation":"3918:5:99","nodeType":"VariableDeclaration","scope":13795,"src":"3910:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13683,"name":"address","nodeType":"ElementaryTypeName","src":"3910:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13686,"mutability":"mutable","name":"amount","nameLocation":"3941:6:99","nodeType":"VariableDeclaration","scope":13795,"src":"3933:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13685,"name":"uint256","nodeType":"ElementaryTypeName","src":"3933:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13688,"mutability":"mutable","name":"data","nameLocation":"3972:4:99","nodeType":"VariableDeclaration","scope":13795,"src":"3957:19:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13687,"name":"bytes","nodeType":"ElementaryTypeName","src":"3957:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3860:122:99"},"returnParameters":{"id":13693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13795,"src":"4016:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13691,"name":"bool","nodeType":"ElementaryTypeName","src":"4016:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4015:6:99"},"scope":13796,"src":"3842:937:99","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":13797,"src":"621:4160:99","usedErrors":[]}],"src":"125:4657:99"},"id":99},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"ERC20Pausable":[13833],"IERC20":[13470],"IERC20Metadata":[15760],"Pausable":[10642]},"id":13834,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13798,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:100"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":13799,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13834,"sourceUnit":13393,"src":"134:22:100","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/security/Pausable.sol","file":"../../../security/Pausable.sol","id":13800,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13834,"sourceUnit":10643,"src":"157:40:100","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":13802,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"504:5:100"},"id":13803,"nodeType":"InheritanceSpecifier","src":"504:5:100"},{"baseName":{"id":13804,"name":"Pausable","nodeType":"IdentifierPath","referencedDeclaration":10642,"src":"511:8:100"},"id":13805,"nodeType":"InheritanceSpecifier","src":"511:8:100"}],"canonicalName":"ERC20Pausable","contractDependencies":[],"contractKind":"contract","documentation":{"id":13801,"nodeType":"StructuredDocumentation","src":"199:269:100","text":" @dev ERC20 token with pausable token transfers, minting and burning.\n Useful for scenarios such as preventing trades until the end of an evaluation\n period, or having an emergency switch for freezing all token transfers in the\n event of a large bug."},"fullyImplemented":false,"id":13833,"linearizedBaseContracts":[13833,10642,13392,15760,13470,22281],"name":"ERC20Pausable","nameLocation":"487:13:100","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[13380],"body":{"id":13831,"nodeType":"Block","src":"793:136:100","statements":[{"expression":{"arguments":[{"id":13819,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13808,"src":"830:4:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13820,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13810,"src":"836:2:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13821,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13812,"src":"840:6:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13816,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"803:5:100","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Pausable_$13833_$","typeString":"type(contract super ERC20Pausable)"}},"id":13818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":13380,"src":"803:26:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"803:44:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13823,"nodeType":"ExpressionStatement","src":"803:44:100"},{"expression":{"arguments":[{"id":13827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"866:9:100","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":13825,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"867:6:100","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":13826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"867:8:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564","id":13828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"877:44:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4","typeString":"literal_string \"ERC20Pausable: token transfer while paused\""},"value":"ERC20Pausable: token transfer while paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4","typeString":"literal_string \"ERC20Pausable: token transfer while paused\""}],"id":13824,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"858:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"858:64:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13830,"nodeType":"ExpressionStatement","src":"858:64:100"}]},"documentation":{"id":13806,"nodeType":"StructuredDocumentation","src":"526:134:100","text":" @dev See {ERC20-_beforeTokenTransfer}.\n Requirements:\n - the contract must not be paused."},"id":13832,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"674:20:100","nodeType":"FunctionDefinition","overrides":{"id":13814,"nodeType":"OverrideSpecifier","overrides":[],"src":"784:8:100"},"parameters":{"id":13813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13808,"mutability":"mutable","name":"from","nameLocation":"712:4:100","nodeType":"VariableDeclaration","scope":13832,"src":"704:12:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13807,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13810,"mutability":"mutable","name":"to","nameLocation":"734:2:100","nodeType":"VariableDeclaration","scope":13832,"src":"726:10:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13809,"name":"address","nodeType":"ElementaryTypeName","src":"726:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13812,"mutability":"mutable","name":"amount","nameLocation":"754:6:100","nodeType":"VariableDeclaration","scope":13832,"src":"746:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13811,"name":"uint256","nodeType":"ElementaryTypeName","src":"746:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"694:72:100"},"returnParameters":{"id":13815,"nodeType":"ParameterList","parameters":[],"src":"793:0:100"},"scope":13833,"src":"665:264:100","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":13834,"src":"469:462:100","usedErrors":[]}],"src":"109:823:100"},"id":100},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol","exportedSymbols":{"Arrays":[20844],"Context":[22281],"Counters":[22355],"ERC20":[13392],"ERC20Snapshot":[14161],"IERC20":[13470],"IERC20Metadata":[15760],"Math":[25662],"StorageSlot":[22551]},"id":14162,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13835,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"124:23:101"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":13836,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14162,"sourceUnit":13393,"src":"149:22:101","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Arrays.sol","file":"../../../utils/Arrays.sol","id":13837,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14162,"sourceUnit":20845,"src":"172:35:101","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Counters.sol","file":"../../../utils/Counters.sol","id":13838,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14162,"sourceUnit":22356,"src":"208:37:101","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":13840,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"2437:5:101"},"id":13841,"nodeType":"InheritanceSpecifier","src":"2437:5:101"}],"canonicalName":"ERC20Snapshot","contractDependencies":[],"contractKind":"contract","documentation":{"id":13839,"nodeType":"StructuredDocumentation","src":"247:2153:101","text":" @dev This contract extends an ERC20 token with a snapshot mechanism. When a snapshot is created, the balances and\n total supply at the time are recorded for later access.\n This can be used to safely create mechanisms based on token balances such as trustless dividends or weighted voting.\n In naive implementations it's possible to perform a \"double spend\" attack by reusing the same balance from different\n accounts. By using snapshots to calculate dividends or voting power, those attacks no longer apply. It can also be\n used to create an efficient ERC20 forking mechanism.\n Snapshots are created by the internal {_snapshot} function, which will emit the {Snapshot} event and return a\n snapshot id. To get the total supply at the time of a snapshot, call the function {totalSupplyAt} with the snapshot\n id. To get the balance of an account at the time of a snapshot, call the {balanceOfAt} function with the snapshot id\n and the account address.\n NOTE: Snapshot policy can be customized by overriding the {_getCurrentSnapshotId} method. For example, having it\n return `block.number` will trigger the creation of snapshot at the beginning of each new block. When overriding this\n function, be careful about the monotonicity of its result. Non-monotonic snapshot ids will break the contract.\n Implementing snapshots for every block using this method will incur significant gas costs. For a gas-efficient\n alternative consider {ERC20Votes}.\n ==== Gas Costs\n Snapshots are efficient. Snapshot creation is _O(1)_. Retrieval of balances or total supply from a snapshot is _O(log\n n)_ in the number of snapshots that have been created, although _n_ for a specific account will generally be much\n smaller since identical balances in subsequent snapshots are stored as a single entry.\n There is a constant overhead for normal ERC20 transfers due to the additional snapshot bookkeeping. This overhead is\n only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent\n transfers will have normal cost until the next snapshot, and so on."},"fullyImplemented":false,"id":14161,"linearizedBaseContracts":[14161,13392,15760,13470,22281],"name":"ERC20Snapshot","nameLocation":"2420:13:101","nodeType":"ContractDefinition","nodes":[{"id":13845,"libraryName":{"id":13842,"name":"Arrays","nodeType":"IdentifierPath","referencedDeclaration":20844,"src":"2646:6:101"},"nodeType":"UsingForDirective","src":"2640:27:101","typeName":{"baseType":{"id":13843,"name":"uint256","nodeType":"ElementaryTypeName","src":"2657:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13844,"nodeType":"ArrayTypeName","src":"2657:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},{"id":13849,"libraryName":{"id":13846,"name":"Counters","nodeType":"IdentifierPath","referencedDeclaration":22355,"src":"2678:8:101"},"nodeType":"UsingForDirective","src":"2672:36:101","typeName":{"id":13848,"nodeType":"UserDefinedTypeName","pathNode":{"id":13847,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"2691:16:101"},"referencedDeclaration":22287,"src":"2691:16:101","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},{"canonicalName":"ERC20Snapshot.Snapshots","id":13856,"members":[{"constant":false,"id":13852,"mutability":"mutable","name":"ids","nameLocation":"2953:3:101","nodeType":"VariableDeclaration","scope":13856,"src":"2943:13:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13850,"name":"uint256","nodeType":"ElementaryTypeName","src":"2943:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13851,"nodeType":"ArrayTypeName","src":"2943:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13855,"mutability":"mutable","name":"values","nameLocation":"2976:6:101","nodeType":"VariableDeclaration","scope":13856,"src":"2966:16:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13853,"name":"uint256","nodeType":"ElementaryTypeName","src":"2966:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13854,"nodeType":"ArrayTypeName","src":"2966:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"name":"Snapshots","nameLocation":"2923:9:101","nodeType":"StructDefinition","scope":14161,"src":"2916:73:101","visibility":"public"},{"constant":false,"id":13861,"mutability":"mutable","name":"_accountBalanceSnapshots","nameLocation":"3033:24:101","nodeType":"VariableDeclaration","scope":14161,"src":"2995:62:101","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Snapshots_$13856_storage_$","typeString":"mapping(address => struct ERC20Snapshot.Snapshots)"},"typeName":{"id":13860,"keyType":{"id":13857,"name":"address","nodeType":"ElementaryTypeName","src":"3003:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2995:29:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Snapshots_$13856_storage_$","typeString":"mapping(address => struct ERC20Snapshot.Snapshots)"},"valueType":{"id":13859,"nodeType":"UserDefinedTypeName","pathNode":{"id":13858,"name":"Snapshots","nodeType":"IdentifierPath","referencedDeclaration":13856,"src":"3014:9:101"},"referencedDeclaration":13856,"src":"3014:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"}}},"visibility":"private"},{"constant":false,"id":13864,"mutability":"mutable","name":"_totalSupplySnapshots","nameLocation":"3081:21:101","nodeType":"VariableDeclaration","scope":14161,"src":"3063:39:101","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots"},"typeName":{"id":13863,"nodeType":"UserDefinedTypeName","pathNode":{"id":13862,"name":"Snapshots","nodeType":"IdentifierPath","referencedDeclaration":13856,"src":"3063:9:101"},"referencedDeclaration":13856,"src":"3063:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"}},"visibility":"private"},{"constant":false,"id":13867,"mutability":"mutable","name":"_currentSnapshotId","nameLocation":"3231:18:101","nodeType":"VariableDeclaration","scope":14161,"src":"3206:43:101","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter"},"typeName":{"id":13866,"nodeType":"UserDefinedTypeName","pathNode":{"id":13865,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"3206:16:101"},"referencedDeclaration":22287,"src":"3206:16:101","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"private"},{"anonymous":false,"documentation":{"id":13868,"nodeType":"StructuredDocumentation","src":"3256:93:101","text":" @dev Emitted by {_snapshot} when a snapshot identified by `id` is created."},"id":13872,"name":"Snapshot","nameLocation":"3360:8:101","nodeType":"EventDefinition","parameters":{"id":13871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13870,"indexed":false,"mutability":"mutable","name":"id","nameLocation":"3377:2:101","nodeType":"VariableDeclaration","scope":13872,"src":"3369:10:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13869,"name":"uint256","nodeType":"ElementaryTypeName","src":"3369:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3368:12:101"},"src":"3354:27:101"},{"body":{"id":13894,"nodeType":"Block","src":"4544:161:101","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":13878,"name":"_currentSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13867,"src":"4554:18:101","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":13880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":22313,"src":"4554:28:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Counter_$22287_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer)"}},"id":13881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4554:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13882,"nodeType":"ExpressionStatement","src":"4554:30:101"},{"assignments":[13884],"declarations":[{"constant":false,"id":13884,"mutability":"mutable","name":"currentId","nameLocation":"4603:9:101","nodeType":"VariableDeclaration","scope":13894,"src":"4595:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13883,"name":"uint256","nodeType":"ElementaryTypeName","src":"4595:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13887,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13885,"name":"_getCurrentSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13906,"src":"4615:21:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":13886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4615:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4595:43:101"},{"eventCall":{"arguments":[{"id":13889,"name":"currentId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13884,"src":"4662:9:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13888,"name":"Snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13872,"src":"4653:8:101","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":13890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4653:19:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13891,"nodeType":"EmitStatement","src":"4648:24:101"},{"expression":{"id":13892,"name":"currentId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13884,"src":"4689:9:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13877,"id":13893,"nodeType":"Return","src":"4682:16:101"}]},"documentation":{"id":13873,"nodeType":"StructuredDocumentation","src":"3387:1096:101","text":" @dev Creates a new snapshot and returns its snapshot id.\n Emits a {Snapshot} event that contains the same id.\n {_snapshot} is `internal` and you have to decide how to expose it externally. Its usage may be restricted to a\n set of accounts, for example using {AccessControl}, or it may be open to the public.\n [WARNING]\n ====\n While an open way of calling {_snapshot} is required for certain trust minimization mechanisms such as forking,\n you must consider that it can potentially be used by attackers in two ways.\n First, it can be used to increase the cost of retrieval of values from snapshots, although it will grow\n logarithmically thus rendering this attack ineffective in the long term. Second, it can be used to target\n specific accounts and increase the cost of ERC20 transfers for them, in the ways specified in the Gas Costs\n section above.\n We haven't measured the actual numbers; if this is something you're interested in please reach out to us.\n ===="},"id":13895,"implemented":true,"kind":"function","modifiers":[],"name":"_snapshot","nameLocation":"4497:9:101","nodeType":"FunctionDefinition","parameters":{"id":13874,"nodeType":"ParameterList","parameters":[],"src":"4506:2:101"},"returnParameters":{"id":13877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13895,"src":"4535:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13875,"name":"uint256","nodeType":"ElementaryTypeName","src":"4535:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4534:9:101"},"scope":14161,"src":"4488:217:101","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":13905,"nodeType":"Block","src":"4839:52:101","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":13901,"name":"_currentSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13867,"src":"4856:18:101","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":13902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"4856:26:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":13903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4856:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13900,"id":13904,"nodeType":"Return","src":"4849:35:101"}]},"documentation":{"id":13896,"nodeType":"StructuredDocumentation","src":"4711:50:101","text":" @dev Get the current snapshotId"},"id":13906,"implemented":true,"kind":"function","modifiers":[],"name":"_getCurrentSnapshotId","nameLocation":"4775:21:101","nodeType":"FunctionDefinition","parameters":{"id":13897,"nodeType":"ParameterList","parameters":[],"src":"4796:2:101"},"returnParameters":{"id":13900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13906,"src":"4830:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13898,"name":"uint256","nodeType":"ElementaryTypeName","src":"4830:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4829:9:101"},"scope":14161,"src":"4766:125:101","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":13934,"nodeType":"Block","src":"5094:166:101","statements":[{"assignments":[13917,13919],"declarations":[{"constant":false,"id":13917,"mutability":"mutable","name":"snapshotted","nameLocation":"5110:11:101","nodeType":"VariableDeclaration","scope":13934,"src":"5105:16:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13916,"name":"bool","nodeType":"ElementaryTypeName","src":"5105:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13919,"mutability":"mutable","name":"value","nameLocation":"5131:5:101","nodeType":"VariableDeclaration","scope":13934,"src":"5123:13:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13918,"name":"uint256","nodeType":"ElementaryTypeName","src":"5123:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13926,"initialValue":{"arguments":[{"id":13921,"name":"snapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13911,"src":"5149:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":13922,"name":"_accountBalanceSnapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13861,"src":"5161:24:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Snapshots_$13856_storage_$","typeString":"mapping(address => struct ERC20Snapshot.Snapshots storage ref)"}},"id":13924,"indexExpression":{"id":13923,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13909,"src":"5186:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5161:33:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}],"id":13920,"name":"_valueAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14072,"src":"5140:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_Snapshots_$13856_storage_ptr_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,struct ERC20Snapshot.Snapshots storage pointer) view returns (bool,uint256)"}},"id":13925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5140:55:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5104:91:101"},{"expression":{"condition":{"id":13927,"name":"snapshotted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13917,"src":"5213:11:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":13930,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13909,"src":"5245:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13929,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"5235:9:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5235:18:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5213:40:101","trueExpression":{"id":13928,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13919,"src":"5227:5:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13915,"id":13933,"nodeType":"Return","src":"5206:47:101"}]},"documentation":{"id":13907,"nodeType":"StructuredDocumentation","src":"4897:96:101","text":" @dev Retrieves the balance of `account` at the time `snapshotId` was created."},"functionSelector":"4ee2cd7e","id":13935,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOfAt","nameLocation":"5007:11:101","nodeType":"FunctionDefinition","parameters":{"id":13912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13909,"mutability":"mutable","name":"account","nameLocation":"5027:7:101","nodeType":"VariableDeclaration","scope":13935,"src":"5019:15:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13908,"name":"address","nodeType":"ElementaryTypeName","src":"5019:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13911,"mutability":"mutable","name":"snapshotId","nameLocation":"5044:10:101","nodeType":"VariableDeclaration","scope":13935,"src":"5036:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13910,"name":"uint256","nodeType":"ElementaryTypeName","src":"5036:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5018:37:101"},"returnParameters":{"id":13915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13935,"src":"5085:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5084:9:101"},"scope":14161,"src":"4998:262:101","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13958,"nodeType":"Block","src":"5440:149:101","statements":[{"assignments":[13944,13946],"declarations":[{"constant":false,"id":13944,"mutability":"mutable","name":"snapshotted","nameLocation":"5456:11:101","nodeType":"VariableDeclaration","scope":13958,"src":"5451:16:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13943,"name":"bool","nodeType":"ElementaryTypeName","src":"5451:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13946,"mutability":"mutable","name":"value","nameLocation":"5477:5:101","nodeType":"VariableDeclaration","scope":13958,"src":"5469:13:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13945,"name":"uint256","nodeType":"ElementaryTypeName","src":"5469:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13951,"initialValue":{"arguments":[{"id":13948,"name":"snapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13938,"src":"5495:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13949,"name":"_totalSupplySnapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13864,"src":"5507:21:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}],"id":13947,"name":"_valueAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14072,"src":"5486:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_Snapshots_$13856_storage_ptr_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,struct ERC20Snapshot.Snapshots storage pointer) view returns (bool,uint256)"}},"id":13950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5486:43:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5450:79:101"},{"expression":{"condition":{"id":13952,"name":"snapshotted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13944,"src":"5547:11:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":13954,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"5569:11:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":13955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5569:13:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5547:35:101","trueExpression":{"id":13953,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13946,"src":"5561:5:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13942,"id":13957,"nodeType":"Return","src":"5540:42:101"}]},"documentation":{"id":13936,"nodeType":"StructuredDocumentation","src":"5266:88:101","text":" @dev Retrieves the total supply at the time `snapshotId` was created."},"functionSelector":"981b24d0","id":13959,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupplyAt","nameLocation":"5368:13:101","nodeType":"FunctionDefinition","parameters":{"id":13939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13938,"mutability":"mutable","name":"snapshotId","nameLocation":"5390:10:101","nodeType":"VariableDeclaration","scope":13959,"src":"5382:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13937,"name":"uint256","nodeType":"ElementaryTypeName","src":"5382:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5381:20:101"},"returnParameters":{"id":13942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13959,"src":"5431:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5431:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5430:9:101"},"scope":14161,"src":"5359:230:101","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13380],"body":{"id":14016,"nodeType":"Block","src":"5930:474:101","statements":[{"expression":{"arguments":[{"id":13972,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13961,"src":"5967:4:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13973,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13963,"src":"5973:2:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13974,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13965,"src":"5977:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13969,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5940:5:101","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Snapshot_$14161_$","typeString":"type(contract super ERC20Snapshot)"}},"id":13971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":13380,"src":"5940:26:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5940:44:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13976,"nodeType":"ExpressionStatement","src":"5940:44:101"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13977,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13961,"src":"5999:4:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":13980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6015:1:101","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":13979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6007:7:101","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13978,"name":"address","nodeType":"ElementaryTypeName","src":"6007:7:101","typeDescriptions":{}}},"id":13981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6007:10:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5999:18:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13991,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13963,"src":"6142:2:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":13994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6156:1:101","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":13993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6148:7:101","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13992,"name":"address","nodeType":"ElementaryTypeName","src":"6148:7:101","typeDescriptions":{}}},"id":13995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6148:10:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6142:16:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14013,"nodeType":"Block","src":"6281:117:101","statements":[{"expression":{"arguments":[{"id":14006,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13961,"src":"6342:4:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14005,"name":"_updateAccountSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14087,"src":"6319:22:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":14007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14008,"nodeType":"ExpressionStatement","src":"6319:28:101"},{"expression":{"arguments":[{"id":14010,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13963,"src":"6384:2:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14009,"name":"_updateAccountSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14087,"src":"6361:22:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":14011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6361:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14012,"nodeType":"ExpressionStatement","src":"6361:26:101"}]},"id":14014,"nodeType":"IfStatement","src":"6138:260:101","trueBody":{"id":14004,"nodeType":"Block","src":"6160:115:101","statements":[{"expression":{"arguments":[{"id":13998,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13961,"src":"6217:4:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13997,"name":"_updateAccountSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14087,"src":"6194:22:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":13999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6194:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14000,"nodeType":"ExpressionStatement","src":"6194:28:101"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14001,"name":"_updateTotalSupplySnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14097,"src":"6236:26:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6236:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14003,"nodeType":"ExpressionStatement","src":"6236:28:101"}]}},"id":14015,"nodeType":"IfStatement","src":"5995:403:101","trueBody":{"id":13990,"nodeType":"Block","src":"6019:113:101","statements":[{"expression":{"arguments":[{"id":13984,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13963,"src":"6076:2:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13983,"name":"_updateAccountSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14087,"src":"6053:22:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":13985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6053:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13986,"nodeType":"ExpressionStatement","src":"6053:26:101"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":13987,"name":"_updateTotalSupplySnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14097,"src":"6093:26:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":13988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6093:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13989,"nodeType":"ExpressionStatement","src":"6093:28:101"}]}}]},"id":14017,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"5811:20:101","nodeType":"FunctionDefinition","overrides":{"id":13967,"nodeType":"OverrideSpecifier","overrides":[],"src":"5921:8:101"},"parameters":{"id":13966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13961,"mutability":"mutable","name":"from","nameLocation":"5849:4:101","nodeType":"VariableDeclaration","scope":14017,"src":"5841:12:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13960,"name":"address","nodeType":"ElementaryTypeName","src":"5841:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13963,"mutability":"mutable","name":"to","nameLocation":"5871:2:101","nodeType":"VariableDeclaration","scope":14017,"src":"5863:10:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13962,"name":"address","nodeType":"ElementaryTypeName","src":"5863:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13965,"mutability":"mutable","name":"amount","nameLocation":"5891:6:101","nodeType":"VariableDeclaration","scope":14017,"src":"5883:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13964,"name":"uint256","nodeType":"ElementaryTypeName","src":"5883:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5831:72:101"},"returnParameters":{"id":13968,"nodeType":"ParameterList","parameters":[],"src":"5930:0:101"},"scope":14161,"src":"5802:602:101","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":14071,"nodeType":"Block","src":"6514:1490:101","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14030,"name":"snapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"6532:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6545:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6532:14:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230536e617073686f743a2069642069732030","id":14033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6548:24:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_d85a3cdc203c5cdc6dda93c12cd017145671a0ed9058a16c7aa00b8398a4a8e6","typeString":"literal_string \"ERC20Snapshot: id is 0\""},"value":"ERC20Snapshot: id is 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d85a3cdc203c5cdc6dda93c12cd017145671a0ed9058a16c7aa00b8398a4a8e6","typeString":"literal_string \"ERC20Snapshot: id is 0\""}],"id":14029,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6524:7:101","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6524:49:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14035,"nodeType":"ExpressionStatement","src":"6524:49:101"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14037,"name":"snapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"6591:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":14038,"name":"_getCurrentSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13906,"src":"6605:21:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":14039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6605:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6591:37:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230536e617073686f743a206e6f6e6578697374656e74206964","id":14041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6630:31:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_031e0835d070e7bbd2c8dcce466eadb8c6b9fd22432b0357ab8c37bd9a385940","typeString":"literal_string \"ERC20Snapshot: nonexistent id\""},"value":"ERC20Snapshot: nonexistent id"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_031e0835d070e7bbd2c8dcce466eadb8c6b9fd22432b0357ab8c37bd9a385940","typeString":"literal_string \"ERC20Snapshot: nonexistent id\""}],"id":14036,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6583:7:101","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6583:79:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14043,"nodeType":"ExpressionStatement","src":"6583:79:101"},{"assignments":[14045],"declarations":[{"constant":false,"id":14045,"mutability":"mutable","name":"index","nameLocation":"7793:5:101","nodeType":"VariableDeclaration","scope":14071,"src":"7785:13:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14044,"name":"uint256","nodeType":"ElementaryTypeName","src":"7785:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14051,"initialValue":{"arguments":[{"id":14049,"name":"snapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"7830:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":14046,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"7801:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ids","nodeType":"MemberAccess","referencedDeclaration":13852,"src":"7801:13:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":14048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"findUpperBound","nodeType":"MemberAccess","referencedDeclaration":20780,"src":"7801:28:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) view returns (uint256)"}},"id":14050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7801:40:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7785:56:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14052,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14045,"src":"7856:5:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":14053,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"7865:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ids","nodeType":"MemberAccess","referencedDeclaration":13852,"src":"7865:13:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":14055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7865:20:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7856:29:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14069,"nodeType":"Block","src":"7935:63:101","statements":[{"expression":{"components":[{"hexValue":"74727565","id":14062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7957:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"baseExpression":{"expression":{"id":14063,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"7963:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":13855,"src":"7963:16:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":14066,"indexExpression":{"id":14065,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14045,"src":"7980:5:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7963:23:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7956:31:101","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":14028,"id":14068,"nodeType":"Return","src":"7949:38:101"}]},"id":14070,"nodeType":"IfStatement","src":"7852:146:101","trueBody":{"id":14061,"nodeType":"Block","src":"7887:42:101","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":14057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7909:5:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":14058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7916:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":14059,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7908:10:101","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":14028,"id":14060,"nodeType":"Return","src":"7901:17:101"}]}}]},"id":14072,"implemented":true,"kind":"function","modifiers":[],"name":"_valueAt","nameLocation":"6419:8:101","nodeType":"FunctionDefinition","parameters":{"id":14023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14019,"mutability":"mutable","name":"snapshotId","nameLocation":"6436:10:101","nodeType":"VariableDeclaration","scope":14072,"src":"6428:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14018,"name":"uint256","nodeType":"ElementaryTypeName","src":"6428:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14022,"mutability":"mutable","name":"snapshots","nameLocation":"6466:9:101","nodeType":"VariableDeclaration","scope":14072,"src":"6448:27:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"},"typeName":{"id":14021,"nodeType":"UserDefinedTypeName","pathNode":{"id":14020,"name":"Snapshots","nodeType":"IdentifierPath","referencedDeclaration":13856,"src":"6448:9:101"},"referencedDeclaration":13856,"src":"6448:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"}},"visibility":"internal"}],"src":"6427:49:101"},"returnParameters":{"id":14028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14072,"src":"6499:4:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14024,"name":"bool","nodeType":"ElementaryTypeName","src":"6499:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14072,"src":"6505:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14026,"name":"uint256","nodeType":"ElementaryTypeName","src":"6505:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6498:15:101"},"scope":14161,"src":"6410:1594:101","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":14086,"nodeType":"Block","src":"8067:87:101","statements":[{"expression":{"arguments":[{"baseExpression":{"id":14078,"name":"_accountBalanceSnapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13861,"src":"8093:24:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Snapshots_$13856_storage_$","typeString":"mapping(address => struct ERC20Snapshot.Snapshots storage ref)"}},"id":14080,"indexExpression":{"id":14079,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14074,"src":"8118:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8093:33:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}},{"arguments":[{"id":14082,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14074,"src":"8138:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14081,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"8128:9:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":14083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8128:18:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14077,"name":"_updateSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14135,"src":"8077:15:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Snapshots_$13856_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct ERC20Snapshot.Snapshots storage pointer,uint256)"}},"id":14084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8077:70:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14085,"nodeType":"ExpressionStatement","src":"8077:70:101"}]},"id":14087,"implemented":true,"kind":"function","modifiers":[],"name":"_updateAccountSnapshot","nameLocation":"8019:22:101","nodeType":"FunctionDefinition","parameters":{"id":14075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14074,"mutability":"mutable","name":"account","nameLocation":"8050:7:101","nodeType":"VariableDeclaration","scope":14087,"src":"8042:15:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14073,"name":"address","nodeType":"ElementaryTypeName","src":"8042:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8041:17:101"},"returnParameters":{"id":14076,"nodeType":"ParameterList","parameters":[],"src":"8067:0:101"},"scope":14161,"src":"8010:144:101","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14096,"nodeType":"Block","src":"8206:70:101","statements":[{"expression":{"arguments":[{"id":14091,"name":"_totalSupplySnapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13864,"src":"8232:21:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14092,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"8255:11:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":14093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8255:13:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Snapshots_$13856_storage","typeString":"struct ERC20Snapshot.Snapshots storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14090,"name":"_updateSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14135,"src":"8216:15:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Snapshots_$13856_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct ERC20Snapshot.Snapshots storage pointer,uint256)"}},"id":14094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8216:53:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14095,"nodeType":"ExpressionStatement","src":"8216:53:101"}]},"id":14097,"implemented":true,"kind":"function","modifiers":[],"name":"_updateTotalSupplySnapshot","nameLocation":"8169:26:101","nodeType":"FunctionDefinition","parameters":{"id":14088,"nodeType":"ParameterList","parameters":[],"src":"8195:2:101"},"returnParameters":{"id":14089,"nodeType":"ParameterList","parameters":[],"src":"8206:0:101"},"scope":14161,"src":"8160:116:101","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14134,"nodeType":"Block","src":"8366:220:101","statements":[{"assignments":[14106],"declarations":[{"constant":false,"id":14106,"mutability":"mutable","name":"currentId","nameLocation":"8384:9:101","nodeType":"VariableDeclaration","scope":14134,"src":"8376:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14105,"name":"uint256","nodeType":"ElementaryTypeName","src":"8376:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14109,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14107,"name":"_getCurrentSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13906,"src":"8396:21:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":14108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8396:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8376:43:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":14111,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"8449:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ids","nodeType":"MemberAccess","referencedDeclaration":13852,"src":"8449:13:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}],"id":14110,"name":"_lastSnapshotId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14160,"src":"8433:15:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_uint256_$dyn_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] storage pointer) view returns (uint256)"}},"id":14113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8433:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":14114,"name":"currentId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14106,"src":"8466:9:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8433:42:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14133,"nodeType":"IfStatement","src":"8429:151:101","trueBody":{"id":14132,"nodeType":"Block","src":"8477:103:101","statements":[{"expression":{"arguments":[{"id":14121,"name":"currentId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14106,"src":"8510:9:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":14116,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"8491:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ids","nodeType":"MemberAccess","referencedDeclaration":13852,"src":"8491:13:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":14120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"8491:18:101","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":14122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8491:29:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14123,"nodeType":"ExpressionStatement","src":"8491:29:101"},{"expression":{"arguments":[{"id":14129,"name":"currentValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14102,"src":"8556:12:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":14124,"name":"snapshots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"8534:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots storage pointer"}},"id":14127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"values","nodeType":"MemberAccess","referencedDeclaration":13855,"src":"8534:16:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":14128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"8534:21:101","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":14130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8534:35:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14131,"nodeType":"ExpressionStatement","src":"8534:35:101"}]}}]},"id":14135,"implemented":true,"kind":"function","modifiers":[],"name":"_updateSnapshot","nameLocation":"8291:15:101","nodeType":"FunctionDefinition","parameters":{"id":14103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14100,"mutability":"mutable","name":"snapshots","nameLocation":"8325:9:101","nodeType":"VariableDeclaration","scope":14135,"src":"8307:27:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"},"typeName":{"id":14099,"nodeType":"UserDefinedTypeName","pathNode":{"id":14098,"name":"Snapshots","nodeType":"IdentifierPath","referencedDeclaration":13856,"src":"8307:9:101"},"referencedDeclaration":13856,"src":"8307:9:101","typeDescriptions":{"typeIdentifier":"t_struct$_Snapshots_$13856_storage_ptr","typeString":"struct ERC20Snapshot.Snapshots"}},"visibility":"internal"},{"constant":false,"id":14102,"mutability":"mutable","name":"currentValue","nameLocation":"8344:12:101","nodeType":"VariableDeclaration","scope":14135,"src":"8336:20:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14101,"name":"uint256","nodeType":"ElementaryTypeName","src":"8336:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8306:51:101"},"returnParameters":{"id":14104,"nodeType":"ParameterList","parameters":[],"src":"8366:0:101"},"scope":14161,"src":"8282:304:101","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14159,"nodeType":"Block","src":"8671:127:101","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14143,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14138,"src":"8685:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":14144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8685:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8699:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8685:15:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14157,"nodeType":"Block","src":"8741:51:101","statements":[{"expression":{"baseExpression":{"id":14150,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14138,"src":"8762:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":14155,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14151,"name":"ids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14138,"src":"8766:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":14152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8766:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8779:1:101","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8766:14:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8762:19:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14142,"id":14156,"nodeType":"Return","src":"8755:26:101"}]},"id":14158,"nodeType":"IfStatement","src":"8681:111:101","trueBody":{"id":14149,"nodeType":"Block","src":"8702:33:101","statements":[{"expression":{"hexValue":"30","id":14147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8723:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":14142,"id":14148,"nodeType":"Return","src":"8716:8:101"}]}}]},"id":14160,"implemented":true,"kind":"function","modifiers":[],"name":"_lastSnapshotId","nameLocation":"8601:15:101","nodeType":"FunctionDefinition","parameters":{"id":14139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14138,"mutability":"mutable","name":"ids","nameLocation":"8635:3:101","nodeType":"VariableDeclaration","scope":14160,"src":"8617:21:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14136,"name":"uint256","nodeType":"ElementaryTypeName","src":"8617:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14137,"nodeType":"ArrayTypeName","src":"8617:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8616:23:101"},"returnParameters":{"id":14142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14160,"src":"8662:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14140,"name":"uint256","nodeType":"ElementaryTypeName","src":"8662:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8661:9:101"},"scope":14161,"src":"8592:206:101","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":14162,"src":"2402:6398:101","usedErrors":[]}],"src":"124:8677:101"},"id":101},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","exportedSymbols":{"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"ERC20":[13392],"ERC20Permit":[15932],"ERC20Votes":[14858],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726]},"id":14859,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":14163,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"121:23:102"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol","file":"./draft-ERC20Permit.sol","id":14164,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14859,"sourceUnit":15933,"src":"146:33:102","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"../../../utils/math/Math.sol","id":14165,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14859,"sourceUnit":25663,"src":"180:38:102","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol","file":"../../../governance/utils/IVotes.sol","id":14166,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14859,"sourceUnit":8174,"src":"219:46:102","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../../../utils/math/SafeCast.sol","id":14167,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14859,"sourceUnit":27204,"src":"266:42:102","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"../../../utils/cryptography/ECDSA.sol","id":14168,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14859,"sourceUnit":23302,"src":"309:47:102","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":14170,"name":"IVotes","nodeType":"IdentifierPath","referencedDeclaration":8173,"src":"1285:6:102"},"id":14171,"nodeType":"InheritanceSpecifier","src":"1285:6:102"},{"baseName":{"id":14172,"name":"ERC20Permit","nodeType":"IdentifierPath","referencedDeclaration":15932,"src":"1293:11:102"},"id":14173,"nodeType":"InheritanceSpecifier","src":"1293:11:102"}],"canonicalName":"ERC20Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":14169,"nodeType":"StructuredDocumentation","src":"358:894:102","text":" @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's,\n and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1.\n NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module.\n This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n power can be queried through the public accessors {getVotes} and {getPastVotes}.\n By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n _Available since v4.2._"},"fullyImplemented":false,"id":14858,"linearizedBaseContracts":[14858,15932,23455,15968,13392,15760,13470,22281,8173],"name":"ERC20Votes","nameLocation":"1271:10:102","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ERC20Votes.Checkpoint","id":14178,"members":[{"constant":false,"id":14175,"mutability":"mutable","name":"fromBlock","nameLocation":"1346:9:102","nodeType":"VariableDeclaration","scope":14178,"src":"1339:16:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":14174,"name":"uint32","nodeType":"ElementaryTypeName","src":"1339:6:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":14177,"mutability":"mutable","name":"votes","nameLocation":"1373:5:102","nodeType":"VariableDeclaration","scope":14178,"src":"1365:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":14176,"name":"uint224","nodeType":"ElementaryTypeName","src":"1365:7:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint","nameLocation":"1318:10:102","nodeType":"StructDefinition","scope":14858,"src":"1311:74:102","visibility":"public"},{"constant":true,"id":14183,"mutability":"constant","name":"_DELEGATION_TYPEHASH","nameLocation":"1416:20:102","nodeType":"VariableDeclaration","scope":14858,"src":"1391:127:102","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1391:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"44656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929","id":14181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1457:60:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""},"value":"Delegation(address delegatee,uint256 nonce,uint256 expiry)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""}],"id":14180,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1447:9:102","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1447:71:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":14187,"mutability":"mutable","name":"_delegates","nameLocation":"1561:10:102","nodeType":"VariableDeclaration","scope":14858,"src":"1525:46:102","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":14186,"keyType":{"id":14184,"name":"address","nodeType":"ElementaryTypeName","src":"1533:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1525:27:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueType":{"id":14185,"name":"address","nodeType":"ElementaryTypeName","src":"1544:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":14193,"mutability":"mutable","name":"_checkpoints","nameLocation":"1618:12:102","nodeType":"VariableDeclaration","scope":14858,"src":"1577:53:102","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint[])"},"typeName":{"id":14192,"keyType":{"id":14188,"name":"address","nodeType":"ElementaryTypeName","src":"1585:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1577:32:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint[])"},"valueType":{"baseType":{"id":14190,"nodeType":"UserDefinedTypeName","pathNode":{"id":14189,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"1596:10:102"},"referencedDeclaration":14178,"src":"1596:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":14191,"nodeType":"ArrayTypeName","src":"1596:12:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}}},"visibility":"private"},{"constant":false,"id":14197,"mutability":"mutable","name":"_totalSupplyCheckpoints","nameLocation":"1657:23:102","nodeType":"VariableDeclaration","scope":14858,"src":"1636:44:102","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":14195,"nodeType":"UserDefinedTypeName","pathNode":{"id":14194,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"1636:10:102"},"referencedDeclaration":14178,"src":"1636:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":14196,"nodeType":"ArrayTypeName","src":"1636:12:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"private"},{"body":{"id":14214,"nodeType":"Block","src":"1856:50:102","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":14208,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"1873:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14210,"indexExpression":{"id":14209,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14200,"src":"1886:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1873:21:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":14212,"indexExpression":{"id":14211,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14202,"src":"1895:3:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1873:26:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage","typeString":"struct ERC20Votes.Checkpoint storage ref"}},"functionReturnParameters":14207,"id":14213,"nodeType":"Return","src":"1866:33:102"}]},"documentation":{"id":14198,"nodeType":"StructuredDocumentation","src":"1687:66:102","text":" @dev Get the `pos`-th checkpoint for `account`."},"functionSelector":"f1127ed8","id":14215,"implemented":true,"kind":"function","modifiers":[],"name":"checkpoints","nameLocation":"1767:11:102","nodeType":"FunctionDefinition","parameters":{"id":14203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14200,"mutability":"mutable","name":"account","nameLocation":"1787:7:102","nodeType":"VariableDeclaration","scope":14215,"src":"1779:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14199,"name":"address","nodeType":"ElementaryTypeName","src":"1779:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14202,"mutability":"mutable","name":"pos","nameLocation":"1803:3:102","nodeType":"VariableDeclaration","scope":14215,"src":"1796:10:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":14201,"name":"uint32","nodeType":"ElementaryTypeName","src":"1796:6:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"1778:29:102"},"returnParameters":{"id":14207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14215,"src":"1837:17:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":14205,"nodeType":"UserDefinedTypeName","pathNode":{"id":14204,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"1837:10:102"},"referencedDeclaration":14178,"src":"1837:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"src":"1836:19:102"},"scope":14858,"src":"1758:148:102","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":14231,"nodeType":"Block","src":"2059:71:102","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":14225,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"2094:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14227,"indexExpression":{"id":14226,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14218,"src":"2107:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2094:21:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":14228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2094:28:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14223,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"2076:8:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":26365,"src":"2076:17:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":14229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2076:47:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":14222,"id":14230,"nodeType":"Return","src":"2069:54:102"}]},"documentation":{"id":14216,"nodeType":"StructuredDocumentation","src":"1912:64:102","text":" @dev Get number of checkpoints for `account`."},"functionSelector":"6fcfff45","id":14232,"implemented":true,"kind":"function","modifiers":[],"name":"numCheckpoints","nameLocation":"1990:14:102","nodeType":"FunctionDefinition","parameters":{"id":14219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14218,"mutability":"mutable","name":"account","nameLocation":"2013:7:102","nodeType":"VariableDeclaration","scope":14232,"src":"2005:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14217,"name":"address","nodeType":"ElementaryTypeName","src":"2005:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2004:17:102"},"returnParameters":{"id":14222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14232,"src":"2051:6:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":14220,"name":"uint32","nodeType":"ElementaryTypeName","src":"2051:6:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2050:8:102"},"scope":14858,"src":"1981:149:102","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8150],"body":{"id":14245,"nodeType":"Block","src":"2301:43:102","statements":[{"expression":{"baseExpression":{"id":14241,"name":"_delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14187,"src":"2318:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":14243,"indexExpression":{"id":14242,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14235,"src":"2329:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2318:19:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":14240,"id":14244,"nodeType":"Return","src":"2311:26:102"}]},"documentation":{"id":14233,"nodeType":"StructuredDocumentation","src":"2136:77:102","text":" @dev Get the address `account` is currently delegating to."},"functionSelector":"587cde1e","id":14246,"implemented":true,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"2227:9:102","nodeType":"FunctionDefinition","overrides":{"id":14237,"nodeType":"OverrideSpecifier","overrides":[],"src":"2274:8:102"},"parameters":{"id":14236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14235,"mutability":"mutable","name":"account","nameLocation":"2245:7:102","nodeType":"VariableDeclaration","scope":14246,"src":"2237:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14234,"name":"address","nodeType":"ElementaryTypeName","src":"2237:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2236:17:102"},"returnParameters":{"id":14240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14246,"src":"2292:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14238,"name":"address","nodeType":"ElementaryTypeName","src":"2292:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2291:9:102"},"scope":14858,"src":"2218:126:102","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8124],"body":{"id":14276,"nodeType":"Block","src":"2505:127:102","statements":[{"assignments":[14256],"declarations":[{"constant":false,"id":14256,"mutability":"mutable","name":"pos","nameLocation":"2523:3:102","nodeType":"VariableDeclaration","scope":14276,"src":"2515:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14255,"name":"uint256","nodeType":"ElementaryTypeName","src":"2515:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14261,"initialValue":{"expression":{"baseExpression":{"id":14257,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"2529:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14259,"indexExpression":{"id":14258,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14249,"src":"2542:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2529:21:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":14260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2529:28:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2515:42:102"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14262,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14256,"src":"2574:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2581:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2574:8:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"baseExpression":{"baseExpression":{"id":14266,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"2589:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14268,"indexExpression":{"id":14267,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14249,"src":"2602:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2589:21:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":14272,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14269,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14256,"src":"2611:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2617:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2611:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2589:30:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage","typeString":"struct ERC20Votes.Checkpoint storage ref"}},"id":14273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":14177,"src":"2589:36:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":14274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2574:51:102","trueExpression":{"hexValue":"30","id":14265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2585:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":14254,"id":14275,"nodeType":"Return","src":"2567:58:102"}]},"documentation":{"id":14247,"nodeType":"StructuredDocumentation","src":"2350:68:102","text":" @dev Gets the current votes balance for `account`"},"functionSelector":"9ab24eb0","id":14277,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"2432:8:102","nodeType":"FunctionDefinition","overrides":{"id":14251,"nodeType":"OverrideSpecifier","overrides":[],"src":"2478:8:102"},"parameters":{"id":14250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14249,"mutability":"mutable","name":"account","nameLocation":"2449:7:102","nodeType":"VariableDeclaration","scope":14277,"src":"2441:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14248,"name":"address","nodeType":"ElementaryTypeName","src":"2441:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2440:17:102"},"returnParameters":{"id":14254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14277,"src":"2496:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14252,"name":"uint256","nodeType":"ElementaryTypeName","src":"2496:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2495:9:102"},"scope":14858,"src":"2423:209:102","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8134],"body":{"id":14303,"nodeType":"Block","src":"2932:158:102","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14289,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"2950:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":14290,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2964:5:102","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":14291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2964:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2950:26:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564","id":14293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2978:33:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d","typeString":"literal_string \"ERC20Votes: block not yet mined\""},"value":"ERC20Votes: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d","typeString":"literal_string \"ERC20Votes: block not yet mined\""}],"id":14288,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2942:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2942:70:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14295,"nodeType":"ExpressionStatement","src":"2942:70:102"},{"expression":{"arguments":[{"baseExpression":{"id":14297,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"3048:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14299,"indexExpression":{"id":14298,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14280,"src":"3061:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3048:21:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14300,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"3071:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14296,"name":"_checkpointsLookup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14433,"src":"3029:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)"}},"id":14301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3029:54:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14287,"id":14302,"nodeType":"Return","src":"3022:61:102"}]},"documentation":{"id":14278,"nodeType":"StructuredDocumentation","src":"2638:182:102","text":" @dev Retrieve the number of votes for `account` at the end of `blockNumber`.\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"3a46b1a8","id":14304,"implemented":true,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"2834:12:102","nodeType":"FunctionDefinition","overrides":{"id":14284,"nodeType":"OverrideSpecifier","overrides":[],"src":"2905:8:102"},"parameters":{"id":14283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14280,"mutability":"mutable","name":"account","nameLocation":"2855:7:102","nodeType":"VariableDeclaration","scope":14304,"src":"2847:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14279,"name":"address","nodeType":"ElementaryTypeName","src":"2847:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14282,"mutability":"mutable","name":"blockNumber","nameLocation":"2872:11:102","nodeType":"VariableDeclaration","scope":14304,"src":"2864:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14281,"name":"uint256","nodeType":"ElementaryTypeName","src":"2864:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2846:38:102"},"returnParameters":{"id":14287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14304,"src":"2923:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14285,"name":"uint256","nodeType":"ElementaryTypeName","src":"2923:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2922:9:102"},"scope":14858,"src":"2825:265:102","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8142],"body":{"id":14326,"nodeType":"Block","src":"3465:160:102","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14314,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14307,"src":"3483:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":14315,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3497:5:102","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":14316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3497:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3483:26:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564","id":14318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3511:33:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d","typeString":"literal_string \"ERC20Votes: block not yet mined\""},"value":"ERC20Votes: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d","typeString":"literal_string \"ERC20Votes: block not yet mined\""}],"id":14313,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3475:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3475:70:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14320,"nodeType":"ExpressionStatement","src":"3475:70:102"},{"expression":{"arguments":[{"id":14322,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14197,"src":"3581:23:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14323,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14307,"src":"3606:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14321,"name":"_checkpointsLookup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14433,"src":"3562:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)"}},"id":14324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:56:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14312,"id":14325,"nodeType":"Return","src":"3555:63:102"}]},"documentation":{"id":14305,"nodeType":"StructuredDocumentation","src":"3096:268:102","text":" @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances.\n It is but NOT the sum of all the delegated votes!\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"8e539e8c","id":14327,"implemented":true,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"3378:18:102","nodeType":"FunctionDefinition","overrides":{"id":14309,"nodeType":"OverrideSpecifier","overrides":[],"src":"3438:8:102"},"parameters":{"id":14308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14307,"mutability":"mutable","name":"blockNumber","nameLocation":"3405:11:102","nodeType":"VariableDeclaration","scope":14327,"src":"3397:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14306,"name":"uint256","nodeType":"ElementaryTypeName","src":"3397:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3396:21:102"},"returnParameters":{"id":14312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14327,"src":"3456:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14310,"name":"uint256","nodeType":"ElementaryTypeName","src":"3456:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3455:9:102"},"scope":14858,"src":"3369:256:102","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":14432,"nodeType":"Block","src":"3817:1750:102","statements":[{"assignments":[14340],"declarations":[{"constant":false,"id":14340,"mutability":"mutable","name":"length","nameLocation":"4904:6:102","nodeType":"VariableDeclaration","scope":14432,"src":"4896:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14339,"name":"uint256","nodeType":"ElementaryTypeName","src":"4896:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14343,"initialValue":{"expression":{"id":14341,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"4913:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":14342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4913:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4896:29:102"},{"assignments":[14345],"declarations":[{"constant":false,"id":14345,"mutability":"mutable","name":"low","nameLocation":"4944:3:102","nodeType":"VariableDeclaration","scope":14432,"src":"4936:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14344,"name":"uint256","nodeType":"ElementaryTypeName","src":"4936:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14347,"initialValue":{"hexValue":"30","id":14346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4950:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4936:15:102"},{"assignments":[14349],"declarations":[{"constant":false,"id":14349,"mutability":"mutable","name":"high","nameLocation":"4969:4:102","nodeType":"VariableDeclaration","scope":14432,"src":"4961:12:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14348,"name":"uint256","nodeType":"ElementaryTypeName","src":"4961:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14351,"initialValue":{"id":14350,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14340,"src":"4976:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4961:21:102"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14352,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14340,"src":"4997:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":14353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5006:1:102","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"4997:10:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14385,"nodeType":"IfStatement","src":"4993:244:102","trueBody":{"id":14384,"nodeType":"Block","src":"5009:228:102","statements":[{"assignments":[14356],"declarations":[{"constant":false,"id":14356,"mutability":"mutable","name":"mid","nameLocation":"5031:3:102","nodeType":"VariableDeclaration","scope":14384,"src":"5023:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14355,"name":"uint256","nodeType":"ElementaryTypeName","src":"5023:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14363,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14357,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14340,"src":"5037:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":14360,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14340,"src":"5056:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14358,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"5046:4:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":14359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":25166,"src":"5046:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":14361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5046:17:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5037:26:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5023:40:102"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":14365,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"5095:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"id":14366,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14356,"src":"5102:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14364,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14857,"src":"5081:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":14367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5081:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":14368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":14175,"src":"5081:35:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":14369,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14334,"src":"5119:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5081:49:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14382,"nodeType":"Block","src":"5181:46:102","statements":[{"expression":{"id":14380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14376,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14345,"src":"5199:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14377,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14356,"src":"5205:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":14378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5211:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5205:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5199:13:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14381,"nodeType":"ExpressionStatement","src":"5199:13:102"}]},"id":14383,"nodeType":"IfStatement","src":"5077:150:102","trueBody":{"id":14375,"nodeType":"Block","src":"5132:43:102","statements":[{"expression":{"id":14373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14371,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5150:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14372,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14356,"src":"5157:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5150:10:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14374,"nodeType":"ExpressionStatement","src":"5150:10:102"}]}}]}},{"body":{"id":14417,"nodeType":"Block","src":"5266:225:102","statements":[{"assignments":[14390],"declarations":[{"constant":false,"id":14390,"mutability":"mutable","name":"mid","nameLocation":"5288:3:102","nodeType":"VariableDeclaration","scope":14417,"src":"5280:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14389,"name":"uint256","nodeType":"ElementaryTypeName","src":"5280:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14396,"initialValue":{"arguments":[{"id":14393,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14345,"src":"5307:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14394,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5312:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14391,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"5294:4:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":14392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"5294:12:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":14395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5294:23:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5280:37:102"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":14398,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"5349:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"id":14399,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14390,"src":"5356:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14397,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14857,"src":"5335:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":14400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5335:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":14401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":14175,"src":"5335:35:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":14402,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14334,"src":"5373:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5335:49:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14415,"nodeType":"Block","src":"5435:46:102","statements":[{"expression":{"id":14413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14409,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14345,"src":"5453:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14410,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14390,"src":"5459:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":14411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5465:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5459:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5453:13:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14414,"nodeType":"ExpressionStatement","src":"5453:13:102"}]},"id":14416,"nodeType":"IfStatement","src":"5331:150:102","trueBody":{"id":14408,"nodeType":"Block","src":"5386:43:102","statements":[{"expression":{"id":14406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14404,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5404:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14405,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14390,"src":"5411:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5404:10:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14407,"nodeType":"ExpressionStatement","src":"5404:10:102"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14386,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14345,"src":"5254:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":14387,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5260:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5254:10:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14418,"nodeType":"WhileStatement","src":"5247:244:102"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14419,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5508:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5516:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5508:9:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"id":14424,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"5538:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14425,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14349,"src":"5545:4:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5552:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5545:8:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14423,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14857,"src":"5524:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":14428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5524:30:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":14429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":14177,"src":"5524:36:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":14430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5508:52:102","trueExpression":{"hexValue":"30","id":14422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5520:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":14338,"id":14431,"nodeType":"Return","src":"5501:59:102"}]},"documentation":{"id":14328,"nodeType":"StructuredDocumentation","src":"3631:73:102","text":" @dev Lookup a value in a list of (sorted) checkpoints."},"id":14433,"implemented":true,"kind":"function","modifiers":[],"name":"_checkpointsLookup","nameLocation":"3718:18:102","nodeType":"FunctionDefinition","parameters":{"id":14335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14332,"mutability":"mutable","name":"ckpts","nameLocation":"3758:5:102","nodeType":"VariableDeclaration","scope":14433,"src":"3737:26:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":14330,"nodeType":"UserDefinedTypeName","pathNode":{"id":14329,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"3737:10:102"},"referencedDeclaration":14178,"src":"3737:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":14331,"nodeType":"ArrayTypeName","src":"3737:12:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":14334,"mutability":"mutable","name":"blockNumber","nameLocation":"3773:11:102","nodeType":"VariableDeclaration","scope":14433,"src":"3765:19:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14333,"name":"uint256","nodeType":"ElementaryTypeName","src":"3765:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3736:49:102"},"returnParameters":{"id":14338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14433,"src":"3808:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14336,"name":"uint256","nodeType":"ElementaryTypeName","src":"3808:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3807:9:102"},"scope":14858,"src":"3709:1858:102","stateMutability":"view","virtual":false,"visibility":"private"},{"baseFunctions":[8156],"body":{"id":14446,"nodeType":"Block","src":"5709:51:102","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":14441,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5729:10:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5729:12:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14443,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14436,"src":"5743:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14440,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14644,"src":"5719:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":14444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5719:34:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14445,"nodeType":"ExpressionStatement","src":"5719:34:102"}]},"documentation":{"id":14434,"nodeType":"StructuredDocumentation","src":"5573:70:102","text":" @dev Delegate votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","id":14447,"implemented":true,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"5657:8:102","nodeType":"FunctionDefinition","overrides":{"id":14438,"nodeType":"OverrideSpecifier","overrides":[],"src":"5700:8:102"},"parameters":{"id":14437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14436,"mutability":"mutable","name":"delegatee","nameLocation":"5674:9:102","nodeType":"VariableDeclaration","scope":14447,"src":"5666:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14435,"name":"address","nodeType":"ElementaryTypeName","src":"5666:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5665:19:102"},"returnParameters":{"id":14439,"nodeType":"ParameterList","parameters":[],"src":"5709:0:102"},"scope":14858,"src":"5648:112:102","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[8172],"body":{"id":14506,"nodeType":"Block","src":"6019:392:102","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14465,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6037:5:102","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":14466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"6037:15:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":14467,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14454,"src":"6056:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6037:25:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a207369676e61747572652065787069726564","id":14469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6064:31:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257","typeString":"literal_string \"ERC20Votes: signature expired\""},"value":"ERC20Votes: signature expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257","typeString":"literal_string \"ERC20Votes: signature expired\""}],"id":14464,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6029:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6029:67:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14471,"nodeType":"ExpressionStatement","src":"6029:67:102"},{"assignments":[14473],"declarations":[{"constant":false,"id":14473,"mutability":"mutable","name":"signer","nameLocation":"6114:6:102","nodeType":"VariableDeclaration","scope":14506,"src":"6106:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14472,"name":"address","nodeType":"ElementaryTypeName","src":"6106:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":14491,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":14480,"name":"_DELEGATION_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14183,"src":"6188:20:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14481,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14450,"src":"6210:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14482,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14452,"src":"6221:5:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14483,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14454,"src":"6228:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6177:3:102","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"6177:10:102","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6177:58:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14477,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6167:9:102","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6167:69:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14476,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"6150:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":14486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6150:87:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14487,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14456,"src":"6251:1:102","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":14488,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14458,"src":"6266:1:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14489,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14460,"src":"6281:1:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14474,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"6123:5:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":14475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23241,"src":"6123:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":14490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6123:169:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6106:186:102"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14493,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14452,"src":"6310:5:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":14495,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14473,"src":"6329:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14494,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15931,"src":"6319:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":14496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:17:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6310:26:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20696e76616c6964206e6f6e6365","id":14498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6338:27:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872","typeString":"literal_string \"ERC20Votes: invalid nonce\""},"value":"ERC20Votes: invalid nonce"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872","typeString":"literal_string \"ERC20Votes: invalid nonce\""}],"id":14492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6302:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6302:64:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14500,"nodeType":"ExpressionStatement","src":"6302:64:102"},{"expression":{"arguments":[{"id":14502,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14473,"src":"6386:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14503,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14450,"src":"6394:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14501,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14644,"src":"6376:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":14504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6376:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14505,"nodeType":"ExpressionStatement","src":"6376:28:102"}]},"documentation":{"id":14448,"nodeType":"StructuredDocumentation","src":"5766:66:102","text":" @dev Delegates votes from signer to `delegatee`"},"functionSelector":"c3cda520","id":14507,"implemented":true,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"5846:13:102","nodeType":"FunctionDefinition","overrides":{"id":14462,"nodeType":"OverrideSpecifier","overrides":[],"src":"6010:8:102"},"parameters":{"id":14461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14450,"mutability":"mutable","name":"delegatee","nameLocation":"5877:9:102","nodeType":"VariableDeclaration","scope":14507,"src":"5869:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14449,"name":"address","nodeType":"ElementaryTypeName","src":"5869:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14452,"mutability":"mutable","name":"nonce","nameLocation":"5904:5:102","nodeType":"VariableDeclaration","scope":14507,"src":"5896:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14451,"name":"uint256","nodeType":"ElementaryTypeName","src":"5896:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14454,"mutability":"mutable","name":"expiry","nameLocation":"5927:6:102","nodeType":"VariableDeclaration","scope":14507,"src":"5919:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14453,"name":"uint256","nodeType":"ElementaryTypeName","src":"5919:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14456,"mutability":"mutable","name":"v","nameLocation":"5949:1:102","nodeType":"VariableDeclaration","scope":14507,"src":"5943:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":14455,"name":"uint8","nodeType":"ElementaryTypeName","src":"5943:5:102","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":14458,"mutability":"mutable","name":"r","nameLocation":"5968:1:102","nodeType":"VariableDeclaration","scope":14507,"src":"5960:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5960:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14460,"mutability":"mutable","name":"s","nameLocation":"5987:1:102","nodeType":"VariableDeclaration","scope":14507,"src":"5979:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5979:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5859:135:102"},"returnParameters":{"id":14463,"nodeType":"ParameterList","parameters":[],"src":"6019:0:102"},"scope":14858,"src":"5837:574:102","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":14519,"nodeType":"Block","src":"6575:41:102","statements":[{"expression":{"expression":{"arguments":[{"id":14515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6597:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":14514,"name":"uint224","nodeType":"ElementaryTypeName","src":"6597:7:102","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":14513,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6592:4:102","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":14516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6592:13:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":14517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6592:17:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":14512,"id":14518,"nodeType":"Return","src":"6585:24:102"}]},"documentation":{"id":14508,"nodeType":"StructuredDocumentation","src":"6417:91:102","text":" @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1)."},"id":14520,"implemented":true,"kind":"function","modifiers":[],"name":"_maxSupply","nameLocation":"6522:10:102","nodeType":"FunctionDefinition","parameters":{"id":14509,"nodeType":"ParameterList","parameters":[],"src":"6532:2:102"},"returnParameters":{"id":14512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14520,"src":"6566:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":14510,"name":"uint224","nodeType":"ElementaryTypeName","src":"6566:7:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"6565:9:102"},"scope":14858,"src":"6513:103:102","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[13209],"body":{"id":14551,"nodeType":"Block","src":"6779:211:102","statements":[{"expression":{"arguments":[{"id":14532,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14523,"src":"6801:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14533,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14525,"src":"6810:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14529,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6789:5:102","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$14858_$","typeString":"type(contract super ERC20Votes)"}},"id":14531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_mint","nodeType":"MemberAccess","referencedDeclaration":13209,"src":"6789:11:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":14534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6789:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14535,"nodeType":"ExpressionStatement","src":"6789:28:102"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":14537,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"6835:11:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":14538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6835:13:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":14539,"name":"_maxSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14520,"src":"6852:10:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint224_$","typeString":"function () view returns (uint224)"}},"id":14540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6852:12:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"6835:29:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20746f74616c20737570706c79207269736b73206f766572666c6f77696e6720766f746573","id":14542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6866:50:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699","typeString":"literal_string \"ERC20Votes: total supply risks overflowing votes\""},"value":"ERC20Votes: total supply risks overflowing votes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699","typeString":"literal_string \"ERC20Votes: total supply risks overflowing votes\""}],"id":14536,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6827:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6827:90:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14544,"nodeType":"ExpressionStatement","src":"6827:90:102"},{"expression":{"arguments":[{"id":14546,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14197,"src":"6945:23:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14547,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"6970:4:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":14548,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14525,"src":"6976:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14545,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14815,"src":"6928:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":14549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6928:55:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":14550,"nodeType":"ExpressionStatement","src":"6928:55:102"}]},"documentation":{"id":14521,"nodeType":"StructuredDocumentation","src":"6622:78:102","text":" @dev Snapshots the totalSupply after it has been increased."},"id":14552,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6714:5:102","nodeType":"FunctionDefinition","overrides":{"id":14527,"nodeType":"OverrideSpecifier","overrides":[],"src":"6770:8:102"},"parameters":{"id":14526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14523,"mutability":"mutable","name":"account","nameLocation":"6728:7:102","nodeType":"VariableDeclaration","scope":14552,"src":"6720:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14522,"name":"address","nodeType":"ElementaryTypeName","src":"6720:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14525,"mutability":"mutable","name":"amount","nameLocation":"6745:6:102","nodeType":"VariableDeclaration","scope":14552,"src":"6737:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14524,"name":"uint256","nodeType":"ElementaryTypeName","src":"6737:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:33:102"},"returnParameters":{"id":14528,"nodeType":"ParameterList","parameters":[],"src":"6779:0:102"},"scope":14858,"src":"6705:285:102","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[13281],"body":{"id":14574,"nodeType":"Block","src":"7153:116:102","statements":[{"expression":{"arguments":[{"id":14564,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14555,"src":"7175:7:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14565,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14557,"src":"7184:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14561,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7163:5:102","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$14858_$","typeString":"type(contract super ERC20Votes)"}},"id":14563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":13281,"src":"7163:11:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":14566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7163:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14567,"nodeType":"ExpressionStatement","src":"7163:28:102"},{"expression":{"arguments":[{"id":14569,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14197,"src":"7219:23:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14570,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14843,"src":"7244:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":14571,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14557,"src":"7255:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14568,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14815,"src":"7202:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":14572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7202:60:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":14573,"nodeType":"ExpressionStatement","src":"7202:60:102"}]},"documentation":{"id":14553,"nodeType":"StructuredDocumentation","src":"6996:78:102","text":" @dev Snapshots the totalSupply after it has been decreased."},"id":14575,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7088:5:102","nodeType":"FunctionDefinition","overrides":{"id":14559,"nodeType":"OverrideSpecifier","overrides":[],"src":"7144:8:102"},"parameters":{"id":14558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14555,"mutability":"mutable","name":"account","nameLocation":"7102:7:102","nodeType":"VariableDeclaration","scope":14575,"src":"7094:15:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14554,"name":"address","nodeType":"ElementaryTypeName","src":"7094:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14557,"mutability":"mutable","name":"amount","nameLocation":"7119:6:102","nodeType":"VariableDeclaration","scope":14575,"src":"7111:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14556,"name":"uint256","nodeType":"ElementaryTypeName","src":"7111:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7093:33:102"},"returnParameters":{"id":14560,"nodeType":"ParameterList","parameters":[],"src":"7153:0:102"},"scope":14858,"src":"7079:190:102","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[13391],"body":{"id":14604,"nodeType":"Block","src":"7536:127:102","statements":[{"expression":{"arguments":[{"id":14589,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14578,"src":"7572:4:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14590,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14580,"src":"7578:2:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14591,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14582,"src":"7582:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14586,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7546:5:102","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$14858_$","typeString":"type(contract super ERC20Votes)"}},"id":14588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_afterTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":13391,"src":"7546:25:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":14592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7546:43:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14593,"nodeType":"ExpressionStatement","src":"7546:43:102"},{"expression":{"arguments":[{"arguments":[{"id":14596,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14578,"src":"7627:4:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14595,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14246,"src":"7617:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":14597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7617:15:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":14599,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14580,"src":"7644:2:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14598,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14246,"src":"7634:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":14600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7634:13:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14601,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14582,"src":"7649:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14594,"name":"_moveVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14715,"src":"7600:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":14602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7600:56:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14603,"nodeType":"ExpressionStatement","src":"7600:56:102"}]},"documentation":{"id":14576,"nodeType":"StructuredDocumentation","src":"7275:129:102","text":" @dev Move voting power when tokens are transferred.\n Emits a {IVotes-DelegateVotesChanged} event."},"id":14605,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"7418:19:102","nodeType":"FunctionDefinition","overrides":{"id":14584,"nodeType":"OverrideSpecifier","overrides":[],"src":"7527:8:102"},"parameters":{"id":14583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14578,"mutability":"mutable","name":"from","nameLocation":"7455:4:102","nodeType":"VariableDeclaration","scope":14605,"src":"7447:12:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14577,"name":"address","nodeType":"ElementaryTypeName","src":"7447:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14580,"mutability":"mutable","name":"to","nameLocation":"7477:2:102","nodeType":"VariableDeclaration","scope":14605,"src":"7469:10:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14579,"name":"address","nodeType":"ElementaryTypeName","src":"7469:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14582,"mutability":"mutable","name":"amount","nameLocation":"7497:6:102","nodeType":"VariableDeclaration","scope":14605,"src":"7489:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14581,"name":"uint256","nodeType":"ElementaryTypeName","src":"7489:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7437:72:102"},"returnParameters":{"id":14585,"nodeType":"ParameterList","parameters":[],"src":"7536:0:102"},"scope":14858,"src":"7409:254:102","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":14643,"nodeType":"Block","src":"7908:306:102","statements":[{"assignments":[14614],"declarations":[{"constant":false,"id":14614,"mutability":"mutable","name":"currentDelegate","nameLocation":"7926:15:102","nodeType":"VariableDeclaration","scope":14643,"src":"7918:23:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14613,"name":"address","nodeType":"ElementaryTypeName","src":"7918:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":14618,"initialValue":{"arguments":[{"id":14616,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"7954:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14615,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14246,"src":"7944:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":14617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7944:20:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7918:46:102"},{"assignments":[14620],"declarations":[{"constant":false,"id":14620,"mutability":"mutable","name":"delegatorBalance","nameLocation":"7982:16:102","nodeType":"VariableDeclaration","scope":14643,"src":"7974:24:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14619,"name":"uint256","nodeType":"ElementaryTypeName","src":"7974:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14624,"initialValue":{"arguments":[{"id":14622,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"8011:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14621,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"8001:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":14623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8001:20:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7974:47:102"},{"expression":{"id":14629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14625,"name":"_delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14187,"src":"8031:10:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":14627,"indexExpression":{"id":14626,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"8042:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8031:21:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14628,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"8055:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8031:33:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14630,"nodeType":"ExpressionStatement","src":"8031:33:102"},{"eventCall":{"arguments":[{"id":14632,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"8096:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14633,"name":"currentDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14614,"src":"8107:15:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14634,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"8124:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14631,"name":"DelegateChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8107,"src":"8080:15:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":14635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8080:54:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14636,"nodeType":"EmitStatement","src":"8075:59:102"},{"expression":{"arguments":[{"id":14638,"name":"currentDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14614,"src":"8162:15:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14639,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"8179:9:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14640,"name":"delegatorBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14620,"src":"8190:16:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14637,"name":"_moveVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14715,"src":"8145:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":14641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8145:62:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14642,"nodeType":"ExpressionStatement","src":"8145:62:102"}]},"documentation":{"id":14606,"nodeType":"StructuredDocumentation","src":"7669:160:102","text":" @dev Change delegation for `delegator` to `delegatee`.\n Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}."},"id":14644,"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"7843:9:102","nodeType":"FunctionDefinition","parameters":{"id":14611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14608,"mutability":"mutable","name":"delegator","nameLocation":"7861:9:102","nodeType":"VariableDeclaration","scope":14644,"src":"7853:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14607,"name":"address","nodeType":"ElementaryTypeName","src":"7853:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14610,"mutability":"mutable","name":"delegatee","nameLocation":"7880:9:102","nodeType":"VariableDeclaration","scope":14644,"src":"7872:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14609,"name":"address","nodeType":"ElementaryTypeName","src":"7872:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7852:38:102"},"returnParameters":{"id":14612,"nodeType":"ParameterList","parameters":[],"src":"7908:0:102"},"scope":14858,"src":"7834:380:102","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":14714,"nodeType":"Block","src":"8326:521:102","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14653,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14646,"src":"8340:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":14654,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14648,"src":"8347:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8340:10:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14656,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"8354:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8363:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8354:10:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8340:24:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14713,"nodeType":"IfStatement","src":"8336:505:102","trueBody":{"id":14712,"nodeType":"Block","src":"8366:475:102","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14660,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14646,"src":"8384:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8399:1:102","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":14662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8391:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14661,"name":"address","nodeType":"ElementaryTypeName","src":"8391:7:102","typeDescriptions":{}}},"id":14664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8391:10:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8384:17:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14685,"nodeType":"IfStatement","src":"8380:221:102","trueBody":{"id":14684,"nodeType":"Block","src":"8403:198:102","statements":[{"assignments":[14667,14669],"declarations":[{"constant":false,"id":14667,"mutability":"mutable","name":"oldWeight","nameLocation":"8430:9:102","nodeType":"VariableDeclaration","scope":14684,"src":"8422:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14666,"name":"uint256","nodeType":"ElementaryTypeName","src":"8422:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14669,"mutability":"mutable","name":"newWeight","nameLocation":"8449:9:102","nodeType":"VariableDeclaration","scope":14684,"src":"8441:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14668,"name":"uint256","nodeType":"ElementaryTypeName","src":"8441:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14677,"initialValue":{"arguments":[{"baseExpression":{"id":14671,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"8479:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14673,"indexExpression":{"id":14672,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14646,"src":"8492:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8479:17:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14674,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14843,"src":"8498:9:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":14675,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"8509:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14670,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14815,"src":"8462:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":14676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8462:54:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8421:95:102"},{"eventCall":{"arguments":[{"id":14679,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14646,"src":"8560:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14680,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14667,"src":"8565:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14681,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14669,"src":"8576:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14678,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"8539:20:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":14682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8539:47:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14683,"nodeType":"EmitStatement","src":"8534:52:102"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14686,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14648,"src":"8619:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8634:1:102","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":14688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8626:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14687,"name":"address","nodeType":"ElementaryTypeName","src":"8626:7:102","typeDescriptions":{}}},"id":14690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8626:10:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8619:17:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14711,"nodeType":"IfStatement","src":"8615:216:102","trueBody":{"id":14710,"nodeType":"Block","src":"8638:193:102","statements":[{"assignments":[14693,14695],"declarations":[{"constant":false,"id":14693,"mutability":"mutable","name":"oldWeight","nameLocation":"8665:9:102","nodeType":"VariableDeclaration","scope":14710,"src":"8657:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14692,"name":"uint256","nodeType":"ElementaryTypeName","src":"8657:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14695,"mutability":"mutable","name":"newWeight","nameLocation":"8684:9:102","nodeType":"VariableDeclaration","scope":14710,"src":"8676:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14694,"name":"uint256","nodeType":"ElementaryTypeName","src":"8676:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14703,"initialValue":{"arguments":[{"baseExpression":{"id":14697,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14193,"src":"8714:12:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":14699,"indexExpression":{"id":14698,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14648,"src":"8727:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8714:17:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":14700,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"8733:4:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":14701,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"8739:6:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14696,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14815,"src":"8697:16:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":14702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8697:49:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8656:90:102"},{"eventCall":{"arguments":[{"id":14705,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14648,"src":"8790:3:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14706,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14693,"src":"8795:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14707,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14695,"src":"8806:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14704,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"8769:20:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":14708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8769:47:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14709,"nodeType":"EmitStatement","src":"8764:52:102"}]}}]}}]},"id":14715,"implemented":true,"kind":"function","modifiers":[],"name":"_moveVotingPower","nameLocation":"8229:16:102","nodeType":"FunctionDefinition","parameters":{"id":14651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"src","nameLocation":"8263:3:102","nodeType":"VariableDeclaration","scope":14715,"src":"8255:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14645,"name":"address","nodeType":"ElementaryTypeName","src":"8255:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14648,"mutability":"mutable","name":"dst","nameLocation":"8284:3:102","nodeType":"VariableDeclaration","scope":14715,"src":"8276:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14647,"name":"address","nodeType":"ElementaryTypeName","src":"8276:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14650,"mutability":"mutable","name":"amount","nameLocation":"8305:6:102","nodeType":"VariableDeclaration","scope":14715,"src":"8297:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14649,"name":"uint256","nodeType":"ElementaryTypeName","src":"8297:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8245:72:102"},"returnParameters":{"id":14652,"nodeType":"ParameterList","parameters":[],"src":"8326:0:102"},"scope":14858,"src":"8220:627:102","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14814,"nodeType":"Block","src":"9061:508:102","statements":[{"assignments":[14739],"declarations":[{"constant":false,"id":14739,"mutability":"mutable","name":"pos","nameLocation":"9079:3:102","nodeType":"VariableDeclaration","scope":14814,"src":"9071:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14738,"name":"uint256","nodeType":"ElementaryTypeName","src":"9071:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14742,"initialValue":{"expression":{"id":14740,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14719,"src":"9085:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":14741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9085:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9071:26:102"},{"assignments":[14745],"declarations":[{"constant":false,"id":14745,"mutability":"mutable","name":"oldCkpt","nameLocation":"9126:7:102","nodeType":"VariableDeclaration","scope":14814,"src":"9108:25:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":14744,"nodeType":"UserDefinedTypeName","pathNode":{"id":14743,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"9108:10:102"},"referencedDeclaration":14178,"src":"9108:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"id":14760,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14746,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14739,"src":"9136:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9143:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9136:8:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":14754,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14719,"src":"9180:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14755,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14739,"src":"9187:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9193:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9187:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14753,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14857,"src":"9166:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":14758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9166:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":14759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9136:59:102","trueExpression":{"arguments":[{"hexValue":"30","id":14750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9158:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":14751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9161:1:102","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"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":14749,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14178,"src":"9147:10:102","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"type(struct ERC20Votes.Checkpoint storage pointer)"}},"id":14752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9147:16:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"nodeType":"VariableDeclarationStatement","src":"9108:87:102"},{"expression":{"id":14764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14761,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14734,"src":"9206:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":14762,"name":"oldCkpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14745,"src":"9218:7:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"id":14763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":14177,"src":"9218:13:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"9206:25:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14765,"nodeType":"ExpressionStatement","src":"9206:25:102"},{"expression":{"id":14771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14766,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14736,"src":"9241:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14768,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14734,"src":"9256:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14769,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14731,"src":"9267:5:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14767,"name":"op","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14729,"src":"9253:2:102","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":14770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9253:20:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9241:32:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14772,"nodeType":"ExpressionStatement","src":"9241:32:102"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14773,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14739,"src":"9288:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9294:1:102","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9288:7:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14776,"name":"oldCkpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14745,"src":"9299:7:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"id":14777,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":14175,"src":"9299:17:102","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":14778,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9320:5:102","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":14779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9320:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9299:33:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9288:44:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14812,"nodeType":"Block","src":"9432:131:102","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":14802,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9498:5:102","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":14803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9498:12:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14800,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"9480:8:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":26365,"src":"9480:17:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":14804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9480:31:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"id":14807,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14736,"src":"9539:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14805,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"9520:8:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":25765,"src":"9520:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":14808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9520:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":14799,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14178,"src":"9457:10:102","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"type(struct ERC20Votes.Checkpoint storage pointer)"}},"id":14809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["fromBlock","votes"],"nodeType":"FunctionCall","src":"9457:94:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$14178_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}],"expression":{"id":14796,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14719,"src":"9446:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":14798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"9446:10:102","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$14178_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,struct ERC20Votes.Checkpoint storage ref)"}},"id":14810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9446:106:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14811,"nodeType":"ExpressionStatement","src":"9446:106:102"}]},"id":14813,"nodeType":"IfStatement","src":"9284:279:102","trueBody":{"id":14795,"nodeType":"Block","src":"9334:92:102","statements":[{"expression":{"id":14793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":14783,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14719,"src":"9362:5:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14784,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14739,"src":"9369:3:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9375:1:102","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9369:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14782,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14857,"src":"9348:13:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$14178_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":14787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9348:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":14788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":14177,"src":"9348:35:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14791,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14736,"src":"9405:9:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14789,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"9386:8:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":25765,"src":"9386:18:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":14792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9386:29:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"9348:67:102","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":14794,"nodeType":"ExpressionStatement","src":"9348:67:102"}]}}]},"id":14815,"implemented":true,"kind":"function","modifiers":[],"name":"_writeCheckpoint","nameLocation":"8862:16:102","nodeType":"FunctionDefinition","parameters":{"id":14732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14719,"mutability":"mutable","name":"ckpts","nameLocation":"8909:5:102","nodeType":"VariableDeclaration","scope":14815,"src":"8888:26:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":14717,"nodeType":"UserDefinedTypeName","pathNode":{"id":14716,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"8888:10:102"},"referencedDeclaration":14178,"src":"8888:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":14718,"nodeType":"ArrayTypeName","src":"8888:12:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":14729,"mutability":"mutable","name":"op","nameLocation":"8974:2:102","nodeType":"VariableDeclaration","scope":14815,"src":"8924:52:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"typeName":{"id":14728,"nodeType":"FunctionTypeName","parameterTypes":{"id":14724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14728,"src":"8933:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14720,"name":"uint256","nodeType":"ElementaryTypeName","src":"8933:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14728,"src":"8942:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14722,"name":"uint256","nodeType":"ElementaryTypeName","src":"8942:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8932:18:102"},"returnParameterTypes":{"id":14727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14728,"src":"8965:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14725,"name":"uint256","nodeType":"ElementaryTypeName","src":"8965:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8964:9:102"},"src":"8924:52:102","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"visibility":"internal"},"visibility":"internal"},{"constant":false,"id":14731,"mutability":"mutable","name":"delta","nameLocation":"8994:5:102","nodeType":"VariableDeclaration","scope":14815,"src":"8986:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14730,"name":"uint256","nodeType":"ElementaryTypeName","src":"8986:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8878:127:102"},"returnParameters":{"id":14737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14734,"mutability":"mutable","name":"oldWeight","nameLocation":"9031:9:102","nodeType":"VariableDeclaration","scope":14815,"src":"9023:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14733,"name":"uint256","nodeType":"ElementaryTypeName","src":"9023:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14736,"mutability":"mutable","name":"newWeight","nameLocation":"9050:9:102","nodeType":"VariableDeclaration","scope":14815,"src":"9042:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14735,"name":"uint256","nodeType":"ElementaryTypeName","src":"9042:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9022:38:102"},"scope":14858,"src":"8853:716:102","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14828,"nodeType":"Block","src":"9642:29:102","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14824,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14817,"src":"9659:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":14825,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14819,"src":"9663:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9659:5:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14823,"id":14827,"nodeType":"Return","src":"9652:12:102"}]},"id":14829,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"9584:4:102","nodeType":"FunctionDefinition","parameters":{"id":14820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14817,"mutability":"mutable","name":"a","nameLocation":"9597:1:102","nodeType":"VariableDeclaration","scope":14829,"src":"9589:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14816,"name":"uint256","nodeType":"ElementaryTypeName","src":"9589:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14819,"mutability":"mutable","name":"b","nameLocation":"9608:1:102","nodeType":"VariableDeclaration","scope":14829,"src":"9600:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14818,"name":"uint256","nodeType":"ElementaryTypeName","src":"9600:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9588:22:102"},"returnParameters":{"id":14823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14829,"src":"9633:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14821,"name":"uint256","nodeType":"ElementaryTypeName","src":"9633:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9632:9:102"},"scope":14858,"src":"9575:96:102","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":14842,"nodeType":"Block","src":"9749:29:102","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14838,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14831,"src":"9766:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":14839,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14833,"src":"9770:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9766:5:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14837,"id":14841,"nodeType":"Return","src":"9759:12:102"}]},"id":14843,"implemented":true,"kind":"function","modifiers":[],"name":"_subtract","nameLocation":"9686:9:102","nodeType":"FunctionDefinition","parameters":{"id":14834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14831,"mutability":"mutable","name":"a","nameLocation":"9704:1:102","nodeType":"VariableDeclaration","scope":14843,"src":"9696:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14830,"name":"uint256","nodeType":"ElementaryTypeName","src":"9696:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14833,"mutability":"mutable","name":"b","nameLocation":"9715:1:102","nodeType":"VariableDeclaration","scope":14843,"src":"9707:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14832,"name":"uint256","nodeType":"ElementaryTypeName","src":"9707:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9695:22:102"},"returnParameters":{"id":14837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14843,"src":"9740:7:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9740:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9739:9:102"},"scope":14858,"src":"9677:101:102","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":14856,"nodeType":"Block","src":"9897:126:102","statements":[{"AST":{"nodeType":"YulBlock","src":"9916:101:102","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9937:1:102","type":"","value":"0"},{"name":"ckpts.slot","nodeType":"YulIdentifier","src":"9940:10:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9930:6:102"},"nodeType":"YulFunctionCall","src":"9930:21:102"},"nodeType":"YulExpressionStatement","src":"9930:21:102"},{"nodeType":"YulAssignment","src":"9964:43:102","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9993:1:102","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9996:4:102","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9983:9:102"},"nodeType":"YulFunctionCall","src":"9983:18:102"},{"name":"pos","nodeType":"YulIdentifier","src":"10003:3:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9979:3:102"},"nodeType":"YulFunctionCall","src":"9979:28:102"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"9964:11:102"}]}]},"evmVersion":"london","externalReferences":[{"declaration":14847,"isOffset":false,"isSlot":true,"src":"9940:10:102","suffix":"slot","valueSize":1},{"declaration":14849,"isOffset":false,"isSlot":false,"src":"10003:3:102","valueSize":1},{"declaration":14853,"isOffset":false,"isSlot":true,"src":"9964:11:102","suffix":"slot","valueSize":1}],"id":14855,"nodeType":"InlineAssembly","src":"9907:110:102"}]},"id":14857,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"9793:13:102","nodeType":"FunctionDefinition","parameters":{"id":14850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14847,"mutability":"mutable","name":"ckpts","nameLocation":"9828:5:102","nodeType":"VariableDeclaration","scope":14857,"src":"9807:26:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":14845,"nodeType":"UserDefinedTypeName","pathNode":{"id":14844,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"9807:10:102"},"referencedDeclaration":14178,"src":"9807:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":14846,"nodeType":"ArrayTypeName","src":"9807:12:102","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$14178_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":14849,"mutability":"mutable","name":"pos","nameLocation":"9843:3:102","nodeType":"VariableDeclaration","scope":14857,"src":"9835:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14848,"name":"uint256","nodeType":"ElementaryTypeName","src":"9835:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9806:41:102"},"returnParameters":{"id":14854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14853,"mutability":"mutable","name":"result","nameLocation":"9889:6:102","nodeType":"VariableDeclaration","scope":14857,"src":"9870:25:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":14852,"nodeType":"UserDefinedTypeName","pathNode":{"id":14851,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":14178,"src":"9870:10:102"},"referencedDeclaration":14178,"src":"9870:10:102","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$14178_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"src":"9869:27:102"},"scope":14858,"src":"9784:239:102","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":14859,"src":"1253:8772:102","usedErrors":[]}],"src":"121:9905:102"},"id":102},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol","exportedSymbols":{"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"ERC20":[13392],"ERC20Permit":[15932],"ERC20Votes":[14858],"ERC20VotesComp":[14914],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726]},"id":14915,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":14860,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"125:23:103"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","file":"./ERC20Votes.sol","id":14861,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":14915,"sourceUnit":14859,"src":"150:26:103","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":14863,"name":"ERC20Votes","nodeType":"IdentifierPath","referencedDeclaration":14858,"src":"1278:10:103"},"id":14864,"nodeType":"InheritanceSpecifier","src":"1278:10:103"}],"canonicalName":"ERC20VotesComp","contractDependencies":[],"contractKind":"contract","documentation":{"id":14862,"nodeType":"StructuredDocumentation","src":"178:1063:103","text":" @dev Extension of ERC20 to support Compound's voting and delegation. This version exactly matches Compound's\n interface, with the drawback of only supporting supply up to (2^96^ - 1).\n NOTE: You should use this contract if you need exact compatibility with COMP (for example in order to use your token\n with Governor Alpha or Bravo) and if you are sure the supply cap of 2^96^ is enough for you. Otherwise, use the\n {ERC20Votes} variant of this module.\n This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n power can be queried through the public accessors {getCurrentVotes} and {getPriorVotes}.\n By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n _Available since v4.2._"},"fullyImplemented":false,"id":14914,"linearizedBaseContracts":[14914,14858,15932,23455,15968,13392,15760,13470,22281,8173],"name":"ERC20VotesComp","nameLocation":"1260:14:103","nodeType":"ContractDefinition","nodes":[{"body":{"id":14879,"nodeType":"Block","src":"1472:60:103","statements":[{"expression":{"arguments":[{"arguments":[{"id":14875,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14867,"src":"1516:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14874,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"1507:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":14876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1507:17:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14872,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"1489:8:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint96","nodeType":"MemberAccess","referencedDeclaration":26165,"src":"1489:17:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint96_$","typeString":"function (uint256) pure returns (uint96)"}},"id":14877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1489:36:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":14871,"id":14878,"nodeType":"Return","src":"1482:43:103"}]},"documentation":{"id":14865,"nodeType":"StructuredDocumentation","src":"1295:91:103","text":" @dev Comp version of the {getVotes} accessor, with `uint96` return type."},"functionSelector":"b4b5ea57","id":14880,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentVotes","nameLocation":"1400:15:103","nodeType":"FunctionDefinition","parameters":{"id":14868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14867,"mutability":"mutable","name":"account","nameLocation":"1424:7:103","nodeType":"VariableDeclaration","scope":14880,"src":"1416:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14866,"name":"address","nodeType":"ElementaryTypeName","src":"1416:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1415:17:103"},"returnParameters":{"id":14871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14880,"src":"1464:6:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":14869,"name":"uint96","nodeType":"ElementaryTypeName","src":"1464:6:103","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"1463:8:103"},"scope":14914,"src":"1391:141:103","stateMutability":"view","virtual":true,"visibility":"external"},{"body":{"id":14898,"nodeType":"Block","src":"1738:77:103","statements":[{"expression":{"arguments":[{"arguments":[{"id":14893,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14883,"src":"1786:7:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14894,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14885,"src":"1795:11:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14892,"name":"getPastVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14304,"src":"1773:12:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":14895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1773:34:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14890,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"1755:8:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":14891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint96","nodeType":"MemberAccess","referencedDeclaration":26165,"src":"1755:17:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint96_$","typeString":"function (uint256) pure returns (uint96)"}},"id":14896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1755:53:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":14889,"id":14897,"nodeType":"Return","src":"1748:60:103"}]},"documentation":{"id":14881,"nodeType":"StructuredDocumentation","src":"1538:95:103","text":" @dev Comp version of the {getPastVotes} accessor, with `uint96` return type."},"functionSelector":"782d6fe1","id":14899,"implemented":true,"kind":"function","modifiers":[],"name":"getPriorVotes","nameLocation":"1647:13:103","nodeType":"FunctionDefinition","parameters":{"id":14886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14883,"mutability":"mutable","name":"account","nameLocation":"1669:7:103","nodeType":"VariableDeclaration","scope":14899,"src":"1661:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14882,"name":"address","nodeType":"ElementaryTypeName","src":"1661:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14885,"mutability":"mutable","name":"blockNumber","nameLocation":"1686:11:103","nodeType":"VariableDeclaration","scope":14899,"src":"1678:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14884,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1660:38:103"},"returnParameters":{"id":14889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14899,"src":"1730:6:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":14887,"name":"uint96","nodeType":"ElementaryTypeName","src":"1730:6:103","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"1729:8:103"},"scope":14914,"src":"1638:177:103","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[14520],"body":{"id":14912,"nodeType":"Block","src":"2007:40:103","statements":[{"expression":{"expression":{"arguments":[{"id":14908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2029:6:103","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":14907,"name":"uint96","nodeType":"ElementaryTypeName","src":"2029:6:103","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":14906,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2024:4:103","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":14909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2024:12:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":14910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"2024:16:103","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":14905,"id":14911,"nodeType":"Return","src":"2017:23:103"}]},"documentation":{"id":14900,"nodeType":"StructuredDocumentation","src":"1821:110:103","text":" @dev Maximum token supply. Reduced to `type(uint96).max` (2^96^ - 1) to fit COMP interface."},"id":14913,"implemented":true,"kind":"function","modifiers":[],"name":"_maxSupply","nameLocation":"1945:10:103","nodeType":"FunctionDefinition","overrides":{"id":14902,"nodeType":"OverrideSpecifier","overrides":[],"src":"1980:8:103"},"parameters":{"id":14901,"nodeType":"ParameterList","parameters":[],"src":"1955:2:103"},"returnParameters":{"id":14905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14913,"src":"1998:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":14903,"name":"uint224","nodeType":"ElementaryTypeName","src":"1998:7:103","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"1997:9:103"},"scope":14914,"src":"1936:111:103","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":14915,"src":"1242:807:103","usedErrors":[]}],"src":"125:1925:103"},"id":103},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC20":[13392],"ERC20Wrapper":[15053],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"SafeERC20":[16414]},"id":15054,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":14916,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"123:23:104"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":14917,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15054,"sourceUnit":13393,"src":"148:22:104","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","file":"../utils/SafeERC20.sol","id":14918,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15054,"sourceUnit":16415,"src":"171:32:104","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":14920,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"657:5:104"},"id":14921,"nodeType":"InheritanceSpecifier","src":"657:5:104"}],"canonicalName":"ERC20Wrapper","contractDependencies":[],"contractKind":"contract","documentation":{"id":14919,"nodeType":"StructuredDocumentation","src":"205:417:104","text":" @dev Extension of the ERC20 token contract to support token wrapping.\n Users can deposit and withdraw \"underlying tokens\" and receive a matching number of \"wrapped tokens\". This is useful\n in conjunction with other modules. For example, combining this wrapping mechanism with {ERC20Votes} will allow the\n wrapping of an existing \"basic\" ERC20 into a governance token.\n _Available since v4.2._"},"fullyImplemented":false,"id":15053,"linearizedBaseContracts":[15053,13392,15760,13470,22281],"name":"ERC20Wrapper","nameLocation":"641:12:104","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"6f307dc3","id":14924,"mutability":"immutable","name":"underlying","nameLocation":"693:10:104","nodeType":"VariableDeclaration","scope":15053,"src":"669:34:104","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":14923,"nodeType":"UserDefinedTypeName","pathNode":{"id":14922,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"669:6:104"},"referencedDeclaration":13470,"src":"669:6:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"public"},{"body":{"id":14934,"nodeType":"Block","src":"746:45:104","statements":[{"expression":{"id":14932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14930,"name":"underlying","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14924,"src":"756:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14931,"name":"underlyingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14927,"src":"769:15:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"src":"756:28:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":14933,"nodeType":"ExpressionStatement","src":"756:28:104"}]},"id":14935,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":14928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14927,"mutability":"mutable","name":"underlyingToken","nameLocation":"729:15:104","nodeType":"VariableDeclaration","scope":14935,"src":"722:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":14926,"nodeType":"UserDefinedTypeName","pathNode":{"id":14925,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"722:6:104"},"referencedDeclaration":13470,"src":"722:6:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"721:24:104"},"returnParameters":{"id":14929,"nodeType":"ParameterList","parameters":[],"src":"746:0:104"},"scope":15053,"src":"710:81:104","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[12880],"body":{"id":14964,"nodeType":"Block","src":"912:181:104","statements":[{"clauses":[{"block":{"id":14955,"nodeType":"Block","src":"995:37:104","statements":[{"expression":{"id":14953,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14951,"src":"1016:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":14941,"id":14954,"nodeType":"Return","src":"1009:12:104"}]},"errorName":"","id":14956,"nodeType":"TryCatchClause","parameters":{"id":14952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14951,"mutability":"mutable","name":"value","nameLocation":"988:5:104","nodeType":"VariableDeclaration","scope":14956,"src":"982:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":14950,"name":"uint8","nodeType":"ElementaryTypeName","src":"982:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"981:13:104"},"src":"973:59:104"},{"block":{"id":14961,"nodeType":"Block","src":"1039:48:104","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":14957,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1060:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Wrapper_$15053_$","typeString":"type(contract super ERC20Wrapper)"}},"id":14958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":12880,"src":"1060:14:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint8_$","typeString":"function () view returns (uint8)"}},"id":14959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1060:16:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":14941,"id":14960,"nodeType":"Return","src":"1053:23:104"}]},"errorName":"","id":14962,"nodeType":"TryCatchClause","src":"1033:54:104"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":14945,"name":"underlying","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14924,"src":"949:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":14944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"941:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14943,"name":"address","nodeType":"ElementaryTypeName","src":"941:7:104","typeDescriptions":{}}},"id":14946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:19:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14942,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15760,"src":"926:14:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Metadata_$15760_$","typeString":"type(contract IERC20Metadata)"}},"id":14947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"926:35:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Metadata_$15760","typeString":"contract IERC20Metadata"}},"id":14948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":15759,"src":"926:44:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":14949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"926:46:104","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":14963,"nodeType":"TryStatement","src":"922:165:104"}]},"documentation":{"id":14936,"nodeType":"StructuredDocumentation","src":"797:45:104","text":" @dev See {ERC20-decimals}."},"functionSelector":"313ce567","id":14965,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"856:8:104","nodeType":"FunctionDefinition","overrides":{"id":14938,"nodeType":"OverrideSpecifier","overrides":[],"src":"887:8:104"},"parameters":{"id":14937,"nodeType":"ParameterList","parameters":[],"src":"864:2:104"},"returnParameters":{"id":14941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14965,"src":"905:5:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":14939,"name":"uint8","nodeType":"ElementaryTypeName","src":"905:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"904:7:104"},"scope":15053,"src":"847:246:104","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":14995,"nodeType":"Block","src":"1305:145:104","statements":[{"expression":{"arguments":[{"id":14978,"name":"underlying","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14924,"src":"1342:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14979,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1354:10:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1354:12:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":14983,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1376:4:104","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Wrapper_$15053","typeString":"contract ERC20Wrapper"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Wrapper_$15053","typeString":"contract ERC20Wrapper"}],"id":14982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1368:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14981,"name":"address","nodeType":"ElementaryTypeName","src":"1368:7:104","typeDescriptions":{}}},"id":14984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1368:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14985,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14970,"src":"1383:6:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14975,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"1315:9:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":14977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":16191,"src":"1315:26:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":14986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1315:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14987,"nodeType":"ExpressionStatement","src":"1315:75:104"},{"expression":{"arguments":[{"id":14989,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14968,"src":"1406:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14990,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14970,"src":"1415:6:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14988,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"1400:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":14991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1400:22:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14992,"nodeType":"ExpressionStatement","src":"1400:22:104"},{"expression":{"hexValue":"74727565","id":14993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1439:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":14974,"id":14994,"nodeType":"Return","src":"1432:11:104"}]},"documentation":{"id":14966,"nodeType":"StructuredDocumentation","src":"1099:118:104","text":" @dev Allow a user to deposit underlying tokens and mint the corresponding number of wrapped tokens."},"functionSelector":"2f4f21e2","id":14996,"implemented":true,"kind":"function","modifiers":[],"name":"depositFor","nameLocation":"1231:10:104","nodeType":"FunctionDefinition","parameters":{"id":14971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14968,"mutability":"mutable","name":"account","nameLocation":"1250:7:104","nodeType":"VariableDeclaration","scope":14996,"src":"1242:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14967,"name":"address","nodeType":"ElementaryTypeName","src":"1242:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14970,"mutability":"mutable","name":"amount","nameLocation":"1267:6:104","nodeType":"VariableDeclaration","scope":14996,"src":"1259:14:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14969,"name":"uint256","nodeType":"ElementaryTypeName","src":"1259:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1241:33:104"},"returnParameters":{"id":14974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14996,"src":"1299:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14972,"name":"bool","nodeType":"ElementaryTypeName","src":"1299:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:6:104"},"scope":15053,"src":"1222:228:104","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":15022,"nodeType":"Block","src":"1675:126:104","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15007,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1691:10:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":15008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1691:12:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15009,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15001,"src":"1705:6:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15006,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"1685:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":15010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1685:27:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15011,"nodeType":"ExpressionStatement","src":"1685:27:104"},{"expression":{"arguments":[{"id":15015,"name":"underlying","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14924,"src":"1745:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":15016,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14999,"src":"1757:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15017,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15001,"src":"1766:6:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15012,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"1722:9:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":15014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"1722:22:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":15018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1722:51:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15019,"nodeType":"ExpressionStatement","src":"1722:51:104"},{"expression":{"hexValue":"74727565","id":15020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1790:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":15005,"id":15021,"nodeType":"Return","src":"1783:11:104"}]},"documentation":{"id":14997,"nodeType":"StructuredDocumentation","src":"1456:131:104","text":" @dev Allow a user to burn a number of wrapped tokens and withdraw the corresponding number of underlying tokens."},"functionSelector":"205c2878","id":15023,"implemented":true,"kind":"function","modifiers":[],"name":"withdrawTo","nameLocation":"1601:10:104","nodeType":"FunctionDefinition","parameters":{"id":15002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14999,"mutability":"mutable","name":"account","nameLocation":"1620:7:104","nodeType":"VariableDeclaration","scope":15023,"src":"1612:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14998,"name":"address","nodeType":"ElementaryTypeName","src":"1612:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15001,"mutability":"mutable","name":"amount","nameLocation":"1637:6:104","nodeType":"VariableDeclaration","scope":15023,"src":"1629:14:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15000,"name":"uint256","nodeType":"ElementaryTypeName","src":"1629:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:33:104"},"returnParameters":{"id":15005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15023,"src":"1669:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15003,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1668:6:104"},"scope":15053,"src":"1592:209:104","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":15051,"nodeType":"Block","src":"2076:137:104","statements":[{"assignments":[15032],"declarations":[{"constant":false,"id":15032,"mutability":"mutable","name":"value","nameLocation":"2094:5:104","nodeType":"VariableDeclaration","scope":15051,"src":"2086:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15031,"name":"uint256","nodeType":"ElementaryTypeName","src":"2086:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15043,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":15037,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2131:4:104","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Wrapper_$15053","typeString":"contract ERC20Wrapper"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Wrapper_$15053","typeString":"contract ERC20Wrapper"}],"id":15036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2123:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15035,"name":"address","nodeType":"ElementaryTypeName","src":"2123:7:104","typeDescriptions":{}}},"id":15038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2123:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15033,"name":"underlying","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14924,"src":"2102:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":15034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":13427,"src":"2102:20:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":15039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2102:35:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":15040,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"2140:11:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2140:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2102:51:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2086:67:104"},{"expression":{"arguments":[{"id":15045,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15026,"src":"2169:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15046,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15032,"src":"2178:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15044,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"2163:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":15047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2163:21:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15048,"nodeType":"ExpressionStatement","src":"2163:21:104"},{"expression":{"id":15049,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15032,"src":"2201:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15030,"id":15050,"nodeType":"Return","src":"2194:12:104"}]},"documentation":{"id":15024,"nodeType":"StructuredDocumentation","src":"1807:194:104","text":" @dev Mint wrapped token to cover any underlyingTokens that would have been transferred by mistake. Internal\n function that can be exposed with access control if desired."},"id":15052,"implemented":true,"kind":"function","modifiers":[],"name":"_recover","nameLocation":"2015:8:104","nodeType":"FunctionDefinition","parameters":{"id":15027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15026,"mutability":"mutable","name":"account","nameLocation":"2032:7:104","nodeType":"VariableDeclaration","scope":15052,"src":"2024:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15025,"name":"address","nodeType":"ElementaryTypeName","src":"2024:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2023:17:104"},"returnParameters":{"id":15030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15052,"src":"2067:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15028,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2066:9:104"},"scope":15053,"src":"2006:207:104","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":15054,"src":"623:1592:104","usedErrors":[]}],"src":"123:2093:104"},"id":104},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC20":[13392],"ERC4626":[15735],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"IERC4626":[9040],"Math":[25662],"SafeERC20":[16414]},"id":15736,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15055,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"118:23:105"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":15056,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15736,"sourceUnit":13393,"src":"143:22:105","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","file":"../utils/SafeERC20.sol","id":15057,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15736,"sourceUnit":16415,"src":"166:32:105","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol","file":"../../../interfaces/IERC4626.sol","id":15058,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15736,"sourceUnit":9041,"src":"199:42:105","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"../../../utils/math/Math.sol","id":15059,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15736,"sourceUnit":25663,"src":"242:38:105","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":15061,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"1222:5:105"},"id":15062,"nodeType":"InheritanceSpecifier","src":"1222:5:105"},{"baseName":{"id":15063,"name":"IERC4626","nodeType":"IdentifierPath","referencedDeclaration":9040,"src":"1229:8:105"},"id":15064,"nodeType":"InheritanceSpecifier","src":"1229:8:105"}],"canonicalName":"ERC4626","contractDependencies":[],"contractKind":"contract","documentation":{"id":15060,"nodeType":"StructuredDocumentation","src":"282:910:105","text":" @dev Implementation of the ERC4626 \"Tokenized Vault Standard\" as defined in\n https://eips.ethereum.org/EIPS/eip-4626[EIP-4626].\n This extension allows the minting and burning of \"shares\" (represented using the ERC20 inheritance) in exchange for\n underlying \"assets\" through standardized {deposit}, {mint}, {redeem} and {burn} workflows. This contract extends\n the ERC20 standard. Any additional extensions included along it would affect the \"shares\" token represented by this\n contract and not the \"assets\" token which is an independent contract.\n CAUTION: Deposits and withdrawals may incur unexpected slippage. Users should verify that the amount received of\n shares or assets is as expected. EOAs should operate through a wrapper that performs these checks such as\n https://github.com/fei-protocol/ERC4626#erc4626router-and-base[ERC4626Router].\n _Available since v4.7._"},"fullyImplemented":false,"id":15735,"linearizedBaseContracts":[15735,9040,13392,15760,13470,22281],"name":"ERC4626","nameLocation":"1211:7:105","nodeType":"ContractDefinition","nodes":[{"id":15067,"libraryName":{"id":15065,"name":"Math","nodeType":"IdentifierPath","referencedDeclaration":25662,"src":"1250:4:105"},"nodeType":"UsingForDirective","src":"1244:23:105","typeName":{"id":15066,"name":"uint256","nodeType":"ElementaryTypeName","src":"1259:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":15070,"mutability":"immutable","name":"_asset","nameLocation":"1298:6:105","nodeType":"VariableDeclaration","scope":15735,"src":"1273:31:105","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":15069,"nodeType":"UserDefinedTypeName","pathNode":{"id":15068,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1273:6:105"},"referencedDeclaration":13470,"src":"1273:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"private"},{"constant":false,"id":15072,"mutability":"immutable","name":"_decimals","nameLocation":"1334:9:105","nodeType":"VariableDeclaration","scope":15735,"src":"1310:33:105","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15071,"name":"uint8","nodeType":"ElementaryTypeName","src":"1310:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"private"},{"body":{"id":15100,"nodeType":"Block","src":"1501:172:105","statements":[{"assignments":[15080,15082],"declarations":[{"constant":false,"id":15080,"mutability":"mutable","name":"success","nameLocation":"1517:7:105","nodeType":"VariableDeclaration","scope":15100,"src":"1512:12:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15079,"name":"bool","nodeType":"ElementaryTypeName","src":"1512:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15082,"mutability":"mutable","name":"assetDecimals","nameLocation":"1532:13:105","nodeType":"VariableDeclaration","scope":15100,"src":"1526:19:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15081,"name":"uint8","nodeType":"ElementaryTypeName","src":"1526:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":15086,"initialValue":{"arguments":[{"id":15084,"name":"asset_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15076,"src":"1570:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":15083,"name":"_tryGetAssetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15168,"src":"1549:20:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$returns$_t_bool_$_t_uint8_$","typeString":"function (contract IERC20) returns (bool,uint8)"}},"id":15085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1549:28:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"1511:66:105"},{"expression":{"id":15094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":15087,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15072,"src":"1587:9:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":15088,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15080,"src":"1599:7:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":15090,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1625:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC4626_$15735_$","typeString":"type(contract super ERC4626)"}},"id":15091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":12880,"src":"1625:14:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint8_$","typeString":"function () view returns (uint8)"}},"id":15092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1625:16:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":15093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1599:42:105","trueExpression":{"id":15089,"name":"assetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15082,"src":"1609:13:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1587:54:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":15095,"nodeType":"ExpressionStatement","src":"1587:54:105"},{"expression":{"id":15098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":15096,"name":"_asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"1651:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":15097,"name":"asset_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15076,"src":"1660:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"src":"1651:15:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":15099,"nodeType":"ExpressionStatement","src":"1651:15:105"}]},"documentation":{"id":15073,"nodeType":"StructuredDocumentation","src":"1350:119:105","text":" @dev Set the underlying asset contract. This must be an ERC20-compatible contract (ERC20 or ERC777)."},"id":15101,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":15077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15076,"mutability":"mutable","name":"asset_","nameLocation":"1493:6:105","nodeType":"VariableDeclaration","scope":15101,"src":"1486:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":15075,"nodeType":"UserDefinedTypeName","pathNode":{"id":15074,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1486:6:105"},"referencedDeclaration":13470,"src":"1486:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"1485:15:105"},"returnParameters":{"id":15078,"nodeType":"ParameterList","parameters":[],"src":"1501:0:105"},"scope":15735,"src":"1474:199:105","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15167,"nodeType":"Block","src":"1891:460:105","statements":[{"assignments":[15113,15115],"declarations":[{"constant":false,"id":15113,"mutability":"mutable","name":"success","nameLocation":"1907:7:105","nodeType":"VariableDeclaration","scope":15167,"src":"1902:12:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15112,"name":"bool","nodeType":"ElementaryTypeName","src":"1902:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15115,"mutability":"mutable","name":"encodedDecimals","nameLocation":"1929:15:105","nodeType":"VariableDeclaration","scope":15167,"src":"1916:28:105","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15114,"name":"bytes","nodeType":"ElementaryTypeName","src":"1916:5:105","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15128,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":15123,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15760,"src":"2005:14:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Metadata_$15760_$","typeString":"type(contract IERC20Metadata)"}},"id":15124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":15759,"src":"2005:23:105","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_uint8_$","typeString":"function IERC20Metadata.decimals() view returns (uint8)"}},"id":15125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"2005:32:105","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":15121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1982:3:105","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1982:22:105","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":15126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1982:56:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":15118,"name":"asset_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15105,"src":"1956:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":15117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1948:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15116,"name":"address","nodeType":"ElementaryTypeName","src":"1948:7:105","typeDescriptions":{}}},"id":15119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1948:15:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"1948:20:105","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":15127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1948:100:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1901:147:105"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15129,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15113,"src":"2062:7:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15130,"name":"encodedDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15115,"src":"2073:15:105","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2073:22:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3332","id":15132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2099:2:105","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"2073:28:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2062:39:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15162,"nodeType":"IfStatement","src":"2058:260:105","trueBody":{"id":15161,"nodeType":"Block","src":"2103:215:105","statements":[{"assignments":[15136],"declarations":[{"constant":false,"id":15136,"mutability":"mutable","name":"returnedDecimals","nameLocation":"2125:16:105","nodeType":"VariableDeclaration","scope":15161,"src":"2117:24:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15135,"name":"uint256","nodeType":"ElementaryTypeName","src":"2117:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15144,"initialValue":{"arguments":[{"id":15139,"name":"encodedDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15115,"src":"2155:15:105","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":15141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2173:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15140,"name":"uint256","nodeType":"ElementaryTypeName","src":"2173:7:105","typeDescriptions":{}}}],"id":15142,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2172:9:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":15137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2144:3:105","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2144:10:105","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":15143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2144:38:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2117:65:105"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15145,"name":"returnedDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15136,"src":"2200:16:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":15148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2225:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":15147,"name":"uint8","nodeType":"ElementaryTypeName","src":"2225:5:105","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":15146,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2220:4:105","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":15149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2220:11:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":15150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"2220:15:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2200:35:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15160,"nodeType":"IfStatement","src":"2196:112:105","trueBody":{"id":15159,"nodeType":"Block","src":"2237:71:105","statements":[{"expression":{"components":[{"hexValue":"74727565","id":15152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2263:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"id":15155,"name":"returnedDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15136,"src":"2275:16:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2269:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":15153,"name":"uint8","nodeType":"ElementaryTypeName","src":"2269:5:105","typeDescriptions":{}}},"id":15156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2269:23:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":15157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2262:31:105","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":15111,"id":15158,"nodeType":"Return","src":"2255:38:105"}]}}]}},{"expression":{"components":[{"hexValue":"66616c7365","id":15163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2335:5:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":15164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2342:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":15165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2334:10:105","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":15111,"id":15166,"nodeType":"Return","src":"2327:17:105"}]},"documentation":{"id":15102,"nodeType":"StructuredDocumentation","src":"1679:132:105","text":" @dev Attempts to fetch the asset decimals. A return value of false indicates that the attempt failed in some way."},"id":15168,"implemented":true,"kind":"function","modifiers":[],"name":"_tryGetAssetDecimals","nameLocation":"1825:20:105","nodeType":"FunctionDefinition","parameters":{"id":15106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15105,"mutability":"mutable","name":"asset_","nameLocation":"1853:6:105","nodeType":"VariableDeclaration","scope":15168,"src":"1846:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":15104,"nodeType":"UserDefinedTypeName","pathNode":{"id":15103,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1846:6:105"},"referencedDeclaration":13470,"src":"1846:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"1845:15:105"},"returnParameters":{"id":15111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15168,"src":"1878:4:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15107,"name":"bool","nodeType":"ElementaryTypeName","src":"1878:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15168,"src":"1884:5:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15109,"name":"uint8","nodeType":"ElementaryTypeName","src":"1884:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1877:13:105"},"scope":15735,"src":"1816:535:105","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"baseFunctions":[12880,15759],"body":{"id":15179,"nodeType":"Block","src":"2849:33:105","statements":[{"expression":{"id":15177,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15072,"src":"2866:9:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":15176,"id":15178,"nodeType":"Return","src":"2859:16:105"}]},"documentation":{"id":15169,"nodeType":"StructuredDocumentation","src":"2357:399:105","text":" @dev Decimals are read from the underlying asset in the constructor and cached. If this fails (e.g., the asset\n has not been created yet), the cached value is set to a default obtained by `super.decimals()` (which depends on\n inheritance but is most likely 18). Override this function in order to set a guaranteed hardcoded value.\n See {IERC20Metadata-decimals}."},"functionSelector":"313ce567","id":15180,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2770:8:105","nodeType":"FunctionDefinition","overrides":{"id":15173,"nodeType":"OverrideSpecifier","overrides":[{"id":15171,"name":"IERC20Metadata","nodeType":"IdentifierPath","referencedDeclaration":15760,"src":"2810:14:105"},{"id":15172,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"2826:5:105"}],"src":"2801:31:105"},"parameters":{"id":15170,"nodeType":"ParameterList","parameters":[],"src":"2778:2:105"},"returnParameters":{"id":15176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15180,"src":"2842:5:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15174,"name":"uint8","nodeType":"ElementaryTypeName","src":"2842:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2841:7:105"},"scope":15735,"src":"2761:121:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8909],"body":{"id":15192,"nodeType":"Block","src":"2990:39:105","statements":[{"expression":{"arguments":[{"id":15189,"name":"_asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"3015:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":15188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3007:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15187,"name":"address","nodeType":"ElementaryTypeName","src":"3007:7:105","typeDescriptions":{}}},"id":15190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3007:15:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15186,"id":15191,"nodeType":"Return","src":"3000:22:105"}]},"documentation":{"id":15181,"nodeType":"StructuredDocumentation","src":"2888:33:105","text":"@dev See {IERC4626-asset}. "},"functionSelector":"38d52e0f","id":15193,"implemented":true,"kind":"function","modifiers":[],"name":"asset","nameLocation":"2935:5:105","nodeType":"FunctionDefinition","overrides":{"id":15183,"nodeType":"OverrideSpecifier","overrides":[],"src":"2963:8:105"},"parameters":{"id":15182,"nodeType":"ParameterList","parameters":[],"src":"2940:2:105"},"returnParameters":{"id":15186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15193,"src":"2981:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15184,"name":"address","nodeType":"ElementaryTypeName","src":"2981:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2980:9:105"},"scope":15735,"src":"2926:103:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8915],"body":{"id":15208,"nodeType":"Block","src":"3149:55:105","statements":[{"expression":{"arguments":[{"arguments":[{"id":15204,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3191:4:105","typeDescriptions":{"typeIdentifier":"t_contract$_ERC4626_$15735","typeString":"contract ERC4626"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC4626_$15735","typeString":"contract ERC4626"}],"id":15203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3183:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15202,"name":"address","nodeType":"ElementaryTypeName","src":"3183:7:105","typeDescriptions":{}}},"id":15205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3183:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15200,"name":"_asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"3166:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":15201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":13427,"src":"3166:16:105","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":15206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3166:31:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15199,"id":15207,"nodeType":"Return","src":"3159:38:105"}]},"documentation":{"id":15194,"nodeType":"StructuredDocumentation","src":"3035:39:105","text":"@dev See {IERC4626-totalAssets}. "},"functionSelector":"01e1d114","id":15209,"implemented":true,"kind":"function","modifiers":[],"name":"totalAssets","nameLocation":"3088:11:105","nodeType":"FunctionDefinition","overrides":{"id":15196,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:105"},"parameters":{"id":15195,"nodeType":"ParameterList","parameters":[],"src":"3099:2:105"},"returnParameters":{"id":15199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15209,"src":"3140:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15197,"name":"uint256","nodeType":"ElementaryTypeName","src":"3140:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3139:9:105"},"scope":15735,"src":"3079:125:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8923],"body":{"id":15225,"nodeType":"Block","src":"3353:68:105","statements":[{"expression":{"arguments":[{"id":15219,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"3387:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15220,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"3395:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"3395:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Down","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"3395:18:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15218,"name":"_convertToShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15572,"src":"3370:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3370:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15217,"id":15224,"nodeType":"Return","src":"3363:51:105"}]},"documentation":{"id":15210,"nodeType":"StructuredDocumentation","src":"3210:43:105","text":"@dev See {IERC4626-convertToShares}. "},"functionSelector":"c6e6f592","id":15226,"implemented":true,"kind":"function","modifiers":[],"name":"convertToShares","nameLocation":"3267:15:105","nodeType":"FunctionDefinition","overrides":{"id":15214,"nodeType":"OverrideSpecifier","overrides":[],"src":"3319:8:105"},"parameters":{"id":15213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15212,"mutability":"mutable","name":"assets","nameLocation":"3291:6:105","nodeType":"VariableDeclaration","scope":15226,"src":"3283:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15211,"name":"uint256","nodeType":"ElementaryTypeName","src":"3283:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3282:16:105"},"returnParameters":{"id":15217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15216,"mutability":"mutable","name":"shares","nameLocation":"3345:6:105","nodeType":"VariableDeclaration","scope":15226,"src":"3337:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15215,"name":"uint256","nodeType":"ElementaryTypeName","src":"3337:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3336:16:105"},"scope":15735,"src":"3258:163:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8931],"body":{"id":15242,"nodeType":"Block","src":"3570:68:105","statements":[{"expression":{"arguments":[{"id":15236,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15229,"src":"3604:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15237,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"3612:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"3612:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Down","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"3612:18:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15235,"name":"_convertToAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15620,"src":"3587:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3587:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15234,"id":15241,"nodeType":"Return","src":"3580:51:105"}]},"documentation":{"id":15227,"nodeType":"StructuredDocumentation","src":"3427:43:105","text":"@dev See {IERC4626-convertToAssets}. "},"functionSelector":"07a2d13a","id":15243,"implemented":true,"kind":"function","modifiers":[],"name":"convertToAssets","nameLocation":"3484:15:105","nodeType":"FunctionDefinition","overrides":{"id":15231,"nodeType":"OverrideSpecifier","overrides":[],"src":"3536:8:105"},"parameters":{"id":15230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15229,"mutability":"mutable","name":"shares","nameLocation":"3508:6:105","nodeType":"VariableDeclaration","scope":15243,"src":"3500:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15228,"name":"uint256","nodeType":"ElementaryTypeName","src":"3500:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3499:16:105"},"returnParameters":{"id":15234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15233,"mutability":"mutable","name":"assets","nameLocation":"3562:6:105","nodeType":"VariableDeclaration","scope":15243,"src":"3554:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15232,"name":"uint256","nodeType":"ElementaryTypeName","src":"3554:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3553:16:105"},"scope":15735,"src":"3475:163:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8939],"body":{"id":15262,"nodeType":"Block","src":"3763:72:105","statements":[{"expression":{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":15252,"name":"_isVaultCollateralized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15734,"src":"3780:22:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":15253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:24:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":15259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3827:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":15260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3780:48:105","trueExpression":{"expression":{"arguments":[{"id":15256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3812:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15255,"name":"uint256","nodeType":"ElementaryTypeName","src":"3812:7:105","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":15254,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3807:4:105","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":15257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3807:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":15258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"3807:17:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15251,"id":15261,"nodeType":"Return","src":"3773:55:105"}]},"documentation":{"id":15244,"nodeType":"StructuredDocumentation","src":"3644:38:105","text":"@dev See {IERC4626-maxDeposit}. "},"functionSelector":"402d267d","id":15263,"implemented":true,"kind":"function","modifiers":[],"name":"maxDeposit","nameLocation":"3696:10:105","nodeType":"FunctionDefinition","overrides":{"id":15248,"nodeType":"OverrideSpecifier","overrides":[],"src":"3736:8:105"},"parameters":{"id":15247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15263,"src":"3707:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15245,"name":"address","nodeType":"ElementaryTypeName","src":"3707:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3706:9:105"},"returnParameters":{"id":15251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15263,"src":"3754:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15249,"name":"uint256","nodeType":"ElementaryTypeName","src":"3754:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3753:9:105"},"scope":15735,"src":"3687:148:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8965],"body":{"id":15278,"nodeType":"Block","src":"3954:41:105","statements":[{"expression":{"expression":{"arguments":[{"id":15274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3976:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15273,"name":"uint256","nodeType":"ElementaryTypeName","src":"3976:7:105","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":15272,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3971:4:105","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":15275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3971:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":15276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"3971:17:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15271,"id":15277,"nodeType":"Return","src":"3964:24:105"}]},"documentation":{"id":15264,"nodeType":"StructuredDocumentation","src":"3841:35:105","text":"@dev See {IERC4626-maxMint}. "},"functionSelector":"c63d75b6","id":15279,"implemented":true,"kind":"function","modifiers":[],"name":"maxMint","nameLocation":"3890:7:105","nodeType":"FunctionDefinition","overrides":{"id":15268,"nodeType":"OverrideSpecifier","overrides":[],"src":"3927:8:105"},"parameters":{"id":15267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15279,"src":"3898:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15265,"name":"address","nodeType":"ElementaryTypeName","src":"3898:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3897:9:105"},"returnParameters":{"id":15271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15279,"src":"3945:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15269,"name":"uint256","nodeType":"ElementaryTypeName","src":"3945:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3944:9:105"},"scope":15735,"src":"3881:114:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8991],"body":{"id":15297,"nodeType":"Block","src":"4128:78:105","statements":[{"expression":{"arguments":[{"arguments":[{"id":15290,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15282,"src":"4172:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15289,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"4162:9:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4162:16:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15292,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"4180:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"4180:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Down","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"4180:18:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15288,"name":"_convertToAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15620,"src":"4145:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4145:54:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15287,"id":15296,"nodeType":"Return","src":"4138:61:105"}]},"documentation":{"id":15280,"nodeType":"StructuredDocumentation","src":"4001:39:105","text":"@dev See {IERC4626-maxWithdraw}. "},"functionSelector":"ce96cb77","id":15298,"implemented":true,"kind":"function","modifiers":[],"name":"maxWithdraw","nameLocation":"4054:11:105","nodeType":"FunctionDefinition","overrides":{"id":15284,"nodeType":"OverrideSpecifier","overrides":[],"src":"4101:8:105"},"parameters":{"id":15283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15282,"mutability":"mutable","name":"owner","nameLocation":"4074:5:105","nodeType":"VariableDeclaration","scope":15298,"src":"4066:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15281,"name":"address","nodeType":"ElementaryTypeName","src":"4066:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4065:15:105"},"returnParameters":{"id":15287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15298,"src":"4119:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15285,"name":"uint256","nodeType":"ElementaryTypeName","src":"4119:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4118:9:105"},"scope":15735,"src":"4045:161:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[9019],"body":{"id":15311,"nodeType":"Block","src":"4335:40:105","statements":[{"expression":{"arguments":[{"id":15308,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15301,"src":"4362:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15307,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"4352:9:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4352:16:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15306,"id":15310,"nodeType":"Return","src":"4345:23:105"}]},"documentation":{"id":15299,"nodeType":"StructuredDocumentation","src":"4212:37:105","text":"@dev See {IERC4626-maxRedeem}. "},"functionSelector":"d905777e","id":15312,"implemented":true,"kind":"function","modifiers":[],"name":"maxRedeem","nameLocation":"4263:9:105","nodeType":"FunctionDefinition","overrides":{"id":15303,"nodeType":"OverrideSpecifier","overrides":[],"src":"4308:8:105"},"parameters":{"id":15302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15301,"mutability":"mutable","name":"owner","nameLocation":"4281:5:105","nodeType":"VariableDeclaration","scope":15312,"src":"4273:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15300,"name":"address","nodeType":"ElementaryTypeName","src":"4273:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4272:15:105"},"returnParameters":{"id":15306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15312,"src":"4326:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15304,"name":"uint256","nodeType":"ElementaryTypeName","src":"4326:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4325:9:105"},"scope":15735,"src":"4254:121:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8947],"body":{"id":15328,"nodeType":"Block","src":"4515:68:105","statements":[{"expression":{"arguments":[{"id":15322,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15315,"src":"4549:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15323,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"4557:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"4557:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Down","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"4557:18:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15321,"name":"_convertToShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15572,"src":"4532:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4532:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15320,"id":15327,"nodeType":"Return","src":"4525:51:105"}]},"documentation":{"id":15313,"nodeType":"StructuredDocumentation","src":"4381:42:105","text":"@dev See {IERC4626-previewDeposit}. "},"functionSelector":"ef8b30f7","id":15329,"implemented":true,"kind":"function","modifiers":[],"name":"previewDeposit","nameLocation":"4437:14:105","nodeType":"FunctionDefinition","overrides":{"id":15317,"nodeType":"OverrideSpecifier","overrides":[],"src":"4488:8:105"},"parameters":{"id":15316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15315,"mutability":"mutable","name":"assets","nameLocation":"4460:6:105","nodeType":"VariableDeclaration","scope":15329,"src":"4452:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15314,"name":"uint256","nodeType":"ElementaryTypeName","src":"4452:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4451:16:105"},"returnParameters":{"id":15320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15329,"src":"4506:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15318,"name":"uint256","nodeType":"ElementaryTypeName","src":"4506:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4505:9:105"},"scope":15735,"src":"4428:155:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8973],"body":{"id":15345,"nodeType":"Block","src":"4717:66:105","statements":[{"expression":{"arguments":[{"id":15339,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15332,"src":"4751:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15340,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"4759:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"4759:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"4759:16:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15338,"name":"_convertToAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15620,"src":"4734:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4734:42:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15337,"id":15344,"nodeType":"Return","src":"4727:49:105"}]},"documentation":{"id":15330,"nodeType":"StructuredDocumentation","src":"4589:39:105","text":"@dev See {IERC4626-previewMint}. "},"functionSelector":"b3d7f6b9","id":15346,"implemented":true,"kind":"function","modifiers":[],"name":"previewMint","nameLocation":"4642:11:105","nodeType":"FunctionDefinition","overrides":{"id":15334,"nodeType":"OverrideSpecifier","overrides":[],"src":"4690:8:105"},"parameters":{"id":15333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15332,"mutability":"mutable","name":"shares","nameLocation":"4662:6:105","nodeType":"VariableDeclaration","scope":15346,"src":"4654:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15331,"name":"uint256","nodeType":"ElementaryTypeName","src":"4654:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4653:16:105"},"returnParameters":{"id":15337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15336,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15346,"src":"4708:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15335,"name":"uint256","nodeType":"ElementaryTypeName","src":"4708:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4707:9:105"},"scope":15735,"src":"4633:150:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8999],"body":{"id":15362,"nodeType":"Block","src":"4925:66:105","statements":[{"expression":{"arguments":[{"id":15356,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15349,"src":"4959:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15357,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"4967:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"4967:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"4967:16:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15355,"name":"_convertToShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15572,"src":"4942:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4942:42:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15354,"id":15361,"nodeType":"Return","src":"4935:49:105"}]},"documentation":{"id":15347,"nodeType":"StructuredDocumentation","src":"4789:43:105","text":"@dev See {IERC4626-previewWithdraw}. "},"functionSelector":"0a28a477","id":15363,"implemented":true,"kind":"function","modifiers":[],"name":"previewWithdraw","nameLocation":"4846:15:105","nodeType":"FunctionDefinition","overrides":{"id":15351,"nodeType":"OverrideSpecifier","overrides":[],"src":"4898:8:105"},"parameters":{"id":15350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15349,"mutability":"mutable","name":"assets","nameLocation":"4870:6:105","nodeType":"VariableDeclaration","scope":15363,"src":"4862:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15348,"name":"uint256","nodeType":"ElementaryTypeName","src":"4862:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4861:16:105"},"returnParameters":{"id":15354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15363,"src":"4916:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15352,"name":"uint256","nodeType":"ElementaryTypeName","src":"4916:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4915:9:105"},"scope":15735,"src":"4837:154:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[9027],"body":{"id":15379,"nodeType":"Block","src":"5129:68:105","statements":[{"expression":{"arguments":[{"id":15373,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15366,"src":"5163:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":15374,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"5171:4:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":15375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Rounding","nodeType":"MemberAccess","referencedDeclaration":24804,"src":"5171:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":15376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Down","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"5171:18:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15372,"name":"_convertToAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15620,"src":"5146:16:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5146:44:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15371,"id":15378,"nodeType":"Return","src":"5139:51:105"}]},"documentation":{"id":15364,"nodeType":"StructuredDocumentation","src":"4997:41:105","text":"@dev See {IERC4626-previewRedeem}. "},"functionSelector":"4cdad506","id":15380,"implemented":true,"kind":"function","modifiers":[],"name":"previewRedeem","nameLocation":"5052:13:105","nodeType":"FunctionDefinition","overrides":{"id":15368,"nodeType":"OverrideSpecifier","overrides":[],"src":"5102:8:105"},"parameters":{"id":15367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15366,"mutability":"mutable","name":"shares","nameLocation":"5074:6:105","nodeType":"VariableDeclaration","scope":15380,"src":"5066:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15365,"name":"uint256","nodeType":"ElementaryTypeName","src":"5066:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5065:16:105"},"returnParameters":{"id":15371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15380,"src":"5120:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15369,"name":"uint256","nodeType":"ElementaryTypeName","src":"5120:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5119:9:105"},"scope":15735,"src":"5043:154:105","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8957],"body":{"id":15416,"nodeType":"Block","src":"5336:222:105","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15392,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15383,"src":"5354:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":15394,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15385,"src":"5375:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15393,"name":"maxDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15263,"src":"5364:10:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5364:20:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5354:30:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243343632363a206465706f736974206d6f7265207468616e206d6178","id":15397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5386:32:105","typeDescriptions":{"typeIdentifier":"t_stringliteral_942dfdb1d5d5ae526782b9f85d1470d0ba794a7c694ad01b5b8d1ba2521ed1a1","typeString":"literal_string \"ERC4626: deposit more than max\""},"value":"ERC4626: deposit more than max"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_942dfdb1d5d5ae526782b9f85d1470d0ba794a7c694ad01b5b8d1ba2521ed1a1","typeString":"literal_string \"ERC4626: deposit more than max\""}],"id":15391,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5346:7:105","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5346:73:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15399,"nodeType":"ExpressionStatement","src":"5346:73:105"},{"assignments":[15401],"declarations":[{"constant":false,"id":15401,"mutability":"mutable","name":"shares","nameLocation":"5438:6:105","nodeType":"VariableDeclaration","scope":15416,"src":"5430:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15400,"name":"uint256","nodeType":"ElementaryTypeName","src":"5430:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15405,"initialValue":{"arguments":[{"id":15403,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15383,"src":"5462:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15402,"name":"previewDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15329,"src":"5447:14:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":15404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5447:22:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5430:39:105"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15407,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5488:10:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":15408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5488:12:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15409,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15385,"src":"5502:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15410,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15383,"src":"5512:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15411,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15401,"src":"5520:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15406,"name":"_deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15671,"src":"5479:8:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":15412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5479:48:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15413,"nodeType":"ExpressionStatement","src":"5479:48:105"},{"expression":{"id":15414,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15401,"src":"5545:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15390,"id":15415,"nodeType":"Return","src":"5538:13:105"}]},"documentation":{"id":15381,"nodeType":"StructuredDocumentation","src":"5203:35:105","text":"@dev See {IERC4626-deposit}. "},"functionSelector":"6e553f65","id":15417,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"5252:7:105","nodeType":"FunctionDefinition","overrides":{"id":15387,"nodeType":"OverrideSpecifier","overrides":[],"src":"5309:8:105"},"parameters":{"id":15386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15383,"mutability":"mutable","name":"assets","nameLocation":"5268:6:105","nodeType":"VariableDeclaration","scope":15417,"src":"5260:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15382,"name":"uint256","nodeType":"ElementaryTypeName","src":"5260:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15385,"mutability":"mutable","name":"receiver","nameLocation":"5284:8:105","nodeType":"VariableDeclaration","scope":15417,"src":"5276:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15384,"name":"address","nodeType":"ElementaryTypeName","src":"5276:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5259:34:105"},"returnParameters":{"id":15390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15417,"src":"5327:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15388,"name":"uint256","nodeType":"ElementaryTypeName","src":"5327:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5326:9:105"},"scope":15735,"src":"5243:315:105","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[8983],"body":{"id":15453,"nodeType":"Block","src":"5691:213:105","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15429,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15420,"src":"5709:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":15431,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15422,"src":"5727:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15430,"name":"maxMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15279,"src":"5719:7:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5719:17:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5709:27:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243343632363a206d696e74206d6f7265207468616e206d6178","id":15434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5738:29:105","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4a897ed07dc1191e15e1ac5726d86067d87f89bebeded2b310bdf1e25a3dac3","typeString":"literal_string \"ERC4626: mint more than max\""},"value":"ERC4626: mint more than max"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a4a897ed07dc1191e15e1ac5726d86067d87f89bebeded2b310bdf1e25a3dac3","typeString":"literal_string \"ERC4626: mint more than max\""}],"id":15428,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5701:7:105","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5701:67:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15436,"nodeType":"ExpressionStatement","src":"5701:67:105"},{"assignments":[15438],"declarations":[{"constant":false,"id":15438,"mutability":"mutable","name":"assets","nameLocation":"5787:6:105","nodeType":"VariableDeclaration","scope":15453,"src":"5779:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15437,"name":"uint256","nodeType":"ElementaryTypeName","src":"5779:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15442,"initialValue":{"arguments":[{"id":15440,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15420,"src":"5808:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15439,"name":"previewMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15346,"src":"5796:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":15441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5796:19:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5779:36:105"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15444,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5834:10:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":15445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5834:12:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15446,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15422,"src":"5848:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15447,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15438,"src":"5858:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15448,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15420,"src":"5866:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15443,"name":"_deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15671,"src":"5825:8:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":15449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5825:48:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15450,"nodeType":"ExpressionStatement","src":"5825:48:105"},{"expression":{"id":15451,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15438,"src":"5891:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15427,"id":15452,"nodeType":"Return","src":"5884:13:105"}]},"documentation":{"id":15418,"nodeType":"StructuredDocumentation","src":"5564:32:105","text":"@dev See {IERC4626-mint}. "},"functionSelector":"94bf804d","id":15454,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"5610:4:105","nodeType":"FunctionDefinition","overrides":{"id":15424,"nodeType":"OverrideSpecifier","overrides":[],"src":"5664:8:105"},"parameters":{"id":15423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15420,"mutability":"mutable","name":"shares","nameLocation":"5623:6:105","nodeType":"VariableDeclaration","scope":15454,"src":"5615:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15419,"name":"uint256","nodeType":"ElementaryTypeName","src":"5615:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15422,"mutability":"mutable","name":"receiver","nameLocation":"5639:8:105","nodeType":"VariableDeclaration","scope":15454,"src":"5631:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15421,"name":"address","nodeType":"ElementaryTypeName","src":"5631:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5614:34:105"},"returnParameters":{"id":15427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15454,"src":"5682:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15425,"name":"uint256","nodeType":"ElementaryTypeName","src":"5682:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5681:9:105"},"scope":15735,"src":"5601:303:105","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[9011],"body":{"id":15493,"nodeType":"Block","src":"6090:230:105","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15468,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15457,"src":"6108:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":15470,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15461,"src":"6130:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15469,"name":"maxWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15298,"src":"6118:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6118:18:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6108:28:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243343632363a207769746864726177206d6f7265207468616e206d6178","id":15473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6138:33:105","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d33bd82b6352ef75960e453c6162657943d72f718df3c8a607eeb1427f0aa42","typeString":"literal_string \"ERC4626: withdraw more than max\""},"value":"ERC4626: withdraw more than max"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d33bd82b6352ef75960e453c6162657943d72f718df3c8a607eeb1427f0aa42","typeString":"literal_string \"ERC4626: withdraw more than max\""}],"id":15467,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6100:7:105","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6100:72:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15475,"nodeType":"ExpressionStatement","src":"6100:72:105"},{"assignments":[15477],"declarations":[{"constant":false,"id":15477,"mutability":"mutable","name":"shares","nameLocation":"6191:6:105","nodeType":"VariableDeclaration","scope":15493,"src":"6183:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15476,"name":"uint256","nodeType":"ElementaryTypeName","src":"6183:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15481,"initialValue":{"arguments":[{"id":15479,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15457,"src":"6216:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15478,"name":"previewWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15363,"src":"6200:15:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":15480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6200:23:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6183:40:105"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15483,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6243:10:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":15484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6243:12:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15485,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15459,"src":"6257:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15486,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15461,"src":"6267:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15487,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15457,"src":"6274:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15488,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15477,"src":"6282:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15482,"name":"_withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15718,"src":"6233:9:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":15489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6233:56:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15490,"nodeType":"ExpressionStatement","src":"6233:56:105"},{"expression":{"id":15491,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15477,"src":"6307:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15466,"id":15492,"nodeType":"Return","src":"6300:13:105"}]},"documentation":{"id":15455,"nodeType":"StructuredDocumentation","src":"5910:36:105","text":"@dev See {IERC4626-withdraw}. "},"functionSelector":"b460af94","id":15494,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"5960:8:105","nodeType":"FunctionDefinition","overrides":{"id":15463,"nodeType":"OverrideSpecifier","overrides":[],"src":"6063:8:105"},"parameters":{"id":15462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15457,"mutability":"mutable","name":"assets","nameLocation":"5986:6:105","nodeType":"VariableDeclaration","scope":15494,"src":"5978:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15456,"name":"uint256","nodeType":"ElementaryTypeName","src":"5978:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15459,"mutability":"mutable","name":"receiver","nameLocation":"6010:8:105","nodeType":"VariableDeclaration","scope":15494,"src":"6002:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15458,"name":"address","nodeType":"ElementaryTypeName","src":"6002:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15461,"mutability":"mutable","name":"owner","nameLocation":"6036:5:105","nodeType":"VariableDeclaration","scope":15494,"src":"6028:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15460,"name":"address","nodeType":"ElementaryTypeName","src":"6028:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5968:79:105"},"returnParameters":{"id":15466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15494,"src":"6081:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15464,"name":"uint256","nodeType":"ElementaryTypeName","src":"6081:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6080:9:105"},"scope":15735,"src":"5951:369:105","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[9039],"body":{"id":15533,"nodeType":"Block","src":"6502:224:105","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15508,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15497,"src":"6520:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":15510,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15501,"src":"6540:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15509,"name":"maxRedeem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15312,"src":"6530:9:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":15511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6530:16:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6520:26:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243343632363a2072656465656d206d6f7265207468616e206d6178","id":15513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6548:31:105","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cf75848883fee8cd3a46e6e14bbbd331bc8d0caaef08fbe607c62e5fba35c6d","typeString":"literal_string \"ERC4626: redeem more than max\""},"value":"ERC4626: redeem more than max"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cf75848883fee8cd3a46e6e14bbbd331bc8d0caaef08fbe607c62e5fba35c6d","typeString":"literal_string \"ERC4626: redeem more than max\""}],"id":15507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6512:7:105","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6512:68:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15515,"nodeType":"ExpressionStatement","src":"6512:68:105"},{"assignments":[15517],"declarations":[{"constant":false,"id":15517,"mutability":"mutable","name":"assets","nameLocation":"6599:6:105","nodeType":"VariableDeclaration","scope":15533,"src":"6591:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15516,"name":"uint256","nodeType":"ElementaryTypeName","src":"6591:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15521,"initialValue":{"arguments":[{"id":15519,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15497,"src":"6622:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15518,"name":"previewRedeem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15380,"src":"6608:13:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":15520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6608:21:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6591:38:105"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15523,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6649:10:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":15524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6649:12:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15525,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15499,"src":"6663:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15526,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15501,"src":"6673:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15527,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15517,"src":"6680:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15528,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15497,"src":"6688:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15522,"name":"_withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15718,"src":"6639:9:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":15529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6639:56:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15530,"nodeType":"ExpressionStatement","src":"6639:56:105"},{"expression":{"id":15531,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15517,"src":"6713:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15506,"id":15532,"nodeType":"Return","src":"6706:13:105"}]},"documentation":{"id":15495,"nodeType":"StructuredDocumentation","src":"6326:34:105","text":"@dev See {IERC4626-redeem}. "},"functionSelector":"ba087652","id":15534,"implemented":true,"kind":"function","modifiers":[],"name":"redeem","nameLocation":"6374:6:105","nodeType":"FunctionDefinition","overrides":{"id":15503,"nodeType":"OverrideSpecifier","overrides":[],"src":"6475:8:105"},"parameters":{"id":15502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15497,"mutability":"mutable","name":"shares","nameLocation":"6398:6:105","nodeType":"VariableDeclaration","scope":15534,"src":"6390:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15496,"name":"uint256","nodeType":"ElementaryTypeName","src":"6390:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15499,"mutability":"mutable","name":"receiver","nameLocation":"6422:8:105","nodeType":"VariableDeclaration","scope":15534,"src":"6414:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15498,"name":"address","nodeType":"ElementaryTypeName","src":"6414:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15501,"mutability":"mutable","name":"owner","nameLocation":"6448:5:105","nodeType":"VariableDeclaration","scope":15534,"src":"6440:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15500,"name":"address","nodeType":"ElementaryTypeName","src":"6440:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6380:79:105"},"returnParameters":{"id":15506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15534,"src":"6493:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15504,"name":"uint256","nodeType":"ElementaryTypeName","src":"6493:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6492:9:105"},"scope":15735,"src":"6365:361:105","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":15571,"nodeType":"Block","src":"7137:229:105","statements":[{"assignments":[15546],"declarations":[{"constant":false,"id":15546,"mutability":"mutable","name":"supply","nameLocation":"7155:6:105","nodeType":"VariableDeclaration","scope":15571,"src":"7147:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15545,"name":"uint256","nodeType":"ElementaryTypeName","src":"7147:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15549,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15547,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"7164:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7164:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7147:30:105"},{"expression":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15550,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15537,"src":"7207:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7217:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7207:11:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15553,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15546,"src":"7222:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7232:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7222:11:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7207:26:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":15557,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7206:28:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":15564,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15546,"src":"7327:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":15565,"name":"totalAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15209,"src":"7335:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7335:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15567,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15540,"src":"7350:8:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"expression":{"id":15562,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15537,"src":"7313:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":25054,"src":"7313:13:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256,uint256,enum Math.Rounding) pure returns (uint256)"}},"id":15568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7313:46:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"7206:153:105","trueExpression":{"arguments":[{"id":15559,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15537,"src":"7277:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15560,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15540,"src":"7285:8:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15558,"name":"_initialConvertToShares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15586,"src":"7253:23:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7253:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15544,"id":15570,"nodeType":"Return","src":"7187:172:105"}]},"documentation":{"id":15535,"nodeType":"StructuredDocumentation","src":"6732:287:105","text":" @dev Internal conversion function (from assets to shares) with support for rounding direction.\n Will revert if assets > 0, totalSupply > 0 and totalAssets = 0. That corresponds to a case where any asset\n would represent an infinite amount of shares."},"id":15572,"implemented":true,"kind":"function","modifiers":[],"name":"_convertToShares","nameLocation":"7033:16:105","nodeType":"FunctionDefinition","parameters":{"id":15541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15537,"mutability":"mutable","name":"assets","nameLocation":"7058:6:105","nodeType":"VariableDeclaration","scope":15572,"src":"7050:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15536,"name":"uint256","nodeType":"ElementaryTypeName","src":"7050:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15540,"mutability":"mutable","name":"rounding","nameLocation":"7080:8:105","nodeType":"VariableDeclaration","scope":15572,"src":"7066:22:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":15539,"nodeType":"UserDefinedTypeName","pathNode":{"id":15538,"name":"Math.Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"7066:13:105"},"referencedDeclaration":24804,"src":"7066:13:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"7049:40:105"},"returnParameters":{"id":15544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15543,"mutability":"mutable","name":"shares","nameLocation":"7129:6:105","nodeType":"VariableDeclaration","scope":15572,"src":"7121:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15542,"name":"uint256","nodeType":"ElementaryTypeName","src":"7121:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7120:16:105"},"scope":15735,"src":"7024:342:105","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":15585,"nodeType":"Block","src":"7747:30:105","statements":[{"expression":{"id":15583,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15575,"src":"7764:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15582,"id":15584,"nodeType":"Return","src":"7757:13:105"}]},"documentation":{"id":15573,"nodeType":"StructuredDocumentation","src":"7372:224:105","text":" @dev Internal conversion function (from assets to shares) to apply when the vault is empty.\n NOTE: Make sure to keep this function consistent with {_initialConvertToAssets} when overriding it."},"id":15586,"implemented":true,"kind":"function","modifiers":[],"name":"_initialConvertToShares","nameLocation":"7610:23:105","nodeType":"FunctionDefinition","parameters":{"id":15579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15575,"mutability":"mutable","name":"assets","nameLocation":"7651:6:105","nodeType":"VariableDeclaration","scope":15586,"src":"7643:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15574,"name":"uint256","nodeType":"ElementaryTypeName","src":"7643:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15586,"src":"7667:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":15577,"nodeType":"UserDefinedTypeName","pathNode":{"id":15576,"name":"Math.Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"7667:13:105"},"referencedDeclaration":24804,"src":"7667:13:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"7633:66:105"},"returnParameters":{"id":15582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15581,"mutability":"mutable","name":"shares","nameLocation":"7739:6:105","nodeType":"VariableDeclaration","scope":15586,"src":"7731:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15580,"name":"uint256","nodeType":"ElementaryTypeName","src":"7731:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7730:16:105"},"scope":15735,"src":"7601:176:105","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":15619,"nodeType":"Block","src":"8014:182:105","statements":[{"assignments":[15598],"declarations":[{"constant":false,"id":15598,"mutability":"mutable","name":"supply","nameLocation":"8032:6:105","nodeType":"VariableDeclaration","scope":15619,"src":"8024:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15597,"name":"uint256","nodeType":"ElementaryTypeName","src":"8024:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15601,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15599,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"8041:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8041:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8024:30:105"},{"expression":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15602,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15598,"src":"8084:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8094:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8084:11:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":15605,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8083:13:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":15612,"name":"totalAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15209,"src":"8157:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8157:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15614,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15598,"src":"8172:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15615,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15592,"src":"8180:8:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"expression":{"id":15610,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15589,"src":"8143:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":25054,"src":"8143:13:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256,uint256,enum Math.Rounding) pure returns (uint256)"}},"id":15616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8143:46:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8083:106:105","trueExpression":{"arguments":[{"id":15607,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15589,"src":"8123:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15608,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15592,"src":"8131:8:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}],"id":15606,"name":"_initialConvertToAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15634,"src":"8099:23:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_Rounding_$24804_$returns$_t_uint256_$","typeString":"function (uint256,enum Math.Rounding) view returns (uint256)"}},"id":15609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8099:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15596,"id":15618,"nodeType":"Return","src":"8064:125:105"}]},"documentation":{"id":15587,"nodeType":"StructuredDocumentation","src":"7783:113:105","text":" @dev Internal conversion function (from shares to assets) with support for rounding direction."},"id":15620,"implemented":true,"kind":"function","modifiers":[],"name":"_convertToAssets","nameLocation":"7910:16:105","nodeType":"FunctionDefinition","parameters":{"id":15593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15589,"mutability":"mutable","name":"shares","nameLocation":"7935:6:105","nodeType":"VariableDeclaration","scope":15620,"src":"7927:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15588,"name":"uint256","nodeType":"ElementaryTypeName","src":"7927:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15592,"mutability":"mutable","name":"rounding","nameLocation":"7957:8:105","nodeType":"VariableDeclaration","scope":15620,"src":"7943:22:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":15591,"nodeType":"UserDefinedTypeName","pathNode":{"id":15590,"name":"Math.Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"7943:13:105"},"referencedDeclaration":24804,"src":"7943:13:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"7926:40:105"},"returnParameters":{"id":15596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15595,"mutability":"mutable","name":"assets","nameLocation":"8006:6:105","nodeType":"VariableDeclaration","scope":15620,"src":"7998:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15594,"name":"uint256","nodeType":"ElementaryTypeName","src":"7998:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7997:16:105"},"scope":15735,"src":"7901:295:105","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":15633,"nodeType":"Block","src":"8577:30:105","statements":[{"expression":{"id":15631,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15623,"src":"8594:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15630,"id":15632,"nodeType":"Return","src":"8587:13:105"}]},"documentation":{"id":15621,"nodeType":"StructuredDocumentation","src":"8202:224:105","text":" @dev Internal conversion function (from shares to assets) to apply when the vault is empty.\n NOTE: Make sure to keep this function consistent with {_initialConvertToShares} when overriding it."},"id":15634,"implemented":true,"kind":"function","modifiers":[],"name":"_initialConvertToAssets","nameLocation":"8440:23:105","nodeType":"FunctionDefinition","parameters":{"id":15627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15623,"mutability":"mutable","name":"shares","nameLocation":"8481:6:105","nodeType":"VariableDeclaration","scope":15634,"src":"8473:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15622,"name":"uint256","nodeType":"ElementaryTypeName","src":"8473:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15634,"src":"8497:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":15625,"nodeType":"UserDefinedTypeName","pathNode":{"id":15624,"name":"Math.Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"8497:13:105"},"referencedDeclaration":24804,"src":"8497:13:105","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8463:66:105"},"returnParameters":{"id":15630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15629,"mutability":"mutable","name":"assets","nameLocation":"8569:6:105","nodeType":"VariableDeclaration","scope":15634,"src":"8561:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15628,"name":"uint256","nodeType":"ElementaryTypeName","src":"8561:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8560:16:105"},"scope":15735,"src":"8431:176:105","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":15670,"nodeType":"Block","src":"8810:730:105","statements":[{"expression":{"arguments":[{"id":15649,"name":"_asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"9405:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":15650,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15637,"src":"9413:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":15653,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9429:4:105","typeDescriptions":{"typeIdentifier":"t_contract$_ERC4626_$15735","typeString":"contract ERC4626"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC4626_$15735","typeString":"contract ERC4626"}],"id":15652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9421:7:105","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15651,"name":"address","nodeType":"ElementaryTypeName","src":"9421:7:105","typeDescriptions":{}}},"id":15654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9421:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15655,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15641,"src":"9436:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15646,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"9378:9:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":15648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":16191,"src":"9378:26:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":15656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9378:65:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15657,"nodeType":"ExpressionStatement","src":"9378:65:105"},{"expression":{"arguments":[{"id":15659,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15639,"src":"9459:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15660,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15643,"src":"9469:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15658,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"9453:5:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":15661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9453:23:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15662,"nodeType":"ExpressionStatement","src":"9453:23:105"},{"eventCall":{"arguments":[{"id":15664,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15637,"src":"9500:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15665,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15639,"src":"9508:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15666,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15641,"src":"9518:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15667,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15643,"src":"9526:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15663,"name":"Deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8891,"src":"9492:7:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":15668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9492:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15669,"nodeType":"EmitStatement","src":"9487:46:105"}]},"documentation":{"id":15635,"nodeType":"StructuredDocumentation","src":"8613:53:105","text":" @dev Deposit/mint common workflow."},"id":15671,"implemented":true,"kind":"function","modifiers":[],"name":"_deposit","nameLocation":"8680:8:105","nodeType":"FunctionDefinition","parameters":{"id":15644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15637,"mutability":"mutable","name":"caller","nameLocation":"8706:6:105","nodeType":"VariableDeclaration","scope":15671,"src":"8698:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15636,"name":"address","nodeType":"ElementaryTypeName","src":"8698:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15639,"mutability":"mutable","name":"receiver","nameLocation":"8730:8:105","nodeType":"VariableDeclaration","scope":15671,"src":"8722:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15638,"name":"address","nodeType":"ElementaryTypeName","src":"8722:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15641,"mutability":"mutable","name":"assets","nameLocation":"8756:6:105","nodeType":"VariableDeclaration","scope":15671,"src":"8748:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15640,"name":"uint256","nodeType":"ElementaryTypeName","src":"8748:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15643,"mutability":"mutable","name":"shares","nameLocation":"8780:6:105","nodeType":"VariableDeclaration","scope":15671,"src":"8772:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15642,"name":"uint256","nodeType":"ElementaryTypeName","src":"8772:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8688:104:105"},"returnParameters":{"id":15645,"nodeType":"ParameterList","parameters":[],"src":"8810:0:105"},"scope":15735,"src":"8671:869:105","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":15717,"nodeType":"Block","src":"9770:751:105","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15685,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15674,"src":"9784:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":15686,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15678,"src":"9794:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9784:15:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15695,"nodeType":"IfStatement","src":"9780:84:105","trueBody":{"id":15694,"nodeType":"Block","src":"9801:63:105","statements":[{"expression":{"arguments":[{"id":15689,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15678,"src":"9831:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15690,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15674,"src":"9838:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15691,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15682,"src":"9846:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15688,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13369,"src":"9815:15:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":15692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9815:38:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15693,"nodeType":"ExpressionStatement","src":"9815:38:105"}]}},{"expression":{"arguments":[{"id":15697,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15678,"src":"10377:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15698,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15682,"src":"10384:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15696,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"10371:5:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":15699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10371:20:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15700,"nodeType":"ExpressionStatement","src":"10371:20:105"},{"expression":{"arguments":[{"id":15704,"name":"_asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"10424:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"id":15705,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15676,"src":"10432:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15706,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15680,"src":"10442:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15701,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16414,"src":"10401:9:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$16414_$","typeString":"type(library SafeERC20)"}},"id":15703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"10401:22:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":15707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10401:48:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15708,"nodeType":"ExpressionStatement","src":"10401:48:105"},{"eventCall":{"arguments":[{"id":15710,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15674,"src":"10474:6:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15711,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15676,"src":"10482:8:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15712,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15678,"src":"10492:5:105","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15713,"name":"assets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15680,"src":"10499:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15714,"name":"shares","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15682,"src":"10507:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15709,"name":"Withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"10465:8:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":15715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10465:49:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15716,"nodeType":"EmitStatement","src":"10460:54:105"}]},"documentation":{"id":15672,"nodeType":"StructuredDocumentation","src":"9546:56:105","text":" @dev Withdraw/redeem common workflow."},"id":15718,"implemented":true,"kind":"function","modifiers":[],"name":"_withdraw","nameLocation":"9616:9:105","nodeType":"FunctionDefinition","parameters":{"id":15683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15674,"mutability":"mutable","name":"caller","nameLocation":"9643:6:105","nodeType":"VariableDeclaration","scope":15718,"src":"9635:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15673,"name":"address","nodeType":"ElementaryTypeName","src":"9635:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15676,"mutability":"mutable","name":"receiver","nameLocation":"9667:8:105","nodeType":"VariableDeclaration","scope":15718,"src":"9659:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15675,"name":"address","nodeType":"ElementaryTypeName","src":"9659:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15678,"mutability":"mutable","name":"owner","nameLocation":"9693:5:105","nodeType":"VariableDeclaration","scope":15718,"src":"9685:13:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15677,"name":"address","nodeType":"ElementaryTypeName","src":"9685:7:105","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15680,"mutability":"mutable","name":"assets","nameLocation":"9716:6:105","nodeType":"VariableDeclaration","scope":15718,"src":"9708:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15679,"name":"uint256","nodeType":"ElementaryTypeName","src":"9708:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15682,"mutability":"mutable","name":"shares","nameLocation":"9740:6:105","nodeType":"VariableDeclaration","scope":15718,"src":"9732:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15681,"name":"uint256","nodeType":"ElementaryTypeName","src":"9732:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9625:127:105"},"returnParameters":{"id":15684,"nodeType":"ParameterList","parameters":[],"src":"9770:0:105"},"scope":15735,"src":"9607:914:105","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":15733,"nodeType":"Block","src":"10589:63:105","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":15723,"name":"totalAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15209,"src":"10606:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10606:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":15725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10622:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10606:17:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":15727,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"10627:11:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":15728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10627:13:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10644:1:105","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10627:18:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10606:39:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":15722,"id":15732,"nodeType":"Return","src":"10599:46:105"}]},"id":15734,"implemented":true,"kind":"function","modifiers":[],"name":"_isVaultCollateralized","nameLocation":"10536:22:105","nodeType":"FunctionDefinition","parameters":{"id":15719,"nodeType":"ParameterList","parameters":[],"src":"10558:2:105"},"returnParameters":{"id":15722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15734,"src":"10583:4:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15720,"name":"bool","nodeType":"ElementaryTypeName","src":"10583:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10582:6:105"},"scope":15735,"src":"10527:125:105","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":15736,"src":"1193:9461:105","usedErrors":[]}],"src":"118:10537:105"},"id":105},"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","exportedSymbols":{"IERC20":[13470],"IERC20Metadata":[15760]},"id":15761,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15737,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"110:23:106"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","id":15738,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15761,"sourceUnit":13471,"src":"135:23:106","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":15740,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"305:6:106"},"id":15741,"nodeType":"InheritanceSpecifier","src":"305:6:106"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":15739,"nodeType":"StructuredDocumentation","src":"160:116:106","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"id":15760,"linearizedBaseContracts":[15760,13470],"name":"IERC20Metadata","nameLocation":"287:14:106","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":15742,"nodeType":"StructuredDocumentation","src":"318:54:106","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":15747,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:106","nodeType":"FunctionDefinition","parameters":{"id":15743,"nodeType":"ParameterList","parameters":[],"src":"390:2:106"},"returnParameters":{"id":15746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15747,"src":"416:13:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15744,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:106"},"scope":15760,"src":"377:54:106","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":15748,"nodeType":"StructuredDocumentation","src":"437:56:106","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","id":15753,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:106","nodeType":"FunctionDefinition","parameters":{"id":15749,"nodeType":"ParameterList","parameters":[],"src":"513:2:106"},"returnParameters":{"id":15752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15753,"src":"539:13:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15750,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:106"},"scope":15760,"src":"498:56:106","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":15754,"nodeType":"StructuredDocumentation","src":"560:65:106","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","id":15759,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:106","nodeType":"FunctionDefinition","parameters":{"id":15755,"nodeType":"ParameterList","parameters":[],"src":"647:2:106"},"returnParameters":{"id":15758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15759,"src":"673:5:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15756,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:106","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:106"},"scope":15760,"src":"630:50:106","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":15761,"src":"277:405:106","usedErrors":[]}],"src":"110:573:106"},"id":106},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol","exportedSymbols":{"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"ERC20":[13392],"ERC20Permit":[15932],"IERC20":[13470],"IERC20Metadata":[15760],"IERC20Permit":[15968],"Math":[25662],"Strings":[22726]},"id":15933,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15762,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:107"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol","file":"./draft-IERC20Permit.sol","id":15763,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15933,"sourceUnit":15969,"src":"153:34:107","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":15764,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15933,"sourceUnit":13393,"src":"188:22:107","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"../../../utils/cryptography/ECDSA.sol","id":15765,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15933,"sourceUnit":23302,"src":"211:47:107","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"../../../utils/cryptography/EIP712.sol","id":15766,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15933,"sourceUnit":23456,"src":"259:48:107","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Counters.sol","file":"../../../utils/Counters.sol","id":15767,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15933,"sourceUnit":22356,"src":"308:37:107","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":15769,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"898:5:107"},"id":15770,"nodeType":"InheritanceSpecifier","src":"898:5:107"},{"baseName":{"id":15771,"name":"IERC20Permit","nodeType":"IdentifierPath","referencedDeclaration":15968,"src":"905:12:107"},"id":15772,"nodeType":"InheritanceSpecifier","src":"905:12:107"},{"baseName":{"id":15773,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"919:6:107"},"id":15774,"nodeType":"InheritanceSpecifier","src":"919:6:107"}],"canonicalName":"ERC20Permit","contractDependencies":[],"contractKind":"contract","documentation":{"id":15768,"nodeType":"StructuredDocumentation","src":"347:517:107","text":" @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n _Available since v3.4._"},"fullyImplemented":false,"id":15932,"linearizedBaseContracts":[15932,23455,15968,13392,15760,13470,22281],"name":"ERC20Permit","nameLocation":"883:11:107","nodeType":"ContractDefinition","nodes":[{"id":15778,"libraryName":{"id":15775,"name":"Counters","nodeType":"IdentifierPath","referencedDeclaration":22355,"src":"938:8:107"},"nodeType":"UsingForDirective","src":"932:36:107","typeName":{"id":15777,"nodeType":"UserDefinedTypeName","pathNode":{"id":15776,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"951:16:107"},"referencedDeclaration":22287,"src":"951:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},{"constant":false,"id":15783,"mutability":"mutable","name":"_nonces","nameLocation":"1019:7:107","nodeType":"VariableDeclaration","scope":15932,"src":"974:52:107","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"typeName":{"id":15782,"keyType":{"id":15779,"name":"address","nodeType":"ElementaryTypeName","src":"982:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"974:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"valueType":{"id":15781,"nodeType":"UserDefinedTypeName","pathNode":{"id":15780,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"993:16:107"},"referencedDeclaration":22287,"src":"993:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},"visibility":"private"},{"constant":true,"id":15788,"mutability":"constant","name":"_PERMIT_TYPEHASH","nameLocation":"1110:16:107","nodeType":"VariableDeclaration","scope":15932,"src":"1085:147:107","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1085:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":15786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1147:84:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":15785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1137:9:107","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1137:95:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"documentation":{"id":15789,"nodeType":"StructuredDocumentation","src":"1238:254:107","text":" @dev In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`.\n However, to ensure consistency with the upgradeable transpiler, we will continue\n to reserve a slot.\n @custom:oz-renamed-from _PERMIT_TYPEHASH"},"id":15791,"mutability":"mutable","name":"_PERMIT_TYPEHASH_DEPRECATED_SLOT","nameLocation":"1565:32:107","nodeType":"VariableDeclaration","scope":15932,"src":"1549:48:107","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1549:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"body":{"id":15801,"nodeType":"Block","src":"1879:2:107","statements":[]},"documentation":{"id":15792,"nodeType":"StructuredDocumentation","src":"1604:220:107","text":" @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n It's a good idea to use the same `name` that is defined as the ERC20 token name."},"id":15802,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":15797,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15794,"src":"1868:4:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"31","id":15798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1874:3:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"id":15799,"kind":"baseConstructorSpecifier","modifierName":{"id":15796,"name":"EIP712","nodeType":"IdentifierPath","referencedDeclaration":23455,"src":"1861:6:107"},"nodeType":"ModifierInvocation","src":"1861:17:107"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":15795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15794,"mutability":"mutable","name":"name","nameLocation":"1855:4:107","nodeType":"VariableDeclaration","scope":15802,"src":"1841:18:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15793,"name":"string","nodeType":"ElementaryTypeName","src":"1841:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1840:20:107"},"returnParameters":{"id":15800,"nodeType":"ParameterList","parameters":[],"src":"1879:0:107"},"scope":15932,"src":"1829:52:107","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[15953],"body":{"id":15874,"nodeType":"Block","src":"2140:428:107","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15822,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2158:5:107","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":15823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2158:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":15824,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15811,"src":"2177:8:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2158:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305065726d69743a206578706972656420646561646c696e65","id":15826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2187:31:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e89525a63fb9c966b61cf8f5305156de8420bc773a2b60828a2f32c3c5797bd","typeString":"literal_string \"ERC20Permit: expired deadline\""},"value":"ERC20Permit: expired deadline"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3e89525a63fb9c966b61cf8f5305156de8420bc773a2b60828a2f32c3c5797bd","typeString":"literal_string \"ERC20Permit: expired deadline\""}],"id":15821,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2150:7:107","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2150:69:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15828,"nodeType":"ExpressionStatement","src":"2150:69:107"},{"assignments":[15830],"declarations":[{"constant":false,"id":15830,"mutability":"mutable","name":"structHash","nameLocation":"2238:10:107","nodeType":"VariableDeclaration","scope":15874,"src":"2230:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2230:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15844,"initialValue":{"arguments":[{"arguments":[{"id":15834,"name":"_PERMIT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15788,"src":"2272:16:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":15835,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"2290:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15836,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"2297:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15837,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15809,"src":"2306:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":15839,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"2323:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15838,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15931,"src":"2313:9:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":15840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2313:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15841,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15811,"src":"2331:8:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2261:3:107","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2261:10:107","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2261:79:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15831,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2251:9:107","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2251:90:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2230:111:107"},{"assignments":[15846],"declarations":[{"constant":false,"id":15846,"mutability":"mutable","name":"hash","nameLocation":"2360:4:107","nodeType":"VariableDeclaration","scope":15874,"src":"2352:12:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2352:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15850,"initialValue":{"arguments":[{"id":15848,"name":"structHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15830,"src":"2384:10:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15847,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"2367:16:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":15849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2367:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2352:43:107"},{"assignments":[15852],"declarations":[{"constant":false,"id":15852,"mutability":"mutable","name":"signer","nameLocation":"2414:6:107","nodeType":"VariableDeclaration","scope":15874,"src":"2406:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15851,"name":"address","nodeType":"ElementaryTypeName","src":"2406:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":15860,"initialValue":{"arguments":[{"id":15855,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15846,"src":"2437:4:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":15856,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15813,"src":"2443:1:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":15857,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15815,"src":"2446:1:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":15858,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"2449:1:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":15853,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"2423:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":15854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":23241,"src":"2423:13:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":15859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2423:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2406:45:107"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15862,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15852,"src":"2469:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":15863,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"2479:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2469:15:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305065726d69743a20696e76616c6964207369676e6174757265","id":15865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2486:32:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_94ca1ab58dfda790a1782ffbb0c0a140ec51d4148dbeecc6c39e37b25ff4b124","typeString":"literal_string \"ERC20Permit: invalid signature\""},"value":"ERC20Permit: invalid signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94ca1ab58dfda790a1782ffbb0c0a140ec51d4148dbeecc6c39e37b25ff4b124","typeString":"literal_string \"ERC20Permit: invalid signature\""}],"id":15861,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2461:7:107","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2461:58:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15867,"nodeType":"ExpressionStatement","src":"2461:58:107"},{"expression":{"arguments":[{"id":15869,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"2539:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15870,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"2546:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15871,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15809,"src":"2555:5:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15868,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"2530:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":15872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2530:31:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15873,"nodeType":"ExpressionStatement","src":"2530:31:107"}]},"documentation":{"id":15803,"nodeType":"StructuredDocumentation","src":"1887:50:107","text":" @dev See {IERC20Permit-permit}."},"functionSelector":"d505accf","id":15875,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1951:6:107","nodeType":"FunctionDefinition","overrides":{"id":15819,"nodeType":"OverrideSpecifier","overrides":[],"src":"2131:8:107"},"parameters":{"id":15818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15805,"mutability":"mutable","name":"owner","nameLocation":"1975:5:107","nodeType":"VariableDeclaration","scope":15875,"src":"1967:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15804,"name":"address","nodeType":"ElementaryTypeName","src":"1967:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15807,"mutability":"mutable","name":"spender","nameLocation":"1998:7:107","nodeType":"VariableDeclaration","scope":15875,"src":"1990:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15806,"name":"address","nodeType":"ElementaryTypeName","src":"1990:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15809,"mutability":"mutable","name":"value","nameLocation":"2023:5:107","nodeType":"VariableDeclaration","scope":15875,"src":"2015:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2015:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15811,"mutability":"mutable","name":"deadline","nameLocation":"2046:8:107","nodeType":"VariableDeclaration","scope":15875,"src":"2038:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15810,"name":"uint256","nodeType":"ElementaryTypeName","src":"2038:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15813,"mutability":"mutable","name":"v","nameLocation":"2070:1:107","nodeType":"VariableDeclaration","scope":15875,"src":"2064:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15812,"name":"uint8","nodeType":"ElementaryTypeName","src":"2064:5:107","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":15815,"mutability":"mutable","name":"r","nameLocation":"2089:1:107","nodeType":"VariableDeclaration","scope":15875,"src":"2081:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2081:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15817,"mutability":"mutable","name":"s","nameLocation":"2108:1:107","nodeType":"VariableDeclaration","scope":15875,"src":"2100:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2100:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1957:158:107"},"returnParameters":{"id":15820,"nodeType":"ParameterList","parameters":[],"src":"2140:0:107"},"scope":15932,"src":"1942:626:107","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[15961],"body":{"id":15890,"nodeType":"Block","src":"2707:48:107","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":15884,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15783,"src":"2724:7:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":15886,"indexExpression":{"id":15885,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15878,"src":"2732:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2724:14:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":15887,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"2724:22:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":15888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2724:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15883,"id":15889,"nodeType":"Return","src":"2717:31:107"}]},"documentation":{"id":15876,"nodeType":"StructuredDocumentation","src":"2574:50:107","text":" @dev See {IERC20Permit-nonces}."},"functionSelector":"7ecebe00","id":15891,"implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"2638:6:107","nodeType":"FunctionDefinition","overrides":{"id":15880,"nodeType":"OverrideSpecifier","overrides":[],"src":"2680:8:107"},"parameters":{"id":15879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15878,"mutability":"mutable","name":"owner","nameLocation":"2653:5:107","nodeType":"VariableDeclaration","scope":15891,"src":"2645:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15877,"name":"address","nodeType":"ElementaryTypeName","src":"2645:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2644:15:107"},"returnParameters":{"id":15883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15891,"src":"2698:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15881,"name":"uint256","nodeType":"ElementaryTypeName","src":"2698:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2697:9:107"},"scope":15932,"src":"2629:126:107","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[15967],"body":{"id":15901,"nodeType":"Block","src":"2948:44:107","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":15898,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23411,"src":"2965:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":15899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2965:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":15897,"id":15900,"nodeType":"Return","src":"2958:27:107"}]},"documentation":{"id":15892,"nodeType":"StructuredDocumentation","src":"2761:60:107","text":" @dev See {IERC20Permit-DOMAIN_SEPARATOR}."},"functionSelector":"3644e515","id":15902,"implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2888:16:107","nodeType":"FunctionDefinition","overrides":{"id":15894,"nodeType":"OverrideSpecifier","overrides":[],"src":"2921:8:107"},"parameters":{"id":15893,"nodeType":"ParameterList","parameters":[],"src":"2904:2:107"},"returnParameters":{"id":15897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15902,"src":"2939:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2939:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2938:9:107"},"scope":15932,"src":"2879:113:107","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":15930,"nodeType":"Block","src":"3200:126:107","statements":[{"assignments":[15914],"declarations":[{"constant":false,"id":15914,"mutability":"mutable","name":"nonce","nameLocation":"3235:5:107","nodeType":"VariableDeclaration","scope":15930,"src":"3210:30:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":15913,"nodeType":"UserDefinedTypeName","pathNode":{"id":15912,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"3210:16:107"},"referencedDeclaration":22287,"src":"3210:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"id":15918,"initialValue":{"baseExpression":{"id":15915,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15783,"src":"3243:7:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$22287_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":15917,"indexExpression":{"id":15916,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15905,"src":"3251:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3243:14:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3210:47:107"},{"expression":{"id":15923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":15919,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15908,"src":"3267:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":15920,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15914,"src":"3277:5:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":15921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"3277:13:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":15922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3277:15:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3267:25:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15924,"nodeType":"ExpressionStatement","src":"3267:25:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":15925,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15914,"src":"3302:5:107","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":15927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":22313,"src":"3302:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Counter_$22287_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer)"}},"id":15928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3302:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15929,"nodeType":"ExpressionStatement","src":"3302:17:107"}]},"documentation":{"id":15903,"nodeType":"StructuredDocumentation","src":"2998:120:107","text":" @dev \"Consume a nonce\": return the current value and increment.\n _Available since v4.1._"},"id":15931,"implemented":true,"kind":"function","modifiers":[],"name":"_useNonce","nameLocation":"3132:9:107","nodeType":"FunctionDefinition","parameters":{"id":15906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15905,"mutability":"mutable","name":"owner","nameLocation":"3150:5:107","nodeType":"VariableDeclaration","scope":15931,"src":"3142:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15904,"name":"address","nodeType":"ElementaryTypeName","src":"3142:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3141:15:107"},"returnParameters":{"id":15909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15908,"mutability":"mutable","name":"current","nameLocation":"3191:7:107","nodeType":"VariableDeclaration","scope":15931,"src":"3183:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15907,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3182:17:107"},"scope":15932,"src":"3123:203:107","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":15933,"src":"865:2463:107","usedErrors":[]}],"src":"128:3201:107"},"id":107},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol","exportedSymbols":{"IERC20Permit":[15968]},"id":15969,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15934,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"114:23:108"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":15935,"nodeType":"StructuredDocumentation","src":"139:480:108","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"id":15968,"linearizedBaseContracts":[15968],"name":"IERC20Permit","nameLocation":"630:12:108","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":15936,"nodeType":"StructuredDocumentation","src":"649:792:108","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","id":15953,"implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1455:6:108","nodeType":"FunctionDefinition","parameters":{"id":15951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15938,"mutability":"mutable","name":"owner","nameLocation":"1479:5:108","nodeType":"VariableDeclaration","scope":15953,"src":"1471:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15937,"name":"address","nodeType":"ElementaryTypeName","src":"1471:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15940,"mutability":"mutable","name":"spender","nameLocation":"1502:7:108","nodeType":"VariableDeclaration","scope":15953,"src":"1494:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15939,"name":"address","nodeType":"ElementaryTypeName","src":"1494:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15942,"mutability":"mutable","name":"value","nameLocation":"1527:5:108","nodeType":"VariableDeclaration","scope":15953,"src":"1519:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15941,"name":"uint256","nodeType":"ElementaryTypeName","src":"1519:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15944,"mutability":"mutable","name":"deadline","nameLocation":"1550:8:108","nodeType":"VariableDeclaration","scope":15953,"src":"1542:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15943,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15946,"mutability":"mutable","name":"v","nameLocation":"1574:1:108","nodeType":"VariableDeclaration","scope":15953,"src":"1568:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15945,"name":"uint8","nodeType":"ElementaryTypeName","src":"1568:5:108","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":15948,"mutability":"mutable","name":"r","nameLocation":"1593:1:108","nodeType":"VariableDeclaration","scope":15953,"src":"1585:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15947,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1585:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15950,"mutability":"mutable","name":"s","nameLocation":"1612:1:108","nodeType":"VariableDeclaration","scope":15953,"src":"1604:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1604:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1461:158:108"},"returnParameters":{"id":15952,"nodeType":"ParameterList","parameters":[],"src":"1628:0:108"},"scope":15968,"src":"1446:183:108","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":15954,"nodeType":"StructuredDocumentation","src":"1635:294:108","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","id":15961,"implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1943:6:108","nodeType":"FunctionDefinition","parameters":{"id":15957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15956,"mutability":"mutable","name":"owner","nameLocation":"1958:5:108","nodeType":"VariableDeclaration","scope":15961,"src":"1950:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15955,"name":"address","nodeType":"ElementaryTypeName","src":"1950:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1949:15:108"},"returnParameters":{"id":15960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15961,"src":"1988:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15958,"name":"uint256","nodeType":"ElementaryTypeName","src":"1988:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1987:9:108"},"scope":15968,"src":"1934:63:108","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":15962,"nodeType":"StructuredDocumentation","src":"2003:128:108","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","id":15967,"implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2198:16:108","nodeType":"FunctionDefinition","parameters":{"id":15963,"nodeType":"ParameterList","parameters":[],"src":"2214:2:108"},"returnParameters":{"id":15966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15967,"src":"2240:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2240:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2239:9:108"},"scope":15968,"src":"2189:60:108","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":15969,"src":"620:1631:108","usedErrors":[]}],"src":"114:2138:108"},"id":108},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol","exportedSymbols":{"Context":[22281],"ERC20":[13392],"ERC20Burnable":[13514],"ERC20PresetFixedSupply":[15997],"IERC20":[13470],"IERC20Metadata":[15760]},"id":15998,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15970,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"129:23:109"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol","file":"../extensions/ERC20Burnable.sol","id":15971,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15998,"sourceUnit":13515,"src":"154:41:109","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":15973,"name":"ERC20Burnable","nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"672:13:109"},"id":15974,"nodeType":"InheritanceSpecifier","src":"672:13:109"}],"canonicalName":"ERC20PresetFixedSupply","contractDependencies":[],"contractKind":"contract","documentation":{"id":15972,"nodeType":"StructuredDocumentation","src":"197:439:109","text":" @dev {ERC20} token, including:\n - Preminted initial supply\n - Ability for holders to burn (destroy) their tokens\n - No access control mechanism (for minting/pausing) and hence no governance\n This contract uses {ERC20Burnable} to include burn capabilities - head to\n its documentation for details.\n _Available since v3.4._\n _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._"},"fullyImplemented":true,"id":15997,"linearizedBaseContracts":[15997,13514,13392,15760,13470,22281],"name":"ERC20PresetFixedSupply","nameLocation":"646:22:109","nodeType":"ContractDefinition","nodes":[{"body":{"id":15995,"nodeType":"Block","src":"978:44:109","statements":[{"expression":{"arguments":[{"id":15991,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15983,"src":"994:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15992,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15981,"src":"1001:13:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15990,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"988:5:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":15993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"988:27:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15994,"nodeType":"ExpressionStatement","src":"988:27:109"}]},"documentation":{"id":15975,"nodeType":"StructuredDocumentation","src":"692:131:109","text":" @dev Mints `initialSupply` amount of token and transfers them to `owner`.\n See {ERC20-constructor}."},"id":15996,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":15986,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15977,"src":"964:4:109","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15987,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15979,"src":"970:6:109","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":15988,"kind":"baseConstructorSpecifier","modifierName":{"id":15985,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"958:5:109"},"nodeType":"ModifierInvocation","src":"958:19:109"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":15984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15977,"mutability":"mutable","name":"name","nameLocation":"863:4:109","nodeType":"VariableDeclaration","scope":15996,"src":"849:18:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15976,"name":"string","nodeType":"ElementaryTypeName","src":"849:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15979,"mutability":"mutable","name":"symbol","nameLocation":"891:6:109","nodeType":"VariableDeclaration","scope":15996,"src":"877:20:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15978,"name":"string","nodeType":"ElementaryTypeName","src":"877:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15981,"mutability":"mutable","name":"initialSupply","nameLocation":"915:13:109","nodeType":"VariableDeclaration","scope":15996,"src":"907:21:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15980,"name":"uint256","nodeType":"ElementaryTypeName","src":"907:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15983,"mutability":"mutable","name":"owner","nameLocation":"946:5:109","nodeType":"VariableDeclaration","scope":15996,"src":"938:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15982,"name":"address","nodeType":"ElementaryTypeName","src":"938:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"839:118:109"},"returnParameters":{"id":15989,"nodeType":"ParameterList","parameters":[],"src":"978:0:109"},"scope":15997,"src":"828:194:109","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":15998,"src":"637:387:109","usedErrors":[]}],"src":"129:896:109"},"id":109},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol","exportedSymbols":{"AccessControl":[1027],"AccessControlEnumerable":[1207],"Context":[22281],"ERC165":[24377],"ERC20":[13392],"ERC20Burnable":[13514],"ERC20Pausable":[13833],"ERC20PresetMinterPauser":[16133],"EnumerableSet":[29898],"IAccessControl":[1280],"IAccessControlEnumerable":[1305],"IERC165":[24693],"IERC20":[13470],"IERC20Metadata":[15760],"Math":[25662],"Pausable":[10642],"Strings":[22726]},"id":16134,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15999,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"131:23:110"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","id":16000,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16134,"sourceUnit":13393,"src":"156:22:110","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol","file":"../extensions/ERC20Burnable.sol","id":16001,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16134,"sourceUnit":13515,"src":"179:41:110","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol","file":"../extensions/ERC20Pausable.sol","id":16002,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16134,"sourceUnit":13834,"src":"221:41:110","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol","file":"../../../access/AccessControlEnumerable.sol","id":16003,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16134,"sourceUnit":1208,"src":"263:53:110","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":16004,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16134,"sourceUnit":22282,"src":"317:36:110","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":16006,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1041:7:110"},"id":16007,"nodeType":"InheritanceSpecifier","src":"1041:7:110"},{"baseName":{"id":16008,"name":"AccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1207,"src":"1050:23:110"},"id":16009,"nodeType":"InheritanceSpecifier","src":"1050:23:110"},{"baseName":{"id":16010,"name":"ERC20Burnable","nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"1075:13:110"},"id":16011,"nodeType":"InheritanceSpecifier","src":"1075:13:110"},{"baseName":{"id":16012,"name":"ERC20Pausable","nodeType":"IdentifierPath","referencedDeclaration":13833,"src":"1090:13:110"},"id":16013,"nodeType":"InheritanceSpecifier","src":"1090:13:110"}],"canonicalName":"ERC20PresetMinterPauser","contractDependencies":[],"contractKind":"contract","documentation":{"id":16005,"nodeType":"StructuredDocumentation","src":"355:649:110","text":" @dev {ERC20} token, including:\n - ability for holders to burn (destroy) their tokens\n - a minter role that allows for token minting (creation)\n - a pauser role that allows to stop all token transfers\n This contract uses {AccessControl} to lock permissioned functions using the\n different roles - head to its documentation for details.\n The account that deploys the contract will be granted the minter and pauser\n roles, as well as the default admin role, which will let it grant both minter\n and pauser roles to other accounts.\n _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._"},"fullyImplemented":true,"id":16133,"linearizedBaseContracts":[16133,13833,10642,13514,13392,15760,13470,1207,1027,24377,24693,1305,1280,22281],"name":"ERC20PresetMinterPauser","nameLocation":"1014:23:110","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"d5391393","id":16018,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"1134:11:110","nodeType":"VariableDeclaration","scope":16133,"src":"1110:62:110","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1110:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":16016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1158:13:110","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":16015,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1148:9:110","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1148:24:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":16023,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"1202:11:110","nodeType":"VariableDeclaration","scope":16133,"src":"1178:62:110","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":16021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1226:13:110","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":16020,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1216:9:110","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1216:24:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":16053,"nodeType":"Block","src":"1498:156:110","statements":[{"expression":{"arguments":[{"id":16036,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":739,"src":"1519:18:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16037,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1539:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1539:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16035,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1508:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":16039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1508:44:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16040,"nodeType":"ExpressionStatement","src":"1508:44:110"},{"expression":{"arguments":[{"id":16042,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16018,"src":"1574:11:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16043,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1587:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1587:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16041,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1563:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":16045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1563:37:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16046,"nodeType":"ExpressionStatement","src":"1563:37:110"},{"expression":{"arguments":[{"id":16048,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16023,"src":"1621:11:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16049,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1634:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1634:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16047,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1610:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":16051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1610:37:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16052,"nodeType":"ExpressionStatement","src":"1610:37:110"}]},"documentation":{"id":16024,"nodeType":"StructuredDocumentation","src":"1247:172:110","text":" @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the\n account that deploys the contract.\n See {ERC20-constructor}."},"id":16054,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":16031,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16026,"src":"1484:4:110","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16032,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16028,"src":"1490:6:110","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":16033,"kind":"baseConstructorSpecifier","modifierName":{"id":16030,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"1478:5:110"},"nodeType":"ModifierInvocation","src":"1478:19:110"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":16029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16026,"mutability":"mutable","name":"name","nameLocation":"1450:4:110","nodeType":"VariableDeclaration","scope":16054,"src":"1436:18:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16025,"name":"string","nodeType":"ElementaryTypeName","src":"1436:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16028,"mutability":"mutable","name":"symbol","nameLocation":"1470:6:110","nodeType":"VariableDeclaration","scope":16054,"src":"1456:20:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16027,"name":"string","nodeType":"ElementaryTypeName","src":"1456:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1435:42:110"},"returnParameters":{"id":16034,"nodeType":"ParameterList","parameters":[],"src":"1498:0:110"},"scope":16133,"src":"1424:230:110","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":16076,"nodeType":"Block","src":"1900:145:110","statements":[{"expression":{"arguments":[{"arguments":[{"id":16064,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16018,"src":"1926:11:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16065,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"1939:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1939:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16063,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"1918:7:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":16067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1918:34:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e74","id":16068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1954:56:110","typeDescriptions":{"typeIdentifier":"t_stringliteral_9efa111136b49cf2058ce33f60fa04a5749fd87012d74cadc251e21e1db53342","typeString":"literal_string \"ERC20PresetMinterPauser: must have minter role to mint\""},"value":"ERC20PresetMinterPauser: must have minter role to mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9efa111136b49cf2058ce33f60fa04a5749fd87012d74cadc251e21e1db53342","typeString":"literal_string \"ERC20PresetMinterPauser: must have minter role to mint\""}],"id":16062,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1910:7:110","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1910:101:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16070,"nodeType":"ExpressionStatement","src":"1910:101:110"},{"expression":{"arguments":[{"id":16072,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16057,"src":"2027:2:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16073,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16059,"src":"2031:6:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16071,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13209,"src":"2021:5:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":16074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2021:17:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16075,"nodeType":"ExpressionStatement","src":"2021:17:110"}]},"documentation":{"id":16055,"nodeType":"StructuredDocumentation","src":"1660:178:110","text":" @dev Creates `amount` new tokens for `to`.\n See {ERC20-_mint}.\n Requirements:\n - the caller must have the `MINTER_ROLE`."},"functionSelector":"40c10f19","id":16077,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"1852:4:110","nodeType":"FunctionDefinition","parameters":{"id":16060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16057,"mutability":"mutable","name":"to","nameLocation":"1865:2:110","nodeType":"VariableDeclaration","scope":16077,"src":"1857:10:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16056,"name":"address","nodeType":"ElementaryTypeName","src":"1857:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16059,"mutability":"mutable","name":"amount","nameLocation":"1877:6:110","nodeType":"VariableDeclaration","scope":16077,"src":"1869:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16058,"name":"uint256","nodeType":"ElementaryTypeName","src":"1869:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1856:28:110"},"returnParameters":{"id":16061,"nodeType":"ParameterList","parameters":[],"src":"1900:0:110"},"scope":16133,"src":"1843:202:110","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":16093,"nodeType":"Block","src":"2280:137:110","statements":[{"expression":{"arguments":[{"arguments":[{"id":16083,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16023,"src":"2306:11:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16084,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2319:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2319:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16082,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2298:7:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":16086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2298:34:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f207061757365","id":16087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2334:57:110","typeDescriptions":{"typeIdentifier":"t_stringliteral_d581fb23a6d539f3015b3485052424734f4b05014d1d5211f35a049cff57e330","typeString":"literal_string \"ERC20PresetMinterPauser: must have pauser role to pause\""},"value":"ERC20PresetMinterPauser: must have pauser role to pause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d581fb23a6d539f3015b3485052424734f4b05014d1d5211f35a049cff57e330","typeString":"literal_string \"ERC20PresetMinterPauser: must have pauser role to pause\""}],"id":16081,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2290:7:110","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2290:102:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16089,"nodeType":"ExpressionStatement","src":"2290:102:110"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16090,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"2402:6:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2402:8:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16092,"nodeType":"ExpressionStatement","src":"2402:8:110"}]},"documentation":{"id":16078,"nodeType":"StructuredDocumentation","src":"2051:192:110","text":" @dev Pauses all token transfers.\n See {ERC20Pausable} and {Pausable-_pause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"8456cb59","id":16094,"implemented":true,"kind":"function","modifiers":[],"name":"pause","nameLocation":"2257:5:110","nodeType":"FunctionDefinition","parameters":{"id":16079,"nodeType":"ParameterList","parameters":[],"src":"2262:2:110"},"returnParameters":{"id":16080,"nodeType":"ParameterList","parameters":[],"src":"2280:0:110"},"scope":16133,"src":"2248:169:110","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":16110,"nodeType":"Block","src":"2658:141:110","statements":[{"expression":{"arguments":[{"arguments":[{"id":16100,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16023,"src":"2684:11:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16101,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2697:10:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2697:12:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16099,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2676:7:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":16103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2676:34:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e7061757365","id":16104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2712:59:110","typeDescriptions":{"typeIdentifier":"t_stringliteral_176e32c23b35bed3cd8ee309232e2364823f6f66078e0cf4f5b5e41eee016186","typeString":"literal_string \"ERC20PresetMinterPauser: must have pauser role to unpause\""},"value":"ERC20PresetMinterPauser: must have pauser role to unpause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_176e32c23b35bed3cd8ee309232e2364823f6f66078e0cf4f5b5e41eee016186","typeString":"literal_string \"ERC20PresetMinterPauser: must have pauser role to unpause\""}],"id":16098,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2668:7:110","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2668:104:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16106,"nodeType":"ExpressionStatement","src":"2668:104:110"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16107,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10641,"src":"2782:8:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2782:10:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16109,"nodeType":"ExpressionStatement","src":"2782:10:110"}]},"documentation":{"id":16095,"nodeType":"StructuredDocumentation","src":"2423:196:110","text":" @dev Unpauses all token transfers.\n See {ERC20Pausable} and {Pausable-_unpause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"3f4ba83a","id":16111,"implemented":true,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"2633:7:110","nodeType":"FunctionDefinition","parameters":{"id":16096,"nodeType":"ParameterList","parameters":[],"src":"2640:2:110"},"returnParameters":{"id":16097,"nodeType":"ParameterList","parameters":[],"src":"2658:0:110"},"scope":16133,"src":"2624:175:110","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13380,13832],"body":{"id":16131,"nodeType":"Block","src":"2955:61:110","statements":[{"expression":{"arguments":[{"id":16126,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16113,"src":"2992:4:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16127,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16115,"src":"2998:2:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16128,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16117,"src":"3002:6:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16123,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2965:5:110","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20PresetMinterPauser_$16133_$","typeString":"type(contract super ERC20PresetMinterPauser)"}},"id":16125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":13832,"src":"2965:26:110","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":16129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2965:44:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16130,"nodeType":"ExpressionStatement","src":"2965:44:110"}]},"id":16132,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"2814:20:110","nodeType":"FunctionDefinition","overrides":{"id":16121,"nodeType":"OverrideSpecifier","overrides":[{"id":16119,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":13392,"src":"2933:5:110"},{"id":16120,"name":"ERC20Pausable","nodeType":"IdentifierPath","referencedDeclaration":13833,"src":"2940:13:110"}],"src":"2924:30:110"},"parameters":{"id":16118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16113,"mutability":"mutable","name":"from","nameLocation":"2852:4:110","nodeType":"VariableDeclaration","scope":16132,"src":"2844:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16112,"name":"address","nodeType":"ElementaryTypeName","src":"2844:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16115,"mutability":"mutable","name":"to","nameLocation":"2874:2:110","nodeType":"VariableDeclaration","scope":16132,"src":"2866:10:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16114,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16117,"mutability":"mutable","name":"amount","nameLocation":"2894:6:110","nodeType":"VariableDeclaration","scope":16132,"src":"2886:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16116,"name":"uint256","nodeType":"ElementaryTypeName","src":"2886:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2834:72:110"},"returnParameters":{"id":16122,"nodeType":"ParameterList","parameters":[],"src":"2955:0:110"},"scope":16133,"src":"2805:211:110","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":16134,"src":"1005:2013:110","usedErrors":[]}],"src":"131:2888:110"},"id":110},"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","exportedSymbols":{"Address":[20688],"IERC20":[13470],"IERC20Permit":[15968],"SafeERC20":[16414]},"id":16415,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":16135,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"115:23:111"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","id":16136,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16415,"sourceUnit":13471,"src":"140:23:111","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol","file":"../extensions/draft-IERC20Permit.sol","id":16137,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16415,"sourceUnit":15969,"src":"164:46:111","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../../utils/Address.sol","id":16138,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16415,"sourceUnit":20689,"src":"211:36:111","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":16139,"nodeType":"StructuredDocumentation","src":"249:457:111","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"id":16414,"linearizedBaseContracts":[16414],"name":"SafeERC20","nameLocation":"715:9:111","nodeType":"ContractDefinition","nodes":[{"id":16142,"libraryName":{"id":16140,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"737:7:111"},"nodeType":"UsingForDirective","src":"731:26:111","typeName":{"id":16141,"name":"address","nodeType":"ElementaryTypeName","src":"749:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"body":{"id":16164,"nodeType":"Block","src":"865:103:111","statements":[{"expression":{"arguments":[{"id":16153,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16145,"src":"895:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":16156,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16145,"src":"925:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":13437,"src":"925:14:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":16158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"925:23:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":16159,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16147,"src":"950:2:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16160,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16149,"src":"954:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16154,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"902:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"902:22:111","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":16161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"902:58:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16152,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"875:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":16162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"875:86:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16163,"nodeType":"ExpressionStatement","src":"875:86:111"}]},"id":16165,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"772:12:111","nodeType":"FunctionDefinition","parameters":{"id":16150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16145,"mutability":"mutable","name":"token","nameLocation":"801:5:111","nodeType":"VariableDeclaration","scope":16165,"src":"794:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16144,"nodeType":"UserDefinedTypeName","pathNode":{"id":16143,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"794:6:111"},"referencedDeclaration":13470,"src":"794:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16147,"mutability":"mutable","name":"to","nameLocation":"824:2:111","nodeType":"VariableDeclaration","scope":16165,"src":"816:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16146,"name":"address","nodeType":"ElementaryTypeName","src":"816:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16149,"mutability":"mutable","name":"value","nameLocation":"844:5:111","nodeType":"VariableDeclaration","scope":16165,"src":"836:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16148,"name":"uint256","nodeType":"ElementaryTypeName","src":"836:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"784:71:111"},"returnParameters":{"id":16151,"nodeType":"ParameterList","parameters":[],"src":"865:0:111"},"scope":16414,"src":"763:205:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16190,"nodeType":"Block","src":"1102:113:111","statements":[{"expression":{"arguments":[{"id":16178,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16168,"src":"1132:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":16181,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16168,"src":"1162:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":13469,"src":"1162:18:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":16183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"1162:27:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":16184,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16170,"src":"1191:4:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16185,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16172,"src":"1197:2:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16186,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16174,"src":"1201:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1139:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1139:22:111","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":16187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1139:68:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16177,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"1112:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":16188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1112:96:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16189,"nodeType":"ExpressionStatement","src":"1112:96:111"}]},"id":16191,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"983:16:111","nodeType":"FunctionDefinition","parameters":{"id":16175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16168,"mutability":"mutable","name":"token","nameLocation":"1016:5:111","nodeType":"VariableDeclaration","scope":16191,"src":"1009:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16167,"nodeType":"UserDefinedTypeName","pathNode":{"id":16166,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1009:6:111"},"referencedDeclaration":13470,"src":"1009:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16170,"mutability":"mutable","name":"from","nameLocation":"1039:4:111","nodeType":"VariableDeclaration","scope":16191,"src":"1031:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16169,"name":"address","nodeType":"ElementaryTypeName","src":"1031:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16172,"mutability":"mutable","name":"to","nameLocation":"1061:2:111","nodeType":"VariableDeclaration","scope":16191,"src":"1053:10:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16171,"name":"address","nodeType":"ElementaryTypeName","src":"1053:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16174,"mutability":"mutable","name":"value","nameLocation":"1081:5:111","nodeType":"VariableDeclaration","scope":16191,"src":"1073:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16173,"name":"uint256","nodeType":"ElementaryTypeName","src":"1073:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"999:93:111"},"returnParameters":{"id":16176,"nodeType":"ParameterList","parameters":[],"src":"1102:0:111"},"scope":16414,"src":"974:241:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16234,"nodeType":"Block","src":"1581:497:111","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":16218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16203,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16199,"src":"1830:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":16204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1839:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1830:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":16206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1829:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":16211,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1870:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}],"id":16210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1862:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16209,"name":"address","nodeType":"ElementaryTypeName","src":"1862:7:111","typeDescriptions":{}}},"id":16212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1862:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16213,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16197,"src":"1877:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16207,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16195,"src":"1846:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":13447,"src":"1846:15:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":16214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1846:39:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":16215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1889:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1846:44:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":16217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1845:46:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1829:62:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":16219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1905:56:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":16202,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1808:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1808:163:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16221,"nodeType":"ExpressionStatement","src":"1808:163:111"},{"expression":{"arguments":[{"id":16223,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16195,"src":"2001:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":16226,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16195,"src":"2031:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":13457,"src":"2031:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":16228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"2031:22:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":16229,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16197,"src":"2055:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16230,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16199,"src":"2064:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2008:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2008:22:111","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":16231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2008:62:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16222,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"1981:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":16232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1981:90:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16233,"nodeType":"ExpressionStatement","src":"1981:90:111"}]},"documentation":{"id":16192,"nodeType":"StructuredDocumentation","src":"1221:249:111","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"id":16235,"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1484:11:111","nodeType":"FunctionDefinition","parameters":{"id":16200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16195,"mutability":"mutable","name":"token","nameLocation":"1512:5:111","nodeType":"VariableDeclaration","scope":16235,"src":"1505:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16194,"nodeType":"UserDefinedTypeName","pathNode":{"id":16193,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1505:6:111"},"referencedDeclaration":13470,"src":"1505:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16197,"mutability":"mutable","name":"spender","nameLocation":"1535:7:111","nodeType":"VariableDeclaration","scope":16235,"src":"1527:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16196,"name":"address","nodeType":"ElementaryTypeName","src":"1527:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16199,"mutability":"mutable","name":"value","nameLocation":"1560:5:111","nodeType":"VariableDeclaration","scope":16235,"src":"1552:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16198,"name":"uint256","nodeType":"ElementaryTypeName","src":"1552:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1495:76:111"},"returnParameters":{"id":16201,"nodeType":"ParameterList","parameters":[],"src":"1581:0:111"},"scope":16414,"src":"1475:603:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16270,"nodeType":"Block","src":"2200:194:111","statements":[{"assignments":[16246],"declarations":[{"constant":false,"id":16246,"mutability":"mutable","name":"newAllowance","nameLocation":"2218:12:111","nodeType":"VariableDeclaration","scope":16270,"src":"2210:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16245,"name":"uint256","nodeType":"ElementaryTypeName","src":"2210:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16257,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":16251,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2257:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}],"id":16250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2249:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16249,"name":"address","nodeType":"ElementaryTypeName","src":"2249:7:111","typeDescriptions":{}}},"id":16252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2249:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16253,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16240,"src":"2264:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16247,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"2233:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":13447,"src":"2233:15:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":16254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2233:39:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":16255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16242,"src":"2275:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2233:47:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2210:70:111"},{"expression":{"arguments":[{"id":16259,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"2310:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":16262,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"2340:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":13457,"src":"2340:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":16264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"2340:22:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":16265,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16240,"src":"2364:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16266,"name":"newAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16246,"src":"2373:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2317:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2317:22:111","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":16267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2317:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16258,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"2290:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":16268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2290:97:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16269,"nodeType":"ExpressionStatement","src":"2290:97:111"}]},"id":16271,"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2093:21:111","nodeType":"FunctionDefinition","parameters":{"id":16243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16238,"mutability":"mutable","name":"token","nameLocation":"2131:5:111","nodeType":"VariableDeclaration","scope":16271,"src":"2124:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16237,"nodeType":"UserDefinedTypeName","pathNode":{"id":16236,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"2124:6:111"},"referencedDeclaration":13470,"src":"2124:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16240,"mutability":"mutable","name":"spender","nameLocation":"2154:7:111","nodeType":"VariableDeclaration","scope":16271,"src":"2146:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16239,"name":"address","nodeType":"ElementaryTypeName","src":"2146:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16242,"mutability":"mutable","name":"value","nameLocation":"2179:5:111","nodeType":"VariableDeclaration","scope":16271,"src":"2171:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2171:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2114:76:111"},"returnParameters":{"id":16244,"nodeType":"ParameterList","parameters":[],"src":"2200:0:111"},"scope":16414,"src":"2084:310:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16318,"nodeType":"Block","src":"2516:370:111","statements":[{"id":16317,"nodeType":"UncheckedBlock","src":"2526:354:111","statements":[{"assignments":[16282],"declarations":[{"constant":false,"id":16282,"mutability":"mutable","name":"oldAllowance","nameLocation":"2558:12:111","nodeType":"VariableDeclaration","scope":16317,"src":"2550:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16281,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16291,"initialValue":{"arguments":[{"arguments":[{"id":16287,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2597:4:111","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$16414","typeString":"library SafeERC20"}],"id":16286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2589:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16285,"name":"address","nodeType":"ElementaryTypeName","src":"2589:7:111","typeDescriptions":{}}},"id":16288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2589:13:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16289,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16276,"src":"2604:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16283,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16274,"src":"2573:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":13447,"src":"2573:15:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":16290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2573:39:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2550:62:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16293,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16282,"src":"2634:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":16294,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16278,"src":"2650:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":16296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2657:43:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":16292,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2626:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2626:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16298,"nodeType":"ExpressionStatement","src":"2626:75:111"},{"assignments":[16300],"declarations":[{"constant":false,"id":16300,"mutability":"mutable","name":"newAllowance","nameLocation":"2723:12:111","nodeType":"VariableDeclaration","scope":16317,"src":"2715:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16299,"name":"uint256","nodeType":"ElementaryTypeName","src":"2715:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16304,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16301,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16282,"src":"2738:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":16302,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16278,"src":"2753:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2738:20:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2715:43:111"},{"expression":{"arguments":[{"id":16306,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16274,"src":"2792:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":16309,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16274,"src":"2822:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":13457,"src":"2822:13:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":16311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"2822:22:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":16312,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16276,"src":"2846:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16313,"name":"newAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16300,"src":"2855:12:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16307,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2799:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2799:22:111","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":16314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2799:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16305,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"2772:19:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":16315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2772:97:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16316,"nodeType":"ExpressionStatement","src":"2772:97:111"}]}]},"id":16319,"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"2409:21:111","nodeType":"FunctionDefinition","parameters":{"id":16279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16274,"mutability":"mutable","name":"token","nameLocation":"2447:5:111","nodeType":"VariableDeclaration","scope":16319,"src":"2440:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16273,"nodeType":"UserDefinedTypeName","pathNode":{"id":16272,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"2440:6:111"},"referencedDeclaration":13470,"src":"2440:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16276,"mutability":"mutable","name":"spender","nameLocation":"2470:7:111","nodeType":"VariableDeclaration","scope":16319,"src":"2462:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16275,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16278,"mutability":"mutable","name":"value","nameLocation":"2495:5:111","nodeType":"VariableDeclaration","scope":16319,"src":"2487:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16277,"name":"uint256","nodeType":"ElementaryTypeName","src":"2487:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2430:76:111"},"returnParameters":{"id":16280,"nodeType":"ParameterList","parameters":[],"src":"2516:0:111"},"scope":16414,"src":"2400:486:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16374,"nodeType":"Block","src":"3107:257:111","statements":[{"assignments":[16340],"declarations":[{"constant":false,"id":16340,"mutability":"mutable","name":"nonceBefore","nameLocation":"3125:11:111","nodeType":"VariableDeclaration","scope":16374,"src":"3117:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16339,"name":"uint256","nodeType":"ElementaryTypeName","src":"3117:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16345,"initialValue":{"arguments":[{"id":16343,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16324,"src":"3152:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16341,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16322,"src":"3139:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$15968","typeString":"contract IERC20Permit"}},"id":16342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":15961,"src":"3139:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":16344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3139:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3117:41:111"},{"expression":{"arguments":[{"id":16349,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16324,"src":"3181:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16350,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16326,"src":"3188:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16351,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16328,"src":"3197:5:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16352,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16330,"src":"3204:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16353,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16332,"src":"3214:1:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":16354,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16334,"src":"3217:1:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":16355,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16336,"src":"3220:1:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16346,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16322,"src":"3168:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$15968","typeString":"contract IERC20Permit"}},"id":16348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":15953,"src":"3168:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":16356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3168:54:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16357,"nodeType":"ExpressionStatement","src":"3168:54:111"},{"assignments":[16359],"declarations":[{"constant":false,"id":16359,"mutability":"mutable","name":"nonceAfter","nameLocation":"3240:10:111","nodeType":"VariableDeclaration","scope":16374,"src":"3232:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16358,"name":"uint256","nodeType":"ElementaryTypeName","src":"3232:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16364,"initialValue":{"arguments":[{"id":16362,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16324,"src":"3266:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16360,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16322,"src":"3253:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$15968","typeString":"contract IERC20Permit"}},"id":16361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":15961,"src":"3253:12:111","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":16363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3253:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3232:40:111"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16366,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16359,"src":"3290:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16367,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16340,"src":"3304:11:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":16368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3318:1:111","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3304:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3290:29:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":16371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3321:35:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":16365,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3282:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3282:75:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16373,"nodeType":"ExpressionStatement","src":"3282:75:111"}]},"id":16375,"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"2901:10:111","nodeType":"FunctionDefinition","parameters":{"id":16337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16322,"mutability":"mutable","name":"token","nameLocation":"2934:5:111","nodeType":"VariableDeclaration","scope":16375,"src":"2921:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$15968","typeString":"contract IERC20Permit"},"typeName":{"id":16321,"nodeType":"UserDefinedTypeName","pathNode":{"id":16320,"name":"IERC20Permit","nodeType":"IdentifierPath","referencedDeclaration":15968,"src":"2921:12:111"},"referencedDeclaration":15968,"src":"2921:12:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$15968","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":16324,"mutability":"mutable","name":"owner","nameLocation":"2957:5:111","nodeType":"VariableDeclaration","scope":16375,"src":"2949:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16323,"name":"address","nodeType":"ElementaryTypeName","src":"2949:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16326,"mutability":"mutable","name":"spender","nameLocation":"2980:7:111","nodeType":"VariableDeclaration","scope":16375,"src":"2972:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16325,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16328,"mutability":"mutable","name":"value","nameLocation":"3005:5:111","nodeType":"VariableDeclaration","scope":16375,"src":"2997:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16327,"name":"uint256","nodeType":"ElementaryTypeName","src":"2997:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16330,"mutability":"mutable","name":"deadline","nameLocation":"3028:8:111","nodeType":"VariableDeclaration","scope":16375,"src":"3020:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16329,"name":"uint256","nodeType":"ElementaryTypeName","src":"3020:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16332,"mutability":"mutable","name":"v","nameLocation":"3052:1:111","nodeType":"VariableDeclaration","scope":16375,"src":"3046:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":16331,"name":"uint8","nodeType":"ElementaryTypeName","src":"3046:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":16334,"mutability":"mutable","name":"r","nameLocation":"3071:1:111","nodeType":"VariableDeclaration","scope":16375,"src":"3063:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3063:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16336,"mutability":"mutable","name":"s","nameLocation":"3090:1:111","nodeType":"VariableDeclaration","scope":16375,"src":"3082:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3082:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2911:186:111"},"returnParameters":{"id":16338,"nodeType":"ParameterList","parameters":[],"src":"3107:0:111"},"scope":16414,"src":"2892:472:111","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16412,"nodeType":"Block","src":"3817:636:111","statements":[{"assignments":[16385],"declarations":[{"constant":false,"id":16385,"mutability":"mutable","name":"returndata","nameLocation":"4179:10:111","nodeType":"VariableDeclaration","scope":16412,"src":"4166:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16384,"name":"bytes","nodeType":"ElementaryTypeName","src":"4166:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":16394,"initialValue":{"arguments":[{"id":16391,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16381,"src":"4220:4:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":16392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4226:34:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":16388,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16379,"src":"4200:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}],"id":16387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4192:7:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16386,"name":"address","nodeType":"ElementaryTypeName","src":"4192:7:111","typeDescriptions":{}}},"id":16389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4192:14:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":20448,"src":"4192:27:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":16393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4192:69:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4166:95:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":16395,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16385,"src":"4275:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":16396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4275:17:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4295:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4275:21:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16411,"nodeType":"IfStatement","src":"4271:176:111","trueBody":{"id":16410,"nodeType":"Block","src":"4298:149:111","statements":[{"expression":{"arguments":[{"arguments":[{"id":16402,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16385,"src":"4370:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":16404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:4:111","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":16403,"name":"bool","nodeType":"ElementaryTypeName","src":"4383:4:111","typeDescriptions":{}}}],"id":16405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4382:6:111","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":16400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4359:3:111","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"4359:10:111","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":16406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4359:30:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":16407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4391:44:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":16399,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4351:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4351:85:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16409,"nodeType":"ExpressionStatement","src":"4351:85:111"}]}}]},"documentation":{"id":16376,"nodeType":"StructuredDocumentation","src":"3370:372:111","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"id":16413,"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"3756:19:111","nodeType":"FunctionDefinition","parameters":{"id":16382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16379,"mutability":"mutable","name":"token","nameLocation":"3783:5:111","nodeType":"VariableDeclaration","scope":16413,"src":"3776:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16378,"nodeType":"UserDefinedTypeName","pathNode":{"id":16377,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"3776:6:111"},"referencedDeclaration":13470,"src":"3776:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16381,"mutability":"mutable","name":"data","nameLocation":"3803:4:111","nodeType":"VariableDeclaration","scope":16413,"src":"3790:17:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16380,"name":"bytes","nodeType":"ElementaryTypeName","src":"3790:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3775:33:111"},"returnParameters":{"id":16383,"nodeType":"ParameterList","parameters":[],"src":"3817:0:111"},"scope":16414,"src":"3747:706:111","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":16415,"src":"707:3748:111","usedErrors":[]}],"src":"115:4341:111"},"id":111},"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol","exportedSymbols":{"Address":[20688],"IERC20":[13470],"IERC20Permit":[15968],"SafeERC20":[16414],"TokenTimelock":[16530]},"id":16531,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":16416,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"119:23:112"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","file":"./SafeERC20.sol","id":16417,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16531,"sourceUnit":16415,"src":"144:25:112","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"TokenTimelock","contractDependencies":[],"contractKind":"contract","documentation":{"id":16418,"nodeType":"StructuredDocumentation","src":"171:221:112","text":" @dev A token holder contract that will allow a beneficiary to extract the\n tokens after a given release time.\n Useful for simple vesting schedules like \"advisors get all of their tokens\n after 1 year\"."},"fullyImplemented":true,"id":16530,"linearizedBaseContracts":[16530],"name":"TokenTimelock","nameLocation":"402:13:112","nodeType":"ContractDefinition","nodes":[{"id":16422,"libraryName":{"id":16419,"name":"SafeERC20","nodeType":"IdentifierPath","referencedDeclaration":16414,"src":"428:9:112"},"nodeType":"UsingForDirective","src":"422:27:112","typeName":{"id":16421,"nodeType":"UserDefinedTypeName","pathNode":{"id":16420,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"442:6:112"},"referencedDeclaration":13470,"src":"442:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}}},{"constant":false,"id":16425,"mutability":"immutable","name":"_token","nameLocation":"525:6:112","nodeType":"VariableDeclaration","scope":16530,"src":"500:31:112","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16424,"nodeType":"UserDefinedTypeName","pathNode":{"id":16423,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"500:6:112"},"referencedDeclaration":13470,"src":"500:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"private"},{"constant":false,"id":16427,"mutability":"immutable","name":"_beneficiary","nameLocation":"617:12:112","nodeType":"VariableDeclaration","scope":16530,"src":"591:38:112","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16426,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"id":16429,"mutability":"immutable","name":"_releaseTime","nameLocation":"709:12:112","nodeType":"VariableDeclaration","scope":16530,"src":"683:38:112","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16428,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"body":{"id":16460,"nodeType":"Block","src":"1096:209:112","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16441,"name":"releaseTime_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16437,"src":"1114:12:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":16442,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1129:5:112","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":16443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1129:15:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1114:30:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"546f6b656e54696d656c6f636b3a2072656c656173652074696d65206973206265666f72652063757272656e742074696d65","id":16445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1146:52:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1658b776de3735ba90dc86438c12854f3617d6d488d64009fdab5928e27c313","typeString":"literal_string \"TokenTimelock: release time is before current time\""},"value":"TokenTimelock: release time is before current time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1658b776de3735ba90dc86438c12854f3617d6d488d64009fdab5928e27c313","typeString":"literal_string \"TokenTimelock: release time is before current time\""}],"id":16440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1106:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1106:93:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16447,"nodeType":"ExpressionStatement","src":"1106:93:112"},{"expression":{"id":16450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16448,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16425,"src":"1209:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16449,"name":"token_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16433,"src":"1218:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"src":"1209:15:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16451,"nodeType":"ExpressionStatement","src":"1209:15:112"},{"expression":{"id":16454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16452,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16427,"src":"1234:12:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16453,"name":"beneficiary_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16435,"src":"1249:12:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1234:27:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16455,"nodeType":"ExpressionStatement","src":"1234:27:112"},{"expression":{"id":16458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16456,"name":"_releaseTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16429,"src":"1271:12:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16457,"name":"releaseTime_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16437,"src":"1286:12:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1271:27:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16459,"nodeType":"ExpressionStatement","src":"1271:27:112"}]},"documentation":{"id":16430,"nodeType":"StructuredDocumentation","src":"728:262:112","text":" @dev Deploys a timelock instance that is able to hold the token specified, and will only release it to\n `beneficiary_` when {release} is invoked after `releaseTime_`. The release time is specified as a Unix timestamp\n (in seconds)."},"id":16461,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":16438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16433,"mutability":"mutable","name":"token_","nameLocation":"1023:6:112","nodeType":"VariableDeclaration","scope":16461,"src":"1016:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16432,"nodeType":"UserDefinedTypeName","pathNode":{"id":16431,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1016:6:112"},"referencedDeclaration":13470,"src":"1016:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":16435,"mutability":"mutable","name":"beneficiary_","nameLocation":"1047:12:112","nodeType":"VariableDeclaration","scope":16461,"src":"1039:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16434,"name":"address","nodeType":"ElementaryTypeName","src":"1039:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16437,"mutability":"mutable","name":"releaseTime_","nameLocation":"1077:12:112","nodeType":"VariableDeclaration","scope":16461,"src":"1069:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16436,"name":"uint256","nodeType":"ElementaryTypeName","src":"1069:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:89:112"},"returnParameters":{"id":16439,"nodeType":"ParameterList","parameters":[],"src":"1096:0:112"},"scope":16530,"src":"995:310:112","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":16470,"nodeType":"Block","src":"1423:30:112","statements":[{"expression":{"id":16468,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16425,"src":"1440:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"functionReturnParameters":16467,"id":16469,"nodeType":"Return","src":"1433:13:112"}]},"documentation":{"id":16462,"nodeType":"StructuredDocumentation","src":"1311:53:112","text":" @dev Returns the token being held."},"functionSelector":"fc0c546a","id":16471,"implemented":true,"kind":"function","modifiers":[],"name":"token","nameLocation":"1378:5:112","nodeType":"FunctionDefinition","parameters":{"id":16463,"nodeType":"ParameterList","parameters":[],"src":"1383:2:112"},"returnParameters":{"id":16467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16471,"src":"1415:6:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"},"typeName":{"id":16465,"nodeType":"UserDefinedTypeName","pathNode":{"id":16464,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1415:6:112"},"referencedDeclaration":13470,"src":"1415:6:112","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"1414:8:112"},"scope":16530,"src":"1369:84:112","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":16479,"nodeType":"Block","src":"1602:36:112","statements":[{"expression":{"id":16477,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16427,"src":"1619:12:112","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":16476,"id":16478,"nodeType":"Return","src":"1612:19:112"}]},"documentation":{"id":16472,"nodeType":"StructuredDocumentation","src":"1459:77:112","text":" @dev Returns the beneficiary that will receive the tokens."},"functionSelector":"38af3eed","id":16480,"implemented":true,"kind":"function","modifiers":[],"name":"beneficiary","nameLocation":"1550:11:112","nodeType":"FunctionDefinition","parameters":{"id":16473,"nodeType":"ParameterList","parameters":[],"src":"1561:2:112"},"returnParameters":{"id":16476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16480,"src":"1593:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16474,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1592:9:112"},"scope":16530,"src":"1541:97:112","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":16488,"nodeType":"Block","src":"1830:36:112","statements":[{"expression":{"id":16486,"name":"_releaseTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16429,"src":"1847:12:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16485,"id":16487,"nodeType":"Return","src":"1840:19:112"}]},"documentation":{"id":16481,"nodeType":"StructuredDocumentation","src":"1644:120:112","text":" @dev Returns the time when the tokens are released in seconds since Unix epoch (i.e. Unix timestamp)."},"functionSelector":"b91d4001","id":16489,"implemented":true,"kind":"function","modifiers":[],"name":"releaseTime","nameLocation":"1778:11:112","nodeType":"FunctionDefinition","parameters":{"id":16482,"nodeType":"ParameterList","parameters":[],"src":"1789:2:112"},"returnParameters":{"id":16485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16489,"src":"1821:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1821:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1820:9:112"},"scope":16530,"src":"1769:97:112","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":16528,"nodeType":"Block","src":"2052:294:112","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":16494,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2070:5:112","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":16495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2070:15:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":16496,"name":"releaseTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16489,"src":"2089:11:112","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":16497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2089:13:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2070:32:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206265666f72652072656c656173652074696d65","id":16499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2104:52:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_0345c6084b4d4be2f1249aa1f58ddc5a11b524aacb744b63dfad68c56d61fad0","typeString":"literal_string \"TokenTimelock: current time is before release time\""},"value":"TokenTimelock: current time is before release time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0345c6084b4d4be2f1249aa1f58ddc5a11b524aacb744b63dfad68c56d61fad0","typeString":"literal_string \"TokenTimelock: current time is before release time\""}],"id":16493,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2062:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2062:95:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16501,"nodeType":"ExpressionStatement","src":"2062:95:112"},{"assignments":[16503],"declarations":[{"constant":false,"id":16503,"mutability":"mutable","name":"amount","nameLocation":"2176:6:112","nodeType":"VariableDeclaration","scope":16528,"src":"2168:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16502,"name":"uint256","nodeType":"ElementaryTypeName","src":"2168:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16512,"initialValue":{"arguments":[{"arguments":[{"id":16509,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2211:4:112","typeDescriptions":{"typeIdentifier":"t_contract$_TokenTimelock_$16530","typeString":"contract TokenTimelock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TokenTimelock_$16530","typeString":"contract TokenTimelock"}],"id":16508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2203:7:112","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16507,"name":"address","nodeType":"ElementaryTypeName","src":"2203:7:112","typeDescriptions":{}}},"id":16510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2203:13:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16504,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16471,"src":"2185:5:112","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC20_$13470_$","typeString":"function () view returns (contract IERC20)"}},"id":16505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2185:7:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":13427,"src":"2185:17:112","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":16511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2185:32:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2168:49:112"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16514,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16503,"src":"2235:6:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2244:1:112","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2235:10:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c65617365","id":16517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2247:37:112","typeDescriptions":{"typeIdentifier":"t_stringliteral_fd167cd15f7f49233a4aac5b2fadd1b9f782ba42f4eadaf31348954b9436eae8","typeString":"literal_string \"TokenTimelock: no tokens to release\""},"value":"TokenTimelock: no tokens to release"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fd167cd15f7f49233a4aac5b2fadd1b9f782ba42f4eadaf31348954b9436eae8","typeString":"literal_string \"TokenTimelock: no tokens to release\""}],"id":16513,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2227:7:112","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2227:58:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16519,"nodeType":"ExpressionStatement","src":"2227:58:112"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":16523,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16480,"src":"2317:11:112","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2317:13:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16525,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16503,"src":"2332:6:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16520,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16471,"src":"2296:5:112","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC20_$13470_$","typeString":"function () view returns (contract IERC20)"}},"id":16521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2296:7:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$13470","typeString":"contract IERC20"}},"id":16522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"2296:20:112","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$13470_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$13470_$","typeString":"function (contract IERC20,address,uint256)"}},"id":16526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2296:43:112","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16527,"nodeType":"ExpressionStatement","src":"2296:43:112"}]},"documentation":{"id":16490,"nodeType":"StructuredDocumentation","src":"1872:141:112","text":" @dev Transfers tokens held by the timelock to the beneficiary. Will only succeed if invoked after the release\n time."},"functionSelector":"86d1a69f","id":16529,"implemented":true,"kind":"function","modifiers":[],"name":"release","nameLocation":"2027:7:112","nodeType":"FunctionDefinition","parameters":{"id":16491,"nodeType":"ParameterList","parameters":[],"src":"2034:2:112"},"returnParameters":{"id":16492,"nodeType":"ParameterList","parameters":[],"src":"2052:0:112"},"scope":16530,"src":"2018:328:112","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":16531,"src":"393:1955:112","usedErrors":[]}],"src":"119:2230:112"},"id":112},"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726]},"id":17476,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":16532,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:113"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"./IERC721.sol","id":16533,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":17592,"src":"132:23:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"./IERC721Receiver.sol","id":16534,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":17610,"src":"156:31:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"./extensions/IERC721Metadata.sol","id":16535,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":18611,"src":"188:42:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":16536,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":20689,"src":"231:33:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":16537,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":22282,"src":"265:33:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Strings.sol","file":"../../utils/Strings.sol","id":16538,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":22727,"src":"299:33:113","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","id":16539,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17476,"sourceUnit":24378,"src":"333:46:113","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":16541,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"647:7:113"},"id":16542,"nodeType":"InheritanceSpecifier","src":"647:7:113"},{"baseName":{"id":16543,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"656:6:113"},"id":16544,"nodeType":"InheritanceSpecifier","src":"656:6:113"},{"baseName":{"id":16545,"name":"IERC721","nodeType":"IdentifierPath","referencedDeclaration":17591,"src":"664:7:113"},"id":16546,"nodeType":"InheritanceSpecifier","src":"664:7:113"},{"baseName":{"id":16547,"name":"IERC721Metadata","nodeType":"IdentifierPath","referencedDeclaration":18610,"src":"673:15:113"},"id":16548,"nodeType":"InheritanceSpecifier","src":"673:15:113"}],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":16540,"nodeType":"StructuredDocumentation","src":"381:246:113","text":" @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"id":17475,"linearizedBaseContracts":[17475,18610,17591,24377,24693,22281],"name":"ERC721","nameLocation":"637:6:113","nodeType":"ContractDefinition","nodes":[{"id":16551,"libraryName":{"id":16549,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"701:7:113"},"nodeType":"UsingForDirective","src":"695:26:113","typeName":{"id":16550,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":16554,"libraryName":{"id":16552,"name":"Strings","nodeType":"IdentifierPath","referencedDeclaration":22726,"src":"732:7:113"},"nodeType":"UsingForDirective","src":"726:26:113","typeName":{"id":16553,"name":"uint256","nodeType":"ElementaryTypeName","src":"744:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":16556,"mutability":"mutable","name":"_name","nameLocation":"791:5:113","nodeType":"VariableDeclaration","scope":17475,"src":"776:20:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":16555,"name":"string","nodeType":"ElementaryTypeName","src":"776:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":16558,"mutability":"mutable","name":"_symbol","nameLocation":"838:7:113","nodeType":"VariableDeclaration","scope":17475,"src":"823:22:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":16557,"name":"string","nodeType":"ElementaryTypeName","src":"823:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":16562,"mutability":"mutable","name":"_owners","nameLocation":"934:7:113","nodeType":"VariableDeclaration","scope":17475,"src":"898:43:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":16561,"keyType":{"id":16559,"name":"uint256","nodeType":"ElementaryTypeName","src":"906:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"898:27:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":16560,"name":"address","nodeType":"ElementaryTypeName","src":"917:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":16566,"mutability":"mutable","name":"_balances","nameLocation":"1028:9:113","nodeType":"VariableDeclaration","scope":17475,"src":"992:45:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":16565,"keyType":{"id":16563,"name":"address","nodeType":"ElementaryTypeName","src":"1000:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"992:27:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":16564,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":16570,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1129:15:113","nodeType":"VariableDeclaration","scope":17475,"src":"1093:51:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":16569,"keyType":{"id":16567,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1093:27:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":16568,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":16576,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1252:18:113","nodeType":"VariableDeclaration","scope":17475,"src":"1199:71:113","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":16575,"keyType":{"id":16571,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1199:44:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":16574,"keyType":{"id":16572,"name":"address","nodeType":"ElementaryTypeName","src":"1226:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1218:24:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":16573,"name":"bool","nodeType":"ElementaryTypeName","src":"1237:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"body":{"id":16592,"nodeType":"Block","src":"1446:57:113","statements":[{"expression":{"id":16586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16584,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16556,"src":"1456:5:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16585,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16579,"src":"1464:5:113","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1456:13:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":16587,"nodeType":"ExpressionStatement","src":"1456:13:113"},{"expression":{"id":16590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16588,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16558,"src":"1479:7:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16589,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16581,"src":"1489:7:113","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1479:17:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":16591,"nodeType":"ExpressionStatement","src":"1479:17:113"}]},"documentation":{"id":16577,"nodeType":"StructuredDocumentation","src":"1277:108:113","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"id":16593,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":16582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16579,"mutability":"mutable","name":"name_","nameLocation":"1416:5:113","nodeType":"VariableDeclaration","scope":16593,"src":"1402:19:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16578,"name":"string","nodeType":"ElementaryTypeName","src":"1402:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16581,"mutability":"mutable","name":"symbol_","nameLocation":"1437:7:113","nodeType":"VariableDeclaration","scope":16593,"src":"1423:21:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16580,"name":"string","nodeType":"ElementaryTypeName","src":"1423:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1401:44:113"},"returnParameters":{"id":16583,"nodeType":"ParameterList","parameters":[],"src":"1446:0:113"},"scope":17475,"src":"1390:113:113","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[24376,24692],"body":{"id":16623,"nodeType":"Block","src":"1678:192:113","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":16621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":16616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":16609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16604,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16596,"src":"1707:11:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":16606,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17591,"src":"1727:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$17591_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$17591_$","typeString":"type(contract IERC721)"}],"id":16605,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1722:4:113","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":16607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1722:13:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$17591","typeString":"type(contract IERC721)"}},"id":16608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1722:25:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1707:40:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":16615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16610,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16596,"src":"1763:11:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":16612,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18610,"src":"1783:15:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$18610_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$18610_$","typeString":"type(contract IERC721Metadata)"}],"id":16611,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1778:4:113","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":16613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1778:21:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$18610","typeString":"type(contract IERC721Metadata)"}},"id":16614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1778:33:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1763:48:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:104:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":16619,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16596,"src":"1851:11:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":16617,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1827:5:113","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721_$17475_$","typeString":"type(contract super ERC721)"}},"id":16618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"1827:23:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":16620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1827:36:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:156:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":16603,"id":16622,"nodeType":"Return","src":"1688:175:113"}]},"documentation":{"id":16594,"nodeType":"StructuredDocumentation","src":"1509:56:113","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":16624,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1579:17:113","nodeType":"FunctionDefinition","overrides":{"id":16600,"nodeType":"OverrideSpecifier","overrides":[{"id":16598,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1646:6:113"},{"id":16599,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1654:7:113"}],"src":"1637:25:113"},"parameters":{"id":16597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16596,"mutability":"mutable","name":"interfaceId","nameLocation":"1604:11:113","nodeType":"VariableDeclaration","scope":16624,"src":"1597:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":16595,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1597:6:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1596:20:113"},"returnParameters":{"id":16603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16624,"src":"1672:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16601,"name":"bool","nodeType":"ElementaryTypeName","src":"1672:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1671:6:113"},"scope":17475,"src":"1570:300:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17516],"body":{"id":16647,"nodeType":"Block","src":"2010:123:113","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16634,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16627,"src":"2028:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:113","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":16636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2037:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16635,"name":"address","nodeType":"ElementaryTypeName","src":"2037:7:113","typeDescriptions":{}}},"id":16638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2037:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2028:19:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572","id":16640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2049:43:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""},"value":"ERC721: address zero is not a valid owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""}],"id":16633,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2020:73:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16642,"nodeType":"ExpressionStatement","src":"2020:73:113"},{"expression":{"baseExpression":{"id":16643,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"2110:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":16645,"indexExpression":{"id":16644,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16627,"src":"2120:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2110:16:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16632,"id":16646,"nodeType":"Return","src":"2103:23:113"}]},"documentation":{"id":16625,"nodeType":"StructuredDocumentation","src":"1876:48:113","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","id":16648,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1938:9:113","nodeType":"FunctionDefinition","overrides":{"id":16629,"nodeType":"OverrideSpecifier","overrides":[],"src":"1983:8:113"},"parameters":{"id":16628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16627,"mutability":"mutable","name":"owner","nameLocation":"1956:5:113","nodeType":"VariableDeclaration","scope":16648,"src":"1948:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16626,"name":"address","nodeType":"ElementaryTypeName","src":"1948:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1947:15:113"},"returnParameters":{"id":16632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16648,"src":"2001:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16630,"name":"uint256","nodeType":"ElementaryTypeName","src":"2001:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2000:9:113"},"scope":17475,"src":"1929:204:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17524],"body":{"id":16675,"nodeType":"Block","src":"2271:138:113","statements":[{"assignments":[16658],"declarations":[{"constant":false,"id":16658,"mutability":"mutable","name":"owner","nameLocation":"2289:5:113","nodeType":"VariableDeclaration","scope":16675,"src":"2281:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16657,"name":"address","nodeType":"ElementaryTypeName","src":"2281:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":16662,"initialValue":{"arguments":[{"id":16660,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16651,"src":"2306:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16659,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16958,"src":"2297:8:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":16661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2297:17:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2281:33:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16664,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16658,"src":"2332:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2349:1:113","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":16666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16665,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:113","typeDescriptions":{}}},"id":16668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2341:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:19:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":16670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2353:26:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""},"value":"ERC721: invalid token ID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""}],"id":16663,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2324:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:56:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16672,"nodeType":"ExpressionStatement","src":"2324:56:113"},{"expression":{"id":16673,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16658,"src":"2397:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":16656,"id":16674,"nodeType":"Return","src":"2390:12:113"}]},"documentation":{"id":16649,"nodeType":"StructuredDocumentation","src":"2139:46:113","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","id":16676,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2199:7:113","nodeType":"FunctionDefinition","overrides":{"id":16653,"nodeType":"OverrideSpecifier","overrides":[],"src":"2244:8:113"},"parameters":{"id":16652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16651,"mutability":"mutable","name":"tokenId","nameLocation":"2215:7:113","nodeType":"VariableDeclaration","scope":16676,"src":"2207:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16650,"name":"uint256","nodeType":"ElementaryTypeName","src":"2207:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2206:17:113"},"returnParameters":{"id":16656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16676,"src":"2262:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16654,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2261:9:113"},"scope":17475,"src":"2190:219:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18595],"body":{"id":16685,"nodeType":"Block","src":"2540:29:113","statements":[{"expression":{"id":16683,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16556,"src":"2557:5:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":16682,"id":16684,"nodeType":"Return","src":"2550:12:113"}]},"documentation":{"id":16677,"nodeType":"StructuredDocumentation","src":"2415:51:113","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","id":16686,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2480:4:113","nodeType":"FunctionDefinition","overrides":{"id":16679,"nodeType":"OverrideSpecifier","overrides":[],"src":"2507:8:113"},"parameters":{"id":16678,"nodeType":"ParameterList","parameters":[],"src":"2484:2:113"},"returnParameters":{"id":16682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16681,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16686,"src":"2525:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16680,"name":"string","nodeType":"ElementaryTypeName","src":"2525:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2524:15:113"},"scope":17475,"src":"2471:98:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18601],"body":{"id":16695,"nodeType":"Block","src":"2704:31:113","statements":[{"expression":{"id":16693,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16558,"src":"2721:7:113","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":16692,"id":16694,"nodeType":"Return","src":"2714:14:113"}]},"documentation":{"id":16687,"nodeType":"StructuredDocumentation","src":"2575:53:113","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","id":16696,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2642:6:113","nodeType":"FunctionDefinition","overrides":{"id":16689,"nodeType":"OverrideSpecifier","overrides":[],"src":"2671:8:113"},"parameters":{"id":16688,"nodeType":"ParameterList","parameters":[],"src":"2648:2:113"},"returnParameters":{"id":16692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16696,"src":"2689:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16690,"name":"string","nodeType":"ElementaryTypeName","src":"2689:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2688:15:113"},"scope":17475,"src":"2633:102:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18609],"body":{"id":16734,"nodeType":"Block","src":"2889:188:113","statements":[{"expression":{"arguments":[{"id":16706,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16699,"src":"2914:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16705,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17353,"src":"2899:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":16707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2899:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16708,"nodeType":"ExpressionStatement","src":"2899:23:113"},{"assignments":[16710],"declarations":[{"constant":false,"id":16710,"mutability":"mutable","name":"baseURI","nameLocation":"2947:7:113","nodeType":"VariableDeclaration","scope":16734,"src":"2933:21:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16709,"name":"string","nodeType":"ElementaryTypeName","src":"2933:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":16713,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16711,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16744,"src":"2957:8:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":16712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2957:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2933:34:113"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":16716,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16710,"src":"2990:7:113","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2984:5:113","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":16714,"name":"bytes","nodeType":"ElementaryTypeName","src":"2984:5:113","typeDescriptions":{}}},"id":16717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2984:14:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":16718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2984:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3008:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2984:25:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":16731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3068:2:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":16732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2984:86:113","trueExpression":{"arguments":[{"arguments":[{"id":16725,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16710,"src":"3036:7:113","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":16726,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16699,"src":"3045:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":22609,"src":"3045:16:113","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":16728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3045:18:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3019:3:113","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3019:16:113","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":16729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3019:45:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3012:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":16721,"name":"string","nodeType":"ElementaryTypeName","src":"3012:6:113","typeDescriptions":{}}},"id":16730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3012:53:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16704,"id":16733,"nodeType":"Return","src":"2977:93:113"}]},"documentation":{"id":16697,"nodeType":"StructuredDocumentation","src":"2741:55:113","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":16735,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2810:8:113","nodeType":"FunctionDefinition","overrides":{"id":16701,"nodeType":"OverrideSpecifier","overrides":[],"src":"2856:8:113"},"parameters":{"id":16700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16699,"mutability":"mutable","name":"tokenId","nameLocation":"2827:7:113","nodeType":"VariableDeclaration","scope":16735,"src":"2819:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16698,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:17:113"},"returnParameters":{"id":16704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16703,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16735,"src":"2874:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16702,"name":"string","nodeType":"ElementaryTypeName","src":"2874:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2873:15:113"},"scope":17475,"src":"2801:276:113","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":16743,"nodeType":"Block","src":"3385:26:113","statements":[{"expression":{"hexValue":"","id":16741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3402:2:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":16740,"id":16742,"nodeType":"Return","src":"3395:9:113"}]},"documentation":{"id":16736,"nodeType":"StructuredDocumentation","src":"3083:231:113","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"id":16744,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"3328:8:113","nodeType":"FunctionDefinition","parameters":{"id":16737,"nodeType":"ParameterList","parameters":[],"src":"3336:2:113"},"returnParameters":{"id":16740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16744,"src":"3370:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16738,"name":"string","nodeType":"ElementaryTypeName","src":"3370:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3369:15:113"},"scope":17475,"src":"3319:92:113","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[17564],"body":{"id":16786,"nodeType":"Block","src":"3538:336:113","statements":[{"assignments":[16754],"declarations":[{"constant":false,"id":16754,"mutability":"mutable","name":"owner","nameLocation":"3556:5:113","nodeType":"VariableDeclaration","scope":16786,"src":"3548:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16753,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":16759,"initialValue":{"arguments":[{"id":16757,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16749,"src":"3579:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16755,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"3564:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":16756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"3564:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":16758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3564:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3548:39:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16761,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16747,"src":"3605:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":16762,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16754,"src":"3611:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3605:11:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572","id":16764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3618:35:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""},"value":"ERC721: approval to current owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""}],"id":16760,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3597:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3597:57:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16766,"nodeType":"ExpressionStatement","src":"3597:57:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":16777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":16768,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3686:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3686:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":16770,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16754,"src":"3702:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3686:21:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":16773,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16754,"src":"3728:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":16774,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3735:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3735:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16772,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16840,"src":"3711:16:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":16776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3711:37:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3686:62:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","id":16778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3762:63:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""},"value":"ERC721: approve caller is not token owner or approved for all"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""}],"id":16767,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3665:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3665:170:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16780,"nodeType":"ExpressionStatement","src":"3665:170:113"},{"expression":{"arguments":[{"id":16782,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16747,"src":"3855:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16783,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16749,"src":"3859:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16781,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17307,"src":"3846:8:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":16784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3846:21:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16785,"nodeType":"ExpressionStatement","src":"3846:21:113"}]},"documentation":{"id":16745,"nodeType":"StructuredDocumentation","src":"3417:46:113","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","id":16787,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3477:7:113","nodeType":"FunctionDefinition","overrides":{"id":16751,"nodeType":"OverrideSpecifier","overrides":[],"src":"3529:8:113"},"parameters":{"id":16750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16747,"mutability":"mutable","name":"to","nameLocation":"3493:2:113","nodeType":"VariableDeclaration","scope":16787,"src":"3485:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16746,"name":"address","nodeType":"ElementaryTypeName","src":"3485:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16749,"mutability":"mutable","name":"tokenId","nameLocation":"3505:7:113","nodeType":"VariableDeclaration","scope":16787,"src":"3497:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16748,"name":"uint256","nodeType":"ElementaryTypeName","src":"3497:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3484:29:113"},"returnParameters":{"id":16752,"nodeType":"ParameterList","parameters":[],"src":"3538:0:113"},"scope":17475,"src":"3468:406:113","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[17580],"body":{"id":16804,"nodeType":"Block","src":"4020:82:113","statements":[{"expression":{"arguments":[{"id":16797,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16790,"src":"4045:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16796,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17353,"src":"4030:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":16798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4030:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16799,"nodeType":"ExpressionStatement","src":"4030:23:113"},{"expression":{"baseExpression":{"id":16800,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16570,"src":"4071:15:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":16802,"indexExpression":{"id":16801,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16790,"src":"4087:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4071:24:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":16795,"id":16803,"nodeType":"Return","src":"4064:31:113"}]},"documentation":{"id":16788,"nodeType":"StructuredDocumentation","src":"3880:50:113","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","id":16805,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3944:11:113","nodeType":"FunctionDefinition","overrides":{"id":16792,"nodeType":"OverrideSpecifier","overrides":[],"src":"3993:8:113"},"parameters":{"id":16791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16790,"mutability":"mutable","name":"tokenId","nameLocation":"3964:7:113","nodeType":"VariableDeclaration","scope":16805,"src":"3956:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16789,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:113"},"returnParameters":{"id":16795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16805,"src":"4011:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16793,"name":"address","nodeType":"ElementaryTypeName","src":"4011:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4010:9:113"},"scope":17475,"src":"3935:167:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17572],"body":{"id":16821,"nodeType":"Block","src":"4253:69:113","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":16815,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4282:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4282:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16817,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16808,"src":"4296:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16818,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16810,"src":"4306:8:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":16814,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17339,"src":"4263:18:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":16819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4263:52:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16820,"nodeType":"ExpressionStatement","src":"4263:52:113"}]},"documentation":{"id":16806,"nodeType":"StructuredDocumentation","src":"4108:56:113","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","id":16822,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4178:17:113","nodeType":"FunctionDefinition","overrides":{"id":16812,"nodeType":"OverrideSpecifier","overrides":[],"src":"4244:8:113"},"parameters":{"id":16811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16808,"mutability":"mutable","name":"operator","nameLocation":"4204:8:113","nodeType":"VariableDeclaration","scope":16822,"src":"4196:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16807,"name":"address","nodeType":"ElementaryTypeName","src":"4196:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16810,"mutability":"mutable","name":"approved","nameLocation":"4219:8:113","nodeType":"VariableDeclaration","scope":16822,"src":"4214:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16809,"name":"bool","nodeType":"ElementaryTypeName","src":"4214:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4195:33:113"},"returnParameters":{"id":16813,"nodeType":"ParameterList","parameters":[],"src":"4253:0:113"},"scope":17475,"src":"4169:153:113","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[17590],"body":{"id":16839,"nodeType":"Block","src":"4491:59:113","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":16833,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16576,"src":"4508:18:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":16835,"indexExpression":{"id":16834,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16825,"src":"4527:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:25:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":16837,"indexExpression":{"id":16836,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16827,"src":"4534:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:35:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":16832,"id":16838,"nodeType":"Return","src":"4501:42:113"}]},"documentation":{"id":16823,"nodeType":"StructuredDocumentation","src":"4328:55:113","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","id":16840,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4397:16:113","nodeType":"FunctionDefinition","overrides":{"id":16829,"nodeType":"OverrideSpecifier","overrides":[],"src":"4467:8:113"},"parameters":{"id":16828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16825,"mutability":"mutable","name":"owner","nameLocation":"4422:5:113","nodeType":"VariableDeclaration","scope":16840,"src":"4414:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16824,"name":"address","nodeType":"ElementaryTypeName","src":"4414:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16827,"mutability":"mutable","name":"operator","nameLocation":"4437:8:113","nodeType":"VariableDeclaration","scope":16840,"src":"4429:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16826,"name":"address","nodeType":"ElementaryTypeName","src":"4429:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4413:33:113"},"returnParameters":{"id":16832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16840,"src":"4485:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16830,"name":"bool","nodeType":"ElementaryTypeName","src":"4485:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4484:6:113"},"scope":17475,"src":"4388:162:113","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17556],"body":{"id":16866,"nodeType":"Block","src":"4731:207:113","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":16853,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4820:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4820:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16855,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16847,"src":"4834:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16852,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17010,"src":"4801:18:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":16856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4801:41:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":16857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4844:47:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":16851,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4793:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4793:99:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16859,"nodeType":"ExpressionStatement","src":"4793:99:113"},{"expression":{"arguments":[{"id":16861,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16843,"src":"4913:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16862,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16845,"src":"4919:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16863,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16847,"src":"4923:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16860,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17283,"src":"4903:9:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":16864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4903:28:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16865,"nodeType":"ExpressionStatement","src":"4903:28:113"}]},"documentation":{"id":16841,"nodeType":"StructuredDocumentation","src":"4556:51:113","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","id":16867,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4621:12:113","nodeType":"FunctionDefinition","overrides":{"id":16849,"nodeType":"OverrideSpecifier","overrides":[],"src":"4722:8:113"},"parameters":{"id":16848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16843,"mutability":"mutable","name":"from","nameLocation":"4651:4:113","nodeType":"VariableDeclaration","scope":16867,"src":"4643:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16842,"name":"address","nodeType":"ElementaryTypeName","src":"4643:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16845,"mutability":"mutable","name":"to","nameLocation":"4673:2:113","nodeType":"VariableDeclaration","scope":16867,"src":"4665:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16844,"name":"address","nodeType":"ElementaryTypeName","src":"4665:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16847,"mutability":"mutable","name":"tokenId","nameLocation":"4693:7:113","nodeType":"VariableDeclaration","scope":16867,"src":"4685:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16846,"name":"uint256","nodeType":"ElementaryTypeName","src":"4685:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4633:73:113"},"returnParameters":{"id":16850,"nodeType":"ParameterList","parameters":[],"src":"4731:0:113"},"scope":17475,"src":"4612:326:113","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[17546],"body":{"id":16885,"nodeType":"Block","src":"5127:56:113","statements":[{"expression":{"arguments":[{"id":16879,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16870,"src":"5154:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16880,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16872,"src":"5160:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16881,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16874,"src":"5164:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":16882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5173:2:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":16878,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[16886,16916],"referencedDeclaration":16916,"src":"5137:16:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":16883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5137:39:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16884,"nodeType":"ExpressionStatement","src":"5137:39:113"}]},"documentation":{"id":16868,"nodeType":"StructuredDocumentation","src":"4944:55:113","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","id":16886,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5013:16:113","nodeType":"FunctionDefinition","overrides":{"id":16876,"nodeType":"OverrideSpecifier","overrides":[],"src":"5118:8:113"},"parameters":{"id":16875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16870,"mutability":"mutable","name":"from","nameLocation":"5047:4:113","nodeType":"VariableDeclaration","scope":16886,"src":"5039:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16869,"name":"address","nodeType":"ElementaryTypeName","src":"5039:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16872,"mutability":"mutable","name":"to","nameLocation":"5069:2:113","nodeType":"VariableDeclaration","scope":16886,"src":"5061:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16871,"name":"address","nodeType":"ElementaryTypeName","src":"5061:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16874,"mutability":"mutable","name":"tokenId","nameLocation":"5089:7:113","nodeType":"VariableDeclaration","scope":16886,"src":"5081:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5081:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5029:73:113"},"returnParameters":{"id":16877,"nodeType":"ParameterList","parameters":[],"src":"5127:0:113"},"scope":17475,"src":"5004:179:113","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[17536],"body":{"id":16915,"nodeType":"Block","src":"5399:164:113","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":16901,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5436:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":16902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5436:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16903,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16893,"src":"5450:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16900,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17010,"src":"5417:18:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":16904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5417:41:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":16905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5460:47:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":16899,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5409:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5409:99:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16907,"nodeType":"ExpressionStatement","src":"5409:99:113"},{"expression":{"arguments":[{"id":16909,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16889,"src":"5532:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16910,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16891,"src":"5538:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16911,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16893,"src":"5542:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16912,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16895,"src":"5551:4:113","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16908,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16945,"src":"5518:13:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":16913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5518:38:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16914,"nodeType":"ExpressionStatement","src":"5518:38:113"}]},"documentation":{"id":16887,"nodeType":"StructuredDocumentation","src":"5189:55:113","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","id":16916,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5258:16:113","nodeType":"FunctionDefinition","overrides":{"id":16897,"nodeType":"OverrideSpecifier","overrides":[],"src":"5390:8:113"},"parameters":{"id":16896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16889,"mutability":"mutable","name":"from","nameLocation":"5292:4:113","nodeType":"VariableDeclaration","scope":16916,"src":"5284:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16888,"name":"address","nodeType":"ElementaryTypeName","src":"5284:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16891,"mutability":"mutable","name":"to","nameLocation":"5314:2:113","nodeType":"VariableDeclaration","scope":16916,"src":"5306:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16890,"name":"address","nodeType":"ElementaryTypeName","src":"5306:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16893,"mutability":"mutable","name":"tokenId","nameLocation":"5334:7:113","nodeType":"VariableDeclaration","scope":16916,"src":"5326:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16892,"name":"uint256","nodeType":"ElementaryTypeName","src":"5326:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16895,"mutability":"mutable","name":"data","nameLocation":"5364:4:113","nodeType":"VariableDeclaration","scope":16916,"src":"5351:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16894,"name":"bytes","nodeType":"ElementaryTypeName","src":"5351:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5274:100:113"},"returnParameters":{"id":16898,"nodeType":"ParameterList","parameters":[],"src":"5399:0:113"},"scope":17475,"src":"5249:314:113","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":16944,"nodeType":"Block","src":"6564:165:113","statements":[{"expression":{"arguments":[{"id":16929,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16919,"src":"6584:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16930,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16921,"src":"6590:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16931,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16923,"src":"6594:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16928,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17283,"src":"6574:9:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":16932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6574:28:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16933,"nodeType":"ExpressionStatement","src":"6574:28:113"},{"expression":{"arguments":[{"arguments":[{"id":16936,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16919,"src":"6643:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16937,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16921,"src":"6649:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16938,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16923,"src":"6653:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16939,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16925,"src":"6662:4:113","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16935,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17415,"src":"6620:22:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":16940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6620:47:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":16941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6669:52:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":16934,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6612:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6612:110:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16943,"nodeType":"ExpressionStatement","src":"6612:110:113"}]},"documentation":{"id":16917,"nodeType":"StructuredDocumentation","src":"5569:850:113","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":16945,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"6433:13:113","nodeType":"FunctionDefinition","parameters":{"id":16926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16919,"mutability":"mutable","name":"from","nameLocation":"6464:4:113","nodeType":"VariableDeclaration","scope":16945,"src":"6456:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16918,"name":"address","nodeType":"ElementaryTypeName","src":"6456:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16921,"mutability":"mutable","name":"to","nameLocation":"6486:2:113","nodeType":"VariableDeclaration","scope":16945,"src":"6478:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16920,"name":"address","nodeType":"ElementaryTypeName","src":"6478:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16923,"mutability":"mutable","name":"tokenId","nameLocation":"6506:7:113","nodeType":"VariableDeclaration","scope":16945,"src":"6498:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16922,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16925,"mutability":"mutable","name":"data","nameLocation":"6536:4:113","nodeType":"VariableDeclaration","scope":16945,"src":"6523:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16924,"name":"bytes","nodeType":"ElementaryTypeName","src":"6523:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6446:100:113"},"returnParameters":{"id":16927,"nodeType":"ParameterList","parameters":[],"src":"6564:0:113"},"scope":17475,"src":"6424:305:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":16957,"nodeType":"Block","src":"6913:40:113","statements":[{"expression":{"baseExpression":{"id":16953,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"6930:7:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":16955,"indexExpression":{"id":16954,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16948,"src":"6938:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6930:16:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":16952,"id":16956,"nodeType":"Return","src":"6923:23:113"}]},"documentation":{"id":16946,"nodeType":"StructuredDocumentation","src":"6735:98:113","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist"},"id":16958,"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"6847:8:113","nodeType":"FunctionDefinition","parameters":{"id":16949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16948,"mutability":"mutable","name":"tokenId","nameLocation":"6864:7:113","nodeType":"VariableDeclaration","scope":16958,"src":"6856:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16947,"name":"uint256","nodeType":"ElementaryTypeName","src":"6856:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6855:17:113"},"returnParameters":{"id":16952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16958,"src":"6904:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16950,"name":"address","nodeType":"ElementaryTypeName","src":"6904:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6903:9:113"},"scope":17475,"src":"6838:115:113","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":16975,"nodeType":"Block","src":"7327:55:113","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":16967,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16961,"src":"7353:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16966,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16958,"src":"7344:8:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":16968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7344:17:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7373:1:113","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":16970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7365:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16969,"name":"address","nodeType":"ElementaryTypeName","src":"7365:7:113","typeDescriptions":{}}},"id":16972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7365:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7344:31:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":16965,"id":16974,"nodeType":"Return","src":"7337:38:113"}]},"documentation":{"id":16959,"nodeType":"StructuredDocumentation","src":"6959:292:113","text":" @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."},"id":16976,"implemented":true,"kind":"function","modifiers":[],"name":"_exists","nameLocation":"7265:7:113","nodeType":"FunctionDefinition","parameters":{"id":16962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16961,"mutability":"mutable","name":"tokenId","nameLocation":"7281:7:113","nodeType":"VariableDeclaration","scope":16976,"src":"7273:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16960,"name":"uint256","nodeType":"ElementaryTypeName","src":"7273:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7272:17:113"},"returnParameters":{"id":16965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16964,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16976,"src":"7321:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16963,"name":"bool","nodeType":"ElementaryTypeName","src":"7321:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7320:6:113"},"scope":17475,"src":"7256:126:113","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":17009,"nodeType":"Block","src":"7639:162:113","statements":[{"assignments":[16987],"declarations":[{"constant":false,"id":16987,"mutability":"mutable","name":"owner","nameLocation":"7657:5:113","nodeType":"VariableDeclaration","scope":17009,"src":"7649:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16986,"name":"address","nodeType":"ElementaryTypeName","src":"7649:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":16992,"initialValue":{"arguments":[{"id":16990,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16981,"src":"7680:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16988,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"7665:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":16989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"7665:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":16991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7665:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7649:39:113"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16993,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16979,"src":"7706:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":16994,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16987,"src":"7717:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7706:16:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":16997,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16987,"src":"7743:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16998,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16979,"src":"7750:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16996,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16840,"src":"7726:16:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":16999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7726:32:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7706:52:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":17002,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16981,"src":"7774:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17001,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16805,"src":"7762:11:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7762:20:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":17004,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16979,"src":"7786:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7762:31:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7706:87:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":17007,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7705:89:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":16985,"id":17008,"nodeType":"Return","src":"7698:96:113"}]},"documentation":{"id":16977,"nodeType":"StructuredDocumentation","src":"7388:147:113","text":" @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."},"id":17010,"implemented":true,"kind":"function","modifiers":[],"name":"_isApprovedOrOwner","nameLocation":"7549:18:113","nodeType":"FunctionDefinition","parameters":{"id":16982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16979,"mutability":"mutable","name":"spender","nameLocation":"7576:7:113","nodeType":"VariableDeclaration","scope":17010,"src":"7568:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16978,"name":"address","nodeType":"ElementaryTypeName","src":"7568:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16981,"mutability":"mutable","name":"tokenId","nameLocation":"7593:7:113","nodeType":"VariableDeclaration","scope":17010,"src":"7585:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16980,"name":"uint256","nodeType":"ElementaryTypeName","src":"7585:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7567:34:113"},"returnParameters":{"id":16985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16984,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17010,"src":"7633:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16983,"name":"bool","nodeType":"ElementaryTypeName","src":"7633:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7632:6:113"},"scope":17475,"src":"7540:261:113","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":17024,"nodeType":"Block","src":"8196:43:113","statements":[{"expression":{"arguments":[{"id":17019,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17013,"src":"8216:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17020,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17015,"src":"8220:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":17021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8229:2:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":17018,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[17025,17054],"referencedDeclaration":17054,"src":"8206:9:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":17022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8206:26:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17023,"nodeType":"ExpressionStatement","src":"8206:26:113"}]},"documentation":{"id":17011,"nodeType":"StructuredDocumentation","src":"7807:319:113","text":" @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":17025,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8140:9:113","nodeType":"FunctionDefinition","parameters":{"id":17016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17013,"mutability":"mutable","name":"to","nameLocation":"8158:2:113","nodeType":"VariableDeclaration","scope":17025,"src":"8150:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17012,"name":"address","nodeType":"ElementaryTypeName","src":"8150:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17015,"mutability":"mutable","name":"tokenId","nameLocation":"8170:7:113","nodeType":"VariableDeclaration","scope":17025,"src":"8162:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17014,"name":"uint256","nodeType":"ElementaryTypeName","src":"8162:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8149:29:113"},"returnParameters":{"id":17017,"nodeType":"ParameterList","parameters":[],"src":"8196:0:113"},"scope":17475,"src":"8131:108:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17053,"nodeType":"Block","src":"8574:195:113","statements":[{"expression":{"arguments":[{"id":17036,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17028,"src":"8590:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17037,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17030,"src":"8594:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17035,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17131,"src":"8584:5:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":17038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8584:18:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17039,"nodeType":"ExpressionStatement","src":"8584:18:113"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":17044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8664:1:113","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":17043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8656:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17042,"name":"address","nodeType":"ElementaryTypeName","src":"8656:7:113","typeDescriptions":{}}},"id":17045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8656:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17046,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17028,"src":"8668:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17047,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17030,"src":"8672:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17048,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17032,"src":"8681:4:113","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17041,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17415,"src":"8633:22:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":17049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8633:53:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":17050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8700:52:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":17040,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8612:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8612:150:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17052,"nodeType":"ExpressionStatement","src":"8612:150:113"}]},"documentation":{"id":17026,"nodeType":"StructuredDocumentation","src":"8245:210:113","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"id":17054,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8469:9:113","nodeType":"FunctionDefinition","parameters":{"id":17033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17028,"mutability":"mutable","name":"to","nameLocation":"8496:2:113","nodeType":"VariableDeclaration","scope":17054,"src":"8488:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17027,"name":"address","nodeType":"ElementaryTypeName","src":"8488:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17030,"mutability":"mutable","name":"tokenId","nameLocation":"8516:7:113","nodeType":"VariableDeclaration","scope":17054,"src":"8508:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17029,"name":"uint256","nodeType":"ElementaryTypeName","src":"8508:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17032,"mutability":"mutable","name":"data","nameLocation":"8546:4:113","nodeType":"VariableDeclaration","scope":17054,"src":"8533:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17031,"name":"bytes","nodeType":"ElementaryTypeName","src":"8533:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8478:78:113"},"returnParameters":{"id":17034,"nodeType":"ParameterList","parameters":[],"src":"8574:0:113"},"scope":17475,"src":"8460:309:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17130,"nodeType":"Block","src":"9152:859:113","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17063,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9170:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9184:1:113","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":17065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9176:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17064,"name":"address","nodeType":"ElementaryTypeName","src":"9176:7:113","typeDescriptions":{}}},"id":17067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9176:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9170:16:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","id":17069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9188:34:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""},"value":"ERC721: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""}],"id":17062,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9162:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9162:61:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17071,"nodeType":"ExpressionStatement","src":"9162:61:113"},{"expression":{"arguments":[{"id":17076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9241:17:113","subExpression":{"arguments":[{"id":17074,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9250:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17073,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"9242:7:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":17075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9242:16:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":17077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9260:30:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":17072,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9233:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9233:58:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17079,"nodeType":"ExpressionStatement","src":"9233:58:113"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":17083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9331:1:113","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":17082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9323:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17081,"name":"address","nodeType":"ElementaryTypeName","src":"9323:7:113","typeDescriptions":{}}},"id":17084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9323:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17085,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9335:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17086,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9339:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9348:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17080,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"9302:20:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9302:48:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17089,"nodeType":"ExpressionStatement","src":"9302:48:113"},{"expression":{"arguments":[{"id":17094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9445:17:113","subExpression":{"arguments":[{"id":17092,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9454:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17091,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"9446:7:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":17093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9446:16:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":17095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9464:30:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":17090,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9437:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9437:58:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17097,"nodeType":"ExpressionStatement","src":"9437:58:113"},{"id":17104,"nodeType":"UncheckedBlock","src":"9506:360:113","statements":[{"expression":{"id":17102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17098,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"9837:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17100,"indexExpression":{"id":17099,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9847:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9837:13:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":17101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9854:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9837:18:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17103,"nodeType":"ExpressionStatement","src":"9837:18:113"}]},{"expression":{"id":17109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17105,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"9876:7:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17107,"indexExpression":{"id":17106,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9884:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9876:16:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":17108,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9895:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9876:21:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17110,"nodeType":"ExpressionStatement","src":"9876:21:113"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":17114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9930:1:113","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":17113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9922:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17112,"name":"address","nodeType":"ElementaryTypeName","src":"9922:7:113","typeDescriptions":{}}},"id":17115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9922:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17116,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9934:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17117,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9938:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17111,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17490,"src":"9913:8:113","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":17118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9913:33:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17119,"nodeType":"EmitStatement","src":"9908:38:113"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":17123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9985:1:113","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":17122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9977:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17121,"name":"address","nodeType":"ElementaryTypeName","src":"9977:7:113","typeDescriptions":{}}},"id":17124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9977:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17125,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"9989:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17126,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"9993:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10002:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17120,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17474,"src":"9957:19:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9957:47:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17129,"nodeType":"ExpressionStatement","src":"9957:47:113"}]},"documentation":{"id":17055,"nodeType":"StructuredDocumentation","src":"8775:311:113","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"id":17131,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"9100:5:113","nodeType":"FunctionDefinition","parameters":{"id":17060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17057,"mutability":"mutable","name":"to","nameLocation":"9114:2:113","nodeType":"VariableDeclaration","scope":17131,"src":"9106:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17056,"name":"address","nodeType":"ElementaryTypeName","src":"9106:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17059,"mutability":"mutable","name":"tokenId","nameLocation":"9126:7:113","nodeType":"VariableDeclaration","scope":17131,"src":"9118:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17058,"name":"uint256","nodeType":"ElementaryTypeName","src":"9118:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9105:29:113"},"returnParameters":{"id":17061,"nodeType":"ParameterList","parameters":[],"src":"9152:0:113"},"scope":17475,"src":"9091:920:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17197,"nodeType":"Block","src":"10386:713:113","statements":[{"assignments":[17138],"declarations":[{"constant":false,"id":17138,"mutability":"mutable","name":"owner","nameLocation":"10404:5:113","nodeType":"VariableDeclaration","scope":17197,"src":"10396:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17137,"name":"address","nodeType":"ElementaryTypeName","src":"10396:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":17143,"initialValue":{"arguments":[{"id":17141,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"10427:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17139,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"10412:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"10412:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10412:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10396:39:113"},{"expression":{"arguments":[{"id":17145,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"10467:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":17148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10482:1:113","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":17147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10474:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17146,"name":"address","nodeType":"ElementaryTypeName","src":"10474:7:113","typeDescriptions":{}}},"id":17149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10474:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17150,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"10486:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10495:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17144,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"10446:20:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10446:51:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17153,"nodeType":"ExpressionStatement","src":"10446:51:113"},{"expression":{"id":17159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":17154,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"10599:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17157,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"10622:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17155,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"10607:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"10607:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10607:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10599:31:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17160,"nodeType":"ExpressionStatement","src":"10599:31:113"},{"expression":{"id":17164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10668:31:113","subExpression":{"baseExpression":{"id":17161,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16570,"src":"10675:15:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17163,"indexExpression":{"id":17162,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"10691:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10675:24:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17165,"nodeType":"ExpressionStatement","src":"10668:31:113"},{"id":17172,"nodeType":"UncheckedBlock","src":"10710:237:113","statements":[{"expression":{"id":17170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17166,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"10915:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17168,"indexExpression":{"id":17167,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"10925:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10915:16:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":17169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10935:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10915:21:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17171,"nodeType":"ExpressionStatement","src":"10915:21:113"}]},{"expression":{"id":17176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10956:23:113","subExpression":{"baseExpression":{"id":17173,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"10963:7:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17175,"indexExpression":{"id":17174,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"10971:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10963:16:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17177,"nodeType":"ExpressionStatement","src":"10956:23:113"},{"eventCall":{"arguments":[{"id":17179,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"11004:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":17182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11019:1:113","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":17181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11011:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17180,"name":"address","nodeType":"ElementaryTypeName","src":"11011:7:113","typeDescriptions":{}}},"id":17183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11011:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17184,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"11023:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17178,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17490,"src":"10995:8:113","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":17185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10995:36:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17186,"nodeType":"EmitStatement","src":"10990:41:113"},{"expression":{"arguments":[{"id":17188,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"11062:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":17191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11077:1:113","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":17190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11069:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17189,"name":"address","nodeType":"ElementaryTypeName","src":"11069:7:113","typeDescriptions":{}}},"id":17192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11069:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17193,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"11081:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11090:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17187,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17474,"src":"11042:19:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11042:50:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17196,"nodeType":"ExpressionStatement","src":"11042:50:113"}]},"documentation":{"id":17132,"nodeType":"StructuredDocumentation","src":"10017:315:113","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"id":17198,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"10346:5:113","nodeType":"FunctionDefinition","parameters":{"id":17135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17134,"mutability":"mutable","name":"tokenId","nameLocation":"10360:7:113","nodeType":"VariableDeclaration","scope":17198,"src":"10352:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10352:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10351:17:113"},"returnParameters":{"id":17136,"nodeType":"ParameterList","parameters":[],"src":"10386:0:113"},"scope":17475,"src":"10337:762:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17282,"nodeType":"Block","src":"11532:1124:113","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":17211,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"11565:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17209,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"11550:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"11550:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11550:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":17213,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"11577:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11550:31:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":17215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11583:39:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":17208,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11542:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11542:81:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17217,"nodeType":"ExpressionStatement","src":"11542:81:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17219,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"11641:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11655:1:113","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":17221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11647:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17220,"name":"address","nodeType":"ElementaryTypeName","src":"11647:7:113","typeDescriptions":{}}},"id":17223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11647:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11641:16:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373","id":17225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11659:38:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""},"value":"ERC721: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""}],"id":17218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11633:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11633:65:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17227,"nodeType":"ExpressionStatement","src":"11633:65:113"},{"expression":{"arguments":[{"id":17229,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"11730:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17230,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"11736:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17231,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"11740:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11749:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17228,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"11709:20:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11709:42:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17234,"nodeType":"ExpressionStatement","src":"11709:42:113"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":17238,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"11866:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17236,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"11851:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"11851:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11851:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":17240,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"11878:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11851:31:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":17242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11884:39:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":17235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11843:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11843:81:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17244,"nodeType":"ExpressionStatement","src":"11843:81:113"},{"expression":{"id":17248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11986:31:113","subExpression":{"baseExpression":{"id":17245,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16570,"src":"11993:15:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17247,"indexExpression":{"id":17246,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"12009:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11993:24:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17249,"nodeType":"ExpressionStatement","src":"11986:31:113"},{"id":17262,"nodeType":"UncheckedBlock","src":"12028:496:113","statements":[{"expression":{"id":17254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17250,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"12461:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17252,"indexExpression":{"id":17251,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"12471:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12461:15:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":17253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12480:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12461:20:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17255,"nodeType":"ExpressionStatement","src":"12461:20:113"},{"expression":{"id":17260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17256,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"12495:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17258,"indexExpression":{"id":17257,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"12505:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12495:13:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":17259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12512:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12495:18:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17261,"nodeType":"ExpressionStatement","src":"12495:18:113"}]},{"expression":{"id":17267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17263,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"12533:7:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17265,"indexExpression":{"id":17264,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"12541:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12533:16:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":17266,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"12552:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12533:21:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17268,"nodeType":"ExpressionStatement","src":"12533:21:113"},{"eventCall":{"arguments":[{"id":17270,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"12579:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17271,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"12585:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17272,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"12589:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17269,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17490,"src":"12570:8:113","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":17273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12570:27:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17274,"nodeType":"EmitStatement","src":"12565:32:113"},{"expression":{"arguments":[{"id":17276,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17201,"src":"12628:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17277,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17203,"src":"12634:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17278,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17205,"src":"12638:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":17279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12647:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17275,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17474,"src":"12608:19:113","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12608:41:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17281,"nodeType":"ExpressionStatement","src":"12608:41:113"}]},"documentation":{"id":17199,"nodeType":"StructuredDocumentation","src":"11105:313:113","text":" @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"id":17283,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"11432:9:113","nodeType":"FunctionDefinition","parameters":{"id":17206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17201,"mutability":"mutable","name":"from","nameLocation":"11459:4:113","nodeType":"VariableDeclaration","scope":17283,"src":"11451:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17200,"name":"address","nodeType":"ElementaryTypeName","src":"11451:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17203,"mutability":"mutable","name":"to","nameLocation":"11481:2:113","nodeType":"VariableDeclaration","scope":17283,"src":"11473:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17202,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17205,"mutability":"mutable","name":"tokenId","nameLocation":"11501:7:113","nodeType":"VariableDeclaration","scope":17283,"src":"11493:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17204,"name":"uint256","nodeType":"ElementaryTypeName","src":"11493:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11441:73:113"},"returnParameters":{"id":17207,"nodeType":"ParameterList","parameters":[],"src":"11532:0:113"},"scope":17475,"src":"11423:1233:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17306,"nodeType":"Block","src":"12832:107:113","statements":[{"expression":{"id":17295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17291,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16570,"src":"12842:15:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":17293,"indexExpression":{"id":17292,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17288,"src":"12858:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12842:24:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":17294,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17286,"src":"12869:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12842:29:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17296,"nodeType":"ExpressionStatement","src":"12842:29:113"},{"eventCall":{"arguments":[{"arguments":[{"id":17300,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17288,"src":"12910:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17298,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"12895:6:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":16676,"src":"12895:14:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12895:23:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17302,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17286,"src":"12920:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17303,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17288,"src":"12924:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17297,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17499,"src":"12886:8:113","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":17304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12886:46:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17305,"nodeType":"EmitStatement","src":"12881:51:113"}]},"documentation":{"id":17284,"nodeType":"StructuredDocumentation","src":"12662:101:113","text":" @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."},"id":17307,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"12777:8:113","nodeType":"FunctionDefinition","parameters":{"id":17289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17286,"mutability":"mutable","name":"to","nameLocation":"12794:2:113","nodeType":"VariableDeclaration","scope":17307,"src":"12786:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17285,"name":"address","nodeType":"ElementaryTypeName","src":"12786:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17288,"mutability":"mutable","name":"tokenId","nameLocation":"12806:7:113","nodeType":"VariableDeclaration","scope":17307,"src":"12798:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17287,"name":"uint256","nodeType":"ElementaryTypeName","src":"12798:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12785:29:113"},"returnParameters":{"id":17290,"nodeType":"ParameterList","parameters":[],"src":"12832:0:113"},"scope":17475,"src":"12768:171:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17338,"nodeType":"Block","src":"13198:184:113","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17318,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17310,"src":"13216:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":17319,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17312,"src":"13225:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13216:17:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","id":17321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13235:27:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""},"value":"ERC721: approve to caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""}],"id":17317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13208:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13208:55:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17323,"nodeType":"ExpressionStatement","src":"13208:55:113"},{"expression":{"id":17330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":17324,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16576,"src":"13273:18:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":17327,"indexExpression":{"id":17325,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17310,"src":"13292:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13273:25:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":17328,"indexExpression":{"id":17326,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17312,"src":"13299:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13273:35:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":17329,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17314,"src":"13311:8:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13273:46:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17331,"nodeType":"ExpressionStatement","src":"13273:46:113"},{"eventCall":{"arguments":[{"id":17333,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17310,"src":"13349:5:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17334,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17312,"src":"13356:8:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17335,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17314,"src":"13366:8:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":17332,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17508,"src":"13334:14:113","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":17336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13334:41:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17337,"nodeType":"EmitStatement","src":"13329:46:113"}]},"documentation":{"id":17308,"nodeType":"StructuredDocumentation","src":"12945:125:113","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"id":17339,"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"13084:18:113","nodeType":"FunctionDefinition","parameters":{"id":17315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17310,"mutability":"mutable","name":"owner","nameLocation":"13120:5:113","nodeType":"VariableDeclaration","scope":17339,"src":"13112:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17309,"name":"address","nodeType":"ElementaryTypeName","src":"13112:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17312,"mutability":"mutable","name":"operator","nameLocation":"13143:8:113","nodeType":"VariableDeclaration","scope":17339,"src":"13135:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17311,"name":"address","nodeType":"ElementaryTypeName","src":"13135:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17314,"mutability":"mutable","name":"approved","nameLocation":"13166:8:113","nodeType":"VariableDeclaration","scope":17339,"src":"13161:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17313,"name":"bool","nodeType":"ElementaryTypeName","src":"13161:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13102:78:113"},"returnParameters":{"id":17316,"nodeType":"ParameterList","parameters":[],"src":"13198:0:113"},"scope":17475,"src":"13075:307:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17352,"nodeType":"Block","src":"13529:70:113","statements":[{"expression":{"arguments":[{"arguments":[{"id":17347,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17342,"src":"13555:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17346,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"13547:7:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":17348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13547:16:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":17349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13565:26:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""},"value":"ERC721: invalid token ID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""}],"id":17345,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13539:7:113","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13539:53:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17351,"nodeType":"ExpressionStatement","src":"13539:53:113"}]},"documentation":{"id":17340,"nodeType":"StructuredDocumentation","src":"13388:73:113","text":" @dev Reverts if the `tokenId` has not been minted yet."},"id":17353,"implemented":true,"kind":"function","modifiers":[],"name":"_requireMinted","nameLocation":"13475:14:113","nodeType":"FunctionDefinition","parameters":{"id":17343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17342,"mutability":"mutable","name":"tokenId","nameLocation":"13498:7:113","nodeType":"VariableDeclaration","scope":17353,"src":"13490:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17341,"name":"uint256","nodeType":"ElementaryTypeName","src":"13490:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13489:17:113"},"returnParameters":{"id":17344,"nodeType":"ParameterList","parameters":[],"src":"13529:0:113"},"scope":17475,"src":"13466:133:113","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":17414,"nodeType":"Block","src":"14306:676:113","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17367,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17358,"src":"14320:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"14320:13:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":17369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14320:15:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":17412,"nodeType":"Block","src":"14940:36:113","statements":[{"expression":{"hexValue":"74727565","id":17410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14961:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":17366,"id":17411,"nodeType":"Return","src":"14954:11:113"}]},"id":17413,"nodeType":"IfStatement","src":"14316:660:113","trueBody":{"id":17409,"nodeType":"Block","src":"14337:597:113","statements":[{"clauses":[{"block":{"id":17389,"nodeType":"Block","src":"14451:91:113","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":17387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17383,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17381,"src":"14476:6:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":17384,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17609,"src":"14486:15:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$17609_$","typeString":"type(contract IERC721Receiver)"}},"id":17385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":17608,"src":"14486:32:113","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":17386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"14486:41:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"14476:51:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17366,"id":17388,"nodeType":"Return","src":"14469:58:113"}]},"errorName":"","id":17390,"nodeType":"TryCatchClause","parameters":{"id":17382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17381,"mutability":"mutable","name":"retval","nameLocation":"14443:6:113","nodeType":"VariableDeclaration","scope":17390,"src":"14436:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17380,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14436:6:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14435:15:113"},"src":"14427:115:113"},{"block":{"id":17406,"nodeType":"Block","src":"14571:353:113","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":17394,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17392,"src":"14593:6:113","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"14593:13:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":17396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14610:1:113","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14593:18:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":17404,"nodeType":"Block","src":"14720:190:113","statements":[{"AST":{"nodeType":"YulBlock","src":"14806:86:113","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14843:2:113","type":"","value":"32"},{"name":"reason","nodeType":"YulIdentifier","src":"14847:6:113"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14839:3:113"},"nodeType":"YulFunctionCall","src":"14839:15:113"},{"arguments":[{"name":"reason","nodeType":"YulIdentifier","src":"14862:6:113"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14856:5:113"},"nodeType":"YulFunctionCall","src":"14856:13:113"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14832:6:113"},"nodeType":"YulFunctionCall","src":"14832:38:113"},"nodeType":"YulExpressionStatement","src":"14832:38:113"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":17392,"isOffset":false,"isSlot":false,"src":"14847:6:113","valueSize":1},{"declaration":17392,"isOffset":false,"isSlot":false,"src":"14862:6:113","valueSize":1}],"id":17403,"nodeType":"InlineAssembly","src":"14797:95:113"}]},"id":17405,"nodeType":"IfStatement","src":"14589:321:113","trueBody":{"id":17402,"nodeType":"Block","src":"14613:101:113","statements":[{"expression":{"arguments":[{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":17399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14642:52:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":17398,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14635:6:113","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":17400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14635:60:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17401,"nodeType":"ExpressionStatement","src":"14635:60:113"}]}}]},"errorName":"","id":17407,"nodeType":"TryCatchClause","parameters":{"id":17393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17392,"mutability":"mutable","name":"reason","nameLocation":"14563:6:113","nodeType":"VariableDeclaration","scope":17407,"src":"14550:19:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17391,"name":"bytes","nodeType":"ElementaryTypeName","src":"14550:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14549:21:113"},"src":"14543:381:113"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":17374,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"14392:10:113","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14392:12:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17376,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17356,"src":"14406:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17377,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17360,"src":"14412:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17378,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17362,"src":"14421:4:113","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":17371,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17358,"src":"14371:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":17370,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17609,"src":"14355:15:113","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$17609_$","typeString":"type(contract IERC721Receiver)"}},"id":17372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14355:19:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$17609","typeString":"contract IERC721Receiver"}},"id":17373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":17608,"src":"14355:36:113","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":17379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14355:71:113","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":17408,"nodeType":"TryStatement","src":"14351:573:113"}]}}]},"documentation":{"id":17354,"nodeType":"StructuredDocumentation","src":"13605:541:113","text":" @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"},"id":17415,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"14160:22:113","nodeType":"FunctionDefinition","parameters":{"id":17363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17356,"mutability":"mutable","name":"from","nameLocation":"14200:4:113","nodeType":"VariableDeclaration","scope":17415,"src":"14192:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17355,"name":"address","nodeType":"ElementaryTypeName","src":"14192:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17358,"mutability":"mutable","name":"to","nameLocation":"14222:2:113","nodeType":"VariableDeclaration","scope":17415,"src":"14214:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17357,"name":"address","nodeType":"ElementaryTypeName","src":"14214:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17360,"mutability":"mutable","name":"tokenId","nameLocation":"14242:7:113","nodeType":"VariableDeclaration","scope":17415,"src":"14234:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17359,"name":"uint256","nodeType":"ElementaryTypeName","src":"14234:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17362,"mutability":"mutable","name":"data","nameLocation":"14272:4:113","nodeType":"VariableDeclaration","scope":17415,"src":"14259:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17361,"name":"bytes","nodeType":"ElementaryTypeName","src":"14259:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14182:100:113"},"returnParameters":{"id":17366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17415,"src":"14300:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17364,"name":"bool","nodeType":"ElementaryTypeName","src":"14300:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14299:6:113"},"scope":17475,"src":"14151:831:113","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":17460,"nodeType":"Block","src":"15856:238:113","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17427,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17424,"src":"15870:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":17428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15882:1:113","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15870:13:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17459,"nodeType":"IfStatement","src":"15866:222:113","trueBody":{"id":17458,"nodeType":"Block","src":"15885:203:113","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17430,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17418,"src":"15903:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15919:1:113","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":17432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15911:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17431,"name":"address","nodeType":"ElementaryTypeName","src":"15911:7:113","typeDescriptions":{}}},"id":17434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15911:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15903:18:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17443,"nodeType":"IfStatement","src":"15899:85:113","trueBody":{"id":17442,"nodeType":"Block","src":"15923:61:113","statements":[{"expression":{"id":17440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17436,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"15941:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17438,"indexExpression":{"id":17437,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17418,"src":"15951:4:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15941:15:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":17439,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17424,"src":"15960:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15941:28:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17441,"nodeType":"ExpressionStatement","src":"15941:28:113"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17444,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17420,"src":"16001:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16015:1:113","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":17446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16007:7:113","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17445,"name":"address","nodeType":"ElementaryTypeName","src":"16007:7:113","typeDescriptions":{}}},"id":17448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16007:10:113","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16001:16:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17457,"nodeType":"IfStatement","src":"15997:81:113","trueBody":{"id":17456,"nodeType":"Block","src":"16019:59:113","statements":[{"expression":{"id":17454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17450,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"16037:9:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":17452,"indexExpression":{"id":17451,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17420,"src":"16047:2:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16037:13:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":17453,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17424,"src":"16054:9:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16037:26:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17455,"nodeType":"ExpressionStatement","src":"16037:26:113"}]}}]}}]},"documentation":{"id":17416,"nodeType":"StructuredDocumentation","src":"14988:705:113","text":" @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":17461,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"15707:20:113","nodeType":"FunctionDefinition","parameters":{"id":17425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17418,"mutability":"mutable","name":"from","nameLocation":"15745:4:113","nodeType":"VariableDeclaration","scope":17461,"src":"15737:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17417,"name":"address","nodeType":"ElementaryTypeName","src":"15737:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17420,"mutability":"mutable","name":"to","nameLocation":"15767:2:113","nodeType":"VariableDeclaration","scope":17461,"src":"15759:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17419,"name":"address","nodeType":"ElementaryTypeName","src":"15759:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17422,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17461,"src":"15779:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17421,"name":"uint256","nodeType":"ElementaryTypeName","src":"15779:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17424,"mutability":"mutable","name":"batchSize","nameLocation":"15823:9:113","nodeType":"VariableDeclaration","scope":17461,"src":"15815:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17423,"name":"uint256","nodeType":"ElementaryTypeName","src":"15815:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15727:111:113"},"returnParameters":{"id":17426,"nodeType":"ParameterList","parameters":[],"src":"15856:0:113"},"scope":17475,"src":"15698:396:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17473,"nodeType":"Block","src":"16951:2:113","statements":[]},"documentation":{"id":17462,"nodeType":"StructuredDocumentation","src":"16100:695:113","text":" @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":17474,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"16809:19:113","nodeType":"FunctionDefinition","parameters":{"id":17471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17464,"mutability":"mutable","name":"from","nameLocation":"16846:4:113","nodeType":"VariableDeclaration","scope":17474,"src":"16838:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17463,"name":"address","nodeType":"ElementaryTypeName","src":"16838:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17466,"mutability":"mutable","name":"to","nameLocation":"16868:2:113","nodeType":"VariableDeclaration","scope":17474,"src":"16860:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17465,"name":"address","nodeType":"ElementaryTypeName","src":"16860:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17468,"mutability":"mutable","name":"firstTokenId","nameLocation":"16888:12:113","nodeType":"VariableDeclaration","scope":17474,"src":"16880:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17467,"name":"uint256","nodeType":"ElementaryTypeName","src":"16880:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17470,"mutability":"mutable","name":"batchSize","nameLocation":"16918:9:113","nodeType":"VariableDeclaration","scope":17474,"src":"16910:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17469,"name":"uint256","nodeType":"ElementaryTypeName","src":"16910:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16828:105:113"},"returnParameters":{"id":17472,"nodeType":"ParameterList","parameters":[],"src":"16951:0:113"},"scope":17475,"src":"16800:153:113","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":17476,"src":"628:16327:113","usedErrors":[]}],"src":"107:16849:113"},"id":113},"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591]},"id":17592,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17477,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:114"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":17478,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17592,"sourceUnit":24694,"src":"133:47:114","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":17480,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"271:7:114"},"id":17481,"nodeType":"InheritanceSpecifier","src":"271:7:114"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":17479,"nodeType":"StructuredDocumentation","src":"182:67:114","text":" @dev Required interface of an ERC721 compliant contract."},"fullyImplemented":false,"id":17591,"linearizedBaseContracts":[17591,24693],"name":"IERC721","nameLocation":"260:7:114","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":17482,"nodeType":"StructuredDocumentation","src":"285:88:114","text":" @dev Emitted when `tokenId` token is transferred from `from` to `to`."},"id":17490,"name":"Transfer","nameLocation":"384:8:114","nodeType":"EventDefinition","parameters":{"id":17489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17484,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"409:4:114","nodeType":"VariableDeclaration","scope":17490,"src":"393:20:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17483,"name":"address","nodeType":"ElementaryTypeName","src":"393:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17486,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"431:2:114","nodeType":"VariableDeclaration","scope":17490,"src":"415:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17485,"name":"address","nodeType":"ElementaryTypeName","src":"415:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17488,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"451:7:114","nodeType":"VariableDeclaration","scope":17490,"src":"435:23:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17487,"name":"uint256","nodeType":"ElementaryTypeName","src":"435:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"392:67:114"},"src":"378:82:114"},{"anonymous":false,"documentation":{"id":17491,"nodeType":"StructuredDocumentation","src":"466:94:114","text":" @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."},"id":17499,"name":"Approval","nameLocation":"571:8:114","nodeType":"EventDefinition","parameters":{"id":17498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17493,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"596:5:114","nodeType":"VariableDeclaration","scope":17499,"src":"580:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17492,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17495,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"619:8:114","nodeType":"VariableDeclaration","scope":17499,"src":"603:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17494,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17497,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"645:7:114","nodeType":"VariableDeclaration","scope":17499,"src":"629:23:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17496,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"579:74:114"},"src":"565:89:114"},{"anonymous":false,"documentation":{"id":17500,"nodeType":"StructuredDocumentation","src":"660:117:114","text":" @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."},"id":17508,"name":"ApprovalForAll","nameLocation":"788:14:114","nodeType":"EventDefinition","parameters":{"id":17507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17502,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"819:5:114","nodeType":"VariableDeclaration","scope":17508,"src":"803:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17501,"name":"address","nodeType":"ElementaryTypeName","src":"803:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17504,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"842:8:114","nodeType":"VariableDeclaration","scope":17508,"src":"826:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17503,"name":"address","nodeType":"ElementaryTypeName","src":"826:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17506,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"857:8:114","nodeType":"VariableDeclaration","scope":17508,"src":"852:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17505,"name":"bool","nodeType":"ElementaryTypeName","src":"852:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"802:64:114"},"src":"782:85:114"},{"documentation":{"id":17509,"nodeType":"StructuredDocumentation","src":"873:76:114","text":" @dev Returns the number of tokens in ``owner``'s account."},"functionSelector":"70a08231","id":17516,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"963:9:114","nodeType":"FunctionDefinition","parameters":{"id":17512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17511,"mutability":"mutable","name":"owner","nameLocation":"981:5:114","nodeType":"VariableDeclaration","scope":17516,"src":"973:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17510,"name":"address","nodeType":"ElementaryTypeName","src":"973:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"972:15:114"},"returnParameters":{"id":17515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17514,"mutability":"mutable","name":"balance","nameLocation":"1019:7:114","nodeType":"VariableDeclaration","scope":17516,"src":"1011:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17513,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1010:17:114"},"scope":17591,"src":"954:74:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17517,"nodeType":"StructuredDocumentation","src":"1034:131:114","text":" @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"6352211e","id":17524,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1179:7:114","nodeType":"FunctionDefinition","parameters":{"id":17520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17519,"mutability":"mutable","name":"tokenId","nameLocation":"1195:7:114","nodeType":"VariableDeclaration","scope":17524,"src":"1187:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17518,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1186:17:114"},"returnParameters":{"id":17523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17522,"mutability":"mutable","name":"owner","nameLocation":"1235:5:114","nodeType":"VariableDeclaration","scope":17524,"src":"1227:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17521,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1226:15:114"},"scope":17591,"src":"1170:72:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17525,"nodeType":"StructuredDocumentation","src":"1248:556:114","text":" @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"b88d4fde","id":17536,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1818:16:114","nodeType":"FunctionDefinition","parameters":{"id":17534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17527,"mutability":"mutable","name":"from","nameLocation":"1852:4:114","nodeType":"VariableDeclaration","scope":17536,"src":"1844:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17526,"name":"address","nodeType":"ElementaryTypeName","src":"1844:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17529,"mutability":"mutable","name":"to","nameLocation":"1874:2:114","nodeType":"VariableDeclaration","scope":17536,"src":"1866:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17528,"name":"address","nodeType":"ElementaryTypeName","src":"1866:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17531,"mutability":"mutable","name":"tokenId","nameLocation":"1894:7:114","nodeType":"VariableDeclaration","scope":17536,"src":"1886:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17530,"name":"uint256","nodeType":"ElementaryTypeName","src":"1886:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17533,"mutability":"mutable","name":"data","nameLocation":"1926:4:114","nodeType":"VariableDeclaration","scope":17536,"src":"1911:19:114","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17532,"name":"bytes","nodeType":"ElementaryTypeName","src":"1911:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1834:102:114"},"returnParameters":{"id":17535,"nodeType":"ParameterList","parameters":[],"src":"1945:0:114"},"scope":17591,"src":"1809:137:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17537,"nodeType":"StructuredDocumentation","src":"1952:687:114","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"42842e0e","id":17546,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2653:16:114","nodeType":"FunctionDefinition","parameters":{"id":17544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17539,"mutability":"mutable","name":"from","nameLocation":"2687:4:114","nodeType":"VariableDeclaration","scope":17546,"src":"2679:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17538,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17541,"mutability":"mutable","name":"to","nameLocation":"2709:2:114","nodeType":"VariableDeclaration","scope":17546,"src":"2701:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17540,"name":"address","nodeType":"ElementaryTypeName","src":"2701:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17543,"mutability":"mutable","name":"tokenId","nameLocation":"2729:7:114","nodeType":"VariableDeclaration","scope":17546,"src":"2721:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17542,"name":"uint256","nodeType":"ElementaryTypeName","src":"2721:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2669:73:114"},"returnParameters":{"id":17545,"nodeType":"ParameterList","parameters":[],"src":"2751:0:114"},"scope":17591,"src":"2644:108:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17547,"nodeType":"StructuredDocumentation","src":"2758:732:114","text":" @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":17556,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3504:12:114","nodeType":"FunctionDefinition","parameters":{"id":17554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17549,"mutability":"mutable","name":"from","nameLocation":"3534:4:114","nodeType":"VariableDeclaration","scope":17556,"src":"3526:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17548,"name":"address","nodeType":"ElementaryTypeName","src":"3526:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17551,"mutability":"mutable","name":"to","nameLocation":"3556:2:114","nodeType":"VariableDeclaration","scope":17556,"src":"3548:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17550,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17553,"mutability":"mutable","name":"tokenId","nameLocation":"3576:7:114","nodeType":"VariableDeclaration","scope":17556,"src":"3568:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17552,"name":"uint256","nodeType":"ElementaryTypeName","src":"3568:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3516:73:114"},"returnParameters":{"id":17555,"nodeType":"ParameterList","parameters":[],"src":"3598:0:114"},"scope":17591,"src":"3495:104:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17557,"nodeType":"StructuredDocumentation","src":"3605:452:114","text":" @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":17564,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4071:7:114","nodeType":"FunctionDefinition","parameters":{"id":17562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17559,"mutability":"mutable","name":"to","nameLocation":"4087:2:114","nodeType":"VariableDeclaration","scope":17564,"src":"4079:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17558,"name":"address","nodeType":"ElementaryTypeName","src":"4079:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17561,"mutability":"mutable","name":"tokenId","nameLocation":"4099:7:114","nodeType":"VariableDeclaration","scope":17564,"src":"4091:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17560,"name":"uint256","nodeType":"ElementaryTypeName","src":"4091:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4078:29:114"},"returnParameters":{"id":17563,"nodeType":"ParameterList","parameters":[],"src":"4116:0:114"},"scope":17591,"src":"4062:55:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17565,"nodeType":"StructuredDocumentation","src":"4123:309:114","text":" @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."},"functionSelector":"a22cb465","id":17572,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4446:17:114","nodeType":"FunctionDefinition","parameters":{"id":17570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17567,"mutability":"mutable","name":"operator","nameLocation":"4472:8:114","nodeType":"VariableDeclaration","scope":17572,"src":"4464:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17566,"name":"address","nodeType":"ElementaryTypeName","src":"4464:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17569,"mutability":"mutable","name":"_approved","nameLocation":"4487:9:114","nodeType":"VariableDeclaration","scope":17572,"src":"4482:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17568,"name":"bool","nodeType":"ElementaryTypeName","src":"4482:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4463:34:114"},"returnParameters":{"id":17571,"nodeType":"ParameterList","parameters":[],"src":"4506:0:114"},"scope":17591,"src":"4437:70:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17573,"nodeType":"StructuredDocumentation","src":"4513:139:114","text":" @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"081812fc","id":17580,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4666:11:114","nodeType":"FunctionDefinition","parameters":{"id":17576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17575,"mutability":"mutable","name":"tokenId","nameLocation":"4686:7:114","nodeType":"VariableDeclaration","scope":17580,"src":"4678:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17574,"name":"uint256","nodeType":"ElementaryTypeName","src":"4678:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4677:17:114"},"returnParameters":{"id":17579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17578,"mutability":"mutable","name":"operator","nameLocation":"4726:8:114","nodeType":"VariableDeclaration","scope":17580,"src":"4718:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17577,"name":"address","nodeType":"ElementaryTypeName","src":"4718:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4717:18:114"},"scope":17591,"src":"4657:79:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17581,"nodeType":"StructuredDocumentation","src":"4742:138:114","text":" @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"},"functionSelector":"e985e9c5","id":17590,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4894:16:114","nodeType":"FunctionDefinition","parameters":{"id":17586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17583,"mutability":"mutable","name":"owner","nameLocation":"4919:5:114","nodeType":"VariableDeclaration","scope":17590,"src":"4911:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17582,"name":"address","nodeType":"ElementaryTypeName","src":"4911:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17585,"mutability":"mutable","name":"operator","nameLocation":"4934:8:114","nodeType":"VariableDeclaration","scope":17590,"src":"4926:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17584,"name":"address","nodeType":"ElementaryTypeName","src":"4926:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4910:33:114"},"returnParameters":{"id":17589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17590,"src":"4967:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17587,"name":"bool","nodeType":"ElementaryTypeName","src":"4967:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4966:6:114"},"scope":17591,"src":"4885:88:114","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":17592,"src":"250:4725:114","usedErrors":[]}],"src":"108:4868:114"},"id":114},"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","exportedSymbols":{"IERC721Receiver":[17609]},"id":17610,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17593,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"116:23:115"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":17594,"nodeType":"StructuredDocumentation","src":"141:152:115","text":" @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."},"fullyImplemented":false,"id":17609,"linearizedBaseContracts":[17609],"name":"IERC721Receiver","nameLocation":"304:15:115","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":17595,"nodeType":"StructuredDocumentation","src":"326:493:115","text":" @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":17608,"implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"833:16:115","nodeType":"FunctionDefinition","parameters":{"id":17604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17597,"mutability":"mutable","name":"operator","nameLocation":"867:8:115","nodeType":"VariableDeclaration","scope":17608,"src":"859:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17596,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17599,"mutability":"mutable","name":"from","nameLocation":"893:4:115","nodeType":"VariableDeclaration","scope":17608,"src":"885:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17598,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17601,"mutability":"mutable","name":"tokenId","nameLocation":"915:7:115","nodeType":"VariableDeclaration","scope":17608,"src":"907:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17600,"name":"uint256","nodeType":"ElementaryTypeName","src":"907:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17603,"mutability":"mutable","name":"data","nameLocation":"947:4:115","nodeType":"VariableDeclaration","scope":17608,"src":"932:19:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17602,"name":"bytes","nodeType":"ElementaryTypeName","src":"932:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:108:115"},"returnParameters":{"id":17607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17608,"src":"976:6:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17605,"name":"bytes4","nodeType":"ElementaryTypeName","src":"976:6:115","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"975:8:115"},"scope":17609,"src":"824:160:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":17610,"src":"294:692:115","usedErrors":[]}],"src":"116:871:115"},"id":115},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"ERC721Burnable":[17639],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726]},"id":17640,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17611,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"126:23:116"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":17612,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17640,"sourceUnit":17476,"src":"151:23:116","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":17613,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17640,"sourceUnit":22282,"src":"175:36:116","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":17615,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"342:7:116"},"id":17616,"nodeType":"InheritanceSpecifier","src":"342:7:116"},{"baseName":{"id":17617,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"351:6:116"},"id":17618,"nodeType":"InheritanceSpecifier","src":"351:6:116"}],"canonicalName":"ERC721Burnable","contractDependencies":[],"contractKind":"contract","documentation":{"id":17614,"nodeType":"StructuredDocumentation","src":"213:92:116","text":" @title ERC721 Burnable Token\n @dev ERC721 Token that can be burned (destroyed)."},"fullyImplemented":false,"id":17639,"linearizedBaseContracts":[17639,17475,18610,17591,24377,24693,22281],"name":"ERC721Burnable","nameLocation":"324:14:116","nodeType":"ContractDefinition","nodes":[{"body":{"id":17637,"nodeType":"Block","src":"577:192:116","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":17626,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"666:10:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"666:12:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17628,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17621,"src":"680:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17625,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17010,"src":"647:18:116","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":17629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"647:41:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":17630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"690:47:116","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":17624,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"639:7:116","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"639:99:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17632,"nodeType":"ExpressionStatement","src":"639:99:116"},{"expression":{"arguments":[{"id":17634,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17621,"src":"754:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17633,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17198,"src":"748:5:116","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":17635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"748:14:116","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17636,"nodeType":"ExpressionStatement","src":"748:14:116"}]},"documentation":{"id":17619,"nodeType":"StructuredDocumentation","src":"364:162:116","text":" @dev Burns `tokenId`. See {ERC721-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator."},"functionSelector":"42966c68","id":17638,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"540:4:116","nodeType":"FunctionDefinition","parameters":{"id":17622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17621,"mutability":"mutable","name":"tokenId","nameLocation":"553:7:116","nodeType":"VariableDeclaration","scope":17638,"src":"545:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17620,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"544:17:116"},"returnParameters":{"id":17623,"nodeType":"ParameterList","parameters":[],"src":"577:0:116"},"scope":17639,"src":"531:238:116","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":17640,"src":"306:465:116","usedErrors":[]}],"src":"126:646:116"},"id":116},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol","exportedSymbols":{"Address":[20688],"BitMaps":[27822],"Checkpoints":[22259],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"ERC721Consecutive":[17934],"IERC165":[24693],"IERC2309":[8791],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"SafeCast":[27203],"Strings":[22726]},"id":17935,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17641,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"129:23:117"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":17642,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17935,"sourceUnit":17476,"src":"154:23:117","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol","file":"../../../interfaces/IERC2309.sol","id":17643,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17935,"sourceUnit":8792,"src":"178:42:117","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Checkpoints.sol","file":"../../../utils/Checkpoints.sol","id":17644,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17935,"sourceUnit":22260,"src":"221:40:117","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol","file":"../../../utils/structs/BitMaps.sol","id":17645,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17935,"sourceUnit":27823,"src":"262:44:117","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":17647,"name":"IERC2309","nodeType":"IdentifierPath","referencedDeclaration":8791,"src":"1662:8:117"},"id":17648,"nodeType":"InheritanceSpecifier","src":"1662:8:117"},{"baseName":{"id":17649,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"1672:6:117"},"id":17650,"nodeType":"InheritanceSpecifier","src":"1672:6:117"}],"canonicalName":"ERC721Consecutive","contractDependencies":[],"contractKind":"contract","documentation":{"id":17646,"nodeType":"StructuredDocumentation","src":"308:1314:117","text":" @dev Implementation of the ERC2309 \"Consecutive Transfer Extension\" as defined in\n https://eips.ethereum.org/EIPS/eip-2309[EIP-2309].\n This extension allows the minting of large batches of tokens, during contract construction only. For upgradeable\n contracts this implies that batch minting is only available during proxy deployment, and not in subsequent upgrades.\n These batches are limited to 5000 tokens at a time by default to accommodate off-chain indexers.\n Using this extension removes the ability to mint single tokens during contract construction. This ability is\n regained after construction. During construction, only batch minting is allowed.\n IMPORTANT: This extension bypasses the hooks {_beforeTokenTransfer} and {_afterTokenTransfer} for tokens minted in\n batch. When using this extension, you should consider the {_beforeConsecutiveTokenTransfer} and\n {_afterConsecutiveTokenTransfer} hooks in addition to {_beforeTokenTransfer} and {_afterTokenTransfer}.\n IMPORTANT: When overriding {_afterTokenTransfer}, be careful about call ordering. {ownerOf} may return invalid\n values during the {_afterTokenTransfer} execution if the super call is not called first. To be safe, execute the\n super call before your custom logic.\n _Available since v4.8._"},"fullyImplemented":false,"id":17934,"linearizedBaseContracts":[17934,17475,18610,17591,24377,24693,22281,8791],"name":"ERC721Consecutive","nameLocation":"1641:17:117","nodeType":"ContractDefinition","nodes":[{"id":17654,"libraryName":{"id":17651,"name":"BitMaps","nodeType":"IdentifierPath","referencedDeclaration":27822,"src":"1691:7:117"},"nodeType":"UsingForDirective","src":"1685:33:117","typeName":{"id":17653,"nodeType":"UserDefinedTypeName","pathNode":{"id":17652,"name":"BitMaps.BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"1703:14:117"},"referencedDeclaration":27692,"src":"1703:14:117","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}}},{"id":17658,"libraryName":{"id":17655,"name":"Checkpoints","nodeType":"IdentifierPath","referencedDeclaration":22259,"src":"1729:11:117"},"nodeType":"UsingForDirective","src":"1723:43:117","typeName":{"id":17657,"nodeType":"UserDefinedTypeName","pathNode":{"id":17656,"name":"Checkpoints.Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"1745:20:117"},"referencedDeclaration":21847,"src":"1745:20:117","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}}},{"constant":false,"id":17661,"mutability":"mutable","name":"_sequentialOwnership","nameLocation":"1801:20:117","nodeType":"VariableDeclaration","scope":17934,"src":"1772:49:117","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":17660,"nodeType":"UserDefinedTypeName","pathNode":{"id":17659,"name":"Checkpoints.Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"1772:20:117"},"referencedDeclaration":21847,"src":"1772:20:117","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"private"},{"constant":false,"id":17664,"mutability":"mutable","name":"_sequentialBurn","nameLocation":"1850:15:117","nodeType":"VariableDeclaration","scope":17934,"src":"1827:38:117","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage","typeString":"struct BitMaps.BitMap"},"typeName":{"id":17663,"nodeType":"UserDefinedTypeName","pathNode":{"id":17662,"name":"BitMaps.BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"1827:14:117"},"referencedDeclaration":27692,"src":"1827:14:117","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}},"visibility":"private"},{"body":{"id":17672,"nodeType":"Block","src":"2410:28:117","statements":[{"expression":{"hexValue":"35303030","id":17670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2427:4:117","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},"functionReturnParameters":17669,"id":17671,"nodeType":"Return","src":"2420:11:117"}]},"documentation":{"id":17665,"nodeType":"StructuredDocumentation","src":"1872:469:117","text":" @dev Maximum size of a batch of consecutive tokens. This is designed to limit stress on off-chain indexing\n services that have to record one entry per token, and have protections against \"unreasonably large\" batches of\n tokens.\n NOTE: Overriding the default value of 5000 will not cause on-chain issues, but may result in the asset not being\n correctly supported by off-chain indexing services (including marketplaces)."},"id":17673,"implemented":true,"kind":"function","modifiers":[],"name":"_maxBatchSize","nameLocation":"2355:13:117","nodeType":"FunctionDefinition","parameters":{"id":17666,"nodeType":"ParameterList","parameters":[],"src":"2368:2:117"},"returnParameters":{"id":17669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17673,"src":"2402:6:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17667,"name":"uint96","nodeType":"ElementaryTypeName","src":"2402:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"2401:8:117"},"scope":17934,"src":"2346:92:117","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[16958],"body":{"id":17727,"nodeType":"Block","src":"2720:539:117","statements":[{"assignments":[17683],"declarations":[{"constant":false,"id":17683,"mutability":"mutable","name":"owner","nameLocation":"2738:5:117","nodeType":"VariableDeclaration","scope":17727,"src":"2730:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17682,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":17688,"initialValue":{"arguments":[{"id":17686,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"2761:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17684,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2746:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Consecutive_$17934_$","typeString":"type(contract super ERC721Consecutive)"}},"id":17685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_ownerOf","nodeType":"MemberAccess","referencedDeclaration":16958,"src":"2746:14:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2746:23:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2730:39:117"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17689,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17683,"src":"2873:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2890:1:117","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":17691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2882:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17690,"name":"address","nodeType":"ElementaryTypeName","src":"2882:7:117","typeDescriptions":{}}},"id":17693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2882:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2873:19:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17695,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"2896:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":17698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2911:6:117","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":17697,"name":"uint96","nodeType":"ElementaryTypeName","src":"2911:6:117","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":17696,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2906:4:117","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":17699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2906:12:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":17700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"2906:16:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"2896:26:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2873:49:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17706,"nodeType":"IfStatement","src":"2869:92:117","trueBody":{"id":17705,"nodeType":"Block","src":"2924:37:117","statements":[{"expression":{"id":17703,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17683,"src":"2945:5:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":17681,"id":17704,"nodeType":"Return","src":"2938:12:117"}]}},{"expression":{"condition":{"arguments":[{"id":17709,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"3170:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17707,"name":"_sequentialBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17664,"src":"3150:15:117","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage","typeString":"struct BitMaps.BitMap storage ref"}},"id":17708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":27728,"src":"3150:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_BitMap_$27692_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_BitMap_$27692_storage_ptr_$","typeString":"function (struct BitMaps.BitMap storage pointer,uint256) view returns (bool)"}},"id":17710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3150:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"arguments":[{"id":17721,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"3242:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3235:6:117","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":17719,"name":"uint96","nodeType":"ElementaryTypeName","src":"3235:6:117","typeDescriptions":{}}},"id":17722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3235:15:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"}],"expression":{"id":17717,"name":"_sequentialOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17661,"src":"3202:20:117","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage","typeString":"struct Checkpoints.Trace160 storage ref"}},"id":17718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"lowerLookup","nodeType":"MemberAccess","referencedDeclaration":21915,"src":"3202:32:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace160_$21847_storage_ptr_$_t_uint96_$returns$_t_uint160_$bound_to$_t_struct$_Trace160_$21847_storage_ptr_$","typeString":"function (struct Checkpoints.Trace160 storage pointer,uint96) view returns (uint160)"}},"id":17723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3202:49:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":17716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3194:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17715,"name":"address","nodeType":"ElementaryTypeName","src":"3194:7:117","typeDescriptions":{}}},"id":17724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3194:58:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3150:102:117","trueExpression":{"arguments":[{"hexValue":"30","id":17713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3189:1:117","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":17712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3181:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17711,"name":"address","nodeType":"ElementaryTypeName","src":"3181:7:117","typeDescriptions":{}}},"id":17714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3181:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":17681,"id":17726,"nodeType":"Return","src":"3143:109:117"}]},"documentation":{"id":17674,"nodeType":"StructuredDocumentation","src":"2444:187:117","text":" @dev See {ERC721-_ownerOf}. Override that checks the sequential ownership structure for tokens that have\n been minted as part of a batch, and not yet transferred."},"id":17728,"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"2645:8:117","nodeType":"FunctionDefinition","overrides":{"id":17678,"nodeType":"OverrideSpecifier","overrides":[],"src":"2693:8:117"},"parameters":{"id":17677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17676,"mutability":"mutable","name":"tokenId","nameLocation":"2662:7:117","nodeType":"VariableDeclaration","scope":17728,"src":"2654:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17675,"name":"uint256","nodeType":"ElementaryTypeName","src":"2654:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2653:17:117"},"returnParameters":{"id":17681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17728,"src":"2711:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17679,"name":"address","nodeType":"ElementaryTypeName","src":"2711:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2710:9:117"},"scope":17934,"src":"2636:623:117","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":17828,"nodeType":"Block","src":"4081:884:117","statements":[{"assignments":[17739],"declarations":[{"constant":false,"id":17739,"mutability":"mutable","name":"first","nameLocation":"4098:5:117","nodeType":"VariableDeclaration","scope":17828,"src":"4091:12:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17738,"name":"uint96","nodeType":"ElementaryTypeName","src":"4091:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"id":17742,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":17740,"name":"_totalConsecutiveSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17933,"src":"4106:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint96_$","typeString":"function () view returns (uint96)"}},"id":17741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4106:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"VariableDeclarationStatement","src":"4091:40:117"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":17745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17743,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"4194:9:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":17744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4206:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4194:13:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17825,"nodeType":"IfStatement","src":"4190:746:117","trueBody":{"id":17824,"nodeType":"Block","src":"4209:727:117","statements":[{"expression":{"arguments":[{"id":17754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4231:34:117","subExpression":{"arguments":[{"arguments":[{"id":17751,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4259:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721Consecutive_$17934","typeString":"contract ERC721Consecutive"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721Consecutive_$17934","typeString":"contract ERC721Consecutive"}],"id":17750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4251:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17749,"name":"address","nodeType":"ElementaryTypeName","src":"4251:7:117","typeDescriptions":{}}},"id":17752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4251:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17747,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"4232:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":17748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"4232:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":17753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4232:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231436f6e73656375746976653a206261746368206d696e74696e67207265737472696374656420746f20636f6e7374727563746f72","id":17755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4267:60:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_d000fd032e6fe1601cdd5033f4a2881559ea9089ce82e1619fb501b110c86f97","typeString":"literal_string \"ERC721Consecutive: batch minting restricted to constructor\""},"value":"ERC721Consecutive: batch minting restricted to constructor"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d000fd032e6fe1601cdd5033f4a2881559ea9089ce82e1619fb501b110c86f97","typeString":"literal_string \"ERC721Consecutive: batch minting restricted to constructor\""}],"id":17746,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4223:7:117","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4223:105:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17757,"nodeType":"ExpressionStatement","src":"4223:105:117"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17759,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17731,"src":"4350:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4364:1:117","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":17761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4356:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17760,"name":"address","nodeType":"ElementaryTypeName","src":"4356:7:117","typeDescriptions":{}}},"id":17763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4356:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4350:16:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231436f6e73656375746976653a206d696e7420746f20746865207a65726f2061646472657373","id":17765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4368:45:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_491142ca91a4e9b62a740c5b39d71ca8bf6e13295cebdbbad50089ceb787270a","typeString":"literal_string \"ERC721Consecutive: mint to the zero address\""},"value":"ERC721Consecutive: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_491142ca91a4e9b62a740c5b39d71ca8bf6e13295cebdbbad50089ceb787270a","typeString":"literal_string \"ERC721Consecutive: mint to the zero address\""}],"id":17758,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4342:7:117","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4342:72:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17767,"nodeType":"ExpressionStatement","src":"4342:72:117"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":17772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17769,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"4436:9:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":17770,"name":"_maxBatchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17673,"src":"4449:13:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint96_$","typeString":"function () view returns (uint96)"}},"id":17771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4449:15:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4436:28:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231436f6e73656375746976653a20626174636820746f6f206c61726765","id":17773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4466:36:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_44f4115f60f6017516952786e27c6006ae602a4fc39615754815b00d2423fdad","typeString":"literal_string \"ERC721Consecutive: batch too large\""},"value":"ERC721Consecutive: batch too large"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44f4115f60f6017516952786e27c6006ae602a4fc39615754815b00d2423fdad","typeString":"literal_string \"ERC721Consecutive: batch too large\""}],"id":17768,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4428:7:117","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4428:75:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17775,"nodeType":"ExpressionStatement","src":"4428:75:117"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":17779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4574:1:117","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":17778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4566:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17777,"name":"address","nodeType":"ElementaryTypeName","src":"4566:7:117","typeDescriptions":{}}},"id":17780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4566:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17781,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17731,"src":"4578:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17782,"name":"first","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"4582:5:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":17783,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"4589:9:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":17776,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"4545:20:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4545:54:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17785,"nodeType":"ExpressionStatement","src":"4545:54:117"},{"assignments":[17787],"declarations":[{"constant":false,"id":17787,"mutability":"mutable","name":"last","nameLocation":"4678:4:117","nodeType":"VariableDeclaration","scope":17824,"src":"4671:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17786,"name":"uint96","nodeType":"ElementaryTypeName","src":"4671:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"id":17793,"initialValue":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":17792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":17790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17788,"name":"first","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"4685:5:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":17789,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"4693:9:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"4685:17:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":17791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4705:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4685:21:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"VariableDeclarationStatement","src":"4671:35:117"},{"expression":{"arguments":[{"id":17797,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17787,"src":"4746:4:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"arguments":[{"id":17800,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17731,"src":"4760:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":17799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4752:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":17798,"name":"uint160","nodeType":"ElementaryTypeName","src":"4752:7:117","typeDescriptions":{}}},"id":17801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4752:11:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":17794,"name":"_sequentialOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17661,"src":"4720:20:117","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage","typeString":"struct Checkpoints.Trace160 storage ref"}},"id":17796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":21875,"src":"4720:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace160_$21847_storage_ptr_$_t_uint96_$_t_uint160_$returns$_t_uint160_$_t_uint160_$bound_to$_t_struct$_Trace160_$21847_storage_ptr_$","typeString":"function (struct Checkpoints.Trace160 storage pointer,uint96,uint160) returns (uint160,uint160)"}},"id":17802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4720:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"id":17803,"nodeType":"ExpressionStatement","src":"4720:44:117"},{"eventCall":{"arguments":[{"id":17805,"name":"first","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"4803:5:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":17806,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17787,"src":"4810:4:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"arguments":[{"hexValue":"30","id":17809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4824:1:117","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":17808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4816:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17807,"name":"address","nodeType":"ElementaryTypeName","src":"4816:7:117","typeDescriptions":{}}},"id":17810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4816:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17811,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17731,"src":"4828:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":17804,"name":"ConsecutiveTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8790,"src":"4783:19:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,address)"}},"id":17812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4783:48:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17813,"nodeType":"EmitStatement","src":"4778:53:117"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":17817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4900:1:117","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":17816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4892:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17815,"name":"address","nodeType":"ElementaryTypeName","src":"4892:7:117","typeDescriptions":{}}},"id":17818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4892:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17819,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17731,"src":"4904:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17820,"name":"first","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"4908:5:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":17821,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"4915:9:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":17814,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[17912],"referencedDeclaration":17912,"src":"4872:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4872:53:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17823,"nodeType":"ExpressionStatement","src":"4872:53:117"}]}},{"expression":{"id":17826,"name":"first","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"4953:5:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":17737,"id":17827,"nodeType":"Return","src":"4946:12:117"}]},"documentation":{"id":17729,"nodeType":"StructuredDocumentation","src":"3265:721:117","text":" @dev Mint a batch of tokens of length `batchSize` for `to`. Returns the token id of the first token minted in the\n batch; if `batchSize` is 0, returns the number of consecutive ids minted so far.\n Requirements:\n - `batchSize` must not be greater than {_maxBatchSize}.\n - The function is called in the constructor of the contract (directly or indirectly).\n CAUTION: Does not emit a `Transfer` event. This is ERC721 compliant as long as it is done outside of the\n constructor, which is enforced by this function.\n CAUTION: Does not invoke `onERC721Received` on the receiver.\n Emits a {IERC2309-ConsecutiveTransfer} event."},"id":17829,"implemented":true,"kind":"function","modifiers":[],"name":"_mintConsecutive","nameLocation":"4000:16:117","nodeType":"FunctionDefinition","parameters":{"id":17734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17731,"mutability":"mutable","name":"to","nameLocation":"4025:2:117","nodeType":"VariableDeclaration","scope":17829,"src":"4017:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17730,"name":"address","nodeType":"ElementaryTypeName","src":"4017:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17733,"mutability":"mutable","name":"batchSize","nameLocation":"4036:9:117","nodeType":"VariableDeclaration","scope":17829,"src":"4029:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17732,"name":"uint96","nodeType":"ElementaryTypeName","src":"4029:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"4016:30:117"},"returnParameters":{"id":17737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17829,"src":"4073:6:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17735,"name":"uint96","nodeType":"ElementaryTypeName","src":"4073:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"4072:8:117"},"scope":17934,"src":"3991:974:117","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[17131],"body":{"id":17856,"nodeType":"Block","src":"5383:146:117","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":17843,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5428:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721Consecutive_$17934","typeString":"contract ERC721Consecutive"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721Consecutive_$17934","typeString":"contract ERC721Consecutive"}],"id":17842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5420:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17841,"name":"address","nodeType":"ElementaryTypeName","src":"5420:7:117","typeDescriptions":{}}},"id":17844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5420:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17839,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"5401:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":17840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"5401:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":17845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5401:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231436f6e73656375746976653a2063616e2774206d696e7420647572696e6720636f6e737472756374696f6e","id":17846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5436:51:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e6d8904387bec5cc54c8eda8713a274ae101ec3c2267e311425a3508cc73a72","typeString":"literal_string \"ERC721Consecutive: can't mint during construction\""},"value":"ERC721Consecutive: can't mint during construction"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3e6d8904387bec5cc54c8eda8713a274ae101ec3c2267e311425a3508cc73a72","typeString":"literal_string \"ERC721Consecutive: can't mint during construction\""}],"id":17838,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5393:7:117","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5393:95:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17848,"nodeType":"ExpressionStatement","src":"5393:95:117"},{"expression":{"arguments":[{"id":17852,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17832,"src":"5510:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17853,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17834,"src":"5514:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17849,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5498:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Consecutive_$17934_$","typeString":"type(contract super ERC721Consecutive)"}},"id":17851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_mint","nodeType":"MemberAccess","referencedDeclaration":17131,"src":"5498:11:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":17854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5498:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17855,"nodeType":"ExpressionStatement","src":"5498:24:117"}]},"documentation":{"id":17830,"nodeType":"StructuredDocumentation","src":"4971:337:117","text":" @dev See {ERC721-_mint}. Override version that restricts normal minting to after construction.\n Warning: Using {ERC721Consecutive} prevents using {_mint} during construction in favor of {_mintConsecutive}.\n After construction, {_mintConsecutive} is no longer available and {_mint} becomes available."},"id":17857,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"5322:5:117","nodeType":"FunctionDefinition","overrides":{"id":17836,"nodeType":"OverrideSpecifier","overrides":[],"src":"5374:8:117"},"parameters":{"id":17835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17832,"mutability":"mutable","name":"to","nameLocation":"5336:2:117","nodeType":"VariableDeclaration","scope":17857,"src":"5328:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17831,"name":"address","nodeType":"ElementaryTypeName","src":"5328:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17834,"mutability":"mutable","name":"tokenId","nameLocation":"5348:7:117","nodeType":"VariableDeclaration","scope":17857,"src":"5340:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17833,"name":"uint256","nodeType":"ElementaryTypeName","src":"5340:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5327:29:117"},"returnParameters":{"id":17837,"nodeType":"ParameterList","parameters":[],"src":"5383:0:117"},"scope":17934,"src":"5313:216:117","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[17474],"body":{"id":17911,"nodeType":"Block","src":"5828:476:117","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17870,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17862,"src":"5855:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":17873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5869:1:117","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":17872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5861:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17871,"name":"address","nodeType":"ElementaryTypeName","src":"5861:7:117","typeDescriptions":{}}},"id":17874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5861:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5855:16:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17876,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17864,"src":"5901:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":17877,"name":"_totalConsecutiveSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17933,"src":"5916:23:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint96_$","typeString":"function () view returns (uint96)"}},"id":17878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5916:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"5901:40:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5855:86:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":17885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5998:34:117","subExpression":{"arguments":[{"id":17883,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17864,"src":"6019:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17881,"name":"_sequentialBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17664,"src":"5999:15:117","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage","typeString":"struct BitMaps.BitMap storage ref"}},"id":17882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":27728,"src":"5999:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_BitMap_$27692_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_BitMap_$27692_storage_ptr_$","typeString":"function (struct BitMaps.BitMap storage pointer,uint256) view returns (bool)"}},"id":17884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5999:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5855:177:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17901,"nodeType":"IfStatement","src":"5838:390:117","trueBody":{"id":17900,"nodeType":"Block","src":"6086:142:117","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17888,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17866,"src":"6108:9:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":17889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6121:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6108:14:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231436f6e73656375746976653a206261746368206275726e206e6f7420737570706f72746564","id":17891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6124:45:117","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5205f41d5c9bf1d20237015c228aa73a3a45387215f6479c9f402f2845db4b2","typeString":"literal_string \"ERC721Consecutive: batch burn not supported\""},"value":"ERC721Consecutive: batch burn not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a5205f41d5c9bf1d20237015c228aa73a3a45387215f6479c9f402f2845db4b2","typeString":"literal_string \"ERC721Consecutive: batch burn not supported\""}],"id":17887,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6100:7:117","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6100:70:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17893,"nodeType":"ExpressionStatement","src":"6100:70:117"},{"expression":{"arguments":[{"id":17897,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17864,"src":"6204:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17894,"name":"_sequentialBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17664,"src":"6184:15:117","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage","typeString":"struct BitMaps.BitMap storage ref"}},"id":17896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"set","nodeType":"MemberAccess","referencedDeclaration":27787,"src":"6184:19:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BitMap_$27692_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_BitMap_$27692_storage_ptr_$","typeString":"function (struct BitMaps.BitMap storage pointer,uint256)"}},"id":17898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6184:33:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17899,"nodeType":"ExpressionStatement","src":"6184:33:117"}]}},{"expression":{"arguments":[{"id":17905,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17860,"src":"6263:4:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17906,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17862,"src":"6269:2:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17907,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17864,"src":"6273:12:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17908,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17866,"src":"6287:9:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17902,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6237:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Consecutive_$17934_$","typeString":"type(contract super ERC721Consecutive)"}},"id":17904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_afterTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":17474,"src":"6237:25:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":17909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6237:60:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17910,"nodeType":"ExpressionStatement","src":"6237:60:117"}]},"documentation":{"id":17858,"nodeType":"StructuredDocumentation","src":"5535:128:117","text":" @dev See {ERC721-_afterTokenTransfer}. Burning of tokens that have been sequentially minted must be explicit."},"id":17912,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"5677:19:117","nodeType":"FunctionDefinition","overrides":{"id":17868,"nodeType":"OverrideSpecifier","overrides":[],"src":"5819:8:117"},"parameters":{"id":17867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17860,"mutability":"mutable","name":"from","nameLocation":"5714:4:117","nodeType":"VariableDeclaration","scope":17912,"src":"5706:12:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17859,"name":"address","nodeType":"ElementaryTypeName","src":"5706:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17862,"mutability":"mutable","name":"to","nameLocation":"5736:2:117","nodeType":"VariableDeclaration","scope":17912,"src":"5728:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17861,"name":"address","nodeType":"ElementaryTypeName","src":"5728:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17864,"mutability":"mutable","name":"firstTokenId","nameLocation":"5756:12:117","nodeType":"VariableDeclaration","scope":17912,"src":"5748:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17863,"name":"uint256","nodeType":"ElementaryTypeName","src":"5748:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17866,"mutability":"mutable","name":"batchSize","nameLocation":"5786:9:117","nodeType":"VariableDeclaration","scope":17912,"src":"5778:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5778:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5696:105:117"},"returnParameters":{"id":17869,"nodeType":"ParameterList","parameters":[],"src":"5828:0:117"},"scope":17934,"src":"5668:636:117","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":17932,"nodeType":"Block","src":"6375:133:117","statements":[{"assignments":[17918,17920,null],"declarations":[{"constant":false,"id":17918,"mutability":"mutable","name":"exists","nameLocation":"6391:6:117","nodeType":"VariableDeclaration","scope":17932,"src":"6386:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17917,"name":"bool","nodeType":"ElementaryTypeName","src":"6386:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17920,"mutability":"mutable","name":"latestId","nameLocation":"6406:8:117","nodeType":"VariableDeclaration","scope":17932,"src":"6399:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17919,"name":"uint96","nodeType":"ElementaryTypeName","src":"6399:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},null],"id":17924,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17921,"name":"_sequentialOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17661,"src":"6420:20:117","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage","typeString":"struct Checkpoints.Trace160 storage ref"}},"id":17922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"latestCheckpoint","nodeType":"MemberAccess","referencedDeclaration":22036,"src":"6420:37:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace160_$21847_storage_ptr_$returns$_t_bool_$_t_uint96_$_t_uint160_$bound_to$_t_struct$_Trace160_$21847_storage_ptr_$","typeString":"function (struct Checkpoints.Trace160 storage pointer) view returns (bool,uint96,uint160)"}},"id":17923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6420:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint96_$_t_uint160_$","typeString":"tuple(bool,uint96,uint160)"}},"nodeType":"VariableDeclarationStatement","src":"6385:74:117"},{"expression":{"condition":{"id":17925,"name":"exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17918,"src":"6476:6:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":17929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6500:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":17930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6476:25:117","trueExpression":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":17928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17926,"name":"latestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17920,"src":"6485:8:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":17927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6496:1:117","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6485:12:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":17916,"id":17931,"nodeType":"Return","src":"6469:32:117"}]},"id":17933,"implemented":true,"kind":"function","modifiers":[],"name":"_totalConsecutiveSupply","nameLocation":"6319:23:117","nodeType":"FunctionDefinition","parameters":{"id":17913,"nodeType":"ParameterList","parameters":[],"src":"6342:2:117"},"returnParameters":{"id":17916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17933,"src":"6367:6:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":17914,"name":"uint96","nodeType":"ElementaryTypeName","src":"6367:6:117","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"6366:8:117"},"scope":17934,"src":"6310:198:117","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":17935,"src":"1623:4887:117","usedErrors":[]}],"src":"129:6382:117"},"id":117},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"ERC721Enumerable":[18288],"IERC165":[24693],"IERC721":[17591],"IERC721Enumerable":[18583],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726]},"id":18289,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17936,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:118"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":17937,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18289,"sourceUnit":17476,"src":"153:23:118","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","file":"./IERC721Enumerable.sol","id":17938,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18289,"sourceUnit":18584,"src":"177:33:118","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":17940,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"450:6:118"},"id":17941,"nodeType":"InheritanceSpecifier","src":"450:6:118"},{"baseName":{"id":17942,"name":"IERC721Enumerable","nodeType":"IdentifierPath","referencedDeclaration":18583,"src":"458:17:118"},"id":17943,"nodeType":"InheritanceSpecifier","src":"458:17:118"}],"canonicalName":"ERC721Enumerable","contractDependencies":[],"contractKind":"contract","documentation":{"id":17939,"nodeType":"StructuredDocumentation","src":"212:199:118","text":" @dev This implements an optional extension of {ERC721} defined in the EIP that adds\n enumerability of all the token ids in the contract as well as all token ids owned by each\n account."},"fullyImplemented":false,"id":18288,"linearizedBaseContracts":[18288,18583,17475,18610,17591,24377,24693,22281],"name":"ERC721Enumerable","nameLocation":"430:16:118","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":17949,"mutability":"mutable","name":"_ownedTokens","nameLocation":"591:12:118","nodeType":"VariableDeclaration","scope":18288,"src":"535:68:118","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":17948,"keyType":{"id":17944,"name":"address","nodeType":"ElementaryTypeName","src":"543:7:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"535:47:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueType":{"id":17947,"keyType":{"id":17945,"name":"uint256","nodeType":"ElementaryTypeName","src":"562:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"554:27:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueType":{"id":17946,"name":"uint256","nodeType":"ElementaryTypeName","src":"573:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":17953,"mutability":"mutable","name":"_ownedTokensIndex","nameLocation":"709:17:118","nodeType":"VariableDeclaration","scope":18288,"src":"673:53:118","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":17952,"keyType":{"id":17950,"name":"uint256","nodeType":"ElementaryTypeName","src":"681:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"673:27:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueType":{"id":17951,"name":"uint256","nodeType":"ElementaryTypeName","src":"692:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":17956,"mutability":"mutable","name":"_allTokens","nameLocation":"805:10:118","nodeType":"VariableDeclaration","scope":18288,"src":"787:28:118","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[]"},"typeName":{"baseType":{"id":17954,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17955,"nodeType":"ArrayTypeName","src":"787:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"private"},{"constant":false,"id":17960,"mutability":"mutable","name":"_allTokensIndex","nameLocation":"922:15:118","nodeType":"VariableDeclaration","scope":18288,"src":"886:51:118","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":17959,"keyType":{"id":17957,"name":"uint256","nodeType":"ElementaryTypeName","src":"894:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"886:27:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueType":{"id":17958,"name":"uint256","nodeType":"ElementaryTypeName","src":"905:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"baseFunctions":[16624,24692],"body":{"id":17983,"nodeType":"Block","src":"1113:114:118","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":17981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":17976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17971,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17963,"src":"1130:11:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":17973,"name":"IERC721Enumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18583,"src":"1150:17:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Enumerable_$18583_$","typeString":"type(contract IERC721Enumerable)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Enumerable_$18583_$","typeString":"type(contract IERC721Enumerable)"}],"id":17972,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1145:4:118","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":17974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1145:23:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Enumerable_$18583","typeString":"type(contract IERC721Enumerable)"}},"id":17975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1145:35:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1130:50:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":17979,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17963,"src":"1208:11:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":17977,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1184:5:118","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Enumerable_$18288_$","typeString":"type(contract super ERC721Enumerable)"}},"id":17978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":16624,"src":"1184:23:118","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":17980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1184:36:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1130:90:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17970,"id":17982,"nodeType":"Return","src":"1123:97:118"}]},"documentation":{"id":17961,"nodeType":"StructuredDocumentation","src":"944:56:118","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":17984,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1014:17:118","nodeType":"FunctionDefinition","overrides":{"id":17967,"nodeType":"OverrideSpecifier","overrides":[{"id":17965,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1081:7:118"},{"id":17966,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"1090:6:118"}],"src":"1072:25:118"},"parameters":{"id":17964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17963,"mutability":"mutable","name":"interfaceId","nameLocation":"1039:11:118","nodeType":"VariableDeclaration","scope":17984,"src":"1032:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17962,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1032:6:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1031:20:118"},"returnParameters":{"id":17970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17984,"src":"1107:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17968,"name":"bool","nodeType":"ElementaryTypeName","src":"1107:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1106:6:118"},"scope":18288,"src":"1005:222:118","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18574],"body":{"id":18011,"nodeType":"Block","src":"1412:147:118","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17996,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17989,"src":"1430:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":17999,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17987,"src":"1455:5:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17997,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"1438:6:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":17998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":16648,"src":"1438:16:118","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":18000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1438:23:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1430:31:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e6473","id":18002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1463:45:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c","typeString":"literal_string \"ERC721Enumerable: owner index out of bounds\""},"value":"ERC721Enumerable: owner index out of bounds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c","typeString":"literal_string \"ERC721Enumerable: owner index out of bounds\""}],"id":17995,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1422:7:118","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1422:87:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18004,"nodeType":"ExpressionStatement","src":"1422:87:118"},{"expression":{"baseExpression":{"baseExpression":{"id":18005,"name":"_ownedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17949,"src":"1526:12:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":18007,"indexExpression":{"id":18006,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17987,"src":"1539:5:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1526:19:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18009,"indexExpression":{"id":18008,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17989,"src":"1546:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1526:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17994,"id":18010,"nodeType":"Return","src":"1519:33:118"}]},"documentation":{"id":17985,"nodeType":"StructuredDocumentation","src":"1233:68:118","text":" @dev See {IERC721Enumerable-tokenOfOwnerByIndex}."},"functionSelector":"2f745c59","id":18012,"implemented":true,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"1315:19:118","nodeType":"FunctionDefinition","overrides":{"id":17991,"nodeType":"OverrideSpecifier","overrides":[],"src":"1385:8:118"},"parameters":{"id":17990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17987,"mutability":"mutable","name":"owner","nameLocation":"1343:5:118","nodeType":"VariableDeclaration","scope":18012,"src":"1335:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17986,"name":"address","nodeType":"ElementaryTypeName","src":"1335:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17989,"mutability":"mutable","name":"index","nameLocation":"1358:5:118","nodeType":"VariableDeclaration","scope":18012,"src":"1350:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17988,"name":"uint256","nodeType":"ElementaryTypeName","src":"1350:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1334:30:118"},"returnParameters":{"id":17994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18012,"src":"1403:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17992,"name":"uint256","nodeType":"ElementaryTypeName","src":"1403:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1402:9:118"},"scope":18288,"src":"1306:253:118","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18564],"body":{"id":18022,"nodeType":"Block","src":"1700:41:118","statements":[{"expression":{"expression":{"id":18019,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"1717:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1717:17:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18018,"id":18021,"nodeType":"Return","src":"1710:24:118"}]},"documentation":{"id":18013,"nodeType":"StructuredDocumentation","src":"1565:60:118","text":" @dev See {IERC721Enumerable-totalSupply}."},"functionSelector":"18160ddd","id":18023,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1639:11:118","nodeType":"FunctionDefinition","overrides":{"id":18015,"nodeType":"OverrideSpecifier","overrides":[],"src":"1673:8:118"},"parameters":{"id":18014,"nodeType":"ParameterList","parameters":[],"src":"1650:2:118"},"returnParameters":{"id":18018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18023,"src":"1691:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18016,"name":"uint256","nodeType":"ElementaryTypeName","src":"1691:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1690:9:118"},"scope":18288,"src":"1630:111:118","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[18582],"body":{"id":18045,"nodeType":"Block","src":"1897:146:118","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18033,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18026,"src":"1915:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18034,"name":"ERC721Enumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18288,"src":"1923:16:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Enumerable_$18288_$","typeString":"type(contract ERC721Enumerable)"}},"id":18035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":18023,"src":"1923:28:118","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":18036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1923:30:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1915:38:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473","id":18038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1955:46:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc","typeString":"literal_string \"ERC721Enumerable: global index out of bounds\""},"value":"ERC721Enumerable: global index out of bounds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc","typeString":"literal_string \"ERC721Enumerable: global index out of bounds\""}],"id":18032,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1907:7:118","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1907:95:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18040,"nodeType":"ExpressionStatement","src":"1907:95:118"},{"expression":{"baseExpression":{"id":18041,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"2019:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18043,"indexExpression":{"id":18042,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18026,"src":"2030:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2019:17:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18031,"id":18044,"nodeType":"Return","src":"2012:24:118"}]},"documentation":{"id":18024,"nodeType":"StructuredDocumentation","src":"1747:61:118","text":" @dev See {IERC721Enumerable-tokenByIndex}."},"functionSelector":"4f6ccce7","id":18046,"implemented":true,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"1822:12:118","nodeType":"FunctionDefinition","overrides":{"id":18028,"nodeType":"OverrideSpecifier","overrides":[],"src":"1870:8:118"},"parameters":{"id":18027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18026,"mutability":"mutable","name":"index","nameLocation":"1843:5:118","nodeType":"VariableDeclaration","scope":18046,"src":"1835:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18025,"name":"uint256","nodeType":"ElementaryTypeName","src":"1835:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1834:15:118"},"returnParameters":{"id":18031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18046,"src":"1888:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18029,"name":"uint256","nodeType":"ElementaryTypeName","src":"1888:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1887:9:118"},"scope":18288,"src":"1813:230:118","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17461],"body":{"id":18125,"nodeType":"Block","src":"2273:729:118","statements":[{"expression":{"arguments":[{"id":18062,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"2310:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18063,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"2316:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18064,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18053,"src":"2320:12:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18065,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18055,"src":"2334:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18059,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2283:5:118","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Enumerable_$18288_$","typeString":"type(contract super ERC721Enumerable)"}},"id":18061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":17461,"src":"2283:26:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":18066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2283:61:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18067,"nodeType":"ExpressionStatement","src":"2283:61:118"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18068,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18055,"src":"2359:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":18069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2371:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2359:13:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18076,"nodeType":"IfStatement","src":"2355:219:118","trueBody":{"id":18075,"nodeType":"Block","src":"2374:200:118","statements":[{"expression":{"arguments":[{"hexValue":"455243373231456e756d657261626c653a20636f6e7365637574697665207472616e7366657273206e6f7420737570706f72746564","id":18072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2507:55:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314","typeString":"literal_string \"ERC721Enumerable: consecutive transfers not supported\""},"value":"ERC721Enumerable: consecutive transfers not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314","typeString":"literal_string \"ERC721Enumerable: consecutive transfers not supported\""}],"id":18071,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2500:6:118","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":18073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2500:63:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18074,"nodeType":"ExpressionStatement","src":"2500:63:118"}]}},{"assignments":[18078],"declarations":[{"constant":false,"id":18078,"mutability":"mutable","name":"tokenId","nameLocation":"2592:7:118","nodeType":"VariableDeclaration","scope":18125,"src":"2584:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18077,"name":"uint256","nodeType":"ElementaryTypeName","src":"2584:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18080,"initialValue":{"id":18079,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18053,"src":"2602:12:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2584:30:118"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":18086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18081,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"2629:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":18084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2645:1:118","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":18083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2637:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18082,"name":"address","nodeType":"ElementaryTypeName","src":"2637:7:118","typeDescriptions":{}}},"id":18085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2637:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2629:18:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":18094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18092,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"2724:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":18093,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"2732:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2724:10:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18101,"nodeType":"IfStatement","src":"2720:88:118","trueBody":{"id":18100,"nodeType":"Block","src":"2736:72:118","statements":[{"expression":{"arguments":[{"id":18096,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"2783:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18097,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"2789:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18095,"name":"_removeTokenFromOwnerEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18239,"src":"2750:32:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":18098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2750:47:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18099,"nodeType":"ExpressionStatement","src":"2750:47:118"}]}},"id":18102,"nodeType":"IfStatement","src":"2625:183:118","trueBody":{"id":18091,"nodeType":"Block","src":"2649:65:118","statements":[{"expression":{"arguments":[{"id":18088,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"2695:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18087,"name":"_addTokenToAllTokensEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18176,"src":"2663:31:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2663:40:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18090,"nodeType":"ExpressionStatement","src":"2663:40:118"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":18108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18103,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"2821:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":18106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2835:1:118","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":18105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2827:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18104,"name":"address","nodeType":"ElementaryTypeName","src":"2827:7:118","typeDescriptions":{}}},"id":18107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2827:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2821:16:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":18116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18114,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"2919:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":18115,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"2925:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2919:10:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18123,"nodeType":"IfStatement","src":"2915:81:118","trueBody":{"id":18122,"nodeType":"Block","src":"2931:65:118","statements":[{"expression":{"arguments":[{"id":18118,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"2973:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18119,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"2977:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18117,"name":"_addTokenToOwnerEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18156,"src":"2945:27:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":18120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2945:40:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18121,"nodeType":"ExpressionStatement","src":"2945:40:118"}]}},"id":18124,"nodeType":"IfStatement","src":"2817:179:118","trueBody":{"id":18113,"nodeType":"Block","src":"2839:70:118","statements":[{"expression":{"arguments":[{"id":18110,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"2890:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18109,"name":"_removeTokenFromAllTokensEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18287,"src":"2853:36:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2853:45:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18112,"nodeType":"ExpressionStatement","src":"2853:45:118"}]}}]},"documentation":{"id":18047,"nodeType":"StructuredDocumentation","src":"2049:58:118","text":" @dev See {ERC721-_beforeTokenTransfer}."},"id":18126,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"2121:20:118","nodeType":"FunctionDefinition","overrides":{"id":18057,"nodeType":"OverrideSpecifier","overrides":[],"src":"2264:8:118"},"parameters":{"id":18056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18049,"mutability":"mutable","name":"from","nameLocation":"2159:4:118","nodeType":"VariableDeclaration","scope":18126,"src":"2151:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18048,"name":"address","nodeType":"ElementaryTypeName","src":"2151:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18051,"mutability":"mutable","name":"to","nameLocation":"2181:2:118","nodeType":"VariableDeclaration","scope":18126,"src":"2173:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18050,"name":"address","nodeType":"ElementaryTypeName","src":"2173:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18053,"mutability":"mutable","name":"firstTokenId","nameLocation":"2201:12:118","nodeType":"VariableDeclaration","scope":18126,"src":"2193:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18052,"name":"uint256","nodeType":"ElementaryTypeName","src":"2193:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18055,"mutability":"mutable","name":"batchSize","nameLocation":"2231:9:118","nodeType":"VariableDeclaration","scope":18126,"src":"2223:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18054,"name":"uint256","nodeType":"ElementaryTypeName","src":"2223:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2141:105:118"},"returnParameters":{"id":18058,"nodeType":"ParameterList","parameters":[],"src":"2273:0:118"},"scope":18288,"src":"2112:890:118","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":18155,"nodeType":"Block","src":"3370:143:118","statements":[{"assignments":[18135],"declarations":[{"constant":false,"id":18135,"mutability":"mutable","name":"length","nameLocation":"3388:6:118","nodeType":"VariableDeclaration","scope":18155,"src":"3380:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18134,"name":"uint256","nodeType":"ElementaryTypeName","src":"3380:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18140,"initialValue":{"arguments":[{"id":18138,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18129,"src":"3414:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18136,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"3397:6:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":18137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":16648,"src":"3397:16:118","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":18139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3397:20:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3380:37:118"},{"expression":{"id":18147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":18141,"name":"_ownedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17949,"src":"3427:12:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":18144,"indexExpression":{"id":18142,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18129,"src":"3440:2:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3427:16:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18145,"indexExpression":{"id":18143,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18135,"src":"3444:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3427:24:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18146,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18131,"src":"3454:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3427:34:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18148,"nodeType":"ExpressionStatement","src":"3427:34:118"},{"expression":{"id":18153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18149,"name":"_ownedTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17953,"src":"3471:17:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18151,"indexExpression":{"id":18150,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18131,"src":"3489:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3471:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18152,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18135,"src":"3500:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3471:35:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18154,"nodeType":"ExpressionStatement","src":"3471:35:118"}]},"documentation":{"id":18127,"nodeType":"StructuredDocumentation","src":"3008:283:118","text":" @dev Private function to add a token to this extension's ownership-tracking data structures.\n @param to address representing the new owner of the given token ID\n @param tokenId uint256 ID of the token to be added to the tokens list of the given address"},"id":18156,"implemented":true,"kind":"function","modifiers":[],"name":"_addTokenToOwnerEnumeration","nameLocation":"3305:27:118","nodeType":"FunctionDefinition","parameters":{"id":18132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18129,"mutability":"mutable","name":"to","nameLocation":"3341:2:118","nodeType":"VariableDeclaration","scope":18156,"src":"3333:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18128,"name":"address","nodeType":"ElementaryTypeName","src":"3333:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18131,"mutability":"mutable","name":"tokenId","nameLocation":"3353:7:118","nodeType":"VariableDeclaration","scope":18156,"src":"3345:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18130,"name":"uint256","nodeType":"ElementaryTypeName","src":"3345:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3332:29:118"},"returnParameters":{"id":18133,"nodeType":"ParameterList","parameters":[],"src":"3370:0:118"},"scope":18288,"src":"3296:217:118","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":18175,"nodeType":"Block","src":"3774:95:118","statements":[{"expression":{"id":18167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18162,"name":"_allTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17960,"src":"3784:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18164,"indexExpression":{"id":18163,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18159,"src":"3800:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3784:24:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":18165,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"3811:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3811:17:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3784:44:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18168,"nodeType":"ExpressionStatement","src":"3784:44:118"},{"expression":{"arguments":[{"id":18172,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18159,"src":"3854:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18169,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"3838:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"3838:15:118","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":18173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3838:24:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18174,"nodeType":"ExpressionStatement","src":"3838:24:118"}]},"documentation":{"id":18157,"nodeType":"StructuredDocumentation","src":"3519:184:118","text":" @dev Private function to add a token to this extension's token tracking data structures.\n @param tokenId uint256 ID of the token to be added to the tokens list"},"id":18176,"implemented":true,"kind":"function","modifiers":[],"name":"_addTokenToAllTokensEnumeration","nameLocation":"3717:31:118","nodeType":"FunctionDefinition","parameters":{"id":18160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18159,"mutability":"mutable","name":"tokenId","nameLocation":"3757:7:118","nodeType":"VariableDeclaration","scope":18176,"src":"3749:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18158,"name":"uint256","nodeType":"ElementaryTypeName","src":"3749:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3748:17:118"},"returnParameters":{"id":18161,"nodeType":"ParameterList","parameters":[],"src":"3774:0:118"},"scope":18288,"src":"3708:161:118","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":18238,"nodeType":"Block","src":"4567:889:118","statements":[{"assignments":[18185],"declarations":[{"constant":false,"id":18185,"mutability":"mutable","name":"lastTokenIndex","nameLocation":"4756:14:118","nodeType":"VariableDeclaration","scope":18238,"src":"4748:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18184,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18192,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":18188,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18179,"src":"4790:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18186,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17475,"src":"4773:6:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$17475_$","typeString":"type(contract ERC721)"}},"id":18187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":16648,"src":"4773:16:118","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":18189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4773:22:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4798:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4773:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4748:51:118"},{"assignments":[18194],"declarations":[{"constant":false,"id":18194,"mutability":"mutable","name":"tokenIndex","nameLocation":"4817:10:118","nodeType":"VariableDeclaration","scope":18238,"src":"4809:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18193,"name":"uint256","nodeType":"ElementaryTypeName","src":"4809:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18198,"initialValue":{"baseExpression":{"id":18195,"name":"_ownedTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17953,"src":"4830:17:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18197,"indexExpression":{"id":18196,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18181,"src":"4848:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4830:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4809:47:118"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18199,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18194,"src":"4960:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":18200,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18185,"src":"4974:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4960:28:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18225,"nodeType":"IfStatement","src":"4956:323:118","trueBody":{"id":18224,"nodeType":"Block","src":"4990:289:118","statements":[{"assignments":[18203],"declarations":[{"constant":false,"id":18203,"mutability":"mutable","name":"lastTokenId","nameLocation":"5012:11:118","nodeType":"VariableDeclaration","scope":18224,"src":"5004:19:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18202,"name":"uint256","nodeType":"ElementaryTypeName","src":"5004:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18209,"initialValue":{"baseExpression":{"baseExpression":{"id":18204,"name":"_ownedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17949,"src":"5026:12:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":18206,"indexExpression":{"id":18205,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18179,"src":"5039:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5026:18:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18208,"indexExpression":{"id":18207,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18185,"src":"5045:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5026:34:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5004:56:118"},{"expression":{"id":18216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":18210,"name":"_ownedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17949,"src":"5075:12:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":18213,"indexExpression":{"id":18211,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18179,"src":"5088:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5075:18:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18214,"indexExpression":{"id":18212,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18194,"src":"5094:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5075:30:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18215,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18203,"src":"5108:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5075:44:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18217,"nodeType":"ExpressionStatement","src":"5075:44:118"},{"expression":{"id":18222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18218,"name":"_ownedTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17953,"src":"5191:17:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18220,"indexExpression":{"id":18219,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18203,"src":"5209:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5191:30:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18221,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18194,"src":"5224:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5191:43:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18223,"nodeType":"ExpressionStatement","src":"5191:43:118"}]}},{"expression":{"id":18229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5365:33:118","subExpression":{"baseExpression":{"id":18226,"name":"_ownedTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17953,"src":"5372:17:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18228,"indexExpression":{"id":18227,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18181,"src":"5390:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5372:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18230,"nodeType":"ExpressionStatement","src":"5365:33:118"},{"expression":{"id":18236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5408:41:118","subExpression":{"baseExpression":{"baseExpression":{"id":18231,"name":"_ownedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17949,"src":"5415:12:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":18233,"indexExpression":{"id":18232,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18179,"src":"5428:4:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5415:18:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18235,"indexExpression":{"id":18234,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18185,"src":"5434:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5415:34:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18237,"nodeType":"ExpressionStatement","src":"5408:41:118"}]},"documentation":{"id":18177,"nodeType":"StructuredDocumentation","src":"3875:606:118","text":" @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\n while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for\n gas optimizations e.g. when performing a transfer operation (avoiding double writes).\n This has O(1) time complexity, but alters the order of the _ownedTokens array.\n @param from address representing the previous owner of the given token ID\n @param tokenId uint256 ID of the token to be removed from the tokens list of the given address"},"id":18239,"implemented":true,"kind":"function","modifiers":[],"name":"_removeTokenFromOwnerEnumeration","nameLocation":"4495:32:118","nodeType":"FunctionDefinition","parameters":{"id":18182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18179,"mutability":"mutable","name":"from","nameLocation":"4536:4:118","nodeType":"VariableDeclaration","scope":18239,"src":"4528:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18178,"name":"address","nodeType":"ElementaryTypeName","src":"4528:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18181,"mutability":"mutable","name":"tokenId","nameLocation":"4550:7:118","nodeType":"VariableDeclaration","scope":18239,"src":"4542:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18180,"name":"uint256","nodeType":"ElementaryTypeName","src":"4542:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4527:31:118"},"returnParameters":{"id":18183,"nodeType":"ParameterList","parameters":[],"src":"4567:0:118"},"scope":18288,"src":"4486:970:118","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":18286,"nodeType":"Block","src":"5815:990:118","statements":[{"assignments":[18246],"declarations":[{"constant":false,"id":18246,"mutability":"mutable","name":"lastTokenIndex","nameLocation":"6001:14:118","nodeType":"VariableDeclaration","scope":18286,"src":"5993:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18245,"name":"uint256","nodeType":"ElementaryTypeName","src":"5993:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18251,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":18247,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"6018:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6018:17:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6038:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6018:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5993:46:118"},{"assignments":[18253],"declarations":[{"constant":false,"id":18253,"mutability":"mutable","name":"tokenIndex","nameLocation":"6057:10:118","nodeType":"VariableDeclaration","scope":18286,"src":"6049:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18252,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18257,"initialValue":{"baseExpression":{"id":18254,"name":"_allTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17960,"src":"6070:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18256,"indexExpression":{"id":18255,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18242,"src":"6086:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6070:24:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6049:45:118"},{"assignments":[18259],"declarations":[{"constant":false,"id":18259,"mutability":"mutable","name":"lastTokenId","nameLocation":"6424:11:118","nodeType":"VariableDeclaration","scope":18286,"src":"6416:19:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18258,"name":"uint256","nodeType":"ElementaryTypeName","src":"6416:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18263,"initialValue":{"baseExpression":{"id":18260,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"6438:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18262,"indexExpression":{"id":18261,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18246,"src":"6449:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6416:48:118"},{"expression":{"id":18268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18264,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"6475:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18266,"indexExpression":{"id":18265,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"6486:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6475:22:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18267,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18259,"src":"6500:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6475:36:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18269,"nodeType":"ExpressionStatement","src":"6475:36:118"},{"expression":{"id":18274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18270,"name":"_allTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17960,"src":"6579:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18272,"indexExpression":{"id":18271,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18259,"src":"6595:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6579:28:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18273,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"6610:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6579:41:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18275,"nodeType":"ExpressionStatement","src":"6579:41:118"},{"expression":{"id":18279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6741:31:118","subExpression":{"baseExpression":{"id":18276,"name":"_allTokensIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17960,"src":"6748:15:118","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18278,"indexExpression":{"id":18277,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18242,"src":"6764:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6748:24:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18280,"nodeType":"ExpressionStatement","src":"6741:31:118"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18281,"name":"_allTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"6782:10:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":18283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pop","nodeType":"MemberAccess","src":"6782:14:118","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":18284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6782:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18285,"nodeType":"ExpressionStatement","src":"6782:16:118"}]},"documentation":{"id":18240,"nodeType":"StructuredDocumentation","src":"5462:277:118","text":" @dev Private function to remove a token from this extension's token tracking data structures.\n This has O(1) time complexity, but alters the order of the _allTokens array.\n @param tokenId uint256 ID of the token to be removed from the tokens list"},"id":18287,"implemented":true,"kind":"function","modifiers":[],"name":"_removeTokenFromAllTokensEnumeration","nameLocation":"5753:36:118","nodeType":"FunctionDefinition","parameters":{"id":18243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18242,"mutability":"mutable","name":"tokenId","nameLocation":"5798:7:118","nodeType":"VariableDeclaration","scope":18287,"src":"5790:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18241,"name":"uint256","nodeType":"ElementaryTypeName","src":"5790:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5789:17:118"},"returnParameters":{"id":18244,"nodeType":"ParameterList","parameters":[],"src":"5815:0:118"},"scope":18288,"src":"5744:1061:118","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":18289,"src":"412:6395:118","usedErrors":[]}],"src":"128:6680:118"},"id":118},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"ERC721Pausable":[18328],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Pausable":[10642],"Strings":[22726]},"id":18329,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18290,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"126:23:119"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":18291,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18329,"sourceUnit":17476,"src":"151:23:119","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/security/Pausable.sol","file":"../../../security/Pausable.sol","id":18292,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18329,"sourceUnit":10643,"src":"175:40:119","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":18294,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"524:6:119"},"id":18295,"nodeType":"InheritanceSpecifier","src":"524:6:119"},{"baseName":{"id":18296,"name":"Pausable","nodeType":"IdentifierPath","referencedDeclaration":10642,"src":"532:8:119"},"id":18297,"nodeType":"InheritanceSpecifier","src":"532:8:119"}],"canonicalName":"ERC721Pausable","contractDependencies":[],"contractKind":"contract","documentation":{"id":18293,"nodeType":"StructuredDocumentation","src":"217:270:119","text":" @dev ERC721 token with pausable token transfers, minting and burning.\n Useful for scenarios such as preventing trades until the end of an evaluation\n period, or having an emergency switch for freezing all token transfers in the\n event of a large bug."},"fullyImplemented":false,"id":18328,"linearizedBaseContracts":[18328,10642,17475,18610,17591,24377,24693,22281],"name":"ERC721Pausable","nameLocation":"506:14:119","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[17461],"body":{"id":18326,"nodeType":"Block","src":"848:154:119","statements":[{"expression":{"arguments":[{"id":18313,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18300,"src":"885:4:119","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18314,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18302,"src":"891:2:119","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18315,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18304,"src":"895:12:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18316,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18306,"src":"909:9:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18310,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"858:5:119","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Pausable_$18328_$","typeString":"type(contract super ERC721Pausable)"}},"id":18312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":17461,"src":"858:26:119","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":18317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"858:61:119","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18318,"nodeType":"ExpressionStatement","src":"858:61:119"},{"expression":{"arguments":[{"id":18322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"938:9:119","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":18320,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"939:6:119","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":18321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"939:8:119","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732315061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564","id":18323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"949:45:119","typeDescriptions":{"typeIdentifier":"t_stringliteral_08db93f8e1c3024ee7c131cc7a109eb4e5cb2ff5f9a23b64fb5b344cedec8968","typeString":"literal_string \"ERC721Pausable: token transfer while paused\""},"value":"ERC721Pausable: token transfer while paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_08db93f8e1c3024ee7c131cc7a109eb4e5cb2ff5f9a23b64fb5b344cedec8968","typeString":"literal_string \"ERC721Pausable: token transfer while paused\""}],"id":18319,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"930:7:119","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"930:65:119","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18325,"nodeType":"ExpressionStatement","src":"930:65:119"}]},"documentation":{"id":18298,"nodeType":"StructuredDocumentation","src":"547:135:119","text":" @dev See {ERC721-_beforeTokenTransfer}.\n Requirements:\n - the contract must not be paused."},"id":18327,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"696:20:119","nodeType":"FunctionDefinition","overrides":{"id":18308,"nodeType":"OverrideSpecifier","overrides":[],"src":"839:8:119"},"parameters":{"id":18307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18300,"mutability":"mutable","name":"from","nameLocation":"734:4:119","nodeType":"VariableDeclaration","scope":18327,"src":"726:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18299,"name":"address","nodeType":"ElementaryTypeName","src":"726:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18302,"mutability":"mutable","name":"to","nameLocation":"756:2:119","nodeType":"VariableDeclaration","scope":18327,"src":"748:10:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18301,"name":"address","nodeType":"ElementaryTypeName","src":"748:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18304,"mutability":"mutable","name":"firstTokenId","nameLocation":"776:12:119","nodeType":"VariableDeclaration","scope":18327,"src":"768:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18303,"name":"uint256","nodeType":"ElementaryTypeName","src":"768:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18306,"mutability":"mutable","name":"batchSize","nameLocation":"806:9:119","nodeType":"VariableDeclaration","scope":18327,"src":"798:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18305,"name":"uint256","nodeType":"ElementaryTypeName","src":"798:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"716:105:119"},"returnParameters":{"id":18309,"nodeType":"ParameterList","parameters":[],"src":"848:0:119"},"scope":18328,"src":"687:315:119","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":18329,"src":"488:516:119","usedErrors":[]}],"src":"126:879:119"},"id":119},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC2981":[20358],"ERC721":[17475],"ERC721Royalty":[18374],"IERC165":[24693],"IERC2981":[8810],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726]},"id":18375,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18330,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"125:23:120"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":18331,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18375,"sourceUnit":17476,"src":"150:23:120","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/common/ERC2981.sol","file":"../../common/ERC2981.sol","id":18332,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18375,"sourceUnit":20359,"src":"174:34:120","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../../utils/introspection/ERC165.sol","id":18333,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18375,"sourceUnit":24378,"src":"209:49:120","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":18335,"name":"ERC2981","nodeType":"IdentifierPath","referencedDeclaration":20358,"src":"1032:7:120"},"id":18336,"nodeType":"InheritanceSpecifier","src":"1032:7:120"},{"baseName":{"id":18337,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"1041:6:120"},"id":18338,"nodeType":"InheritanceSpecifier","src":"1041:6:120"}],"canonicalName":"ERC721Royalty","contractDependencies":[],"contractKind":"contract","documentation":{"id":18334,"nodeType":"StructuredDocumentation","src":"260:736:120","text":" @dev Extension of ERC721 with the ERC2981 NFT Royalty Standard, a standardized way to retrieve royalty payment\n information.\n Royalty information can be specified globally for all token ids via {ERC2981-_setDefaultRoyalty}, and/or individually for\n specific token ids via {ERC2981-_setTokenRoyalty}. The latter takes precedence over the first.\n IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See\n https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to\n voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.\n _Available since v4.5._"},"fullyImplemented":false,"id":18374,"linearizedBaseContracts":[18374,17475,18610,17591,20358,24377,8810,24693,22281],"name":"ERC721Royalty","nameLocation":"1015:13:120","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[16624,20206],"body":{"id":18354,"nodeType":"Block","src":"1223:60:120","statements":[{"expression":{"arguments":[{"id":18351,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18341,"src":"1264:11:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":18349,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1240:5:120","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Royalty_$18374_$","typeString":"type(contract super ERC721Royalty)"}},"id":18350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":16624,"src":"1240:23:120","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":18352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1240:36:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18348,"id":18353,"nodeType":"Return","src":"1233:43:120"}]},"documentation":{"id":18339,"nodeType":"StructuredDocumentation","src":"1054:56:120","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":18355,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1124:17:120","nodeType":"FunctionDefinition","overrides":{"id":18345,"nodeType":"OverrideSpecifier","overrides":[{"id":18343,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"1191:6:120"},{"id":18344,"name":"ERC2981","nodeType":"IdentifierPath","referencedDeclaration":20358,"src":"1199:7:120"}],"src":"1182:25:120"},"parameters":{"id":18342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18341,"mutability":"mutable","name":"interfaceId","nameLocation":"1149:11:120","nodeType":"VariableDeclaration","scope":18355,"src":"1142:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18340,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1142:6:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1141:20:120"},"returnParameters":{"id":18348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18355,"src":"1217:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18346,"name":"bool","nodeType":"ElementaryTypeName","src":"1217:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1216:6:120"},"scope":18374,"src":"1115:168:120","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[17198],"body":{"id":18372,"nodeType":"Block","src":"1468:74:120","statements":[{"expression":{"arguments":[{"id":18365,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18358,"src":"1490:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18362,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1478:5:120","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Royalty_$18374_$","typeString":"type(contract super ERC721Royalty)"}},"id":18364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":17198,"src":"1478:11:120","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1478:20:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18367,"nodeType":"ExpressionStatement","src":"1478:20:120"},{"expression":{"arguments":[{"id":18369,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18358,"src":"1527:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18368,"name":"_resetTokenRoyalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20357,"src":"1508:18:120","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1508:27:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18371,"nodeType":"ExpressionStatement","src":"1508:27:120"}]},"documentation":{"id":18356,"nodeType":"StructuredDocumentation","src":"1289:116:120","text":" @dev See {ERC721-_burn}. This override additionally clears the royalty information for the token."},"id":18373,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"1419:5:120","nodeType":"FunctionDefinition","overrides":{"id":18360,"nodeType":"OverrideSpecifier","overrides":[],"src":"1459:8:120"},"parameters":{"id":18359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18358,"mutability":"mutable","name":"tokenId","nameLocation":"1433:7:120","nodeType":"VariableDeclaration","scope":18373,"src":"1425:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18357,"name":"uint256","nodeType":"ElementaryTypeName","src":"1425:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1424:17:120"},"returnParameters":{"id":18361,"nodeType":"ParameterList","parameters":[],"src":"1468:0:120"},"scope":18374,"src":"1410:132:120","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":18375,"src":"997:547:120","usedErrors":[]}],"src":"125:1420:120"},"id":120},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC165":[24377],"ERC721":[17475],"ERC721URIStorage":[18499],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Strings":[22726]},"id":18500,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18376,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:121"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":18377,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18500,"sourceUnit":17476,"src":"153:23:121","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":18379,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"286:6:121"},"id":18380,"nodeType":"InheritanceSpecifier","src":"286:6:121"}],"canonicalName":"ERC721URIStorage","contractDependencies":[],"contractKind":"contract","documentation":{"id":18378,"nodeType":"StructuredDocumentation","src":"178:69:121","text":" @dev ERC721 token with storage based token URI management."},"fullyImplemented":false,"id":18499,"linearizedBaseContracts":[18499,17475,18610,17591,24377,24693,22281],"name":"ERC721URIStorage","nameLocation":"266:16:121","nodeType":"ContractDefinition","nodes":[{"id":18383,"libraryName":{"id":18381,"name":"Strings","nodeType":"IdentifierPath","referencedDeclaration":22726,"src":"305:7:121"},"nodeType":"UsingForDirective","src":"299:26:121","typeName":{"id":18382,"name":"uint256","nodeType":"ElementaryTypeName","src":"317:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":18387,"mutability":"mutable","name":"_tokenURIs","nameLocation":"405:10:121","nodeType":"VariableDeclaration","scope":18499,"src":"370:45:121","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":18386,"keyType":{"id":18384,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"370:26:121","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueType":{"id":18385,"name":"string","nodeType":"ElementaryTypeName","src":"389:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"baseFunctions":[16735],"body":{"id":18445,"nodeType":"Block","src":"570:520:121","statements":[{"expression":{"arguments":[{"id":18397,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18390,"src":"595:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18396,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17353,"src":"580:14:121","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":18398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"580:23:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18399,"nodeType":"ExpressionStatement","src":"580:23:121"},{"assignments":[18401],"declarations":[{"constant":false,"id":18401,"mutability":"mutable","name":"_tokenURI","nameLocation":"628:9:121","nodeType":"VariableDeclaration","scope":18445,"src":"614:23:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18400,"name":"string","nodeType":"ElementaryTypeName","src":"614:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":18405,"initialValue":{"baseExpression":{"id":18402,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18387,"src":"640:10:121","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":18404,"indexExpression":{"id":18403,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18390,"src":"651:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"640:19:121","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"614:45:121"},{"assignments":[18407],"declarations":[{"constant":false,"id":18407,"mutability":"mutable","name":"base","nameLocation":"683:4:121","nodeType":"VariableDeclaration","scope":18445,"src":"669:18:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18406,"name":"string","nodeType":"ElementaryTypeName","src":"669:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":18410,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":18408,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16744,"src":"690:8:121","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":18409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"690:10:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"669:31:121"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":18413,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18407,"src":"779:4:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":18412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"773:5:121","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":18411,"name":"bytes","nodeType":"ElementaryTypeName","src":"773:5:121","typeDescriptions":{}}},"id":18414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"773:11:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"773:18:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":18416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"795:1:121","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"773:23:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18421,"nodeType":"IfStatement","src":"769:70:121","trueBody":{"id":18420,"nodeType":"Block","src":"798:41:121","statements":[{"expression":{"id":18418,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18401,"src":"819:9:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":18395,"id":18419,"nodeType":"Return","src":"812:16:121"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":18424,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18401,"src":"947:9:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":18423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"941:5:121","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":18422,"name":"bytes","nodeType":"ElementaryTypeName","src":"941:5:121","typeDescriptions":{}}},"id":18425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:16:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"941:23:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":18427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:1:121","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"941:27:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18439,"nodeType":"IfStatement","src":"937:106:121","trueBody":{"id":18438,"nodeType":"Block","src":"970:73:121","statements":[{"expression":{"arguments":[{"arguments":[{"id":18433,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18407,"src":"1015:4:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18434,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18401,"src":"1021:9:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"998:3:121","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"998:16:121","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"998:33:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"991:6:121","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":18429,"name":"string","nodeType":"ElementaryTypeName","src":"991:6:121","typeDescriptions":{}}},"id":18436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"991:41:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":18395,"id":18437,"nodeType":"Return","src":"984:48:121"}]}},{"expression":{"arguments":[{"id":18442,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18390,"src":"1075:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18440,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1060:5:121","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$18499_$","typeString":"type(contract super ERC721URIStorage)"}},"id":18441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":16735,"src":"1060:14:121","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":18443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1060:23:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":18395,"id":18444,"nodeType":"Return","src":"1053:30:121"}]},"documentation":{"id":18388,"nodeType":"StructuredDocumentation","src":"422:55:121","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":18446,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"491:8:121","nodeType":"FunctionDefinition","overrides":{"id":18392,"nodeType":"OverrideSpecifier","overrides":[],"src":"537:8:121"},"parameters":{"id":18391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18390,"mutability":"mutable","name":"tokenId","nameLocation":"508:7:121","nodeType":"VariableDeclaration","scope":18446,"src":"500:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18389,"name":"uint256","nodeType":"ElementaryTypeName","src":"500:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"499:17:121"},"returnParameters":{"id":18395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18446,"src":"555:13:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18393,"name":"string","nodeType":"ElementaryTypeName","src":"555:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"554:15:121"},"scope":18499,"src":"482:608:121","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":18467,"nodeType":"Block","src":"1318:133:121","statements":[{"expression":{"arguments":[{"arguments":[{"id":18456,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18449,"src":"1344:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18455,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"1336:7:121","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":18457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1336:16:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e","id":18458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1354:48:121","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""},"value":"ERC721URIStorage: URI set of nonexistent token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""}],"id":18454,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1328:7:121","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1328:75:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18460,"nodeType":"ExpressionStatement","src":"1328:75:121"},{"expression":{"id":18465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18461,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18387,"src":"1413:10:121","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":18463,"indexExpression":{"id":18462,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18449,"src":"1424:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1413:19:121","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18464,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18451,"src":"1435:9:121","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1413:31:121","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":18466,"nodeType":"ExpressionStatement","src":"1413:31:121"}]},"documentation":{"id":18447,"nodeType":"StructuredDocumentation","src":"1096:136:121","text":" @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Requirements:\n - `tokenId` must exist."},"id":18468,"implemented":true,"kind":"function","modifiers":[],"name":"_setTokenURI","nameLocation":"1246:12:121","nodeType":"FunctionDefinition","parameters":{"id":18452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18449,"mutability":"mutable","name":"tokenId","nameLocation":"1267:7:121","nodeType":"VariableDeclaration","scope":18468,"src":"1259:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18448,"name":"uint256","nodeType":"ElementaryTypeName","src":"1259:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18451,"mutability":"mutable","name":"_tokenURI","nameLocation":"1290:9:121","nodeType":"VariableDeclaration","scope":18468,"src":"1276:23:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18450,"name":"string","nodeType":"ElementaryTypeName","src":"1276:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1258:42:121"},"returnParameters":{"id":18453,"nodeType":"ParameterList","parameters":[],"src":"1318:0:121"},"scope":18499,"src":"1237:214:121","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[17198],"body":{"id":18497,"nodeType":"Block","src":"1727:142:121","statements":[{"expression":{"arguments":[{"id":18478,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18471,"src":"1749:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18475,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1737:5:121","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$18499_$","typeString":"type(contract super ERC721URIStorage)"}},"id":18477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":17198,"src":"1737:11:121","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1737:20:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18480,"nodeType":"ExpressionStatement","src":"1737:20:121"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"baseExpression":{"id":18483,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18387,"src":"1778:10:121","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":18485,"indexExpression":{"id":18484,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18471,"src":"1789:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1778:19:121","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":18482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1772:5:121","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":18481,"name":"bytes","nodeType":"ElementaryTypeName","src":"1772:5:121","typeDescriptions":{}}},"id":18486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1772:26:121","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":18487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1772:33:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":18488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1809:1:121","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1772:38:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18496,"nodeType":"IfStatement","src":"1768:95:121","trueBody":{"id":18495,"nodeType":"Block","src":"1812:51:121","statements":[{"expression":{"id":18493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"1826:26:121","subExpression":{"baseExpression":{"id":18490,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18387,"src":"1833:10:121","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":18492,"indexExpression":{"id":18491,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18471,"src":"1844:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1833:19:121","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18494,"nodeType":"ExpressionStatement","src":"1826:26:121"}]}}]},"documentation":{"id":18469,"nodeType":"StructuredDocumentation","src":"1457:207:121","text":" @dev See {ERC721-_burn}. This override additionally checks to see if a\n token-specific URI was set for the token, and if so, it deletes the token URI from\n the storage mapping."},"id":18498,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"1678:5:121","nodeType":"FunctionDefinition","overrides":{"id":18473,"nodeType":"OverrideSpecifier","overrides":[],"src":"1718:8:121"},"parameters":{"id":18472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18471,"mutability":"mutable","name":"tokenId","nameLocation":"1692:7:121","nodeType":"VariableDeclaration","scope":18498,"src":"1684:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18470,"name":"uint256","nodeType":"ElementaryTypeName","src":"1684:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1683:17:121"},"returnParameters":{"id":18474,"nodeType":"ParameterList","parameters":[],"src":"1727:0:121"},"scope":18499,"src":"1669:200:121","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":18500,"src":"248:1623:121","usedErrors":[]}],"src":"128:1744:121"},"id":121},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol","exportedSymbols":{"Address":[20688],"Checkpoints":[22259],"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"ERC721":[17475],"ERC721Votes":[18552],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Votes":[8627]},"id":18553,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18501,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"123:23:122"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":18502,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18553,"sourceUnit":17476,"src":"148:23:122","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/governance/utils/Votes.sol","file":"../../../governance/utils/Votes.sol","id":18503,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18553,"sourceUnit":8628,"src":"172:45:122","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":18505,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"777:6:122"},"id":18506,"nodeType":"InheritanceSpecifier","src":"777:6:122"},{"baseName":{"id":18507,"name":"Votes","nodeType":"IdentifierPath","referencedDeclaration":8627,"src":"785:5:122"},"id":18508,"nodeType":"InheritanceSpecifier","src":"785:5:122"}],"canonicalName":"ERC721Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":18504,"nodeType":"StructuredDocumentation","src":"219:524:122","text":" @dev Extension of ERC721 to support voting and delegation as implemented by {Votes}, where each individual NFT counts\n as 1 vote unit.\n Tokens do not count as votes until they are delegated, because votes must be tracked which incurs an additional cost\n on every transfer. Token holders can either delegate to a trusted representative who will decide how to make use of\n the votes in governance decisions, or they can delegate to themselves to be their own representative.\n _Available since v4.5._"},"fullyImplemented":false,"id":18552,"linearizedBaseContracts":[18552,8627,23455,17475,18610,17591,24377,24693,22281,8173],"name":"ERC721Votes","nameLocation":"762:11:122","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[17474],"body":{"id":18536,"nodeType":"Block","src":"1121:128:122","statements":[{"expression":{"arguments":[{"id":18522,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18511,"src":"1152:4:122","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18523,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18513,"src":"1158:2:122","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18524,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18517,"src":"1162:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18521,"name":"_transferVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8464,"src":"1131:20:122","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":18525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1131:41:122","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18526,"nodeType":"ExpressionStatement","src":"1131:41:122"},{"expression":{"arguments":[{"id":18530,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18511,"src":"1208:4:122","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18531,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18513,"src":"1214:2:122","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18532,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18515,"src":"1218:12:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18533,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18517,"src":"1232:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18527,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1182:5:122","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Votes_$18552_$","typeString":"type(contract super ERC721Votes)"}},"id":18529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_afterTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":17474,"src":"1182:25:122","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":18534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1182:60:122","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18535,"nodeType":"ExpressionStatement","src":"1182:60:122"}]},"documentation":{"id":18509,"nodeType":"StructuredDocumentation","src":"797:159:122","text":" @dev See {ERC721-_afterTokenTransfer}. Adjusts votes when tokens are transferred.\n Emits a {IVotes-DelegateVotesChanged} event."},"id":18537,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"970:19:122","nodeType":"FunctionDefinition","overrides":{"id":18519,"nodeType":"OverrideSpecifier","overrides":[],"src":"1112:8:122"},"parameters":{"id":18518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18511,"mutability":"mutable","name":"from","nameLocation":"1007:4:122","nodeType":"VariableDeclaration","scope":18537,"src":"999:12:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18510,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18513,"mutability":"mutable","name":"to","nameLocation":"1029:2:122","nodeType":"VariableDeclaration","scope":18537,"src":"1021:10:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18512,"name":"address","nodeType":"ElementaryTypeName","src":"1021:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18515,"mutability":"mutable","name":"firstTokenId","nameLocation":"1049:12:122","nodeType":"VariableDeclaration","scope":18537,"src":"1041:20:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1041:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18517,"mutability":"mutable","name":"batchSize","nameLocation":"1079:9:122","nodeType":"VariableDeclaration","scope":18537,"src":"1071:17:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18516,"name":"uint256","nodeType":"ElementaryTypeName","src":"1071:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"989:105:122"},"returnParameters":{"id":18520,"nodeType":"ParameterList","parameters":[],"src":"1121:0:122"},"scope":18552,"src":"961:288:122","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[8626],"body":{"id":18550,"nodeType":"Block","src":"1408:42:122","statements":[{"expression":{"arguments":[{"id":18547,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18540,"src":"1435:7:122","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":18546,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16648,"src":"1425:9:122","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":18548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1425:18:122","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18545,"id":18549,"nodeType":"Return","src":"1418:25:122"}]},"documentation":{"id":18538,"nodeType":"StructuredDocumentation","src":"1255:57:122","text":" @dev Returns the balance of `account`."},"id":18551,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotingUnits","nameLocation":"1326:15:122","nodeType":"FunctionDefinition","overrides":{"id":18542,"nodeType":"OverrideSpecifier","overrides":[],"src":"1381:8:122"},"parameters":{"id":18541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18540,"mutability":"mutable","name":"account","nameLocation":"1350:7:122","nodeType":"VariableDeclaration","scope":18551,"src":"1342:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18539,"name":"address","nodeType":"ElementaryTypeName","src":"1342:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1341:17:122"},"returnParameters":{"id":18545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18551,"src":"1399:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18543,"name":"uint256","nodeType":"ElementaryTypeName","src":"1399:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1398:9:122"},"scope":18552,"src":"1317:133:122","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":18553,"src":"744:708:122","usedErrors":[]}],"src":"123:1330:122"},"id":122},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591],"IERC721Enumerable":[18583]},"id":18584,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18554,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"129:23:123"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":18555,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18584,"sourceUnit":17592,"src":"154:24:123","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":18557,"name":"IERC721","nodeType":"IdentifierPath","referencedDeclaration":17591,"src":"348:7:123"},"id":18558,"nodeType":"InheritanceSpecifier","src":"348:7:123"}],"canonicalName":"IERC721Enumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":18556,"nodeType":"StructuredDocumentation","src":"180:136:123","text":" @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":18583,"linearizedBaseContracts":[18583,17591,24693],"name":"IERC721Enumerable","nameLocation":"327:17:123","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":18559,"nodeType":"StructuredDocumentation","src":"362:82:123","text":" @dev Returns the total amount of tokens stored by the contract."},"functionSelector":"18160ddd","id":18564,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"458:11:123","nodeType":"FunctionDefinition","parameters":{"id":18560,"nodeType":"ParameterList","parameters":[],"src":"469:2:123"},"returnParameters":{"id":18563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18564,"src":"495:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18561,"name":"uint256","nodeType":"ElementaryTypeName","src":"495:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:9:123"},"scope":18583,"src":"449:55:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":18565,"nodeType":"StructuredDocumentation","src":"510:171:123","text":" @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n Use along with {balanceOf} to enumerate all of ``owner``'s tokens."},"functionSelector":"2f745c59","id":18574,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"695:19:123","nodeType":"FunctionDefinition","parameters":{"id":18570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18567,"mutability":"mutable","name":"owner","nameLocation":"723:5:123","nodeType":"VariableDeclaration","scope":18574,"src":"715:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18566,"name":"address","nodeType":"ElementaryTypeName","src":"715:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18569,"mutability":"mutable","name":"index","nameLocation":"738:5:123","nodeType":"VariableDeclaration","scope":18574,"src":"730:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18568,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"714:30:123"},"returnParameters":{"id":18573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18574,"src":"768:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18571,"name":"uint256","nodeType":"ElementaryTypeName","src":"768:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"767:9:123"},"scope":18583,"src":"686:91:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":18575,"nodeType":"StructuredDocumentation","src":"783:164:123","text":" @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n Use along with {totalSupply} to enumerate all tokens."},"functionSelector":"4f6ccce7","id":18582,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"961:12:123","nodeType":"FunctionDefinition","parameters":{"id":18578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18577,"mutability":"mutable","name":"index","nameLocation":"982:5:123","nodeType":"VariableDeclaration","scope":18582,"src":"974:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18576,"name":"uint256","nodeType":"ElementaryTypeName","src":"974:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"973:15:123"},"returnParameters":{"id":18581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18582,"src":"1012:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18579,"name":"uint256","nodeType":"ElementaryTypeName","src":"1012:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1011:9:123"},"scope":18583,"src":"952:69:123","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":18584,"src":"317:706:123","usedErrors":[]}],"src":"129:895:123"},"id":123},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","exportedSymbols":{"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610]},"id":18611,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18585,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:124"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":18586,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18611,"sourceUnit":17592,"src":"137:24:124","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":18588,"name":"IERC721","nodeType":"IdentifierPath","referencedDeclaration":17591,"src":"326:7:124"},"id":18589,"nodeType":"InheritanceSpecifier","src":"326:7:124"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":18587,"nodeType":"StructuredDocumentation","src":"163:133:124","text":" @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":18610,"linearizedBaseContracts":[18610,17591,24693],"name":"IERC721Metadata","nameLocation":"307:15:124","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":18590,"nodeType":"StructuredDocumentation","src":"340:58:124","text":" @dev Returns the token collection name."},"functionSelector":"06fdde03","id":18595,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"412:4:124","nodeType":"FunctionDefinition","parameters":{"id":18591,"nodeType":"ParameterList","parameters":[],"src":"416:2:124"},"returnParameters":{"id":18594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18595,"src":"442:13:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18592,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:124","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"441:15:124"},"scope":18610,"src":"403:54:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":18596,"nodeType":"StructuredDocumentation","src":"463:60:124","text":" @dev Returns the token collection symbol."},"functionSelector":"95d89b41","id":18601,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"537:6:124","nodeType":"FunctionDefinition","parameters":{"id":18597,"nodeType":"ParameterList","parameters":[],"src":"543:2:124"},"returnParameters":{"id":18600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18601,"src":"569:13:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18598,"name":"string","nodeType":"ElementaryTypeName","src":"569:6:124","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"568:15:124"},"scope":18610,"src":"528:56:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":18602,"nodeType":"StructuredDocumentation","src":"590:90:124","text":" @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"functionSelector":"c87b56dd","id":18609,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"694:8:124","nodeType":"FunctionDefinition","parameters":{"id":18605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18604,"mutability":"mutable","name":"tokenId","nameLocation":"711:7:124","nodeType":"VariableDeclaration","scope":18609,"src":"703:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18603,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:17:124"},"returnParameters":{"id":18608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18609,"src":"743:13:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18606,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:124","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"742:15:124"},"scope":18610,"src":"685:73:124","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":18611,"src":"297:463:124","usedErrors":[]}],"src":"112:649:124"},"id":124},"contracts/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol","exportedSymbols":{"Address":[20688],"Checkpoints":[22259],"Context":[22281],"Counters":[22355],"ECDSA":[23301],"EIP712":[23455],"ERC165":[24377],"ERC721":[17475],"ERC721Votes":[18552],"IERC165":[24693],"IERC721":[17591],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"IVotes":[8173],"Math":[25662],"SafeCast":[27203],"Strings":[22726],"Votes":[8627]},"id":18614,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18612,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"129:23:125"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol","file":"./ERC721Votes.sol","id":18613,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18614,"sourceUnit":18553,"src":"284:27:125","symbolAliases":[],"unitAlias":""}],"src":"129:183:125"},"id":125},"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol","exportedSymbols":{"AccessControl":[1027],"AccessControlEnumerable":[1207],"Address":[20688],"Context":[22281],"Counters":[22355],"ERC165":[24377],"ERC721":[17475],"ERC721Burnable":[17639],"ERC721Enumerable":[18288],"ERC721Pausable":[18328],"ERC721PresetMinterPauserAutoId":[18804],"EnumerableSet":[29898],"IAccessControl":[1280],"IAccessControlEnumerable":[1305],"IERC165":[24693],"IERC721":[17591],"IERC721Enumerable":[18583],"IERC721Metadata":[18610],"IERC721Receiver":[17609],"Math":[25662],"Pausable":[10642],"Strings":[22726]},"id":18805,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18615,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"139:23:126"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":18616,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":17476,"src":"164:23:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol","file":"../extensions/ERC721Enumerable.sol","id":18617,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":18289,"src":"188:44:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","file":"../extensions/ERC721Burnable.sol","id":18618,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":17640,"src":"233:42:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol","file":"../extensions/ERC721Pausable.sol","id":18619,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":18329,"src":"276:42:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol","file":"../../../access/AccessControlEnumerable.sol","id":18620,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":1208,"src":"319:53:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":18621,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":22282,"src":"373:36:126","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Counters.sol","file":"../../../utils/Counters.sol","id":18622,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18805,"sourceUnit":22356,"src":"410:37:126","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":18624,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1185:7:126"},"id":18625,"nodeType":"InheritanceSpecifier","src":"1185:7:126"},{"baseName":{"id":18626,"name":"AccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1207,"src":"1198:23:126"},"id":18627,"nodeType":"InheritanceSpecifier","src":"1198:23:126"},{"baseName":{"id":18628,"name":"ERC721Enumerable","nodeType":"IdentifierPath","referencedDeclaration":18288,"src":"1227:16:126"},"id":18629,"nodeType":"InheritanceSpecifier","src":"1227:16:126"},{"baseName":{"id":18630,"name":"ERC721Burnable","nodeType":"IdentifierPath","referencedDeclaration":17639,"src":"1249:14:126"},"id":18631,"nodeType":"InheritanceSpecifier","src":"1249:14:126"},{"baseName":{"id":18632,"name":"ERC721Pausable","nodeType":"IdentifierPath","referencedDeclaration":18328,"src":"1269:14:126"},"id":18633,"nodeType":"InheritanceSpecifier","src":"1269:14:126"}],"canonicalName":"ERC721PresetMinterPauserAutoId","contractDependencies":[],"contractKind":"contract","documentation":{"id":18623,"nodeType":"StructuredDocumentation","src":"449:688:126","text":" @dev {ERC721} token, including:\n - ability for holders to burn (destroy) their tokens\n - a minter role that allows for token minting (creation)\n - a pauser role that allows to stop all token transfers\n - token ID and URI autogeneration\n This contract uses {AccessControl} to lock permissioned functions using the\n different roles - head to its documentation for details.\n The account that deploys the contract will be granted the minter and pauser\n roles, as well as the default admin role, which will let it grant both minter\n and pauser roles to other accounts.\n _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._"},"fullyImplemented":true,"id":18804,"linearizedBaseContracts":[18804,18328,10642,17639,18288,18583,17475,18610,17591,1207,1027,24377,24693,1305,1280,22281],"name":"ERC721PresetMinterPauserAutoId","nameLocation":"1147:30:126","nodeType":"ContractDefinition","nodes":[{"id":18637,"libraryName":{"id":18634,"name":"Counters","nodeType":"IdentifierPath","referencedDeclaration":22355,"src":"1296:8:126"},"nodeType":"UsingForDirective","src":"1290:36:126","typeName":{"id":18636,"nodeType":"UserDefinedTypeName","pathNode":{"id":18635,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"1309:16:126"},"referencedDeclaration":22287,"src":"1309:16:126","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}}},{"constant":true,"functionSelector":"d5391393","id":18642,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"1356:11:126","nodeType":"VariableDeclaration","scope":18804,"src":"1332:62:126","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1332:7:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":18640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1380:13:126","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":18639,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1370:9:126","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1370:24:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":18647,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"1424:11:126","nodeType":"VariableDeclaration","scope":18804,"src":"1400:62:126","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1400:7:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":18645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1448:13:126","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":18644,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1438:9:126","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1438:24:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"id":18650,"mutability":"mutable","name":"_tokenIdTracker","nameLocation":"1494:15:126","nodeType":"VariableDeclaration","scope":18804,"src":"1469:40:126","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter"},"typeName":{"id":18649,"nodeType":"UserDefinedTypeName","pathNode":{"id":18648,"name":"Counters.Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"1469:16:126"},"referencedDeclaration":22287,"src":"1469:16:126","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"private"},{"constant":false,"id":18652,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"1531:13:126","nodeType":"VariableDeclaration","scope":18804,"src":"1516:28:126","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":18651,"name":"string","nodeType":"ElementaryTypeName","src":"1516:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":18688,"nodeType":"Block","src":"1939:195:126","statements":[{"expression":{"id":18668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18666,"name":"_baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18652,"src":"1949:13:126","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18667,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18659,"src":"1965:12:126","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1949:28:126","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":18669,"nodeType":"ExpressionStatement","src":"1949:28:126"},{"expression":{"arguments":[{"id":18671,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":739,"src":"1999:18:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18672,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2019:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2019:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18670,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"1988:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":18674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1988:44:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18675,"nodeType":"ExpressionStatement","src":"1988:44:126"},{"expression":{"arguments":[{"id":18677,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18642,"src":"2054:11:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18678,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2067:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2067:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18676,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"2043:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":18680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2043:37:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18681,"nodeType":"ExpressionStatement","src":"2043:37:126"},{"expression":{"arguments":[{"id":18683,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18647,"src":"2101:11:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18684,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2114:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2114:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18682,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"2090:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":18686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2090:37:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18687,"nodeType":"ExpressionStatement","src":"2090:37:126"}]},"documentation":{"id":18653,"nodeType":"StructuredDocumentation","src":"1551:250:126","text":" @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the\n account that deploys the contract.\n Token URIs will be autogenerated based on `baseURI` and their token IDs.\n See {ERC721-tokenURI}."},"id":18689,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":18662,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18655,"src":"1925:4:126","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18663,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18657,"src":"1931:6:126","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":18664,"kind":"baseConstructorSpecifier","modifierName":{"id":18661,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"1918:6:126"},"nodeType":"ModifierInvocation","src":"1918:20:126"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":18660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18655,"mutability":"mutable","name":"name","nameLocation":"1841:4:126","nodeType":"VariableDeclaration","scope":18689,"src":"1827:18:126","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18654,"name":"string","nodeType":"ElementaryTypeName","src":"1827:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18657,"mutability":"mutable","name":"symbol","nameLocation":"1869:6:126","nodeType":"VariableDeclaration","scope":18689,"src":"1855:20:126","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18656,"name":"string","nodeType":"ElementaryTypeName","src":"1855:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18659,"mutability":"mutable","name":"baseTokenURI","nameLocation":"1899:12:126","nodeType":"VariableDeclaration","scope":18689,"src":"1885:26:126","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18658,"name":"string","nodeType":"ElementaryTypeName","src":"1885:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1817:100:126"},"returnParameters":{"id":18665,"nodeType":"ParameterList","parameters":[],"src":"1939:0:126"},"scope":18804,"src":"1806:328:126","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[16744],"body":{"id":18697,"nodeType":"Block","src":"2215:37:126","statements":[{"expression":{"id":18695,"name":"_baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18652,"src":"2232:13:126","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":18694,"id":18696,"nodeType":"Return","src":"2225:20:126"}]},"id":18698,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"2149:8:126","nodeType":"FunctionDefinition","overrides":{"id":18691,"nodeType":"OverrideSpecifier","overrides":[],"src":"2182:8:126"},"parameters":{"id":18690,"nodeType":"ParameterList","parameters":[],"src":"2157:2:126"},"returnParameters":{"id":18694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18698,"src":"2200:13:126","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18692,"name":"string","nodeType":"ElementaryTypeName","src":"2200:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2199:15:126"},"scope":18804,"src":"2140:112:126","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":18725,"nodeType":"Block","src":"2668:359:126","statements":[{"expression":{"arguments":[{"arguments":[{"id":18706,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18642,"src":"2694:11:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18707,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"2707:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2707:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18705,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2686:7:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":18709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2686:34:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a206d7573742068617665206d696e74657220726f6c6520746f206d696e74","id":18710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2722:63:126","typeDescriptions":{"typeIdentifier":"t_stringliteral_ea198f3e8a5129d820e5e0bb8ade0f42a56b75e06362ce80ffa86409143aedbb","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have minter role to mint\""},"value":"ERC721PresetMinterPauserAutoId: must have minter role to mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ea198f3e8a5129d820e5e0bb8ade0f42a56b75e06362ce80ffa86409143aedbb","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have minter role to mint\""}],"id":18704,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2678:7:126","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2678:108:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18712,"nodeType":"ExpressionStatement","src":"2678:108:126"},{"expression":{"arguments":[{"id":18714,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18701,"src":"2953:2:126","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18715,"name":"_tokenIdTracker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18650,"src":"2957:15:126","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":18716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"current","nodeType":"MemberAccess","referencedDeclaration":22299,"src":"2957:23:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$22287_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":18717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2957:25:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18713,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17131,"src":"2947:5:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":18718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2947:36:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18719,"nodeType":"ExpressionStatement","src":"2947:36:126"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18720,"name":"_tokenIdTracker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18650,"src":"2993:15:126","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage","typeString":"struct Counters.Counter storage ref"}},"id":18722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":22313,"src":"2993:25:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Counter_$22287_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$22287_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer)"}},"id":18723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2993:27:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18724,"nodeType":"ExpressionStatement","src":"2993:27:126"}]},"documentation":{"id":18699,"nodeType":"StructuredDocumentation","src":"2258:364:126","text":" @dev Creates a new token for `to`. Its token ID will be automatically\n assigned (and available on the emitted {IERC721-Transfer} event), and the token\n URI autogenerated based on the base URI passed at construction.\n See {ERC721-_mint}.\n Requirements:\n - the caller must have the `MINTER_ROLE`."},"functionSelector":"6a627842","id":18726,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"2636:4:126","nodeType":"FunctionDefinition","parameters":{"id":18702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18701,"mutability":"mutable","name":"to","nameLocation":"2649:2:126","nodeType":"VariableDeclaration","scope":18726,"src":"2641:10:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18700,"name":"address","nodeType":"ElementaryTypeName","src":"2641:7:126","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2640:12:126"},"returnParameters":{"id":18703,"nodeType":"ParameterList","parameters":[],"src":"2668:0:126"},"scope":18804,"src":"2627:400:126","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":18742,"nodeType":"Block","src":"3263:144:126","statements":[{"expression":{"arguments":[{"arguments":[{"id":18732,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18647,"src":"3289:11:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18733,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3302:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3302:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18731,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"3281:7:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":18735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3281:34:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a206d75737420686176652070617573657220726f6c6520746f207061757365","id":18736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3317:64:126","typeDescriptions":{"typeIdentifier":"t_stringliteral_40c9c95e9f416c51c55d88e1508883bb887c746928503de15b750cf10a750aef","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have pauser role to pause\""},"value":"ERC721PresetMinterPauserAutoId: must have pauser role to pause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_40c9c95e9f416c51c55d88e1508883bb887c746928503de15b750cf10a750aef","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have pauser role to pause\""}],"id":18730,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3273:7:126","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3273:109:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18738,"nodeType":"ExpressionStatement","src":"3273:109:126"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":18739,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"3392:6:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":18740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3392:8:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18741,"nodeType":"ExpressionStatement","src":"3392:8:126"}]},"documentation":{"id":18727,"nodeType":"StructuredDocumentation","src":"3033:193:126","text":" @dev Pauses all token transfers.\n See {ERC721Pausable} and {Pausable-_pause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"8456cb59","id":18743,"implemented":true,"kind":"function","modifiers":[],"name":"pause","nameLocation":"3240:5:126","nodeType":"FunctionDefinition","parameters":{"id":18728,"nodeType":"ParameterList","parameters":[],"src":"3245:2:126"},"returnParameters":{"id":18729,"nodeType":"ParameterList","parameters":[],"src":"3263:0:126"},"scope":18804,"src":"3231:176:126","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":18759,"nodeType":"Block","src":"3649:148:126","statements":[{"expression":{"arguments":[{"arguments":[{"id":18749,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18647,"src":"3675:11:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18750,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"3688:10:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3688:12:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18748,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"3667:7:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":18752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3667:34:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a206d75737420686176652070617573657220726f6c6520746f20756e7061757365","id":18753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3703:66:126","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3877585dfb2235e1900eee5d9e32a457b9d6148f93823a62cb07ae76c6585a8","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have pauser role to unpause\""},"value":"ERC721PresetMinterPauserAutoId: must have pauser role to unpause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f3877585dfb2235e1900eee5d9e32a457b9d6148f93823a62cb07ae76c6585a8","typeString":"literal_string \"ERC721PresetMinterPauserAutoId: must have pauser role to unpause\""}],"id":18747,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3659:7:126","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3659:111:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18755,"nodeType":"ExpressionStatement","src":"3659:111:126"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":18756,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10641,"src":"3780:8:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":18757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:10:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18758,"nodeType":"ExpressionStatement","src":"3780:10:126"}]},"documentation":{"id":18744,"nodeType":"StructuredDocumentation","src":"3413:197:126","text":" @dev Unpauses all token transfers.\n See {ERC721Pausable} and {Pausable-_unpause}.\n Requirements:\n - the caller must have the `PAUSER_ROLE`."},"functionSelector":"3f4ba83a","id":18760,"implemented":true,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"3624:7:126","nodeType":"FunctionDefinition","parameters":{"id":18745,"nodeType":"ParameterList","parameters":[],"src":"3631:2:126"},"returnParameters":{"id":18746,"nodeType":"ParameterList","parameters":[],"src":"3649:0:126"},"scope":18804,"src":"3615:182:126","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[17461,18126,18327],"body":{"id":18784,"nodeType":"Block","src":"4006:78:126","statements":[{"expression":{"arguments":[{"id":18778,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18762,"src":"4043:4:126","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18779,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18764,"src":"4049:2:126","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18780,"name":"firstTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18766,"src":"4053:12:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18781,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18768,"src":"4067:9:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18775,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4016:5:126","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721PresetMinterPauserAutoId_$18804_$","typeString":"type(contract super ERC721PresetMinterPauserAutoId)"}},"id":18777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":18327,"src":"4016:26:126","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":18782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4016:61:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18783,"nodeType":"ExpressionStatement","src":"4016:61:126"}]},"id":18785,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"3812:20:126","nodeType":"FunctionDefinition","overrides":{"id":18773,"nodeType":"OverrideSpecifier","overrides":[{"id":18770,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"3964:6:126"},{"id":18771,"name":"ERC721Enumerable","nodeType":"IdentifierPath","referencedDeclaration":18288,"src":"3972:16:126"},{"id":18772,"name":"ERC721Pausable","nodeType":"IdentifierPath","referencedDeclaration":18328,"src":"3990:14:126"}],"src":"3955:50:126"},"parameters":{"id":18769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18762,"mutability":"mutable","name":"from","nameLocation":"3850:4:126","nodeType":"VariableDeclaration","scope":18785,"src":"3842:12:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18761,"name":"address","nodeType":"ElementaryTypeName","src":"3842:7:126","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18764,"mutability":"mutable","name":"to","nameLocation":"3872:2:126","nodeType":"VariableDeclaration","scope":18785,"src":"3864:10:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18763,"name":"address","nodeType":"ElementaryTypeName","src":"3864:7:126","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18766,"mutability":"mutable","name":"firstTokenId","nameLocation":"3892:12:126","nodeType":"VariableDeclaration","scope":18785,"src":"3884:20:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18765,"name":"uint256","nodeType":"ElementaryTypeName","src":"3884:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18768,"mutability":"mutable","name":"batchSize","nameLocation":"3922:9:126","nodeType":"VariableDeclaration","scope":18785,"src":"3914:17:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18767,"name":"uint256","nodeType":"ElementaryTypeName","src":"3914:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3832:105:126"},"returnParameters":{"id":18774,"nodeType":"ParameterList","parameters":[],"src":"4006:0:126"},"scope":18804,"src":"3803:281:126","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[1123,16624,17984],"body":{"id":18802,"nodeType":"Block","src":"4337:60:126","statements":[{"expression":{"arguments":[{"id":18799,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18788,"src":"4378:11:126","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":18797,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4354:5:126","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721PresetMinterPauserAutoId_$18804_$","typeString":"type(contract super ERC721PresetMinterPauserAutoId)"}},"id":18798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":17984,"src":"4354:23:126","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":18800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4354:36:126","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18796,"id":18801,"nodeType":"Return","src":"4347:43:126"}]},"documentation":{"id":18786,"nodeType":"StructuredDocumentation","src":"4090:56:126","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":18803,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"4160:17:126","nodeType":"FunctionDefinition","overrides":{"id":18793,"nodeType":"OverrideSpecifier","overrides":[{"id":18790,"name":"AccessControlEnumerable","nodeType":"IdentifierPath","referencedDeclaration":1207,"src":"4259:23:126"},{"id":18791,"name":"ERC721","nodeType":"IdentifierPath","referencedDeclaration":17475,"src":"4284:6:126"},{"id":18792,"name":"ERC721Enumerable","nodeType":"IdentifierPath","referencedDeclaration":18288,"src":"4292:16:126"}],"src":"4250:59:126"},"parameters":{"id":18789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18788,"mutability":"mutable","name":"interfaceId","nameLocation":"4185:11:126","nodeType":"VariableDeclaration","scope":18803,"src":"4178:18:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18787,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4178:6:126","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4177:20:126"},"returnParameters":{"id":18796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18803,"src":"4327:4:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18794,"name":"bool","nodeType":"ElementaryTypeName","src":"4327:4:126","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4326:6:126"},"scope":18804,"src":"4151:246:126","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":18805,"src":"1138:3261:126","usedErrors":[]}],"src":"139:4261:126"},"id":126},"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol","exportedSymbols":{"ERC721Holder":[18831],"IERC721Receiver":[17609]},"id":18832,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18806,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"104:23:127"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"../IERC721Receiver.sol","id":18807,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18832,"sourceUnit":17610,"src":"129:32:127","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":18809,"name":"IERC721Receiver","nodeType":"IdentifierPath","referencedDeclaration":17609,"src":"424:15:127"},"id":18810,"nodeType":"InheritanceSpecifier","src":"424:15:127"}],"canonicalName":"ERC721Holder","contractDependencies":[],"contractKind":"contract","documentation":{"id":18808,"nodeType":"StructuredDocumentation","src":"163:235:127","text":" @dev Implementation of the {IERC721Receiver} interface.\n Accepts all token transfers.\n Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}."},"fullyImplemented":true,"id":18831,"linearizedBaseContracts":[18831,17609],"name":"ERC721Holder","nameLocation":"408:12:127","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[17608],"body":{"id":18829,"nodeType":"Block","src":"734:54:127","statements":[{"expression":{"expression":{"expression":{"id":18825,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"751:4:127","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721Holder_$18831","typeString":"contract ERC721Holder"}},"id":18826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":18830,"src":"751:21:127","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":18827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"751:30:127","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":18824,"id":18828,"nodeType":"Return","src":"744:37:127"}]},"documentation":{"id":18811,"nodeType":"StructuredDocumentation","src":"446:137:127","text":" @dev See {IERC721Receiver-onERC721Received}.\n Always returns `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":18830,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"597:16:127","nodeType":"FunctionDefinition","overrides":{"id":18821,"nodeType":"OverrideSpecifier","overrides":[],"src":"708:8:127"},"parameters":{"id":18820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18830,"src":"623:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18812,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18830,"src":"640:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18814,"name":"address","nodeType":"ElementaryTypeName","src":"640:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18830,"src":"657:7:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18816,"name":"uint256","nodeType":"ElementaryTypeName","src":"657:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18830,"src":"674:12:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18818,"name":"bytes","nodeType":"ElementaryTypeName","src":"674:5:127","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"613:79:127"},"returnParameters":{"id":18824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18830,"src":"726:6:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18822,"name":"bytes4","nodeType":"ElementaryTypeName","src":"726:6:127","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"725:8:127"},"scope":18831,"src":"588:200:127","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":18832,"src":"399:391:127","usedErrors":[]}],"src":"104:687:127"},"id":127},"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC777":[19922],"IERC1820Registry":[24797],"IERC20":[13470],"IERC777":[20085],"IERC777Recipient":[20105],"IERC777Sender":[20125]},"id":19923,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18833,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:128"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol","file":"./IERC777.sol","id":18834,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":20086,"src":"132:23:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol","file":"./IERC777Recipient.sol","id":18835,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":20106,"src":"156:32:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol","file":"./IERC777Sender.sol","id":18836,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":20126,"src":"189:29:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../ERC20/IERC20.sol","id":18837,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":13471,"src":"219:29:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":18838,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":20689,"src":"249:33:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":18839,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":22282,"src":"283:33:128","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol","file":"../../utils/introspection/IERC1820Registry.sol","id":18840,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19923,"sourceUnit":24798,"src":"317:56:128","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":18842,"name":"Context","nodeType":"IdentifierPath","referencedDeclaration":22281,"src":"1107:7:128"},"id":18843,"nodeType":"InheritanceSpecifier","src":"1107:7:128"},{"baseName":{"id":18844,"name":"IERC777","nodeType":"IdentifierPath","referencedDeclaration":20085,"src":"1116:7:128"},"id":18845,"nodeType":"InheritanceSpecifier","src":"1116:7:128"},{"baseName":{"id":18846,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"1125:6:128"},"id":18847,"nodeType":"InheritanceSpecifier","src":"1125:6:128"}],"canonicalName":"ERC777","contractDependencies":[],"contractKind":"contract","documentation":{"id":18841,"nodeType":"StructuredDocumentation","src":"375:712:128","text":" @dev Implementation of the {IERC777} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n Support for ERC20 is included in this contract, as specified by the EIP: both\n the ERC777 and ERC20 interfaces can be safely used when interacting with it.\n Both {IERC777-Sent} and {IERC20-Transfer} events are emitted on token\n movements.\n Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there\n are no special restrictions in the amount of tokens that created, moved, or\n destroyed. This makes integration with ERC20 applications seamless."},"fullyImplemented":true,"id":19922,"linearizedBaseContracts":[19922,13470,20085,22281],"name":"ERC777","nameLocation":"1097:6:128","nodeType":"ContractDefinition","nodes":[{"id":18850,"libraryName":{"id":18848,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"1144:7:128"},"nodeType":"UsingForDirective","src":"1138:26:128","typeName":{"id":18849,"name":"address","nodeType":"ElementaryTypeName","src":"1156:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"constant":true,"id":18856,"mutability":"constant","name":"_ERC1820_REGISTRY","nameLocation":"1205:17:128","nodeType":"VariableDeclaration","scope":19922,"src":"1170:115:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"},"typeName":{"id":18852,"nodeType":"UserDefinedTypeName","pathNode":{"id":18851,"name":"IERC1820Registry","nodeType":"IdentifierPath","referencedDeclaration":24797,"src":"1170:16:128"},"referencedDeclaration":24797,"src":"1170:16:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"value":{"arguments":[{"hexValue":"307831383230613442373631384264453731446365386364633733614142364339353930356661443234","id":18854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1242:42:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":18853,"name":"IERC1820Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24797,"src":"1225:16:128","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1820Registry_$24797_$","typeString":"type(contract IERC1820Registry)"}},"id":18855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:60:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"visibility":"internal"},{"constant":false,"id":18860,"mutability":"mutable","name":"_balances","nameLocation":"1328:9:128","nodeType":"VariableDeclaration","scope":19922,"src":"1292:45:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":18859,"keyType":{"id":18857,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1292:27:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":18858,"name":"uint256","nodeType":"ElementaryTypeName","src":"1311:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":18862,"mutability":"mutable","name":"_totalSupply","nameLocation":"1360:12:128","nodeType":"VariableDeclaration","scope":19922,"src":"1344:28:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18861,"name":"uint256","nodeType":"ElementaryTypeName","src":"1344:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":18864,"mutability":"mutable","name":"_name","nameLocation":"1394:5:128","nodeType":"VariableDeclaration","scope":19922,"src":"1379:20:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":18863,"name":"string","nodeType":"ElementaryTypeName","src":"1379:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":18866,"mutability":"mutable","name":"_symbol","nameLocation":"1420:7:128","nodeType":"VariableDeclaration","scope":19922,"src":"1405:22:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":18865,"name":"string","nodeType":"ElementaryTypeName","src":"1405:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":true,"id":18871,"mutability":"constant","name":"_TOKENS_SENDER_INTERFACE_HASH","nameLocation":"1459:29:128","nodeType":"VariableDeclaration","scope":19922,"src":"1434:88:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1434:7:128","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"455243373737546f6b656e7353656e646572","id":18869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1501:20:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895","typeString":"literal_string \"ERC777TokensSender\""},"value":"ERC777TokensSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895","typeString":"literal_string \"ERC777TokensSender\""}],"id":18868,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1491:9:128","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1491:31:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":true,"id":18876,"mutability":"constant","name":"_TOKENS_RECIPIENT_INTERFACE_HASH","nameLocation":"1553:32:128","nodeType":"VariableDeclaration","scope":19922,"src":"1528:94:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1528:7:128","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"455243373737546f6b656e73526563697069656e74","id":18874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1598:23:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_b281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b","typeString":"literal_string \"ERC777TokensRecipient\""},"value":"ERC777TokensRecipient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b","typeString":"literal_string \"ERC777TokensRecipient\""}],"id":18873,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1588:9:128","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1588:34:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":18879,"mutability":"mutable","name":"_defaultOperatorsArray","nameLocation":"1739:22:128","nodeType":"VariableDeclaration","scope":19922,"src":"1721:40:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":18877,"name":"address","nodeType":"ElementaryTypeName","src":"1721:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18878,"nodeType":"ArrayTypeName","src":"1721:9:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":18883,"mutability":"mutable","name":"_defaultOperators","nameLocation":"1888:17:128","nodeType":"VariableDeclaration","scope":19922,"src":"1855:50:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":18882,"keyType":{"id":18880,"name":"address","nodeType":"ElementaryTypeName","src":"1863:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1855:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":18881,"name":"bool","nodeType":"ElementaryTypeName","src":"1874:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"constant":false,"id":18889,"mutability":"mutable","name":"_operators","nameLocation":"2048:10:128","nodeType":"VariableDeclaration","scope":19922,"src":"1995:63:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":18888,"keyType":{"id":18884,"name":"address","nodeType":"ElementaryTypeName","src":"2003:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1995:44:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":18887,"keyType":{"id":18885,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2014:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":18886,"name":"bool","nodeType":"ElementaryTypeName","src":"2033:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"constant":false,"id":18895,"mutability":"mutable","name":"_revokedDefaultOperators","nameLocation":"2117:24:128","nodeType":"VariableDeclaration","scope":19922,"src":"2064:77:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":18894,"keyType":{"id":18890,"name":"address","nodeType":"ElementaryTypeName","src":"2072:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2064:44:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":18893,"keyType":{"id":18891,"name":"address","nodeType":"ElementaryTypeName","src":"2091:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2083:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":18892,"name":"bool","nodeType":"ElementaryTypeName","src":"2102:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"constant":false,"id":18901,"mutability":"mutable","name":"_allowances","nameLocation":"2228:11:128","nodeType":"VariableDeclaration","scope":19922,"src":"2172:67:128","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":18900,"keyType":{"id":18896,"name":"address","nodeType":"ElementaryTypeName","src":"2180:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2172:47:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":18899,"keyType":{"id":18897,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2191:27:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":18898,"name":"uint256","nodeType":"ElementaryTypeName","src":"2210:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"body":{"id":18977,"nodeType":"Block","src":"2438:490:128","statements":[{"expression":{"id":18914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18912,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18864,"src":"2448:5:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18913,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18904,"src":"2456:5:128","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2448:13:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":18915,"nodeType":"ExpressionStatement","src":"2448:13:128"},{"expression":{"id":18918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18916,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18866,"src":"2471:7:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18917,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18906,"src":"2481:7:128","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2471:17:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":18919,"nodeType":"ExpressionStatement","src":"2471:17:128"},{"expression":{"id":18922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18920,"name":"_defaultOperatorsArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18879,"src":"2499:22:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":18921,"name":"defaultOperators_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18909,"src":"2524:17:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"2499:42:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":18923,"nodeType":"ExpressionStatement","src":"2499:42:128"},{"body":{"id":18943,"nodeType":"Block","src":"2606:71:128","statements":[{"expression":{"id":18941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18935,"name":"_defaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"2620:17:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":18939,"indexExpression":{"baseExpression":{"id":18936,"name":"defaultOperators_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18909,"src":"2638:17:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":18938,"indexExpression":{"id":18937,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18925,"src":"2656:1:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2638:20:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2620:39:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":18940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2662:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2620:46:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18942,"nodeType":"ExpressionStatement","src":"2620:46:128"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18928,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18925,"src":"2571:1:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":18929,"name":"defaultOperators_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18909,"src":"2575:17:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":18930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2575:24:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2571:28:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18944,"initializationExpression":{"assignments":[18925],"declarations":[{"constant":false,"id":18925,"mutability":"mutable","name":"i","nameLocation":"2564:1:128","nodeType":"VariableDeclaration","scope":18944,"src":"2556:9:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18924,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18927,"initialValue":{"hexValue":"30","id":18926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2568:1:128","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2556:13:128"},"loopExpression":{"expression":{"id":18933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2601:3:128","subExpression":{"id":18932,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18925,"src":"2601:1:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18934,"nodeType":"ExpressionStatement","src":"2601:3:128"},"nodeType":"ForStatement","src":"2551:126:128"},{"expression":{"arguments":[{"arguments":[{"id":18950,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2768:4:128","typeDescriptions":{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}],"id":18949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2760:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18948,"name":"address","nodeType":"ElementaryTypeName","src":"2760:7:128","typeDescriptions":{}}},"id":18951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2760:13:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"455243373737546f6b656e","id":18953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2785:13:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054","typeString":"literal_string \"ERC777Token\""},"value":"ERC777Token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054","typeString":"literal_string \"ERC777Token\""}],"id":18952,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2775:9:128","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2775:24:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":18957,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2809:4:128","typeDescriptions":{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}],"id":18956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2801:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18955,"name":"address","nodeType":"ElementaryTypeName","src":"2801:7:128","typeDescriptions":{}}},"id":18958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2801:13:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18945,"name":"_ERC1820_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18856,"src":"2718:17:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"id":18947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setInterfaceImplementer","nodeType":"MemberAccess","referencedDeclaration":24750,"src":"2718:41:128","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$","typeString":"function (address,bytes32,address) external"}},"id":18959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2718:97:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18960,"nodeType":"ExpressionStatement","src":"2718:97:128"},{"expression":{"arguments":[{"arguments":[{"id":18966,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2875:4:128","typeDescriptions":{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}],"id":18965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2867:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18964,"name":"address","nodeType":"ElementaryTypeName","src":"2867:7:128","typeDescriptions":{}}},"id":18967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2867:13:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"4552433230546f6b656e","id":18969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2892:12:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a","typeString":"literal_string \"ERC20Token\""},"value":"ERC20Token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a","typeString":"literal_string \"ERC20Token\""}],"id":18968,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2882:9:128","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2882:23:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":18973,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2915:4:128","typeDescriptions":{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC777_$19922","typeString":"contract ERC777"}],"id":18972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18971,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:128","typeDescriptions":{}}},"id":18974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2907:13:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18961,"name":"_ERC1820_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18856,"src":"2825:17:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"id":18963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setInterfaceImplementer","nodeType":"MemberAccess","referencedDeclaration":24750,"src":"2825:41:128","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$","typeString":"function (address,bytes32,address) external"}},"id":18975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2825:96:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18976,"nodeType":"ExpressionStatement","src":"2825:96:128"}]},"documentation":{"id":18902,"nodeType":"StructuredDocumentation","src":"2246:65:128","text":" @dev `defaultOperators` may be an empty array."},"id":18978,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":18910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18904,"mutability":"mutable","name":"name_","nameLocation":"2351:5:128","nodeType":"VariableDeclaration","scope":18978,"src":"2337:19:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18903,"name":"string","nodeType":"ElementaryTypeName","src":"2337:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18906,"mutability":"mutable","name":"symbol_","nameLocation":"2380:7:128","nodeType":"VariableDeclaration","scope":18978,"src":"2366:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18905,"name":"string","nodeType":"ElementaryTypeName","src":"2366:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18909,"mutability":"mutable","name":"defaultOperators_","nameLocation":"2414:17:128","nodeType":"VariableDeclaration","scope":18978,"src":"2397:34:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18907,"name":"address","nodeType":"ElementaryTypeName","src":"2397:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18908,"nodeType":"ArrayTypeName","src":"2397:9:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2327:110:128"},"returnParameters":{"id":18911,"nodeType":"ParameterList","parameters":[],"src":"2438:0:128"},"scope":19922,"src":"2316:612:128","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[19971],"body":{"id":18987,"nodeType":"Block","src":"3051:29:128","statements":[{"expression":{"id":18985,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18864,"src":"3068:5:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":18984,"id":18986,"nodeType":"Return","src":"3061:12:128"}]},"documentation":{"id":18979,"nodeType":"StructuredDocumentation","src":"2934:43:128","text":" @dev See {IERC777-name}."},"functionSelector":"06fdde03","id":18988,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2991:4:128","nodeType":"FunctionDefinition","overrides":{"id":18981,"nodeType":"OverrideSpecifier","overrides":[],"src":"3018:8:128"},"parameters":{"id":18980,"nodeType":"ParameterList","parameters":[],"src":"2995:2:128"},"returnParameters":{"id":18984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18988,"src":"3036:13:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18982,"name":"string","nodeType":"ElementaryTypeName","src":"3036:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3035:15:128"},"scope":19922,"src":"2982:98:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[19977],"body":{"id":18997,"nodeType":"Block","src":"3207:31:128","statements":[{"expression":{"id":18995,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18866,"src":"3224:7:128","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":18994,"id":18996,"nodeType":"Return","src":"3217:14:128"}]},"documentation":{"id":18989,"nodeType":"StructuredDocumentation","src":"3086:45:128","text":" @dev See {IERC777-symbol}."},"functionSelector":"95d89b41","id":18998,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"3145:6:128","nodeType":"FunctionDefinition","overrides":{"id":18991,"nodeType":"OverrideSpecifier","overrides":[],"src":"3174:8:128"},"parameters":{"id":18990,"nodeType":"ParameterList","parameters":[],"src":"3151:2:128"},"returnParameters":{"id":18994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18998,"src":"3192:13:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18992,"name":"string","nodeType":"ElementaryTypeName","src":"3192:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3191:15:128"},"scope":19922,"src":"3136:102:128","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":19006,"nodeType":"Block","src":"3478:26:128","statements":[{"expression":{"hexValue":"3138","id":19004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3495:2:128","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":19003,"id":19005,"nodeType":"Return","src":"3488:9:128"}]},"documentation":{"id":18999,"nodeType":"StructuredDocumentation","src":"3244:173:128","text":" @dev See {ERC20-decimals}.\n Always returns 18, as per the\n [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility)."},"functionSelector":"313ce567","id":19007,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3431:8:128","nodeType":"FunctionDefinition","parameters":{"id":19000,"nodeType":"ParameterList","parameters":[],"src":"3439:2:128"},"returnParameters":{"id":19003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19007,"src":"3471:5:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19001,"name":"uint8","nodeType":"ElementaryTypeName","src":"3471:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3470:7:128"},"scope":19922,"src":"3422:82:128","stateMutability":"pure","virtual":true,"visibility":"public"},{"baseFunctions":[19983],"body":{"id":19016,"nodeType":"Block","src":"3689:25:128","statements":[{"expression":{"hexValue":"31","id":19014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3706:1:128","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"functionReturnParameters":19013,"id":19015,"nodeType":"Return","src":"3699:8:128"}]},"documentation":{"id":19008,"nodeType":"StructuredDocumentation","src":"3510:104:128","text":" @dev See {IERC777-granularity}.\n This implementation always returns `1`."},"functionSelector":"556f0dc7","id":19017,"implemented":true,"kind":"function","modifiers":[],"name":"granularity","nameLocation":"3628:11:128","nodeType":"FunctionDefinition","overrides":{"id":19010,"nodeType":"OverrideSpecifier","overrides":[],"src":"3662:8:128"},"parameters":{"id":19009,"nodeType":"ParameterList","parameters":[],"src":"3639:2:128"},"returnParameters":{"id":19013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19012,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19017,"src":"3680:7:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19011,"name":"uint256","nodeType":"ElementaryTypeName","src":"3680:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3679:9:128"},"scope":19922,"src":"3619:95:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13419,19989],"body":{"id":19028,"nodeType":"Block","src":"3862:36:128","statements":[{"expression":{"id":19026,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"3879:12:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":19025,"id":19027,"nodeType":"Return","src":"3872:19:128"}]},"documentation":{"id":19018,"nodeType":"StructuredDocumentation","src":"3720:50:128","text":" @dev See {IERC777-totalSupply}."},"functionSelector":"18160ddd","id":19029,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3784:11:128","nodeType":"FunctionDefinition","overrides":{"id":19022,"nodeType":"OverrideSpecifier","overrides":[{"id":19020,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"3827:6:128"},{"id":19021,"name":"IERC777","nodeType":"IdentifierPath","referencedDeclaration":20085,"src":"3835:7:128"}],"src":"3818:25:128"},"parameters":{"id":19019,"nodeType":"ParameterList","parameters":[],"src":"3795:2:128"},"returnParameters":{"id":19025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19029,"src":"3853:7:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19023,"name":"uint256","nodeType":"ElementaryTypeName","src":"3853:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3852:9:128"},"scope":19922,"src":"3775:123:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13427,19997],"body":{"id":19044,"nodeType":"Block","src":"4102:46:128","statements":[{"expression":{"baseExpression":{"id":19040,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"4119:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19042,"indexExpression":{"id":19041,"name":"tokenHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19032,"src":"4129:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4119:22:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":19039,"id":19043,"nodeType":"Return","src":"4112:29:128"}]},"documentation":{"id":19030,"nodeType":"StructuredDocumentation","src":"3904:89:128","text":" @dev Returns the amount of tokens owned by an account (`tokenHolder`)."},"functionSelector":"70a08231","id":19045,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"4007:9:128","nodeType":"FunctionDefinition","overrides":{"id":19036,"nodeType":"OverrideSpecifier","overrides":[{"id":19034,"name":"IERC20","nodeType":"IdentifierPath","referencedDeclaration":13470,"src":"4067:6:128"},{"id":19035,"name":"IERC777","nodeType":"IdentifierPath","referencedDeclaration":20085,"src":"4075:7:128"}],"src":"4058:25:128"},"parameters":{"id":19033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19032,"mutability":"mutable","name":"tokenHolder","nameLocation":"4025:11:128","nodeType":"VariableDeclaration","scope":19045,"src":"4017:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19031,"name":"address","nodeType":"ElementaryTypeName","src":"4017:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4016:21:128"},"returnParameters":{"id":19039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19045,"src":"4093:7:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19037,"name":"uint256","nodeType":"ElementaryTypeName","src":"4093:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4092:9:128"},"scope":19922,"src":"3998:150:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[20007],"body":{"id":19066,"nodeType":"Block","src":"4400:71:128","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":19057,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4416:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4416:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19059,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19048,"src":"4430:9:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19060,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19050,"src":"4441:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19061,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19052,"src":"4449:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":19062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4455:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"74727565","id":19063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4459:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19056,"name":"_send","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19558,"src":"4410:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4410:54:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19065,"nodeType":"ExpressionStatement","src":"4410:54:128"}]},"documentation":{"id":19046,"nodeType":"StructuredDocumentation","src":"4154:119:128","text":" @dev See {IERC777-send}.\n Also emits a {IERC20-Transfer} event for ERC20 compatibility."},"functionSelector":"9bd9bbc6","id":19067,"implemented":true,"kind":"function","modifiers":[],"name":"send","nameLocation":"4287:4:128","nodeType":"FunctionDefinition","overrides":{"id":19054,"nodeType":"OverrideSpecifier","overrides":[],"src":"4391:8:128"},"parameters":{"id":19053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19048,"mutability":"mutable","name":"recipient","nameLocation":"4309:9:128","nodeType":"VariableDeclaration","scope":19067,"src":"4301:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19047,"name":"address","nodeType":"ElementaryTypeName","src":"4301:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19050,"mutability":"mutable","name":"amount","nameLocation":"4336:6:128","nodeType":"VariableDeclaration","scope":19067,"src":"4328:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19049,"name":"uint256","nodeType":"ElementaryTypeName","src":"4328:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19052,"mutability":"mutable","name":"data","nameLocation":"4365:4:128","nodeType":"VariableDeclaration","scope":19067,"src":"4352:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19051,"name":"bytes","nodeType":"ElementaryTypeName","src":"4352:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4291:84:128"},"returnParameters":{"id":19055,"nodeType":"ParameterList","parameters":[],"src":"4400:0:128"},"scope":19922,"src":"4278:193:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13437],"body":{"id":19090,"nodeType":"Block","src":"4794:91:128","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":19079,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"4810:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4810:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19081,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19070,"src":"4824:9:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19082,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19072,"src":"4835:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":19083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4843:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":19084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4847:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"66616c7365","id":19085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4851:5:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19078,"name":"_send","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19558,"src":"4804:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4804:53:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19087,"nodeType":"ExpressionStatement","src":"4804:53:128"},{"expression":{"hexValue":"74727565","id":19088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4874:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":19077,"id":19089,"nodeType":"Return","src":"4867:11:128"}]},"documentation":{"id":19068,"nodeType":"StructuredDocumentation","src":"4477:220:128","text":" @dev See {IERC20-transfer}.\n Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient}\n interface if it is a contract.\n Also emits a {Sent} event."},"functionSelector":"a9059cbb","id":19091,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"4711:8:128","nodeType":"FunctionDefinition","overrides":{"id":19074,"nodeType":"OverrideSpecifier","overrides":[],"src":"4770:8:128"},"parameters":{"id":19073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19070,"mutability":"mutable","name":"recipient","nameLocation":"4728:9:128","nodeType":"VariableDeclaration","scope":19091,"src":"4720:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19069,"name":"address","nodeType":"ElementaryTypeName","src":"4720:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19072,"mutability":"mutable","name":"amount","nameLocation":"4747:6:128","nodeType":"VariableDeclaration","scope":19091,"src":"4739:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19071,"name":"uint256","nodeType":"ElementaryTypeName","src":"4739:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4719:35:128"},"returnParameters":{"id":19077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19091,"src":"4788:4:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19075,"name":"bool","nodeType":"ElementaryTypeName","src":"4788:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4787:6:128"},"scope":19922,"src":"4702:183:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[20015],"body":{"id":19108,"nodeType":"Block","src":"5088:54:128","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":19101,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5104:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5104:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19103,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19094,"src":"5118:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19104,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19096,"src":"5126:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":19105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5132:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":19100,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19651,"src":"5098:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory,bytes memory)"}},"id":19106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5098:37:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19107,"nodeType":"ExpressionStatement","src":"5098:37:128"}]},"documentation":{"id":19092,"nodeType":"StructuredDocumentation","src":"4891:119:128","text":" @dev See {IERC777-burn}.\n Also emits a {IERC20-Transfer} event for ERC20 compatibility."},"functionSelector":"fe9d9303","id":19109,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"5024:4:128","nodeType":"FunctionDefinition","overrides":{"id":19098,"nodeType":"OverrideSpecifier","overrides":[],"src":"5079:8:128"},"parameters":{"id":19097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19094,"mutability":"mutable","name":"amount","nameLocation":"5037:6:128","nodeType":"VariableDeclaration","scope":19109,"src":"5029:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19093,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19096,"mutability":"mutable","name":"data","nameLocation":"5058:4:128","nodeType":"VariableDeclaration","scope":19109,"src":"5045:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19095,"name":"bytes","nodeType":"ElementaryTypeName","src":"5045:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5028:35:128"},"returnParameters":{"id":19099,"nodeType":"ParameterList","parameters":[],"src":"5088:0:128"},"scope":19922,"src":"5015:127:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[20025],"body":{"id":19142,"nodeType":"Block","src":"5311:205:128","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19120,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19112,"src":"5340:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":19121,"name":"tokenHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19114,"src":"5352:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5340:23:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":19123,"name":"_defaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"5380:17:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19125,"indexExpression":{"id":19124,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19112,"src":"5398:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5380:27:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":19131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5411:48:128","subExpression":{"baseExpression":{"baseExpression":{"id":19126,"name":"_revokedDefaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18895,"src":"5412:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19128,"indexExpression":{"id":19127,"name":"tokenHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19114,"src":"5437:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5412:37:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19130,"indexExpression":{"id":19129,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19112,"src":"5450:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5412:47:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5380:79:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":19133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5379:81:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5340:120:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":19135,"name":"_operators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18889,"src":"5476:10:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19137,"indexExpression":{"id":19136,"name":"tokenHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19114,"src":"5487:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5476:23:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19139,"indexExpression":{"id":19138,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19112,"src":"5500:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5476:33:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5340:169:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":19119,"id":19141,"nodeType":"Return","src":"5321:188:128"}]},"documentation":{"id":19110,"nodeType":"StructuredDocumentation","src":"5148:52:128","text":" @dev See {IERC777-isOperatorFor}."},"functionSelector":"d95b6371","id":19143,"implemented":true,"kind":"function","modifiers":[],"name":"isOperatorFor","nameLocation":"5214:13:128","nodeType":"FunctionDefinition","overrides":{"id":19116,"nodeType":"OverrideSpecifier","overrides":[],"src":"5287:8:128"},"parameters":{"id":19115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19112,"mutability":"mutable","name":"operator","nameLocation":"5236:8:128","nodeType":"VariableDeclaration","scope":19143,"src":"5228:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19111,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19114,"mutability":"mutable","name":"tokenHolder","nameLocation":"5254:11:128","nodeType":"VariableDeclaration","scope":19143,"src":"5246:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19113,"name":"address","nodeType":"ElementaryTypeName","src":"5246:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5227:39:128"},"returnParameters":{"id":19119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19143,"src":"5305:4:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19117,"name":"bool","nodeType":"ElementaryTypeName","src":"5305:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5304:6:128"},"scope":19922,"src":"5205:311:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[20031],"body":{"id":19187,"nodeType":"Block","src":"5652:343:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19151,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5670:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5670:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":19153,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"5686:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5670:24:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a20617574686f72697a696e672073656c66206173206f70657261746f72","id":19155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5696:38:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c","typeString":"literal_string \"ERC777: authorizing self as operator\""},"value":"ERC777: authorizing self as operator"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c","typeString":"literal_string \"ERC777: authorizing self as operator\""}],"id":19150,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5662:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5662:73:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19157,"nodeType":"ExpressionStatement","src":"5662:73:128"},{"condition":{"baseExpression":{"id":19158,"name":"_defaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"5750:17:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19160,"indexExpression":{"id":19159,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"5768:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5750:27:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":19179,"nodeType":"Block","src":"5865:66:128","statements":[{"expression":{"id":19177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":19170,"name":"_operators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18889,"src":"5879:10:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19174,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19171,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5890:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5890:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5879:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19175,"indexExpression":{"id":19173,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"5904:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5879:34:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":19176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5916:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5879:41:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19178,"nodeType":"ExpressionStatement","src":"5879:41:128"}]},"id":19180,"nodeType":"IfStatement","src":"5746:185:128","trueBody":{"id":19169,"nodeType":"Block","src":"5779:80:128","statements":[{"expression":{"id":19167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5793:55:128","subExpression":{"baseExpression":{"baseExpression":{"id":19161,"name":"_revokedDefaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18895,"src":"5800:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19164,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19162,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5825:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5825:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5800:38:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19166,"indexExpression":{"id":19165,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"5839:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5800:48:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19168,"nodeType":"ExpressionStatement","src":"5793:55:128"}]}},{"eventCall":{"arguments":[{"id":19182,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"5965:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":19183,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"5975:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5975:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19181,"name":"AuthorizedOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19958,"src":"5946:18:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5946:42:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19186,"nodeType":"EmitStatement","src":"5941:47:128"}]},"documentation":{"id":19144,"nodeType":"StructuredDocumentation","src":"5522:56:128","text":" @dev See {IERC777-authorizeOperator}."},"functionSelector":"959b8c3f","id":19188,"implemented":true,"kind":"function","modifiers":[],"name":"authorizeOperator","nameLocation":"5592:17:128","nodeType":"FunctionDefinition","overrides":{"id":19148,"nodeType":"OverrideSpecifier","overrides":[],"src":"5643:8:128"},"parameters":{"id":19147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19146,"mutability":"mutable","name":"operator","nameLocation":"5618:8:128","nodeType":"VariableDeclaration","scope":19188,"src":"5610:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19145,"name":"address","nodeType":"ElementaryTypeName","src":"5610:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5609:18:128"},"returnParameters":{"id":19149,"nodeType":"ParameterList","parameters":[],"src":"5652:0:128"},"scope":19922,"src":"5583:412:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[20037],"body":{"id":19232,"nodeType":"Block","src":"6125:337:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19196,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19191,"src":"6143:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19197,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6155:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6155:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6143:24:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a207265766f6b696e672073656c66206173206f70657261746f72","id":19200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6169:35:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5","typeString":"literal_string \"ERC777: revoking self as operator\""},"value":"ERC777: revoking self as operator"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5","typeString":"literal_string \"ERC777: revoking self as operator\""}],"id":19195,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6135:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6135:70:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19202,"nodeType":"ExpressionStatement","src":"6135:70:128"},{"condition":{"baseExpression":{"id":19203,"name":"_defaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"6220:17:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19205,"indexExpression":{"id":19204,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19191,"src":"6238:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6220:27:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":19224,"nodeType":"Block","src":"6335:66:128","statements":[{"expression":{"id":19222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6349:41:128","subExpression":{"baseExpression":{"baseExpression":{"id":19216,"name":"_operators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18889,"src":"6356:10:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19219,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19217,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6367:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6367:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6356:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19221,"indexExpression":{"id":19220,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19191,"src":"6381:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6356:34:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19223,"nodeType":"ExpressionStatement","src":"6349:41:128"}]},"id":19225,"nodeType":"IfStatement","src":"6216:185:128","trueBody":{"id":19215,"nodeType":"Block","src":"6249:80:128","statements":[{"expression":{"id":19213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":19206,"name":"_revokedDefaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18895,"src":"6263:24:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":19210,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":19207,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6288:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6288:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6263:38:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":19211,"indexExpression":{"id":19209,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19191,"src":"6302:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6263:48:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":19212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6314:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6263:55:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19214,"nodeType":"ExpressionStatement","src":"6263:55:128"}]}},{"eventCall":{"arguments":[{"id":19227,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19191,"src":"6432:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":19228,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6442:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6442:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19226,"name":"RevokedOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19965,"src":"6416:15:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6416:39:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19231,"nodeType":"EmitStatement","src":"6411:44:128"}]},"documentation":{"id":19189,"nodeType":"StructuredDocumentation","src":"6001:53:128","text":" @dev See {IERC777-revokeOperator}."},"functionSelector":"fad8b32a","id":19233,"implemented":true,"kind":"function","modifiers":[],"name":"revokeOperator","nameLocation":"6068:14:128","nodeType":"FunctionDefinition","overrides":{"id":19193,"nodeType":"OverrideSpecifier","overrides":[],"src":"6116:8:128"},"parameters":{"id":19192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19191,"mutability":"mutable","name":"operator","nameLocation":"6091:8:128","nodeType":"VariableDeclaration","scope":19233,"src":"6083:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19190,"name":"address","nodeType":"ElementaryTypeName","src":"6083:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6082:18:128"},"returnParameters":{"id":19194,"nodeType":"ParameterList","parameters":[],"src":"6125:0:128"},"scope":19922,"src":"6059:403:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[20044],"body":{"id":19243,"nodeType":"Block","src":"6612:46:128","statements":[{"expression":{"id":19241,"name":"_defaultOperatorsArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18879,"src":"6629:22:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"functionReturnParameters":19240,"id":19242,"nodeType":"Return","src":"6622:29:128"}]},"documentation":{"id":19234,"nodeType":"StructuredDocumentation","src":"6468:55:128","text":" @dev See {IERC777-defaultOperators}."},"functionSelector":"06e48538","id":19244,"implemented":true,"kind":"function","modifiers":[],"name":"defaultOperators","nameLocation":"6537:16:128","nodeType":"FunctionDefinition","overrides":{"id":19236,"nodeType":"OverrideSpecifier","overrides":[],"src":"6576:8:128"},"parameters":{"id":19235,"nodeType":"ParameterList","parameters":[],"src":"6553:2:128"},"returnParameters":{"id":19240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19244,"src":"6594:16:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19237,"name":"address","nodeType":"ElementaryTypeName","src":"6594:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19238,"nodeType":"ArrayTypeName","src":"6594:9:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6593:18:128"},"scope":19922,"src":"6528:130:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[20058],"body":{"id":19277,"nodeType":"Block","src":"6966:177:128","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":19261,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"6998:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6998:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19263,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19247,"src":"7012:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19260,"name":"isOperatorFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19143,"src":"6984:13:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":19264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6984:35:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c646572","id":19265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7021:46:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235","typeString":"literal_string \"ERC777: caller is not an operator for holder\""},"value":"ERC777: caller is not an operator for holder"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235","typeString":"literal_string \"ERC777: caller is not an operator for holder\""}],"id":19259,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6976:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6976:92:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19267,"nodeType":"ExpressionStatement","src":"6976:92:128"},{"expression":{"arguments":[{"id":19269,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19247,"src":"7084:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19270,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19249,"src":"7092:9:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19271,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19251,"src":"7103:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19272,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19253,"src":"7111:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19273,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19255,"src":"7117:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":19274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7131:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19268,"name":"_send","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19558,"src":"7078:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7078:58:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19276,"nodeType":"ExpressionStatement","src":"7078:58:128"}]},"documentation":{"id":19245,"nodeType":"StructuredDocumentation","src":"6664:108:128","text":" @dev See {IERC777-operatorSend}.\n Emits {Sent} and {IERC20-Transfer} events."},"functionSelector":"62ad1b83","id":19278,"implemented":true,"kind":"function","modifiers":[],"name":"operatorSend","nameLocation":"6786:12:128","nodeType":"FunctionDefinition","overrides":{"id":19257,"nodeType":"OverrideSpecifier","overrides":[],"src":"6957:8:128"},"parameters":{"id":19256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19247,"mutability":"mutable","name":"sender","nameLocation":"6816:6:128","nodeType":"VariableDeclaration","scope":19278,"src":"6808:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19246,"name":"address","nodeType":"ElementaryTypeName","src":"6808:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19249,"mutability":"mutable","name":"recipient","nameLocation":"6840:9:128","nodeType":"VariableDeclaration","scope":19278,"src":"6832:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19248,"name":"address","nodeType":"ElementaryTypeName","src":"6832:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19251,"mutability":"mutable","name":"amount","nameLocation":"6867:6:128","nodeType":"VariableDeclaration","scope":19278,"src":"6859:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19250,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19253,"mutability":"mutable","name":"data","nameLocation":"6896:4:128","nodeType":"VariableDeclaration","scope":19278,"src":"6883:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19252,"name":"bytes","nodeType":"ElementaryTypeName","src":"6883:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19255,"mutability":"mutable","name":"operatorData","nameLocation":"6923:12:128","nodeType":"VariableDeclaration","scope":19278,"src":"6910:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19254,"name":"bytes","nodeType":"ElementaryTypeName","src":"6910:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6798:143:128"},"returnParameters":{"id":19258,"nodeType":"ParameterList","parameters":[],"src":"6966:0:128"},"scope":19922,"src":"6777:366:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[20070],"body":{"id":19307,"nodeType":"Block","src":"7427:162:128","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":19293,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"7459:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7459:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19295,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19281,"src":"7473:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19292,"name":"isOperatorFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19143,"src":"7445:13:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":19296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7445:36:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c646572","id":19297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7483:46:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235","typeString":"literal_string \"ERC777: caller is not an operator for holder\""},"value":"ERC777: caller is not an operator for holder"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235","typeString":"literal_string \"ERC777: caller is not an operator for holder\""}],"id":19291,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7437:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7437:93:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19299,"nodeType":"ExpressionStatement","src":"7437:93:128"},{"expression":{"arguments":[{"id":19301,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19281,"src":"7546:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19302,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19283,"src":"7555:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19303,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19285,"src":"7563:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19304,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19287,"src":"7569:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19300,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19651,"src":"7540:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory,bytes memory)"}},"id":19305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7540:42:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19306,"nodeType":"ExpressionStatement","src":"7540:42:128"}]},"documentation":{"id":19279,"nodeType":"StructuredDocumentation","src":"7149:110:128","text":" @dev See {IERC777-operatorBurn}.\n Emits {Burned} and {IERC20-Transfer} events."},"functionSelector":"fc673c4f","id":19308,"implemented":true,"kind":"function","modifiers":[],"name":"operatorBurn","nameLocation":"7273:12:128","nodeType":"FunctionDefinition","overrides":{"id":19289,"nodeType":"OverrideSpecifier","overrides":[],"src":"7418:8:128"},"parameters":{"id":19288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19281,"mutability":"mutable","name":"account","nameLocation":"7303:7:128","nodeType":"VariableDeclaration","scope":19308,"src":"7295:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19280,"name":"address","nodeType":"ElementaryTypeName","src":"7295:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19283,"mutability":"mutable","name":"amount","nameLocation":"7328:6:128","nodeType":"VariableDeclaration","scope":19308,"src":"7320:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19282,"name":"uint256","nodeType":"ElementaryTypeName","src":"7320:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19285,"mutability":"mutable","name":"data","nameLocation":"7357:4:128","nodeType":"VariableDeclaration","scope":19308,"src":"7344:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19284,"name":"bytes","nodeType":"ElementaryTypeName","src":"7344:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19287,"mutability":"mutable","name":"operatorData","nameLocation":"7384:12:128","nodeType":"VariableDeclaration","scope":19308,"src":"7371:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19286,"name":"bytes","nodeType":"ElementaryTypeName","src":"7371:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7285:117:128"},"returnParameters":{"id":19290,"nodeType":"ParameterList","parameters":[],"src":"7427:0:128"},"scope":19922,"src":"7264:325:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13447],"body":{"id":19325,"nodeType":"Block","src":"7927:52:128","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":19319,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18901,"src":"7944:11:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":19321,"indexExpression":{"id":19320,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19311,"src":"7956:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7944:19:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19323,"indexExpression":{"id":19322,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19313,"src":"7964:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7944:28:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":19318,"id":19324,"nodeType":"Return","src":"7937:35:128"}]},"documentation":{"id":19309,"nodeType":"StructuredDocumentation","src":"7595:228:128","text":" @dev See {IERC20-allowance}.\n Note that operator and allowance concepts are orthogonal: operators may\n not have allowance, and accounts with allowance may not be operators\n themselves."},"functionSelector":"dd62ed3e","id":19326,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"7837:9:128","nodeType":"FunctionDefinition","overrides":{"id":19315,"nodeType":"OverrideSpecifier","overrides":[],"src":"7900:8:128"},"parameters":{"id":19314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19311,"mutability":"mutable","name":"holder","nameLocation":"7855:6:128","nodeType":"VariableDeclaration","scope":19326,"src":"7847:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19310,"name":"address","nodeType":"ElementaryTypeName","src":"7847:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19313,"mutability":"mutable","name":"spender","nameLocation":"7871:7:128","nodeType":"VariableDeclaration","scope":19326,"src":"7863:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19312,"name":"address","nodeType":"ElementaryTypeName","src":"7863:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7846:33:128"},"returnParameters":{"id":19318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19326,"src":"7918:7:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19316,"name":"uint256","nodeType":"ElementaryTypeName","src":"7918:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7917:9:128"},"scope":19922,"src":"7828:151:128","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[13457],"body":{"id":19350,"nodeType":"Block","src":"8374:109:128","statements":[{"assignments":[19338],"declarations":[{"constant":false,"id":19338,"mutability":"mutable","name":"holder","nameLocation":"8392:6:128","nodeType":"VariableDeclaration","scope":19350,"src":"8384:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19337,"name":"address","nodeType":"ElementaryTypeName","src":"8384:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19341,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":19339,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"8401:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8401:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8384:29:128"},{"expression":{"arguments":[{"id":19343,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19338,"src":"8432:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19344,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19329,"src":"8440:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19345,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19331,"src":"8449:5:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19342,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19762,"src":"8423:8:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8423:32:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19347,"nodeType":"ExpressionStatement","src":"8423:32:128"},{"expression":{"hexValue":"74727565","id":19348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8472:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":19336,"id":19349,"nodeType":"Return","src":"8465:11:128"}]},"documentation":{"id":19327,"nodeType":"StructuredDocumentation","src":"7985:296:128","text":" @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Note that accounts cannot have allowance issued by their operators."},"functionSelector":"095ea7b3","id":19351,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"8295:7:128","nodeType":"FunctionDefinition","overrides":{"id":19333,"nodeType":"OverrideSpecifier","overrides":[],"src":"8350:8:128"},"parameters":{"id":19332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19329,"mutability":"mutable","name":"spender","nameLocation":"8311:7:128","nodeType":"VariableDeclaration","scope":19351,"src":"8303:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19328,"name":"address","nodeType":"ElementaryTypeName","src":"8303:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19331,"mutability":"mutable","name":"value","nameLocation":"8328:5:128","nodeType":"VariableDeclaration","scope":19351,"src":"8320:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19330,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8302:32:128"},"returnParameters":{"id":19336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19351,"src":"8368:4:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19334,"name":"bool","nodeType":"ElementaryTypeName","src":"8368:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8367:6:128"},"scope":19922,"src":"8286:197:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[13469],"body":{"id":19386,"nodeType":"Block","src":"9107:175:128","statements":[{"assignments":[19365],"declarations":[{"constant":false,"id":19365,"mutability":"mutable","name":"spender","nameLocation":"9125:7:128","nodeType":"VariableDeclaration","scope":19386,"src":"9117:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19364,"name":"address","nodeType":"ElementaryTypeName","src":"9117:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19368,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":19366,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"9135:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9135:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9117:30:128"},{"expression":{"arguments":[{"id":19370,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19354,"src":"9173:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19371,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19365,"src":"9181:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19372,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19358,"src":"9190:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19369,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19908,"src":"9157:15:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9157:40:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19374,"nodeType":"ExpressionStatement","src":"9157:40:128"},{"expression":{"arguments":[{"id":19376,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19354,"src":"9213:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19377,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19356,"src":"9221:9:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19378,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19358,"src":"9232:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":19379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9240:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":19380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9244:2:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"66616c7365","id":19381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9248:5:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19375,"name":"_send","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19558,"src":"9207:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9207:47:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19383,"nodeType":"ExpressionStatement","src":"9207:47:128"},{"expression":{"hexValue":"74727565","id":19384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9271:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":19363,"id":19385,"nodeType":"Return","src":"9264:11:128"}]},"documentation":{"id":19352,"nodeType":"StructuredDocumentation","src":"8489:471:128","text":" @dev See {IERC20-transferFrom}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Note that operator and allowance concepts are orthogonal: operators cannot\n call `transferFrom` (unless they have allowance), and accounts with\n allowance cannot call `operatorSend` (unless they are operators).\n Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events."},"functionSelector":"23b872dd","id":19387,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"8974:12:128","nodeType":"FunctionDefinition","overrides":{"id":19360,"nodeType":"OverrideSpecifier","overrides":[],"src":"9083:8:128"},"parameters":{"id":19359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19354,"mutability":"mutable","name":"holder","nameLocation":"9004:6:128","nodeType":"VariableDeclaration","scope":19387,"src":"8996:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19353,"name":"address","nodeType":"ElementaryTypeName","src":"8996:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19356,"mutability":"mutable","name":"recipient","nameLocation":"9028:9:128","nodeType":"VariableDeclaration","scope":19387,"src":"9020:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19355,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19358,"mutability":"mutable","name":"amount","nameLocation":"9055:6:128","nodeType":"VariableDeclaration","scope":19387,"src":"9047:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19357,"name":"uint256","nodeType":"ElementaryTypeName","src":"9047:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8986:81:128"},"returnParameters":{"id":19363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19387,"src":"9101:4:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19361,"name":"bool","nodeType":"ElementaryTypeName","src":"9101:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9100:6:128"},"scope":19922,"src":"8965:317:128","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":19407,"nodeType":"Block","src":"10050:69:128","statements":[{"expression":{"arguments":[{"id":19400,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19390,"src":"10066:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19401,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19392,"src":"10075:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19402,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19394,"src":"10083:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19403,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19396,"src":"10093:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":19404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10107:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19399,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[19408,19488],"referencedDeclaration":19488,"src":"10060:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes memory,bytes memory,bool)"}},"id":19405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10060:52:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19406,"nodeType":"ExpressionStatement","src":"10060:52:128"}]},"documentation":{"id":19388,"nodeType":"StructuredDocumentation","src":"9288:604:128","text":" @dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n If a send hook is registered for `account`, the corresponding function\n will be called with the caller address as the `operator` and with\n `userData` and `operatorData`.\n See {IERC777Sender} and {IERC777Recipient}.\n Emits {Minted} and {IERC20-Transfer} events.\n Requirements\n - `account` cannot be the zero address.\n - if `account` is a contract, it must implement the {IERC777Recipient}\n interface."},"id":19408,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"9906:5:128","nodeType":"FunctionDefinition","parameters":{"id":19397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19390,"mutability":"mutable","name":"account","nameLocation":"9929:7:128","nodeType":"VariableDeclaration","scope":19408,"src":"9921:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19389,"name":"address","nodeType":"ElementaryTypeName","src":"9921:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19392,"mutability":"mutable","name":"amount","nameLocation":"9954:6:128","nodeType":"VariableDeclaration","scope":19408,"src":"9946:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19391,"name":"uint256","nodeType":"ElementaryTypeName","src":"9946:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19394,"mutability":"mutable","name":"userData","nameLocation":"9983:8:128","nodeType":"VariableDeclaration","scope":19408,"src":"9970:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19393,"name":"bytes","nodeType":"ElementaryTypeName","src":"9970:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19396,"mutability":"mutable","name":"operatorData","nameLocation":"10014:12:128","nodeType":"VariableDeclaration","scope":19408,"src":"10001:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19395,"name":"bytes","nodeType":"ElementaryTypeName","src":"10001:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9911:121:128"},"returnParameters":{"id":19398,"nodeType":"ParameterList","parameters":[],"src":"10050:0:128"},"scope":19922,"src":"9897:222:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19487,"nodeType":"Block","src":"10928:539:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19423,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"10946:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10965:1:128","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":19425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10957:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19424,"name":"address","nodeType":"ElementaryTypeName","src":"10957:7:128","typeDescriptions":{}}},"id":19427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10957:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10946:21:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a206d696e7420746f20746865207a65726f2061646472657373","id":19429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10969:34:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ce4f759423d0a519cbdf8529f47ad13e03ab9baec6702bc39e1fd5147c7e080","typeString":"literal_string \"ERC777: mint to the zero address\""},"value":"ERC777: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ce4f759423d0a519cbdf8529f47ad13e03ab9baec6702bc39e1fd5147c7e080","typeString":"literal_string \"ERC777: mint to the zero address\""}],"id":19422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10938:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10938:66:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19431,"nodeType":"ExpressionStatement","src":"10938:66:128"},{"assignments":[19433],"declarations":[{"constant":false,"id":19433,"mutability":"mutable","name":"operator","nameLocation":"11023:8:128","nodeType":"VariableDeclaration","scope":19487,"src":"11015:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19432,"name":"address","nodeType":"ElementaryTypeName","src":"11015:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19436,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":19434,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"11034:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11034:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11015:31:128"},{"expression":{"arguments":[{"id":19438,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19433,"src":"11078:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":19441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11096:1:128","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":19440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11088:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19439,"name":"address","nodeType":"ElementaryTypeName","src":"11088:7:128","typeDescriptions":{}}},"id":19442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11088:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19443,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"11100:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11109:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19437,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19921,"src":"11057:20:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256)"}},"id":19445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11057:59:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19446,"nodeType":"ExpressionStatement","src":"11057:59:128"},{"expression":{"id":19449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":19447,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"11161:12:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":19448,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11177:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11161:22:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19450,"nodeType":"ExpressionStatement","src":"11161:22:128"},{"expression":{"id":19455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":19451,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"11193:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19453,"indexExpression":{"id":19452,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"11203:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11193:18:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":19454,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11215:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11193:28:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19456,"nodeType":"ExpressionStatement","src":"11193:28:128"},{"expression":{"arguments":[{"id":19458,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19433,"src":"11252:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":19461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11270:1:128","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":19460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11262:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19459,"name":"address","nodeType":"ElementaryTypeName","src":"11262:7:128","typeDescriptions":{}}},"id":19462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11262:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19463,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"11274:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19464,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11283:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19465,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19415,"src":"11291:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19466,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19417,"src":"11301:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19467,"name":"requireReceptionAck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19419,"src":"11315:19:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19457,"name":"_callTokensReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19865,"src":"11232:19:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11232:103:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19469,"nodeType":"ExpressionStatement","src":"11232:103:128"},{"eventCall":{"arguments":[{"id":19471,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19433,"src":"11358:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19472,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"11368:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19473,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11377:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19474,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19415,"src":"11385:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19475,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19417,"src":"11395:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19470,"name":"Minted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19938,"src":"11351:6:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory)"}},"id":19476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11351:57:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19477,"nodeType":"EmitStatement","src":"11346:62:128"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":19481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11440:1:128","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":19480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11432:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19479,"name":"address","nodeType":"ElementaryTypeName","src":"11432:7:128","typeDescriptions":{}}},"id":19482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11432:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19483,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19411,"src":"11444:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19484,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19413,"src":"11453:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19478,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"11423:8:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11423:37:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19486,"nodeType":"EmitStatement","src":"11418:42:128"}]},"documentation":{"id":19409,"nodeType":"StructuredDocumentation","src":"10125:611:128","text":" @dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n If `requireReceptionAck` is set to true, and if a send hook is\n registered for `account`, the corresponding function will be called with\n `operator`, `data` and `operatorData`.\n See {IERC777Sender} and {IERC777Recipient}.\n Emits {Minted} and {IERC20-Transfer} events.\n Requirements\n - `account` cannot be the zero address.\n - if `account` is a contract, it must implement the {IERC777Recipient}\n interface."},"id":19488,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"10750:5:128","nodeType":"FunctionDefinition","parameters":{"id":19420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19411,"mutability":"mutable","name":"account","nameLocation":"10773:7:128","nodeType":"VariableDeclaration","scope":19488,"src":"10765:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19410,"name":"address","nodeType":"ElementaryTypeName","src":"10765:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19413,"mutability":"mutable","name":"amount","nameLocation":"10798:6:128","nodeType":"VariableDeclaration","scope":19488,"src":"10790:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19412,"name":"uint256","nodeType":"ElementaryTypeName","src":"10790:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19415,"mutability":"mutable","name":"userData","nameLocation":"10827:8:128","nodeType":"VariableDeclaration","scope":19488,"src":"10814:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19414,"name":"bytes","nodeType":"ElementaryTypeName","src":"10814:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19417,"mutability":"mutable","name":"operatorData","nameLocation":"10858:12:128","nodeType":"VariableDeclaration","scope":19488,"src":"10845:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19416,"name":"bytes","nodeType":"ElementaryTypeName","src":"10845:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19419,"mutability":"mutable","name":"requireReceptionAck","nameLocation":"10885:19:128","nodeType":"VariableDeclaration","scope":19488,"src":"10880:24:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19418,"name":"bool","nodeType":"ElementaryTypeName","src":"10880:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10755:155:128"},"returnParameters":{"id":19421,"nodeType":"ParameterList","parameters":[],"src":"10928:0:128"},"scope":19922,"src":"10741:726:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19557,"nodeType":"Block","src":"12147:454:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19505,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19491,"src":"12165:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12181:1:128","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":19507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12173:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19506,"name":"address","nodeType":"ElementaryTypeName","src":"12173:7:128","typeDescriptions":{}}},"id":19509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12173:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12165:18:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":19511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12185:40:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a","typeString":"literal_string \"ERC777: transfer from the zero address\""},"value":"ERC777: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a","typeString":"literal_string \"ERC777: transfer from the zero address\""}],"id":19504,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12157:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12157:69:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19513,"nodeType":"ExpressionStatement","src":"12157:69:128"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19515,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19493,"src":"12244:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12258:1:128","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":19517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12250:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19516,"name":"address","nodeType":"ElementaryTypeName","src":"12250:7:128","typeDescriptions":{}}},"id":19519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12250:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12244:16:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a207472616e7366657220746f20746865207a65726f2061646472657373","id":19521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12262:38:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a","typeString":"literal_string \"ERC777: transfer to the zero address\""},"value":"ERC777: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a","typeString":"literal_string \"ERC777: transfer to the zero address\""}],"id":19514,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12236:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12236:65:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19523,"nodeType":"ExpressionStatement","src":"12236:65:128"},{"assignments":[19525],"declarations":[{"constant":false,"id":19525,"mutability":"mutable","name":"operator","nameLocation":"12320:8:128","nodeType":"VariableDeclaration","scope":19557,"src":"12312:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19524,"name":"address","nodeType":"ElementaryTypeName","src":"12312:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19528,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":19526,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"12331:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12331:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12312:31:128"},{"expression":{"arguments":[{"id":19530,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19525,"src":"12372:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19531,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19491,"src":"12382:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19532,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19493,"src":"12388:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19533,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19495,"src":"12392:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19534,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19497,"src":"12400:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19535,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19499,"src":"12410:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19529,"name":"_callTokensToSend","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19807,"src":"12354:17:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory)"}},"id":19536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12354:69:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19537,"nodeType":"ExpressionStatement","src":"12354:69:128"},{"expression":{"arguments":[{"id":19539,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19525,"src":"12440:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19540,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19491,"src":"12450:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19541,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19493,"src":"12456:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19542,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19495,"src":"12460:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19543,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19497,"src":"12468:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19544,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19499,"src":"12478:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19538,"name":"_move","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19717,"src":"12434:5:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory)"}},"id":19545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12434:57:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19546,"nodeType":"ExpressionStatement","src":"12434:57:128"},{"expression":{"arguments":[{"id":19548,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19525,"src":"12522:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19549,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19491,"src":"12532:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19550,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19493,"src":"12538:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19551,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19495,"src":"12542:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19552,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19497,"src":"12550:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19553,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19499,"src":"12560:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19554,"name":"requireReceptionAck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19501,"src":"12574:19:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":19547,"name":"_callTokensReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19865,"src":"12502:19:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory,bool)"}},"id":19555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12502:92:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19556,"nodeType":"ExpressionStatement","src":"12502:92:128"}]},"documentation":{"id":19489,"nodeType":"StructuredDocumentation","src":"11473:465:128","text":" @dev Send tokens\n @param from address token holder address\n @param to address recipient address\n @param amount uint256 amount of tokens to transfer\n @param userData bytes extra information provided by the token holder (if any)\n @param operatorData bytes extra information provided by the operator (if any)\n @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient"},"id":19558,"implemented":true,"kind":"function","modifiers":[],"name":"_send","nameLocation":"11952:5:128","nodeType":"FunctionDefinition","parameters":{"id":19502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19491,"mutability":"mutable","name":"from","nameLocation":"11975:4:128","nodeType":"VariableDeclaration","scope":19558,"src":"11967:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19490,"name":"address","nodeType":"ElementaryTypeName","src":"11967:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19493,"mutability":"mutable","name":"to","nameLocation":"11997:2:128","nodeType":"VariableDeclaration","scope":19558,"src":"11989:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19492,"name":"address","nodeType":"ElementaryTypeName","src":"11989:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19495,"mutability":"mutable","name":"amount","nameLocation":"12017:6:128","nodeType":"VariableDeclaration","scope":19558,"src":"12009:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19494,"name":"uint256","nodeType":"ElementaryTypeName","src":"12009:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19497,"mutability":"mutable","name":"userData","nameLocation":"12046:8:128","nodeType":"VariableDeclaration","scope":19558,"src":"12033:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19496,"name":"bytes","nodeType":"ElementaryTypeName","src":"12033:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19499,"mutability":"mutable","name":"operatorData","nameLocation":"12077:12:128","nodeType":"VariableDeclaration","scope":19558,"src":"12064:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19498,"name":"bytes","nodeType":"ElementaryTypeName","src":"12064:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19501,"mutability":"mutable","name":"requireReceptionAck","nameLocation":"12104:19:128","nodeType":"VariableDeclaration","scope":19558,"src":"12099:24:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19500,"name":"bool","nodeType":"ElementaryTypeName","src":"12099:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11957:172:128"},"returnParameters":{"id":19503,"nodeType":"ParameterList","parameters":[],"src":"12147:0:128"},"scope":19922,"src":"11943:658:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19650,"nodeType":"Block","src":"13052:665:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19571,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13070:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13086:1:128","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":19573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13078:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19572,"name":"address","nodeType":"ElementaryTypeName","src":"13078:7:128","typeDescriptions":{}}},"id":19575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13078:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13070:18:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a206275726e2066726f6d20746865207a65726f2061646472657373","id":19577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13090:36:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c","typeString":"literal_string \"ERC777: burn from the zero address\""},"value":"ERC777: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c","typeString":"literal_string \"ERC777: burn from the zero address\""}],"id":19570,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13062:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13062:65:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19579,"nodeType":"ExpressionStatement","src":"13062:65:128"},{"assignments":[19581],"declarations":[{"constant":false,"id":19581,"mutability":"mutable","name":"operator","nameLocation":"13146:8:128","nodeType":"VariableDeclaration","scope":19650,"src":"13138:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19580,"name":"address","nodeType":"ElementaryTypeName","src":"13138:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19584,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":19582,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"13157:10:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13157:12:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13138:31:128"},{"expression":{"arguments":[{"id":19586,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19581,"src":"13198:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19587,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13208:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":19590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13222:1:128","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":19589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13214:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19588,"name":"address","nodeType":"ElementaryTypeName","src":"13214:7:128","typeDescriptions":{}}},"id":19591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13214:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19592,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13226:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19593,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19565,"src":"13234:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19594,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19567,"src":"13240:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19585,"name":"_callTokensToSend","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19807,"src":"13180:17:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory)"}},"id":19595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13180:73:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19596,"nodeType":"ExpressionStatement","src":"13180:73:128"},{"expression":{"arguments":[{"id":19598,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19581,"src":"13285:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19599,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13295:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":19602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13309:1:128","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":19601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13301:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19600,"name":"address","nodeType":"ElementaryTypeName","src":"13301:7:128","typeDescriptions":{}}},"id":19603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13301:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19604,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13313:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19597,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19921,"src":"13264:20:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256)"}},"id":19605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13264:56:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19606,"nodeType":"ExpressionStatement","src":"13264:56:128"},{"assignments":[19608],"declarations":[{"constant":false,"id":19608,"mutability":"mutable","name":"fromBalance","nameLocation":"13373:11:128","nodeType":"VariableDeclaration","scope":19650,"src":"13365:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19607,"name":"uint256","nodeType":"ElementaryTypeName","src":"13365:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":19612,"initialValue":{"baseExpression":{"id":19609,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"13387:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19611,"indexExpression":{"id":19610,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13397:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13387:15:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13365:37:128"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19614,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19608,"src":"13420:11:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":19615,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13435:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13420:21:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a206275726e20616d6f756e7420657863656564732062616c616e6365","id":19617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13443:37:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe","typeString":"literal_string \"ERC777: burn amount exceeds balance\""},"value":"ERC777: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe","typeString":"literal_string \"ERC777: burn amount exceeds balance\""}],"id":19613,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13412:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13412:69:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19619,"nodeType":"ExpressionStatement","src":"13412:69:128"},{"id":19628,"nodeType":"UncheckedBlock","src":"13491:73:128","statements":[{"expression":{"id":19626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":19620,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"13515:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19622,"indexExpression":{"id":19621,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13525:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13515:15:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19623,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19608,"src":"13533:11:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":19624,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13547:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13533:20:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13515:38:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19627,"nodeType":"ExpressionStatement","src":"13515:38:128"}]},{"expression":{"id":19631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":19629,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"13573:12:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":19630,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13589:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13573:22:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19632,"nodeType":"ExpressionStatement","src":"13573:22:128"},{"eventCall":{"arguments":[{"id":19634,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19581,"src":"13618:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19635,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13628:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19636,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13634:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19637,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19565,"src":"13642:4:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19638,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19567,"src":"13648:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19633,"name":"Burned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19951,"src":"13611:6:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory,bytes memory)"}},"id":19639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13611:50:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19640,"nodeType":"EmitStatement","src":"13606:55:128"},{"eventCall":{"arguments":[{"id":19642,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19561,"src":"13685:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":19645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13699:1:128","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":19644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13691:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19643,"name":"address","nodeType":"ElementaryTypeName","src":"13691:7:128","typeDescriptions":{}}},"id":19646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13691:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19647,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19563,"src":"13703:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19641,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"13676:8:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13676:34:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19649,"nodeType":"EmitStatement","src":"13671:39:128"}]},"documentation":{"id":19559,"nodeType":"StructuredDocumentation","src":"12607:294:128","text":" @dev Burn tokens\n @param from address token holder address\n @param amount uint256 amount of tokens to burn\n @param data bytes extra information provided by the token holder\n @param operatorData bytes extra information provided by the operator (if any)"},"id":19651,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"12915:5:128","nodeType":"FunctionDefinition","parameters":{"id":19568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19561,"mutability":"mutable","name":"from","nameLocation":"12938:4:128","nodeType":"VariableDeclaration","scope":19651,"src":"12930:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19560,"name":"address","nodeType":"ElementaryTypeName","src":"12930:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19563,"mutability":"mutable","name":"amount","nameLocation":"12960:6:128","nodeType":"VariableDeclaration","scope":19651,"src":"12952:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19562,"name":"uint256","nodeType":"ElementaryTypeName","src":"12952:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19565,"mutability":"mutable","name":"data","nameLocation":"12989:4:128","nodeType":"VariableDeclaration","scope":19651,"src":"12976:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19564,"name":"bytes","nodeType":"ElementaryTypeName","src":"12976:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19567,"mutability":"mutable","name":"operatorData","nameLocation":"13016:12:128","nodeType":"VariableDeclaration","scope":19651,"src":"13003:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19566,"name":"bytes","nodeType":"ElementaryTypeName","src":"13003:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12920:114:128"},"returnParameters":{"id":19569,"nodeType":"ParameterList","parameters":[],"src":"13052:0:128"},"scope":19922,"src":"12906:811:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19716,"nodeType":"Block","src":"13910:424:128","statements":[{"expression":{"arguments":[{"id":19667,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19653,"src":"13941:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19668,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19655,"src":"13951:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19669,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19657,"src":"13957:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19670,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"13961:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19666,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19921,"src":"13920:20:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256)"}},"id":19671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13920:48:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19672,"nodeType":"ExpressionStatement","src":"13920:48:128"},{"assignments":[19674],"declarations":[{"constant":false,"id":19674,"mutability":"mutable","name":"fromBalance","nameLocation":"13987:11:128","nodeType":"VariableDeclaration","scope":19716,"src":"13979:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19673,"name":"uint256","nodeType":"ElementaryTypeName","src":"13979:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":19678,"initialValue":{"baseExpression":{"id":19675,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"14001:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19677,"indexExpression":{"id":19676,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19655,"src":"14011:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14001:15:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13979:37:128"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19680,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19674,"src":"14034:11:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":19681,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"14049:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14034:21:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":19683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14057:41:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b","typeString":"literal_string \"ERC777: transfer amount exceeds balance\""},"value":"ERC777: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b","typeString":"literal_string \"ERC777: transfer amount exceeds balance\""}],"id":19679,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14026:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14026:73:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19685,"nodeType":"ExpressionStatement","src":"14026:73:128"},{"id":19694,"nodeType":"UncheckedBlock","src":"14109:73:128","statements":[{"expression":{"id":19692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":19686,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"14133:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19688,"indexExpression":{"id":19687,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19655,"src":"14143:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14133:15:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19689,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19674,"src":"14151:11:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":19690,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"14165:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14151:20:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14133:38:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19693,"nodeType":"ExpressionStatement","src":"14133:38:128"}]},{"expression":{"id":19699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":19695,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"14191:9:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19697,"indexExpression":{"id":19696,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19657,"src":"14201:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14191:13:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":19698,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"14208:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14191:23:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19700,"nodeType":"ExpressionStatement","src":"14191:23:128"},{"eventCall":{"arguments":[{"id":19702,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19653,"src":"14235:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19703,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19655,"src":"14245:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19704,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19657,"src":"14251:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19705,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"14255:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19706,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19661,"src":"14263:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19707,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19663,"src":"14273:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19701,"name":"Sent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20084,"src":"14230:4:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory)"}},"id":19708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14230:56:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19709,"nodeType":"EmitStatement","src":"14225:61:128"},{"eventCall":{"arguments":[{"id":19711,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19655,"src":"14310:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19712,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19657,"src":"14316:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19713,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19659,"src":"14320:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19710,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"14301:8:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14301:26:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19715,"nodeType":"EmitStatement","src":"14296:31:128"}]},"id":19717,"implemented":true,"kind":"function","modifiers":[],"name":"_move","nameLocation":"13732:5:128","nodeType":"FunctionDefinition","parameters":{"id":19664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19653,"mutability":"mutable","name":"operator","nameLocation":"13755:8:128","nodeType":"VariableDeclaration","scope":19717,"src":"13747:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19652,"name":"address","nodeType":"ElementaryTypeName","src":"13747:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19655,"mutability":"mutable","name":"from","nameLocation":"13781:4:128","nodeType":"VariableDeclaration","scope":19717,"src":"13773:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19654,"name":"address","nodeType":"ElementaryTypeName","src":"13773:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19657,"mutability":"mutable","name":"to","nameLocation":"13803:2:128","nodeType":"VariableDeclaration","scope":19717,"src":"13795:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19656,"name":"address","nodeType":"ElementaryTypeName","src":"13795:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19659,"mutability":"mutable","name":"amount","nameLocation":"13823:6:128","nodeType":"VariableDeclaration","scope":19717,"src":"13815:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19658,"name":"uint256","nodeType":"ElementaryTypeName","src":"13815:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19661,"mutability":"mutable","name":"userData","nameLocation":"13852:8:128","nodeType":"VariableDeclaration","scope":19717,"src":"13839:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19660,"name":"bytes","nodeType":"ElementaryTypeName","src":"13839:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19663,"mutability":"mutable","name":"operatorData","nameLocation":"13883:12:128","nodeType":"VariableDeclaration","scope":19717,"src":"13870:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19662,"name":"bytes","nodeType":"ElementaryTypeName","src":"13870:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13737:164:128"},"returnParameters":{"id":19665,"nodeType":"ParameterList","parameters":[],"src":"13910:0:128"},"scope":19922,"src":"13723:611:128","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":19761,"nodeType":"Block","src":"14585:260:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19728,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19720,"src":"14603:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14621:1:128","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":19730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14613:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19729,"name":"address","nodeType":"ElementaryTypeName","src":"14613:7:128","typeDescriptions":{}}},"id":19732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14613:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14603:20:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":19734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14625:39:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7","typeString":"literal_string \"ERC777: approve from the zero address\""},"value":"ERC777: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7","typeString":"literal_string \"ERC777: approve from the zero address\""}],"id":19727,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14595:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14595:70:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19736,"nodeType":"ExpressionStatement","src":"14595:70:128"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19738,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19722,"src":"14683:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14702:1:128","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":19740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14694:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19739,"name":"address","nodeType":"ElementaryTypeName","src":"14694:7:128","typeDescriptions":{}}},"id":19742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14694:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14683:21:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a20617070726f766520746f20746865207a65726f2061646472657373","id":19744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14706:37:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d","typeString":"literal_string \"ERC777: approve to the zero address\""},"value":"ERC777: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d","typeString":"literal_string \"ERC777: approve to the zero address\""}],"id":19737,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14675:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14675:69:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19746,"nodeType":"ExpressionStatement","src":"14675:69:128"},{"expression":{"id":19753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":19747,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18901,"src":"14755:11:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":19750,"indexExpression":{"id":19748,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19720,"src":"14767:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14755:19:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19751,"indexExpression":{"id":19749,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19722,"src":"14775:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14755:28:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19752,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19724,"src":"14786:5:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14755:36:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19754,"nodeType":"ExpressionStatement","src":"14755:36:128"},{"eventCall":{"arguments":[{"id":19756,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19720,"src":"14815:6:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19757,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19722,"src":"14823:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19758,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19724,"src":"14832:5:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19755,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13413,"src":"14806:8:128","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14806:32:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19760,"nodeType":"EmitStatement","src":"14801:37:128"}]},"documentation":{"id":19718,"nodeType":"StructuredDocumentation","src":"14340:127:128","text":" @dev See {ERC20-_approve}.\n Note that accounts cannot have allowance issued by their operators."},"id":19762,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"14481:8:128","nodeType":"FunctionDefinition","parameters":{"id":19725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19720,"mutability":"mutable","name":"holder","nameLocation":"14507:6:128","nodeType":"VariableDeclaration","scope":19762,"src":"14499:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19719,"name":"address","nodeType":"ElementaryTypeName","src":"14499:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19722,"mutability":"mutable","name":"spender","nameLocation":"14531:7:128","nodeType":"VariableDeclaration","scope":19762,"src":"14523:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19721,"name":"address","nodeType":"ElementaryTypeName","src":"14523:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19724,"mutability":"mutable","name":"value","nameLocation":"14556:5:128","nodeType":"VariableDeclaration","scope":19762,"src":"14548:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19723,"name":"uint256","nodeType":"ElementaryTypeName","src":"14548:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14489:78:128"},"returnParameters":{"id":19726,"nodeType":"ParameterList","parameters":[],"src":"14585:0:128"},"scope":19922,"src":"14472:373:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19806,"nodeType":"Block","src":"15517:273:128","statements":[{"assignments":[19779],"declarations":[{"constant":false,"id":19779,"mutability":"mutable","name":"implementer","nameLocation":"15535:11:128","nodeType":"VariableDeclaration","scope":19806,"src":"15527:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19778,"name":"address","nodeType":"ElementaryTypeName","src":"15527:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19785,"initialValue":{"arguments":[{"id":19782,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19767,"src":"15591:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19783,"name":"_TOKENS_SENDER_INTERFACE_HASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18871,"src":"15597:29:128","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":19780,"name":"_ERC1820_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18856,"src":"15549:17:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"id":19781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getInterfaceImplementer","nodeType":"MemberAccess","referencedDeclaration":24760,"src":"15549:41:128","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_address_$","typeString":"function (address,bytes32) view external returns (address)"}},"id":19784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15549:78:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15527:100:128"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19786,"name":"implementer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19779,"src":"15641:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15664:1:128","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":19788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15656:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19787,"name":"address","nodeType":"ElementaryTypeName","src":"15656:7:128","typeDescriptions":{}}},"id":19790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15656:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15641:25:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19805,"nodeType":"IfStatement","src":"15637:147:128","trueBody":{"id":19804,"nodeType":"Block","src":"15668:116:128","statements":[{"expression":{"arguments":[{"id":19796,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19765,"src":"15722:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19797,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19767,"src":"15732:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19798,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19769,"src":"15738:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19799,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19771,"src":"15742:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19800,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19773,"src":"15750:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19801,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19775,"src":"15760:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":19793,"name":"implementer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19779,"src":"15696:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":19792,"name":"IERC777Sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20125,"src":"15682:13:128","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC777Sender_$20125_$","typeString":"type(contract IERC777Sender)"}},"id":19794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15682:26:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC777Sender_$20125","typeString":"contract IERC777Sender"}},"id":19795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tokensToSend","nodeType":"MemberAccess","referencedDeclaration":20124,"src":"15682:39:128","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory) external"}},"id":19802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15682:91:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19803,"nodeType":"ExpressionStatement","src":"15682:91:128"}]}}]},"documentation":{"id":19763,"nodeType":"StructuredDocumentation","src":"14851:462:128","text":" @dev Call from.tokensToSend() if the interface is registered\n @param operator address operator requesting the transfer\n @param from address token holder address\n @param to address recipient address\n @param amount uint256 amount of tokens to transfer\n @param userData bytes extra information provided by the token holder (if any)\n @param operatorData bytes extra information provided by the operator (if any)"},"id":19807,"implemented":true,"kind":"function","modifiers":[],"name":"_callTokensToSend","nameLocation":"15327:17:128","nodeType":"FunctionDefinition","parameters":{"id":19776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19765,"mutability":"mutable","name":"operator","nameLocation":"15362:8:128","nodeType":"VariableDeclaration","scope":19807,"src":"15354:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19764,"name":"address","nodeType":"ElementaryTypeName","src":"15354:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19767,"mutability":"mutable","name":"from","nameLocation":"15388:4:128","nodeType":"VariableDeclaration","scope":19807,"src":"15380:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19766,"name":"address","nodeType":"ElementaryTypeName","src":"15380:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19769,"mutability":"mutable","name":"to","nameLocation":"15410:2:128","nodeType":"VariableDeclaration","scope":19807,"src":"15402:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19768,"name":"address","nodeType":"ElementaryTypeName","src":"15402:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19771,"mutability":"mutable","name":"amount","nameLocation":"15430:6:128","nodeType":"VariableDeclaration","scope":19807,"src":"15422:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19770,"name":"uint256","nodeType":"ElementaryTypeName","src":"15422:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19773,"mutability":"mutable","name":"userData","nameLocation":"15459:8:128","nodeType":"VariableDeclaration","scope":19807,"src":"15446:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19772,"name":"bytes","nodeType":"ElementaryTypeName","src":"15446:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19775,"mutability":"mutable","name":"operatorData","nameLocation":"15490:12:128","nodeType":"VariableDeclaration","scope":19807,"src":"15477:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19774,"name":"bytes","nodeType":"ElementaryTypeName","src":"15477:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15344:164:128"},"returnParameters":{"id":19777,"nodeType":"ParameterList","parameters":[],"src":"15517:0:128"},"scope":19922,"src":"15318:472:128","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":19864,"nodeType":"Block","src":"16714:441:128","statements":[{"assignments":[19826],"declarations":[{"constant":false,"id":19826,"mutability":"mutable","name":"implementer","nameLocation":"16732:11:128","nodeType":"VariableDeclaration","scope":19864,"src":"16724:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19825,"name":"address","nodeType":"ElementaryTypeName","src":"16724:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":19832,"initialValue":{"arguments":[{"id":19829,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19814,"src":"16788:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19830,"name":"_TOKENS_RECIPIENT_INTERFACE_HASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18876,"src":"16792:32:128","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":19827,"name":"_ERC1820_REGISTRY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18856,"src":"16746:17:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1820Registry_$24797","typeString":"contract IERC1820Registry"}},"id":19828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getInterfaceImplementer","nodeType":"MemberAccess","referencedDeclaration":24760,"src":"16746:41:128","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_address_$","typeString":"function (address,bytes32) view external returns (address)"}},"id":19831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16746:79:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16724:101:128"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19833,"name":"implementer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19826,"src":"16839:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16862:1:128","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":19835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16854:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19834,"name":"address","nodeType":"ElementaryTypeName","src":"16854:7:128","typeDescriptions":{}}},"id":19837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16854:10:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16839:25:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":19852,"name":"requireReceptionAck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19822,"src":"16997:19:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19862,"nodeType":"IfStatement","src":"16993:156:128","trueBody":{"id":19861,"nodeType":"Block","src":"17018:131:128","statements":[{"expression":{"arguments":[{"id":19857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17040:16:128","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19854,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19814,"src":"17041:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":20376,"src":"17041:13:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":19856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17041:15:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e74","id":19858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17058:79:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80","typeString":"literal_string \"ERC777: token recipient contract has no implementer for ERC777TokensRecipient\""},"value":"ERC777: token recipient contract has no implementer for ERC777TokensRecipient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80","typeString":"literal_string \"ERC777: token recipient contract has no implementer for ERC777TokensRecipient\""}],"id":19853,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17032:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17032:106:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19860,"nodeType":"ExpressionStatement","src":"17032:106:128"}]}},"id":19863,"nodeType":"IfStatement","src":"16835:314:128","trueBody":{"id":19851,"nodeType":"Block","src":"16866:121:128","statements":[{"expression":{"arguments":[{"id":19843,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19810,"src":"16925:8:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19844,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19812,"src":"16935:4:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19845,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19814,"src":"16941:2:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19846,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19816,"src":"16945:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19847,"name":"userData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19818,"src":"16953:8:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":19848,"name":"operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19820,"src":"16963:12:128","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":19840,"name":"implementer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19826,"src":"16897:11:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":19839,"name":"IERC777Recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20105,"src":"16880:16:128","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC777Recipient_$20105_$","typeString":"type(contract IERC777Recipient)"}},"id":19841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:29:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC777Recipient_$20105","typeString":"contract IERC777Recipient"}},"id":19842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tokensReceived","nodeType":"MemberAccess","referencedDeclaration":20104,"src":"16880:44:128","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,uint256,bytes memory,bytes memory) external"}},"id":19849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:96:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19850,"nodeType":"ExpressionStatement","src":"16880:96:128"}]}}]},"documentation":{"id":19808,"nodeType":"StructuredDocumentation","src":"15796:678:128","text":" @dev Call to.tokensReceived() if the interface is registered. Reverts if the recipient is a contract but\n tokensReceived() was not registered for the recipient\n @param operator address operator requesting the transfer\n @param from address token holder address\n @param to address recipient address\n @param amount uint256 amount of tokens to transfer\n @param userData bytes extra information provided by the token holder (if any)\n @param operatorData bytes extra information provided by the operator (if any)\n @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient"},"id":19865,"implemented":true,"kind":"function","modifiers":[],"name":"_callTokensReceived","nameLocation":"16488:19:128","nodeType":"FunctionDefinition","parameters":{"id":19823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19810,"mutability":"mutable","name":"operator","nameLocation":"16525:8:128","nodeType":"VariableDeclaration","scope":19865,"src":"16517:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19809,"name":"address","nodeType":"ElementaryTypeName","src":"16517:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19812,"mutability":"mutable","name":"from","nameLocation":"16551:4:128","nodeType":"VariableDeclaration","scope":19865,"src":"16543:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19811,"name":"address","nodeType":"ElementaryTypeName","src":"16543:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19814,"mutability":"mutable","name":"to","nameLocation":"16573:2:128","nodeType":"VariableDeclaration","scope":19865,"src":"16565:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19813,"name":"address","nodeType":"ElementaryTypeName","src":"16565:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19816,"mutability":"mutable","name":"amount","nameLocation":"16593:6:128","nodeType":"VariableDeclaration","scope":19865,"src":"16585:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19815,"name":"uint256","nodeType":"ElementaryTypeName","src":"16585:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19818,"mutability":"mutable","name":"userData","nameLocation":"16622:8:128","nodeType":"VariableDeclaration","scope":19865,"src":"16609:21:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19817,"name":"bytes","nodeType":"ElementaryTypeName","src":"16609:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19820,"mutability":"mutable","name":"operatorData","nameLocation":"16653:12:128","nodeType":"VariableDeclaration","scope":19865,"src":"16640:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19819,"name":"bytes","nodeType":"ElementaryTypeName","src":"16640:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19822,"mutability":"mutable","name":"requireReceptionAck","nameLocation":"16680:19:128","nodeType":"VariableDeclaration","scope":19865,"src":"16675:24:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19821,"name":"bool","nodeType":"ElementaryTypeName","src":"16675:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16507:198:128"},"returnParameters":{"id":19824,"nodeType":"ParameterList","parameters":[],"src":"16714:0:128"},"scope":19922,"src":"16479:676:128","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":19907,"nodeType":"Block","src":"17563:322:128","statements":[{"assignments":[19876],"declarations":[{"constant":false,"id":19876,"mutability":"mutable","name":"currentAllowance","nameLocation":"17581:16:128","nodeType":"VariableDeclaration","scope":19907,"src":"17573:24:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19875,"name":"uint256","nodeType":"ElementaryTypeName","src":"17573:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":19881,"initialValue":{"arguments":[{"id":19878,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19868,"src":"17610:5:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19879,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19870,"src":"17617:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19877,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19326,"src":"17600:9:128","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":19880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17600:25:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17573:52:128"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19882,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19876,"src":"17639:16:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":19885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17664:7:128","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":19884,"name":"uint256","nodeType":"ElementaryTypeName","src":"17664:7:128","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":19883,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17659:4:128","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":19886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17659:13:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":19887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"17659:17:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17639:37:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19906,"nodeType":"IfStatement","src":"17635:244:128","trueBody":{"id":19905,"nodeType":"Block","src":"17678:201:128","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19890,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19876,"src":"17700:16:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":19891,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"17720:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17700:26:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433737373a20696e73756666696369656e7420616c6c6f77616e6365","id":19893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17728:32:128","typeDescriptions":{"typeIdentifier":"t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb","typeString":"literal_string \"ERC777: insufficient allowance\""},"value":"ERC777: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb","typeString":"literal_string \"ERC777: insufficient allowance\""}],"id":19889,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17692:7:128","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17692:69:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19895,"nodeType":"ExpressionStatement","src":"17692:69:128"},{"id":19904,"nodeType":"UncheckedBlock","src":"17775:94:128","statements":[{"expression":{"arguments":[{"id":19897,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19868,"src":"17812:5:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19898,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19870,"src":"17819:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19899,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19876,"src":"17828:16:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":19900,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"17847:6:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17828:25:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19896,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19762,"src":"17803:8:128","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":19902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17803:51:128","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19903,"nodeType":"ExpressionStatement","src":"17803:51:128"}]}]}}]},"documentation":{"id":19866,"nodeType":"StructuredDocumentation","src":"17161:277:128","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {IERC20-Approval} event."},"id":19908,"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"17452:15:128","nodeType":"FunctionDefinition","parameters":{"id":19873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19868,"mutability":"mutable","name":"owner","nameLocation":"17485:5:128","nodeType":"VariableDeclaration","scope":19908,"src":"17477:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19867,"name":"address","nodeType":"ElementaryTypeName","src":"17477:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19870,"mutability":"mutable","name":"spender","nameLocation":"17508:7:128","nodeType":"VariableDeclaration","scope":19908,"src":"17500:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19869,"name":"address","nodeType":"ElementaryTypeName","src":"17500:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19872,"mutability":"mutable","name":"amount","nameLocation":"17533:6:128","nodeType":"VariableDeclaration","scope":19908,"src":"17525:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19871,"name":"uint256","nodeType":"ElementaryTypeName","src":"17525:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17467:78:128"},"returnParameters":{"id":19874,"nodeType":"ParameterList","parameters":[],"src":"17563:0:128"},"scope":19922,"src":"17443:442:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":19920,"nodeType":"Block","src":"18658:2:128","statements":[]},"documentation":{"id":19909,"nodeType":"StructuredDocumentation","src":"17891:617:128","text":" @dev Hook that is called before any token transfer. This includes\n calls to {send}, {transfer}, {operatorSend}, minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":19921,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"18522:20:128","nodeType":"FunctionDefinition","parameters":{"id":19918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19911,"mutability":"mutable","name":"operator","nameLocation":"18560:8:128","nodeType":"VariableDeclaration","scope":19921,"src":"18552:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19910,"name":"address","nodeType":"ElementaryTypeName","src":"18552:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19913,"mutability":"mutable","name":"from","nameLocation":"18586:4:128","nodeType":"VariableDeclaration","scope":19921,"src":"18578:12:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19912,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19915,"mutability":"mutable","name":"to","nameLocation":"18608:2:128","nodeType":"VariableDeclaration","scope":19921,"src":"18600:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19914,"name":"address","nodeType":"ElementaryTypeName","src":"18600:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19917,"mutability":"mutable","name":"amount","nameLocation":"18628:6:128","nodeType":"VariableDeclaration","scope":19921,"src":"18620:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19916,"name":"uint256","nodeType":"ElementaryTypeName","src":"18620:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18542:98:128"},"returnParameters":{"id":19919,"nodeType":"ParameterList","parameters":[],"src":"18658:0:128"},"scope":19922,"src":"18513:147:128","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":19923,"src":"1088:17574:128","usedErrors":[]}],"src":"107:18556:128"},"id":128},"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol","exportedSymbols":{"IERC777":[20085]},"id":20086,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":19924,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:129"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC777","contractDependencies":[],"contractKind":"interface","documentation":{"id":19925,"nodeType":"StructuredDocumentation","src":"133:372:129","text":" @dev Interface of the ERC777Token standard as defined in the EIP.\n This contract uses the\n https://eips.ethereum.org/EIPS/eip-1820[ERC1820 registry standard] to let\n token holders and recipients react to token movements by using setting implementers\n for the associated interfaces in said registry. See {IERC1820Registry} and\n {ERC1820Implementer}."},"fullyImplemented":false,"id":20085,"linearizedBaseContracts":[20085],"name":"IERC777","nameLocation":"516:7:129","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":19926,"nodeType":"StructuredDocumentation","src":"530:199:129","text":" @dev Emitted when `amount` tokens are created by `operator` and assigned to `to`.\n Note that some additional user `data` and `operatorData` can be logged in the event."},"id":19938,"name":"Minted","nameLocation":"740:6:129","nodeType":"EventDefinition","parameters":{"id":19937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19928,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"763:8:129","nodeType":"VariableDeclaration","scope":19938,"src":"747:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19927,"name":"address","nodeType":"ElementaryTypeName","src":"747:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19930,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"789:2:129","nodeType":"VariableDeclaration","scope":19938,"src":"773:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19929,"name":"address","nodeType":"ElementaryTypeName","src":"773:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19932,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"801:6:129","nodeType":"VariableDeclaration","scope":19938,"src":"793:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19931,"name":"uint256","nodeType":"ElementaryTypeName","src":"793:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19934,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"815:4:129","nodeType":"VariableDeclaration","scope":19938,"src":"809:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19933,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19936,"indexed":false,"mutability":"mutable","name":"operatorData","nameLocation":"827:12:129","nodeType":"VariableDeclaration","scope":19938,"src":"821:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19935,"name":"bytes","nodeType":"ElementaryTypeName","src":"821:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"746:94:129"},"src":"734:107:129"},{"anonymous":false,"documentation":{"id":19939,"nodeType":"StructuredDocumentation","src":"847:187:129","text":" @dev Emitted when `operator` destroys `amount` tokens from `account`.\n Note that some additional user `data` and `operatorData` can be logged in the event."},"id":19951,"name":"Burned","nameLocation":"1045:6:129","nodeType":"EventDefinition","parameters":{"id":19950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19941,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1068:8:129","nodeType":"VariableDeclaration","scope":19951,"src":"1052:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19940,"name":"address","nodeType":"ElementaryTypeName","src":"1052:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19943,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1094:4:129","nodeType":"VariableDeclaration","scope":19951,"src":"1078:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19942,"name":"address","nodeType":"ElementaryTypeName","src":"1078:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19945,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1108:6:129","nodeType":"VariableDeclaration","scope":19951,"src":"1100:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19944,"name":"uint256","nodeType":"ElementaryTypeName","src":"1100:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19947,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1122:4:129","nodeType":"VariableDeclaration","scope":19951,"src":"1116:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19946,"name":"bytes","nodeType":"ElementaryTypeName","src":"1116:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":19949,"indexed":false,"mutability":"mutable","name":"operatorData","nameLocation":"1134:12:129","nodeType":"VariableDeclaration","scope":19951,"src":"1128:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19948,"name":"bytes","nodeType":"ElementaryTypeName","src":"1128:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1051:96:129"},"src":"1039:109:129"},{"anonymous":false,"documentation":{"id":19952,"nodeType":"StructuredDocumentation","src":"1154:83:129","text":" @dev Emitted when `operator` is made operator for `tokenHolder`."},"id":19958,"name":"AuthorizedOperator","nameLocation":"1248:18:129","nodeType":"EventDefinition","parameters":{"id":19957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19954,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1283:8:129","nodeType":"VariableDeclaration","scope":19958,"src":"1267:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19953,"name":"address","nodeType":"ElementaryTypeName","src":"1267:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19956,"indexed":true,"mutability":"mutable","name":"tokenHolder","nameLocation":"1309:11:129","nodeType":"VariableDeclaration","scope":19958,"src":"1293:27:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19955,"name":"address","nodeType":"ElementaryTypeName","src":"1293:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1266:55:129"},"src":"1242:80:129"},{"anonymous":false,"documentation":{"id":19959,"nodeType":"StructuredDocumentation","src":"1328:97:129","text":" @dev Emitted when `operator` is revoked its operator status for `tokenHolder`."},"id":19965,"name":"RevokedOperator","nameLocation":"1436:15:129","nodeType":"EventDefinition","parameters":{"id":19964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19961,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1468:8:129","nodeType":"VariableDeclaration","scope":19965,"src":"1452:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19960,"name":"address","nodeType":"ElementaryTypeName","src":"1452:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19963,"indexed":true,"mutability":"mutable","name":"tokenHolder","nameLocation":"1494:11:129","nodeType":"VariableDeclaration","scope":19965,"src":"1478:27:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19962,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1451:55:129"},"src":"1430:77:129"},{"documentation":{"id":19966,"nodeType":"StructuredDocumentation","src":"1513:54:129","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":19971,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1581:4:129","nodeType":"FunctionDefinition","parameters":{"id":19967,"nodeType":"ParameterList","parameters":[],"src":"1585:2:129"},"returnParameters":{"id":19970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19971,"src":"1611:13:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19968,"name":"string","nodeType":"ElementaryTypeName","src":"1611:6:129","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1610:15:129"},"scope":20085,"src":"1572:54:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19972,"nodeType":"StructuredDocumentation","src":"1632:102:129","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":19977,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1748:6:129","nodeType":"FunctionDefinition","parameters":{"id":19973,"nodeType":"ParameterList","parameters":[],"src":"1754:2:129"},"returnParameters":{"id":19976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19977,"src":"1780:13:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19974,"name":"string","nodeType":"ElementaryTypeName","src":"1780:6:129","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1779:15:129"},"scope":20085,"src":"1739:56:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19978,"nodeType":"StructuredDocumentation","src":"1801:287:129","text":" @dev Returns the smallest part of the token that is not divisible. This\n means all token operations (creation, movement and destruction) must have\n amounts that are a multiple of this number.\n For most token contracts, this value will equal 1."},"functionSelector":"556f0dc7","id":19983,"implemented":false,"kind":"function","modifiers":[],"name":"granularity","nameLocation":"2102:11:129","nodeType":"FunctionDefinition","parameters":{"id":19979,"nodeType":"ParameterList","parameters":[],"src":"2113:2:129"},"returnParameters":{"id":19982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19983,"src":"2139:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19980,"name":"uint256","nodeType":"ElementaryTypeName","src":"2139:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2138:9:129"},"scope":20085,"src":"2093:55:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19984,"nodeType":"StructuredDocumentation","src":"2154:66:129","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":19989,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2234:11:129","nodeType":"FunctionDefinition","parameters":{"id":19985,"nodeType":"ParameterList","parameters":[],"src":"2245:2:129"},"returnParameters":{"id":19988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19989,"src":"2271:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19986,"name":"uint256","nodeType":"ElementaryTypeName","src":"2271:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2270:9:129"},"scope":20085,"src":"2225:55:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19990,"nodeType":"StructuredDocumentation","src":"2286:83:129","text":" @dev Returns the amount of tokens owned by an account (`owner`)."},"functionSelector":"70a08231","id":19997,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2383:9:129","nodeType":"FunctionDefinition","parameters":{"id":19993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19992,"mutability":"mutable","name":"owner","nameLocation":"2401:5:129","nodeType":"VariableDeclaration","scope":19997,"src":"2393:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19991,"name":"address","nodeType":"ElementaryTypeName","src":"2393:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2392:15:129"},"returnParameters":{"id":19996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19997,"src":"2431:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19994,"name":"uint256","nodeType":"ElementaryTypeName","src":"2431:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2430:9:129"},"scope":20085,"src":"2374:66:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19998,"nodeType":"StructuredDocumentation","src":"2446:585:129","text":" @dev Moves `amount` tokens from the caller's account to `recipient`.\n If send or receive hooks are registered for the caller and `recipient`,\n the corresponding functions will be called with `data` and empty\n `operatorData`. See {IERC777Sender} and {IERC777Recipient}.\n Emits a {Sent} event.\n Requirements\n - the caller must have at least `amount` tokens.\n - `recipient` cannot be the zero address.\n - if `recipient` is a contract, it must implement the {IERC777Recipient}\n interface."},"functionSelector":"9bd9bbc6","id":20007,"implemented":false,"kind":"function","modifiers":[],"name":"send","nameLocation":"3045:4:129","nodeType":"FunctionDefinition","parameters":{"id":20005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20000,"mutability":"mutable","name":"recipient","nameLocation":"3067:9:129","nodeType":"VariableDeclaration","scope":20007,"src":"3059:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19999,"name":"address","nodeType":"ElementaryTypeName","src":"3059:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20002,"mutability":"mutable","name":"amount","nameLocation":"3094:6:129","nodeType":"VariableDeclaration","scope":20007,"src":"3086:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20001,"name":"uint256","nodeType":"ElementaryTypeName","src":"3086:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20004,"mutability":"mutable","name":"data","nameLocation":"3125:4:129","nodeType":"VariableDeclaration","scope":20007,"src":"3110:19:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20003,"name":"bytes","nodeType":"ElementaryTypeName","src":"3110:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3049:86:129"},"returnParameters":{"id":20006,"nodeType":"ParameterList","parameters":[],"src":"3144:0:129"},"scope":20085,"src":"3036:109:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20008,"nodeType":"StructuredDocumentation","src":"3151:404:129","text":" @dev Destroys `amount` tokens from the caller's account, reducing the\n total supply.\n If a send hook is registered for the caller, the corresponding function\n will be called with `data` and empty `operatorData`. See {IERC777Sender}.\n Emits a {Burned} event.\n Requirements\n - the caller must have at least `amount` tokens."},"functionSelector":"fe9d9303","id":20015,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"3569:4:129","nodeType":"FunctionDefinition","parameters":{"id":20013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20010,"mutability":"mutable","name":"amount","nameLocation":"3582:6:129","nodeType":"VariableDeclaration","scope":20015,"src":"3574:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20009,"name":"uint256","nodeType":"ElementaryTypeName","src":"3574:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20012,"mutability":"mutable","name":"data","nameLocation":"3605:4:129","nodeType":"VariableDeclaration","scope":20015,"src":"3590:19:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20011,"name":"bytes","nodeType":"ElementaryTypeName","src":"3590:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3573:37:129"},"returnParameters":{"id":20014,"nodeType":"ParameterList","parameters":[],"src":"3619:0:129"},"scope":20085,"src":"3560:60:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20016,"nodeType":"StructuredDocumentation","src":"3626:249:129","text":" @dev Returns true if an account is an operator of `tokenHolder`.\n Operators can send and burn tokens on behalf of their owners. All\n accounts are their own operator.\n See {operatorSend} and {operatorBurn}."},"functionSelector":"d95b6371","id":20025,"implemented":false,"kind":"function","modifiers":[],"name":"isOperatorFor","nameLocation":"3889:13:129","nodeType":"FunctionDefinition","parameters":{"id":20021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20018,"mutability":"mutable","name":"operator","nameLocation":"3911:8:129","nodeType":"VariableDeclaration","scope":20025,"src":"3903:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20017,"name":"address","nodeType":"ElementaryTypeName","src":"3903:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20020,"mutability":"mutable","name":"tokenHolder","nameLocation":"3929:11:129","nodeType":"VariableDeclaration","scope":20025,"src":"3921:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20019,"name":"address","nodeType":"ElementaryTypeName","src":"3921:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3902:39:129"},"returnParameters":{"id":20024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20025,"src":"3965:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20022,"name":"bool","nodeType":"ElementaryTypeName","src":"3965:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3964:6:129"},"scope":20085,"src":"3880:91:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":20026,"nodeType":"StructuredDocumentation","src":"3977:233:129","text":" @dev Make an account an operator of the caller.\n See {isOperatorFor}.\n Emits an {AuthorizedOperator} event.\n Requirements\n - `operator` cannot be calling address."},"functionSelector":"959b8c3f","id":20031,"implemented":false,"kind":"function","modifiers":[],"name":"authorizeOperator","nameLocation":"4224:17:129","nodeType":"FunctionDefinition","parameters":{"id":20029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20028,"mutability":"mutable","name":"operator","nameLocation":"4250:8:129","nodeType":"VariableDeclaration","scope":20031,"src":"4242:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20027,"name":"address","nodeType":"ElementaryTypeName","src":"4242:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4241:18:129"},"returnParameters":{"id":20030,"nodeType":"ParameterList","parameters":[],"src":"4268:0:129"},"scope":20085,"src":"4215:54:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20032,"nodeType":"StructuredDocumentation","src":"4275:261:129","text":" @dev Revoke an account's operator status for the caller.\n See {isOperatorFor} and {defaultOperators}.\n Emits a {RevokedOperator} event.\n Requirements\n - `operator` cannot be calling address."},"functionSelector":"fad8b32a","id":20037,"implemented":false,"kind":"function","modifiers":[],"name":"revokeOperator","nameLocation":"4550:14:129","nodeType":"FunctionDefinition","parameters":{"id":20035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20034,"mutability":"mutable","name":"operator","nameLocation":"4573:8:129","nodeType":"VariableDeclaration","scope":20037,"src":"4565:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20033,"name":"address","nodeType":"ElementaryTypeName","src":"4565:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4564:18:129"},"returnParameters":{"id":20036,"nodeType":"ParameterList","parameters":[],"src":"4591:0:129"},"scope":20085,"src":"4541:51:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20038,"nodeType":"StructuredDocumentation","src":"4598:338:129","text":" @dev Returns the list of default operators. These accounts are operators\n for all token holders, even if {authorizeOperator} was never called on\n them.\n This list is immutable, but individual holders may revoke these via\n {revokeOperator}, in which case {isOperatorFor} will return false."},"functionSelector":"06e48538","id":20044,"implemented":false,"kind":"function","modifiers":[],"name":"defaultOperators","nameLocation":"4950:16:129","nodeType":"FunctionDefinition","parameters":{"id":20039,"nodeType":"ParameterList","parameters":[],"src":"4966:2:129"},"returnParameters":{"id":20043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20044,"src":"4992:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20040,"name":"address","nodeType":"ElementaryTypeName","src":"4992:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20041,"nodeType":"ArrayTypeName","src":"4992:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4991:18:129"},"scope":20085,"src":"4941:69:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":20045,"nodeType":"StructuredDocumentation","src":"5016:714:129","text":" @dev Moves `amount` tokens from `sender` to `recipient`. The caller must\n be an operator of `sender`.\n If send or receive hooks are registered for `sender` and `recipient`,\n the corresponding functions will be called with `data` and\n `operatorData`. See {IERC777Sender} and {IERC777Recipient}.\n Emits a {Sent} event.\n Requirements\n - `sender` cannot be the zero address.\n - `sender` must have at least `amount` tokens.\n - the caller must be an operator for `sender`.\n - `recipient` cannot be the zero address.\n - if `recipient` is a contract, it must implement the {IERC777Recipient}\n interface."},"functionSelector":"62ad1b83","id":20058,"implemented":false,"kind":"function","modifiers":[],"name":"operatorSend","nameLocation":"5744:12:129","nodeType":"FunctionDefinition","parameters":{"id":20056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20047,"mutability":"mutable","name":"sender","nameLocation":"5774:6:129","nodeType":"VariableDeclaration","scope":20058,"src":"5766:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20046,"name":"address","nodeType":"ElementaryTypeName","src":"5766:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20049,"mutability":"mutable","name":"recipient","nameLocation":"5798:9:129","nodeType":"VariableDeclaration","scope":20058,"src":"5790:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20048,"name":"address","nodeType":"ElementaryTypeName","src":"5790:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20051,"mutability":"mutable","name":"amount","nameLocation":"5825:6:129","nodeType":"VariableDeclaration","scope":20058,"src":"5817:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20050,"name":"uint256","nodeType":"ElementaryTypeName","src":"5817:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20053,"mutability":"mutable","name":"data","nameLocation":"5856:4:129","nodeType":"VariableDeclaration","scope":20058,"src":"5841:19:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20052,"name":"bytes","nodeType":"ElementaryTypeName","src":"5841:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20055,"mutability":"mutable","name":"operatorData","nameLocation":"5885:12:129","nodeType":"VariableDeclaration","scope":20058,"src":"5870:27:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20054,"name":"bytes","nodeType":"ElementaryTypeName","src":"5870:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5756:147:129"},"returnParameters":{"id":20057,"nodeType":"ParameterList","parameters":[],"src":"5912:0:129"},"scope":20085,"src":"5735:178:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20059,"nodeType":"StructuredDocumentation","src":"5919:532:129","text":" @dev Destroys `amount` tokens from `account`, reducing the total supply.\n The caller must be an operator of `account`.\n If a send hook is registered for `account`, the corresponding function\n will be called with `data` and `operatorData`. See {IERC777Sender}.\n Emits a {Burned} event.\n Requirements\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens.\n - the caller must be an operator for `account`."},"functionSelector":"fc673c4f","id":20070,"implemented":false,"kind":"function","modifiers":[],"name":"operatorBurn","nameLocation":"6465:12:129","nodeType":"FunctionDefinition","parameters":{"id":20068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20061,"mutability":"mutable","name":"account","nameLocation":"6495:7:129","nodeType":"VariableDeclaration","scope":20070,"src":"6487:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20060,"name":"address","nodeType":"ElementaryTypeName","src":"6487:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20063,"mutability":"mutable","name":"amount","nameLocation":"6520:6:129","nodeType":"VariableDeclaration","scope":20070,"src":"6512:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20062,"name":"uint256","nodeType":"ElementaryTypeName","src":"6512:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20065,"mutability":"mutable","name":"data","nameLocation":"6551:4:129","nodeType":"VariableDeclaration","scope":20070,"src":"6536:19:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20064,"name":"bytes","nodeType":"ElementaryTypeName","src":"6536:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20067,"mutability":"mutable","name":"operatorData","nameLocation":"6580:12:129","nodeType":"VariableDeclaration","scope":20070,"src":"6565:27:129","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20066,"name":"bytes","nodeType":"ElementaryTypeName","src":"6565:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6477:121:129"},"returnParameters":{"id":20069,"nodeType":"ParameterList","parameters":[],"src":"6607:0:129"},"scope":20085,"src":"6456:152:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"anonymous":false,"id":20084,"name":"Sent","nameLocation":"6620:4:129","nodeType":"EventDefinition","parameters":{"id":20083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20072,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"6650:8:129","nodeType":"VariableDeclaration","scope":20084,"src":"6634:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20071,"name":"address","nodeType":"ElementaryTypeName","src":"6634:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20074,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"6684:4:129","nodeType":"VariableDeclaration","scope":20084,"src":"6668:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20073,"name":"address","nodeType":"ElementaryTypeName","src":"6668:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20076,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"6714:2:129","nodeType":"VariableDeclaration","scope":20084,"src":"6698:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20075,"name":"address","nodeType":"ElementaryTypeName","src":"6698:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20078,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6734:6:129","nodeType":"VariableDeclaration","scope":20084,"src":"6726:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20077,"name":"uint256","nodeType":"ElementaryTypeName","src":"6726:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20080,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6756:4:129","nodeType":"VariableDeclaration","scope":20084,"src":"6750:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20079,"name":"bytes","nodeType":"ElementaryTypeName","src":"6750:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20082,"indexed":false,"mutability":"mutable","name":"operatorData","nameLocation":"6776:12:129","nodeType":"VariableDeclaration","scope":20084,"src":"6770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20081,"name":"bytes","nodeType":"ElementaryTypeName","src":"6770:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6624:170:129"},"src":"6614:181:129"}],"scope":20086,"src":"506:6291:129","usedErrors":[]}],"src":"108:6690:129"},"id":129},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol","exportedSymbols":{"IERC777Recipient":[20105]},"id":20106,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20087,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"102:23:130"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC777Recipient","contractDependencies":[],"contractKind":"interface","documentation":{"id":20088,"nodeType":"StructuredDocumentation","src":"127:406:130","text":" @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.\n Accounts can be notified of {IERC777} tokens being sent to them by having a\n contract implement this interface (contract holders can be their own\n implementer) and registering it on the\n https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry].\n See {IERC1820Registry} and {ERC1820Implementer}."},"fullyImplemented":false,"id":20105,"linearizedBaseContracts":[20105],"name":"IERC777Recipient","nameLocation":"544:16:130","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":20089,"nodeType":"StructuredDocumentation","src":"567:474:130","text":" @dev Called by an {IERC777} token contract whenever tokens are being\n moved or created into a registered account (`to`). The type of operation\n is conveyed by `from` being the zero address or not.\n This call occurs _after_ the token contract's state is updated, so\n {IERC777-balanceOf}, etc., can be used to query the post-operation state.\n This function may revert to prevent the operation from being executed."},"functionSelector":"0023de29","id":20104,"implemented":false,"kind":"function","modifiers":[],"name":"tokensReceived","nameLocation":"1055:14:130","nodeType":"FunctionDefinition","parameters":{"id":20102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20091,"mutability":"mutable","name":"operator","nameLocation":"1087:8:130","nodeType":"VariableDeclaration","scope":20104,"src":"1079:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20090,"name":"address","nodeType":"ElementaryTypeName","src":"1079:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20093,"mutability":"mutable","name":"from","nameLocation":"1113:4:130","nodeType":"VariableDeclaration","scope":20104,"src":"1105:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20092,"name":"address","nodeType":"ElementaryTypeName","src":"1105:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20095,"mutability":"mutable","name":"to","nameLocation":"1135:2:130","nodeType":"VariableDeclaration","scope":20104,"src":"1127:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20094,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20097,"mutability":"mutable","name":"amount","nameLocation":"1155:6:130","nodeType":"VariableDeclaration","scope":20104,"src":"1147:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20096,"name":"uint256","nodeType":"ElementaryTypeName","src":"1147:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20099,"mutability":"mutable","name":"userData","nameLocation":"1186:8:130","nodeType":"VariableDeclaration","scope":20104,"src":"1171:23:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20098,"name":"bytes","nodeType":"ElementaryTypeName","src":"1171:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20101,"mutability":"mutable","name":"operatorData","nameLocation":"1219:12:130","nodeType":"VariableDeclaration","scope":20104,"src":"1204:27:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20100,"name":"bytes","nodeType":"ElementaryTypeName","src":"1204:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1069:168:130"},"returnParameters":{"id":20103,"nodeType":"ParameterList","parameters":[],"src":"1246:0:130"},"scope":20105,"src":"1046:201:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":20106,"src":"534:715:130","usedErrors":[]}],"src":"102:1148:130"},"id":130},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol","exportedSymbols":{"IERC777Sender":[20125]},"id":20126,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20107,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:131"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC777Sender","contractDependencies":[],"contractKind":"interface","documentation":{"id":20108,"nodeType":"StructuredDocumentation","src":"124:419:131","text":" @dev Interface of the ERC777TokensSender standard as defined in the EIP.\n {IERC777} Token holders can be notified of operations performed on their\n tokens by having a contract implement this interface (contract holders can be\n their own implementer) and registering it on the\n https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry].\n See {IERC1820Registry} and {ERC1820Implementer}."},"fullyImplemented":false,"id":20125,"linearizedBaseContracts":[20125],"name":"IERC777Sender","nameLocation":"554:13:131","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":20109,"nodeType":"StructuredDocumentation","src":"574:478:131","text":" @dev Called by an {IERC777} token contract whenever a registered holder's\n (`from`) tokens are about to be moved or destroyed. The type of operation\n is conveyed by `to` being the zero address or not.\n This call occurs _before_ the token contract's state is updated, so\n {IERC777-balanceOf}, etc., can be used to query the pre-operation state.\n This function may revert to prevent the operation from being executed."},"functionSelector":"75ab9782","id":20124,"implemented":false,"kind":"function","modifiers":[],"name":"tokensToSend","nameLocation":"1066:12:131","nodeType":"FunctionDefinition","parameters":{"id":20122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20111,"mutability":"mutable","name":"operator","nameLocation":"1096:8:131","nodeType":"VariableDeclaration","scope":20124,"src":"1088:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20110,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20113,"mutability":"mutable","name":"from","nameLocation":"1122:4:131","nodeType":"VariableDeclaration","scope":20124,"src":"1114:12:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20112,"name":"address","nodeType":"ElementaryTypeName","src":"1114:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20115,"mutability":"mutable","name":"to","nameLocation":"1144:2:131","nodeType":"VariableDeclaration","scope":20124,"src":"1136:10:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20114,"name":"address","nodeType":"ElementaryTypeName","src":"1136:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20117,"mutability":"mutable","name":"amount","nameLocation":"1164:6:131","nodeType":"VariableDeclaration","scope":20124,"src":"1156:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1156:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20119,"mutability":"mutable","name":"userData","nameLocation":"1195:8:131","nodeType":"VariableDeclaration","scope":20124,"src":"1180:23:131","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20118,"name":"bytes","nodeType":"ElementaryTypeName","src":"1180:5:131","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20121,"mutability":"mutable","name":"operatorData","nameLocation":"1228:12:131","nodeType":"VariableDeclaration","scope":20124,"src":"1213:27:131","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20120,"name":"bytes","nodeType":"ElementaryTypeName","src":"1213:5:131","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1078:168:131"},"returnParameters":{"id":20123,"nodeType":"ParameterList","parameters":[],"src":"1255:0:131"},"scope":20125,"src":"1057:199:131","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":20126,"src":"544:714:131","usedErrors":[]}],"src":"99:1160:131"},"id":131},"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"ERC777":[19922],"ERC777PresetFixedSupply":[20160],"IERC1820Registry":[24797],"IERC20":[13470],"IERC777":[20085],"IERC777Recipient":[20105],"IERC777Sender":[20125]},"id":20161,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20127,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"116:23:132"},{"absolutePath":"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol","file":"../ERC777.sol","id":20128,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20161,"sourceUnit":19923,"src":"141:23:132","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":20130,"name":"ERC777","nodeType":"IdentifierPath","referencedDeclaration":19922,"src":"389:6:132"},"id":20131,"nodeType":"InheritanceSpecifier","src":"389:6:132"}],"canonicalName":"ERC777PresetFixedSupply","contractDependencies":[],"contractKind":"contract","documentation":{"id":20129,"nodeType":"StructuredDocumentation","src":"166:186:132","text":" @dev {ERC777} token, including:\n - Preminted initial supply\n - No access control mechanism (for minting/pausing) and hence no governance\n _Available since v3.4._"},"fullyImplemented":true,"id":20160,"linearizedBaseContracts":[20160,19922,13470,20085,22281],"name":"ERC777PresetFixedSupply","nameLocation":"362:23:132","nodeType":"ContractDefinition","nodes":[{"body":{"id":20158,"nodeType":"Block","src":"751:52:132","statements":[{"expression":{"arguments":[{"id":20152,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20143,"src":"767:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20153,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20141,"src":"774:13:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":20154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"789:2:132","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":20155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"793:2:132","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":20151,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[19408,19488],"referencedDeclaration":19408,"src":"761:5:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory,bytes memory)"}},"id":20156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"761:35:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20157,"nodeType":"ExpressionStatement","src":"761:35:132"}]},"documentation":{"id":20132,"nodeType":"StructuredDocumentation","src":"402:132:132","text":" @dev Mints `initialSupply` amount of token and transfers them to `owner`.\n See {ERC777-constructor}."},"id":20159,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":20146,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20134,"src":"719:4:132","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20147,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20136,"src":"725:6:132","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20148,"name":"defaultOperators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20139,"src":"733:16:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"id":20149,"kind":"baseConstructorSpecifier","modifierName":{"id":20145,"name":"ERC777","nodeType":"IdentifierPath","referencedDeclaration":19922,"src":"712:6:132"},"nodeType":"ModifierInvocation","src":"712:38:132"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":20144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20134,"mutability":"mutable","name":"name","nameLocation":"574:4:132","nodeType":"VariableDeclaration","scope":20159,"src":"560:18:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20133,"name":"string","nodeType":"ElementaryTypeName","src":"560:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20136,"mutability":"mutable","name":"symbol","nameLocation":"602:6:132","nodeType":"VariableDeclaration","scope":20159,"src":"588:20:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20135,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20139,"mutability":"mutable","name":"defaultOperators","nameLocation":"635:16:132","nodeType":"VariableDeclaration","scope":20159,"src":"618:33:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20137,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20138,"nodeType":"ArrayTypeName","src":"618:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":20141,"mutability":"mutable","name":"initialSupply","nameLocation":"669:13:132","nodeType":"VariableDeclaration","scope":20159,"src":"661:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20140,"name":"uint256","nodeType":"ElementaryTypeName","src":"661:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20143,"mutability":"mutable","name":"owner","nameLocation":"700:5:132","nodeType":"VariableDeclaration","scope":20159,"src":"692:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20142,"name":"address","nodeType":"ElementaryTypeName","src":"692:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"550:161:132"},"returnParameters":{"id":20150,"nodeType":"ParameterList","parameters":[],"src":"751:0:132"},"scope":20160,"src":"539:264:132","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":20161,"src":"353:452:132","usedErrors":[]}],"src":"116:690:132"},"id":132},"contracts/@openzeppelin/contracts/token/common/ERC2981.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/token/common/ERC2981.sol","exportedSymbols":{"ERC165":[24377],"ERC2981":[20358],"IERC165":[24693],"IERC2981":[8810]},"id":20359,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20162,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:133"},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol","file":"../../interfaces/IERC2981.sol","id":20163,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20359,"sourceUnit":8811,"src":"133:39:133","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","id":20164,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20359,"sourceUnit":24378,"src":"173:46:133","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":20166,"name":"IERC2981","nodeType":"IdentifierPath","referencedDeclaration":8810,"src":"1125:8:133"},"id":20167,"nodeType":"InheritanceSpecifier","src":"1125:8:133"},{"baseName":{"id":20168,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1135:6:133"},"id":20169,"nodeType":"InheritanceSpecifier","src":"1135:6:133"}],"canonicalName":"ERC2981","contractDependencies":[],"contractKind":"contract","documentation":{"id":20165,"nodeType":"StructuredDocumentation","src":"221:874:133","text":" @dev Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information.\n Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for\n specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first.\n Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the\n fee is specified in basis points by default.\n IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See\n https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to\n voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.\n _Available since v4.5._"},"fullyImplemented":true,"id":20358,"linearizedBaseContracts":[20358,24377,8810,24693],"name":"ERC2981","nameLocation":"1114:7:133","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ERC2981.RoyaltyInfo","id":20174,"members":[{"constant":false,"id":20171,"mutability":"mutable","name":"receiver","nameLocation":"1185:8:133","nodeType":"VariableDeclaration","scope":20174,"src":"1177:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20170,"name":"address","nodeType":"ElementaryTypeName","src":"1177:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20173,"mutability":"mutable","name":"royaltyFraction","nameLocation":"1210:15:133","nodeType":"VariableDeclaration","scope":20174,"src":"1203:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":20172,"name":"uint96","nodeType":"ElementaryTypeName","src":"1203:6:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"name":"RoyaltyInfo","nameLocation":"1155:11:133","nodeType":"StructDefinition","scope":20358,"src":"1148:84:133","visibility":"public"},{"constant":false,"id":20177,"mutability":"mutable","name":"_defaultRoyaltyInfo","nameLocation":"1258:19:133","nodeType":"VariableDeclaration","scope":20358,"src":"1238:39:133","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo"},"typeName":{"id":20176,"nodeType":"UserDefinedTypeName","pathNode":{"id":20175,"name":"RoyaltyInfo","nodeType":"IdentifierPath","referencedDeclaration":20174,"src":"1238:11:133"},"referencedDeclaration":20174,"src":"1238:11:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage_ptr","typeString":"struct ERC2981.RoyaltyInfo"}},"visibility":"private"},{"constant":false,"id":20182,"mutability":"mutable","name":"_tokenRoyaltyInfo","nameLocation":"1323:17:133","nodeType":"VariableDeclaration","scope":20358,"src":"1283:57:133","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoyaltyInfo_$20174_storage_$","typeString":"mapping(uint256 => struct ERC2981.RoyaltyInfo)"},"typeName":{"id":20181,"keyType":{"id":20178,"name":"uint256","nodeType":"ElementaryTypeName","src":"1291:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1283:31:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoyaltyInfo_$20174_storage_$","typeString":"mapping(uint256 => struct ERC2981.RoyaltyInfo)"},"valueType":{"id":20180,"nodeType":"UserDefinedTypeName","pathNode":{"id":20179,"name":"RoyaltyInfo","nodeType":"IdentifierPath","referencedDeclaration":20174,"src":"1302:11:133"},"referencedDeclaration":20174,"src":"1302:11:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage_ptr","typeString":"struct ERC2981.RoyaltyInfo"}}},"visibility":"private"},{"baseFunctions":[24376,24692],"body":{"id":20205,"nodeType":"Block","src":"1516:105:133","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":20203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":20198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20193,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20185,"src":"1533:11:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":20195,"name":"IERC2981","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8810,"src":"1553:8:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC2981_$8810_$","typeString":"type(contract IERC2981)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC2981_$8810_$","typeString":"type(contract IERC2981)"}],"id":20194,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1548:4:133","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":20196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1548:14:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC2981_$8810","typeString":"type(contract IERC2981)"}},"id":20197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1548:26:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1533:41:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":20201,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20185,"src":"1602:11:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":20199,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1578:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC2981_$20358_$","typeString":"type(contract super ERC2981)"}},"id":20200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"1578:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":20202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1578:36:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1533:81:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":20192,"id":20204,"nodeType":"Return","src":"1526:88:133"}]},"documentation":{"id":20183,"nodeType":"StructuredDocumentation","src":"1347:56:133","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":20206,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1417:17:133","nodeType":"FunctionDefinition","overrides":{"id":20189,"nodeType":"OverrideSpecifier","overrides":[{"id":20187,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"1484:7:133"},{"id":20188,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"1493:6:133"}],"src":"1475:25:133"},"parameters":{"id":20186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20185,"mutability":"mutable","name":"interfaceId","nameLocation":"1442:11:133","nodeType":"VariableDeclaration","scope":20206,"src":"1435:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":20184,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1435:6:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1434:20:133"},"returnParameters":{"id":20192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20206,"src":"1510:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20190,"name":"bool","nodeType":"ElementaryTypeName","src":"1510:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1509:6:133"},"scope":20358,"src":"1408:213:133","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[8809],"body":{"id":20255,"nodeType":"Block","src":"1786:317:133","statements":[{"assignments":[20221],"declarations":[{"constant":false,"id":20221,"mutability":"mutable","name":"royalty","nameLocation":"1815:7:133","nodeType":"VariableDeclaration","scope":20255,"src":"1796:26:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo"},"typeName":{"id":20220,"nodeType":"UserDefinedTypeName","pathNode":{"id":20219,"name":"RoyaltyInfo","nodeType":"IdentifierPath","referencedDeclaration":20174,"src":"1796:11:133"},"referencedDeclaration":20174,"src":"1796:11:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage_ptr","typeString":"struct ERC2981.RoyaltyInfo"}},"visibility":"internal"}],"id":20225,"initialValue":{"baseExpression":{"id":20222,"name":"_tokenRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20182,"src":"1825:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoyaltyInfo_$20174_storage_$","typeString":"mapping(uint256 => struct ERC2981.RoyaltyInfo storage ref)"}},"id":20224,"indexExpression":{"id":20223,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20209,"src":"1843:8:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1825:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1796:56:133"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20226,"name":"royalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20221,"src":"1867:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"id":20227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receiver","nodeType":"MemberAccess","referencedDeclaration":20171,"src":"1867:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":20230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1895:1:133","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":20229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1887:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20228,"name":"address","nodeType":"ElementaryTypeName","src":"1887:7:133","typeDescriptions":{}}},"id":20231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1887:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1867:30:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20238,"nodeType":"IfStatement","src":"1863:90:133","trueBody":{"id":20237,"nodeType":"Block","src":"1899:54:133","statements":[{"expression":{"id":20235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":20233,"name":"royalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20221,"src":"1913:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20234,"name":"_defaultRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20177,"src":"1923:19:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"src":"1913:29:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"id":20236,"nodeType":"ExpressionStatement","src":"1913:29:133"}]}},{"assignments":[20240],"declarations":[{"constant":false,"id":20240,"mutability":"mutable","name":"royaltyAmount","nameLocation":"1971:13:133","nodeType":"VariableDeclaration","scope":20255,"src":"1963:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20239,"name":"uint256","nodeType":"ElementaryTypeName","src":"1963:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20249,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20241,"name":"_salePrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20211,"src":"1988:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":20242,"name":"royalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20221,"src":"2001:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"id":20243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"royaltyFraction","nodeType":"MemberAccess","referencedDeclaration":20173,"src":"2001:23:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"1988:36:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":20245,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1987:38:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":20246,"name":"_feeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20265,"src":"2028:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint96_$","typeString":"function () pure returns (uint96)"}},"id":20247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2028:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"1987:58:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1963:82:133"},{"expression":{"components":[{"expression":{"id":20250,"name":"royalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20221,"src":"2064:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"id":20251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receiver","nodeType":"MemberAccess","referencedDeclaration":20171,"src":"2064:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20252,"name":"royaltyAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20240,"src":"2082:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":20253,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2063:33:133","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"functionReturnParameters":20218,"id":20254,"nodeType":"Return","src":"2056:40:133"}]},"documentation":{"id":20207,"nodeType":"StructuredDocumentation","src":"1627:39:133","text":" @inheritdoc IERC2981"},"functionSelector":"2a55205a","id":20256,"implemented":true,"kind":"function","modifiers":[],"name":"royaltyInfo","nameLocation":"1680:11:133","nodeType":"FunctionDefinition","overrides":{"id":20213,"nodeType":"OverrideSpecifier","overrides":[],"src":"1750:8:133"},"parameters":{"id":20212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20209,"mutability":"mutable","name":"_tokenId","nameLocation":"1700:8:133","nodeType":"VariableDeclaration","scope":20256,"src":"1692:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20208,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20211,"mutability":"mutable","name":"_salePrice","nameLocation":"1718:10:133","nodeType":"VariableDeclaration","scope":20256,"src":"1710:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1710:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1691:38:133"},"returnParameters":{"id":20218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20256,"src":"1768:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20214,"name":"address","nodeType":"ElementaryTypeName","src":"1768:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20256,"src":"1777:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20216,"name":"uint256","nodeType":"ElementaryTypeName","src":"1777:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1767:18:133"},"scope":20358,"src":"1671:432:133","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":20264,"nodeType":"Block","src":"2444:29:133","statements":[{"expression":{"hexValue":"3130303030","id":20262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2461:5:133","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"functionReturnParameters":20261,"id":20263,"nodeType":"Return","src":"2454:12:133"}]},"documentation":{"id":20257,"nodeType":"StructuredDocumentation","src":"2109:264:133","text":" @dev The denominator with which to interpret the fee set in {_setTokenRoyalty} and {_setDefaultRoyalty} as a\n fraction of the sale price. Defaults to 10000 so fees are expressed in basis points, but may be customized by an\n override."},"id":20265,"implemented":true,"kind":"function","modifiers":[],"name":"_feeDenominator","nameLocation":"2387:15:133","nodeType":"FunctionDefinition","parameters":{"id":20258,"nodeType":"ParameterList","parameters":[],"src":"2402:2:133"},"returnParameters":{"id":20261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20265,"src":"2436:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":20259,"name":"uint96","nodeType":"ElementaryTypeName","src":"2436:6:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"2435:8:133"},"scope":20358,"src":"2378:95:133","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":20298,"nodeType":"Block","src":"2818:243:133","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":20277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20274,"name":"feeNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20270,"src":"2836:12:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":20275,"name":"_feeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20265,"src":"2852:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint96_$","typeString":"function () pure returns (uint96)"}},"id":20276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2852:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"2836:33:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243323938313a20726f79616c7479206665652077696c6c206578636565642073616c655072696365","id":20278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2871:44:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_dcda5bd52710522f2cc94635314fdacbfec7cf9b64adb69f4a07b374f938990d","typeString":"literal_string \"ERC2981: royalty fee will exceed salePrice\""},"value":"ERC2981: royalty fee will exceed salePrice"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dcda5bd52710522f2cc94635314fdacbfec7cf9b64adb69f4a07b374f938990d","typeString":"literal_string \"ERC2981: royalty fee will exceed salePrice\""}],"id":20273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2828:7:133","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2828:88:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20280,"nodeType":"ExpressionStatement","src":"2828:88:133"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20282,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20268,"src":"2934:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:133","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":20284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20283,"name":"address","nodeType":"ElementaryTypeName","src":"2946:7:133","typeDescriptions":{}}},"id":20286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2946:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2934:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243323938313a20696e76616c6964207265636569766572","id":20288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2958:27:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_f66a1010ca1024f054dcd95a016427c9d452e7f1ceb553ccd3a5e37073a6ffff","typeString":"literal_string \"ERC2981: invalid receiver\""},"value":"ERC2981: invalid receiver"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f66a1010ca1024f054dcd95a016427c9d452e7f1ceb553ccd3a5e37073a6ffff","typeString":"literal_string \"ERC2981: invalid receiver\""}],"id":20281,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2926:7:133","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2926:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20290,"nodeType":"ExpressionStatement","src":"2926:60:133"},{"expression":{"id":20296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":20291,"name":"_defaultRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20177,"src":"2997:19:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":20293,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20268,"src":"3031:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20294,"name":"feeNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20270,"src":"3041:12:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":20292,"name":"RoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20174,"src":"3019:11:133","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RoyaltyInfo_$20174_storage_ptr_$","typeString":"type(struct ERC2981.RoyaltyInfo storage pointer)"}},"id":20295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3019:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"src":"2997:57:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"id":20297,"nodeType":"ExpressionStatement","src":"2997:57:133"}]},"documentation":{"id":20266,"nodeType":"StructuredDocumentation","src":"2479:250:133","text":" @dev Sets the royalty information that all ids in this contract will default to.\n Requirements:\n - `receiver` cannot be the zero address.\n - `feeNumerator` cannot be greater than the fee denominator."},"id":20299,"implemented":true,"kind":"function","modifiers":[],"name":"_setDefaultRoyalty","nameLocation":"2743:18:133","nodeType":"FunctionDefinition","parameters":{"id":20271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20268,"mutability":"mutable","name":"receiver","nameLocation":"2770:8:133","nodeType":"VariableDeclaration","scope":20299,"src":"2762:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20267,"name":"address","nodeType":"ElementaryTypeName","src":"2762:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20270,"mutability":"mutable","name":"feeNumerator","nameLocation":"2787:12:133","nodeType":"VariableDeclaration","scope":20299,"src":"2780:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":20269,"name":"uint96","nodeType":"ElementaryTypeName","src":"2780:6:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"2761:39:133"},"returnParameters":{"id":20272,"nodeType":"ParameterList","parameters":[],"src":"2818:0:133"},"scope":20358,"src":"2734:327:133","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":20306,"nodeType":"Block","src":"3182:43:133","statements":[{"expression":{"id":20304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3192:26:133","subExpression":{"id":20303,"name":"_defaultRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20177,"src":"3199:19:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20305,"nodeType":"ExpressionStatement","src":"3192:26:133"}]},"documentation":{"id":20300,"nodeType":"StructuredDocumentation","src":"3067:60:133","text":" @dev Removes default royalty information."},"id":20307,"implemented":true,"kind":"function","modifiers":[],"name":"_deleteDefaultRoyalty","nameLocation":"3141:21:133","nodeType":"FunctionDefinition","parameters":{"id":20301,"nodeType":"ParameterList","parameters":[],"src":"3162:2:133"},"returnParameters":{"id":20302,"nodeType":"ParameterList","parameters":[],"src":"3182:0:133"},"scope":20358,"src":"3132:93:133","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":20344,"nodeType":"Block","src":"3624:252:133","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":20321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20318,"name":"feeNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20314,"src":"3642:12:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":20319,"name":"_feeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20265,"src":"3658:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint96_$","typeString":"function () pure returns (uint96)"}},"id":20320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"3642:33:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243323938313a20726f79616c7479206665652077696c6c206578636565642073616c655072696365","id":20322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3677:44:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_dcda5bd52710522f2cc94635314fdacbfec7cf9b64adb69f4a07b374f938990d","typeString":"literal_string \"ERC2981: royalty fee will exceed salePrice\""},"value":"ERC2981: royalty fee will exceed salePrice"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dcda5bd52710522f2cc94635314fdacbfec7cf9b64adb69f4a07b374f938990d","typeString":"literal_string \"ERC2981: royalty fee will exceed salePrice\""}],"id":20317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3634:7:133","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3634:88:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20324,"nodeType":"ExpressionStatement","src":"3634:88:133"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20326,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20312,"src":"3740:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3760:1:133","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":20328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3752:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20327,"name":"address","nodeType":"ElementaryTypeName","src":"3752:7:133","typeDescriptions":{}}},"id":20330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3752:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3740:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"455243323938313a20496e76616c696420706172616d6574657273","id":20332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3764:29:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_d20a09dd8b4080dbbc254e38d9f607ef83a2c7a38b671ae8f8f162ffe46e2084","typeString":"literal_string \"ERC2981: Invalid parameters\""},"value":"ERC2981: Invalid parameters"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d20a09dd8b4080dbbc254e38d9f607ef83a2c7a38b671ae8f8f162ffe46e2084","typeString":"literal_string \"ERC2981: Invalid parameters\""}],"id":20325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3732:7:133","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3732:62:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20334,"nodeType":"ExpressionStatement","src":"3732:62:133"},{"expression":{"id":20342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":20335,"name":"_tokenRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20182,"src":"3805:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoyaltyInfo_$20174_storage_$","typeString":"mapping(uint256 => struct ERC2981.RoyaltyInfo storage ref)"}},"id":20337,"indexExpression":{"id":20336,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20310,"src":"3823:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3805:26:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":20339,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20312,"src":"3846:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20340,"name":"feeNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20314,"src":"3856:12:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint96","typeString":"uint96"}],"id":20338,"name":"RoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20174,"src":"3834:11:133","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RoyaltyInfo_$20174_storage_ptr_$","typeString":"type(struct ERC2981.RoyaltyInfo storage pointer)"}},"id":20341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3834:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_memory_ptr","typeString":"struct ERC2981.RoyaltyInfo memory"}},"src":"3805:64:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"id":20343,"nodeType":"ExpressionStatement","src":"3805:64:133"}]},"documentation":{"id":20308,"nodeType":"StructuredDocumentation","src":"3231:259:133","text":" @dev Sets the royalty information for a specific token id, overriding the global default.\n Requirements:\n - `receiver` cannot be the zero address.\n - `feeNumerator` cannot be greater than the fee denominator."},"id":20345,"implemented":true,"kind":"function","modifiers":[],"name":"_setTokenRoyalty","nameLocation":"3504:16:133","nodeType":"FunctionDefinition","parameters":{"id":20315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20310,"mutability":"mutable","name":"tokenId","nameLocation":"3538:7:133","nodeType":"VariableDeclaration","scope":20345,"src":"3530:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20309,"name":"uint256","nodeType":"ElementaryTypeName","src":"3530:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20312,"mutability":"mutable","name":"receiver","nameLocation":"3563:8:133","nodeType":"VariableDeclaration","scope":20345,"src":"3555:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20311,"name":"address","nodeType":"ElementaryTypeName","src":"3555:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20314,"mutability":"mutable","name":"feeNumerator","nameLocation":"3588:12:133","nodeType":"VariableDeclaration","scope":20345,"src":"3581:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":20313,"name":"uint96","nodeType":"ElementaryTypeName","src":"3581:6:133","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"3520:86:133"},"returnParameters":{"id":20316,"nodeType":"ParameterList","parameters":[],"src":"3624:0:133"},"scope":20358,"src":"3495:381:133","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":20356,"nodeType":"Block","src":"4044:50:133","statements":[{"expression":{"id":20354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4054:33:133","subExpression":{"baseExpression":{"id":20351,"name":"_tokenRoyaltyInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20182,"src":"4061:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoyaltyInfo_$20174_storage_$","typeString":"mapping(uint256 => struct ERC2981.RoyaltyInfo storage ref)"}},"id":20353,"indexExpression":{"id":20352,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20348,"src":"4079:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4061:26:133","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyInfo_$20174_storage","typeString":"struct ERC2981.RoyaltyInfo storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20355,"nodeType":"ExpressionStatement","src":"4054:33:133"}]},"documentation":{"id":20346,"nodeType":"StructuredDocumentation","src":"3882:95:133","text":" @dev Resets royalty information for the token id back to the global default."},"id":20357,"implemented":true,"kind":"function","modifiers":[],"name":"_resetTokenRoyalty","nameLocation":"3991:18:133","nodeType":"FunctionDefinition","parameters":{"id":20349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20348,"mutability":"mutable","name":"tokenId","nameLocation":"4018:7:133","nodeType":"VariableDeclaration","scope":20357,"src":"4010:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20347,"name":"uint256","nodeType":"ElementaryTypeName","src":"4010:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4009:17:133"},"returnParameters":{"id":20350,"nodeType":"ParameterList","parameters":[],"src":"4044:0:133"},"scope":20358,"src":"3982:112:133","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":20359,"src":"1096:3000:133","usedErrors":[]}],"src":"108:3989:133"},"id":133},"contracts/@openzeppelin/contracts/utils/Address.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","exportedSymbols":{"Address":[20688]},"id":20689,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20360,"literals":["solidity","^","0.8",".1"],"nodeType":"PragmaDirective","src":"101:23:134"},{"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":20361,"nodeType":"StructuredDocumentation","src":"126:67:134","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"id":20688,"linearizedBaseContracts":[20688],"name":"Address","nameLocation":"202:7:134","nodeType":"ContractDefinition","nodes":[{"body":{"id":20375,"nodeType":"Block","src":"1241:254:134","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":20369,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20364,"src":"1465:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"code","nodeType":"MemberAccess","src":"1465:12:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1465:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":20372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1487:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1465:23:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":20368,"id":20374,"nodeType":"Return","src":"1458:30:134"}]},"documentation":{"id":20362,"nodeType":"StructuredDocumentation","src":"216:954:134","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ===="},"id":20376,"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"1184:10:134","nodeType":"FunctionDefinition","parameters":{"id":20365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20364,"mutability":"mutable","name":"account","nameLocation":"1203:7:134","nodeType":"VariableDeclaration","scope":20376,"src":"1195:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20363,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1194:17:134"},"returnParameters":{"id":20368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20376,"src":"1235:4:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20366,"name":"bool","nodeType":"ElementaryTypeName","src":"1235:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1234:6:134"},"scope":20688,"src":"1175:320:134","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20409,"nodeType":"Block","src":"2483:241:134","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":20387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2509:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$20688","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$20688","typeString":"library Address"}],"id":20386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2501:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20385,"name":"address","nodeType":"ElementaryTypeName","src":"2501:7:134","typeDescriptions":{}}},"id":20388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2501:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"2501:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":20390,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20381,"src":"2526:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2501:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","id":20392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2534:31:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""},"value":"Address: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""}],"id":20384,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2493:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2493:73:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20394,"nodeType":"ExpressionStatement","src":"2493:73:134"},{"assignments":[20396,null],"declarations":[{"constant":false,"id":20396,"mutability":"mutable","name":"success","nameLocation":"2583:7:134","nodeType":"VariableDeclaration","scope":20409,"src":"2578:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20395,"name":"bool","nodeType":"ElementaryTypeName","src":"2578:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":20403,"initialValue":{"arguments":[{"hexValue":"","id":20401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2626:2:134","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":{"id":20397,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20379,"src":"2596:9:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":20398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2596:14:134","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":20400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":20399,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20381,"src":"2618:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2596:29:134","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":20402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2596:33:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2577:52:134"},{"expression":{"arguments":[{"id":20405,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20396,"src":"2647:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564","id":20406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2656:60:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""},"value":"Address: unable to send value, recipient may have reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""}],"id":20404,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2639:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2639:78:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20408,"nodeType":"ExpressionStatement","src":"2639:78:134"}]},"documentation":{"id":20377,"nodeType":"StructuredDocumentation","src":"1501:906:134","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"id":20410,"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"2421:9:134","nodeType":"FunctionDefinition","parameters":{"id":20382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20379,"mutability":"mutable","name":"recipient","nameLocation":"2447:9:134","nodeType":"VariableDeclaration","scope":20410,"src":"2431:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":20378,"name":"address","nodeType":"ElementaryTypeName","src":"2431:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":20381,"mutability":"mutable","name":"amount","nameLocation":"2466:6:134","nodeType":"VariableDeclaration","scope":20410,"src":"2458:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20380,"name":"uint256","nodeType":"ElementaryTypeName","src":"2458:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2430:43:134"},"returnParameters":{"id":20383,"nodeType":"ParameterList","parameters":[],"src":"2483:0:134"},"scope":20688,"src":"2412:312:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20427,"nodeType":"Block","src":"3555:96:134","statements":[{"expression":{"arguments":[{"id":20421,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20413,"src":"3594:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20422,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20415,"src":"3602:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":20423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3608:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564","id":20424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3611:32:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""},"value":"Address: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""}],"id":20420,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[20468,20512],"referencedDeclaration":20512,"src":"3572:21:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":20425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3572:72:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20419,"id":20426,"nodeType":"Return","src":"3565:79:134"}]},"documentation":{"id":20411,"nodeType":"StructuredDocumentation","src":"2730:731:134","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"},"id":20428,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"3475:12:134","nodeType":"FunctionDefinition","parameters":{"id":20416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20413,"mutability":"mutable","name":"target","nameLocation":"3496:6:134","nodeType":"VariableDeclaration","scope":20428,"src":"3488:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20412,"name":"address","nodeType":"ElementaryTypeName","src":"3488:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20415,"mutability":"mutable","name":"data","nameLocation":"3517:4:134","nodeType":"VariableDeclaration","scope":20428,"src":"3504:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20414,"name":"bytes","nodeType":"ElementaryTypeName","src":"3504:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3487:35:134"},"returnParameters":{"id":20419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20428,"src":"3541:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20417,"name":"bytes","nodeType":"ElementaryTypeName","src":"3541:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3540:14:134"},"scope":20688,"src":"3466:185:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20447,"nodeType":"Block","src":"4020:76:134","statements":[{"expression":{"arguments":[{"id":20441,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20431,"src":"4059:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20442,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20433,"src":"4067:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":20443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4073:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":20444,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20435,"src":"4076:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20440,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[20468,20512],"referencedDeclaration":20512,"src":"4037:21:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":20445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4037:52:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20439,"id":20446,"nodeType":"Return","src":"4030:59:134"}]},"documentation":{"id":20429,"nodeType":"StructuredDocumentation","src":"3657:211:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":20448,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"3882:12:134","nodeType":"FunctionDefinition","parameters":{"id":20436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20431,"mutability":"mutable","name":"target","nameLocation":"3912:6:134","nodeType":"VariableDeclaration","scope":20448,"src":"3904:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20430,"name":"address","nodeType":"ElementaryTypeName","src":"3904:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20433,"mutability":"mutable","name":"data","nameLocation":"3941:4:134","nodeType":"VariableDeclaration","scope":20448,"src":"3928:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20432,"name":"bytes","nodeType":"ElementaryTypeName","src":"3928:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20435,"mutability":"mutable","name":"errorMessage","nameLocation":"3969:12:134","nodeType":"VariableDeclaration","scope":20448,"src":"3955:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20434,"name":"string","nodeType":"ElementaryTypeName","src":"3955:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3894:93:134"},"returnParameters":{"id":20439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20448,"src":"4006:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20437,"name":"bytes","nodeType":"ElementaryTypeName","src":"4006:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4005:14:134"},"scope":20688,"src":"3873:223:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20467,"nodeType":"Block","src":"4601:111:134","statements":[{"expression":{"arguments":[{"id":20461,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20451,"src":"4640:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20462,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20453,"src":"4648:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20463,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20455,"src":"4654:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564","id":20464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4661:43:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""},"value":"Address: low-level call with value failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""}],"id":20460,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[20468,20512],"referencedDeclaration":20512,"src":"4618:21:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":20465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4618:87:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20459,"id":20466,"nodeType":"Return","src":"4611:94:134"}]},"documentation":{"id":20449,"nodeType":"StructuredDocumentation","src":"4102:351:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._"},"id":20468,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"4467:21:134","nodeType":"FunctionDefinition","parameters":{"id":20456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20451,"mutability":"mutable","name":"target","nameLocation":"4506:6:134","nodeType":"VariableDeclaration","scope":20468,"src":"4498:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20450,"name":"address","nodeType":"ElementaryTypeName","src":"4498:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20453,"mutability":"mutable","name":"data","nameLocation":"4535:4:134","nodeType":"VariableDeclaration","scope":20468,"src":"4522:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20452,"name":"bytes","nodeType":"ElementaryTypeName","src":"4522:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20455,"mutability":"mutable","name":"value","nameLocation":"4557:5:134","nodeType":"VariableDeclaration","scope":20468,"src":"4549:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20454,"name":"uint256","nodeType":"ElementaryTypeName","src":"4549:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4488:80:134"},"returnParameters":{"id":20459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20468,"src":"4587:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20457,"name":"bytes","nodeType":"ElementaryTypeName","src":"4587:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4586:14:134"},"scope":20688,"src":"4458:254:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20511,"nodeType":"Block","src":"5139:267:134","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":20485,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5165:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$20688","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$20688","typeString":"library Address"}],"id":20484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5157:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20483,"name":"address","nodeType":"ElementaryTypeName","src":"5157:7:134","typeDescriptions":{}}},"id":20486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5157:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"5157:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":20488,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20475,"src":"5182:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5157:30:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c","id":20490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5189:40:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""},"value":"Address: insufficient balance for call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""}],"id":20482,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5149:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5149:81:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20492,"nodeType":"ExpressionStatement","src":"5149:81:134"},{"assignments":[20494,20496],"declarations":[{"constant":false,"id":20494,"mutability":"mutable","name":"success","nameLocation":"5246:7:134","nodeType":"VariableDeclaration","scope":20511,"src":"5241:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20493,"name":"bool","nodeType":"ElementaryTypeName","src":"5241:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20496,"mutability":"mutable","name":"returndata","nameLocation":"5268:10:134","nodeType":"VariableDeclaration","scope":20511,"src":"5255:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20495,"name":"bytes","nodeType":"ElementaryTypeName","src":"5255:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":20503,"initialValue":{"arguments":[{"id":20501,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20473,"src":"5308:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":20497,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20471,"src":"5282:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"5282:11:134","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":20500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":20499,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20475,"src":"5301:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5282:25:134","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":20502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5282:31:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5240:73:134"},{"expression":{"arguments":[{"id":20505,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20471,"src":"5357:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20506,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20494,"src":"5365:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20507,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20496,"src":"5374:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20508,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20477,"src":"5386:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20504,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"5330:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":20509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5330:69:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20481,"id":20510,"nodeType":"Return","src":"5323:76:134"}]},"documentation":{"id":20469,"nodeType":"StructuredDocumentation","src":"4718:237:134","text":" @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":20512,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"4969:21:134","nodeType":"FunctionDefinition","parameters":{"id":20478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20471,"mutability":"mutable","name":"target","nameLocation":"5008:6:134","nodeType":"VariableDeclaration","scope":20512,"src":"5000:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20470,"name":"address","nodeType":"ElementaryTypeName","src":"5000:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20473,"mutability":"mutable","name":"data","nameLocation":"5037:4:134","nodeType":"VariableDeclaration","scope":20512,"src":"5024:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20472,"name":"bytes","nodeType":"ElementaryTypeName","src":"5024:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20475,"mutability":"mutable","name":"value","nameLocation":"5059:5:134","nodeType":"VariableDeclaration","scope":20512,"src":"5051:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20474,"name":"uint256","nodeType":"ElementaryTypeName","src":"5051:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20477,"mutability":"mutable","name":"errorMessage","nameLocation":"5088:12:134","nodeType":"VariableDeclaration","scope":20512,"src":"5074:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20476,"name":"string","nodeType":"ElementaryTypeName","src":"5074:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4990:116:134"},"returnParameters":{"id":20481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20512,"src":"5125:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20479,"name":"bytes","nodeType":"ElementaryTypeName","src":"5125:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5124:14:134"},"scope":20688,"src":"4960:446:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20528,"nodeType":"Block","src":"5683:97:134","statements":[{"expression":{"arguments":[{"id":20523,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20515,"src":"5719:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20524,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20517,"src":"5727:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564","id":20525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5733:39:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""},"value":"Address: low-level static call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""}],"id":20522,"name":"functionStaticCall","nodeType":"Identifier","overloadedDeclarations":[20529,20558],"referencedDeclaration":20558,"src":"5700:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) view returns (bytes memory)"}},"id":20526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5700:73:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20521,"id":20527,"nodeType":"Return","src":"5693:80:134"}]},"documentation":{"id":20513,"nodeType":"StructuredDocumentation","src":"5412:166:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":20529,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"5592:18:134","nodeType":"FunctionDefinition","parameters":{"id":20518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20515,"mutability":"mutable","name":"target","nameLocation":"5619:6:134","nodeType":"VariableDeclaration","scope":20529,"src":"5611:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20514,"name":"address","nodeType":"ElementaryTypeName","src":"5611:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20517,"mutability":"mutable","name":"data","nameLocation":"5640:4:134","nodeType":"VariableDeclaration","scope":20529,"src":"5627:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20516,"name":"bytes","nodeType":"ElementaryTypeName","src":"5627:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5610:35:134"},"returnParameters":{"id":20521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20529,"src":"5669:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20519,"name":"bytes","nodeType":"ElementaryTypeName","src":"5669:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5668:14:134"},"scope":20688,"src":"5583:197:134","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20557,"nodeType":"Block","src":"6122:168:134","statements":[{"assignments":[20542,20544],"declarations":[{"constant":false,"id":20542,"mutability":"mutable","name":"success","nameLocation":"6138:7:134","nodeType":"VariableDeclaration","scope":20557,"src":"6133:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20541,"name":"bool","nodeType":"ElementaryTypeName","src":"6133:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20544,"mutability":"mutable","name":"returndata","nameLocation":"6160:10:134","nodeType":"VariableDeclaration","scope":20557,"src":"6147:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20543,"name":"bytes","nodeType":"ElementaryTypeName","src":"6147:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":20549,"initialValue":{"arguments":[{"id":20547,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20534,"src":"6192:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":20545,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20532,"src":"6174:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"6174:17:134","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":20548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6174:23:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6132:65:134"},{"expression":{"arguments":[{"id":20551,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20532,"src":"6241:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20552,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20542,"src":"6249:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20553,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20544,"src":"6258:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20554,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20536,"src":"6270:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20550,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"6214:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":20555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6214:69:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20540,"id":20556,"nodeType":"Return","src":"6207:76:134"}]},"documentation":{"id":20530,"nodeType":"StructuredDocumentation","src":"5786:173:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":20558,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"5973:18:134","nodeType":"FunctionDefinition","parameters":{"id":20537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20532,"mutability":"mutable","name":"target","nameLocation":"6009:6:134","nodeType":"VariableDeclaration","scope":20558,"src":"6001:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20531,"name":"address","nodeType":"ElementaryTypeName","src":"6001:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20534,"mutability":"mutable","name":"data","nameLocation":"6038:4:134","nodeType":"VariableDeclaration","scope":20558,"src":"6025:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20533,"name":"bytes","nodeType":"ElementaryTypeName","src":"6025:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20536,"mutability":"mutable","name":"errorMessage","nameLocation":"6066:12:134","nodeType":"VariableDeclaration","scope":20558,"src":"6052:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20535,"name":"string","nodeType":"ElementaryTypeName","src":"6052:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5991:93:134"},"returnParameters":{"id":20540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20558,"src":"6108:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20538,"name":"bytes","nodeType":"ElementaryTypeName","src":"6108:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6107:14:134"},"scope":20688,"src":"5964:326:134","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20574,"nodeType":"Block","src":"6566:101:134","statements":[{"expression":{"arguments":[{"id":20569,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20561,"src":"6604:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20570,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20563,"src":"6612:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","id":20571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6618:41:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""},"value":"Address: low-level delegate call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""}],"id":20568,"name":"functionDelegateCall","nodeType":"Identifier","overloadedDeclarations":[20575,20604],"referencedDeclaration":20604,"src":"6583:20:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":20572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6583:77:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20567,"id":20573,"nodeType":"Return","src":"6576:84:134"}]},"documentation":{"id":20559,"nodeType":"StructuredDocumentation","src":"6296:168:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":20575,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"6478:20:134","nodeType":"FunctionDefinition","parameters":{"id":20564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20561,"mutability":"mutable","name":"target","nameLocation":"6507:6:134","nodeType":"VariableDeclaration","scope":20575,"src":"6499:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20560,"name":"address","nodeType":"ElementaryTypeName","src":"6499:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20563,"mutability":"mutable","name":"data","nameLocation":"6528:4:134","nodeType":"VariableDeclaration","scope":20575,"src":"6515:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20562,"name":"bytes","nodeType":"ElementaryTypeName","src":"6515:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6498:35:134"},"returnParameters":{"id":20567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20575,"src":"6552:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20565,"name":"bytes","nodeType":"ElementaryTypeName","src":"6552:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6551:14:134"},"scope":20688,"src":"6469:198:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20603,"nodeType":"Block","src":"7008:170:134","statements":[{"assignments":[20588,20590],"declarations":[{"constant":false,"id":20588,"mutability":"mutable","name":"success","nameLocation":"7024:7:134","nodeType":"VariableDeclaration","scope":20603,"src":"7019:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20587,"name":"bool","nodeType":"ElementaryTypeName","src":"7019:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20590,"mutability":"mutable","name":"returndata","nameLocation":"7046:10:134","nodeType":"VariableDeclaration","scope":20603,"src":"7033:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20589,"name":"bytes","nodeType":"ElementaryTypeName","src":"7033:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":20595,"initialValue":{"arguments":[{"id":20593,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20580,"src":"7080:4:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":20591,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20578,"src":"7060:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delegatecall","nodeType":"MemberAccess","src":"7060:19:134","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":20594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7060:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"7018:67:134"},{"expression":{"arguments":[{"id":20597,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20578,"src":"7129:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20598,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20588,"src":"7137:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20599,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20590,"src":"7146:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20600,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20582,"src":"7158:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20596,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"7102:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":20601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7102:69:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20586,"id":20602,"nodeType":"Return","src":"7095:76:134"}]},"documentation":{"id":20576,"nodeType":"StructuredDocumentation","src":"6673:175:134","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":20604,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"6862:20:134","nodeType":"FunctionDefinition","parameters":{"id":20583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20578,"mutability":"mutable","name":"target","nameLocation":"6900:6:134","nodeType":"VariableDeclaration","scope":20604,"src":"6892:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20577,"name":"address","nodeType":"ElementaryTypeName","src":"6892:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20580,"mutability":"mutable","name":"data","nameLocation":"6929:4:134","nodeType":"VariableDeclaration","scope":20604,"src":"6916:17:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20579,"name":"bytes","nodeType":"ElementaryTypeName","src":"6916:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20582,"mutability":"mutable","name":"errorMessage","nameLocation":"6957:12:134","nodeType":"VariableDeclaration","scope":20604,"src":"6943:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20581,"name":"string","nodeType":"ElementaryTypeName","src":"6943:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6882:93:134"},"returnParameters":{"id":20586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20604,"src":"6994:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20584,"name":"bytes","nodeType":"ElementaryTypeName","src":"6994:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6993:14:134"},"scope":20688,"src":"6853:325:134","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20642,"nodeType":"Block","src":"7660:434:134","statements":[{"condition":{"id":20618,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20609,"src":"7674:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":20640,"nodeType":"Block","src":"8030:58:134","statements":[{"expression":{"arguments":[{"id":20636,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20611,"src":"8052:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20637,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20613,"src":"8064:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20635,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20687,"src":"8044:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":20638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8044:33:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20639,"nodeType":"ExpressionStatement","src":"8044:33:134"}]},"id":20641,"nodeType":"IfStatement","src":"7670:418:134","trueBody":{"id":20634,"nodeType":"Block","src":"7683:341:134","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20619,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20611,"src":"7701:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7701:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7722:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7701:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20631,"nodeType":"IfStatement","src":"7697:286:134","trueBody":{"id":20630,"nodeType":"Block","src":"7725:258:134","statements":[{"expression":{"arguments":[{"arguments":[{"id":20625,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20607,"src":"7927:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":20624,"name":"isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20376,"src":"7916:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":20626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7916:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","id":20627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7936:31:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""},"value":"Address: call to non-contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""}],"id":20623,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7908:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7908:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20629,"nodeType":"ExpressionStatement","src":"7908:60:134"}]}},{"expression":{"id":20632,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20611,"src":"8003:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20617,"id":20633,"nodeType":"Return","src":"7996:17:134"}]}}]},"documentation":{"id":20605,"nodeType":"StructuredDocumentation","src":"7184:277:134","text":" @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._"},"id":20643,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"7475:26:134","nodeType":"FunctionDefinition","parameters":{"id":20614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20607,"mutability":"mutable","name":"target","nameLocation":"7519:6:134","nodeType":"VariableDeclaration","scope":20643,"src":"7511:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20606,"name":"address","nodeType":"ElementaryTypeName","src":"7511:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20609,"mutability":"mutable","name":"success","nameLocation":"7540:7:134","nodeType":"VariableDeclaration","scope":20643,"src":"7535:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20608,"name":"bool","nodeType":"ElementaryTypeName","src":"7535:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20611,"mutability":"mutable","name":"returndata","nameLocation":"7570:10:134","nodeType":"VariableDeclaration","scope":20643,"src":"7557:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20610,"name":"bytes","nodeType":"ElementaryTypeName","src":"7557:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20613,"mutability":"mutable","name":"errorMessage","nameLocation":"7604:12:134","nodeType":"VariableDeclaration","scope":20643,"src":"7590:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20612,"name":"string","nodeType":"ElementaryTypeName","src":"7590:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7501:121:134"},"returnParameters":{"id":20617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20643,"src":"7646:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20615,"name":"bytes","nodeType":"ElementaryTypeName","src":"7646:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7645:14:134"},"scope":20688,"src":"7466:628:134","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20666,"nodeType":"Block","src":"8475:135:134","statements":[{"condition":{"id":20655,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20646,"src":"8489:7:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":20664,"nodeType":"Block","src":"8546:58:134","statements":[{"expression":{"arguments":[{"id":20660,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20648,"src":"8568:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":20661,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20650,"src":"8580:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20659,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20687,"src":"8560:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8560:33:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20663,"nodeType":"ExpressionStatement","src":"8560:33:134"}]},"id":20665,"nodeType":"IfStatement","src":"8485:119:134","trueBody":{"id":20658,"nodeType":"Block","src":"8498:42:134","statements":[{"expression":{"id":20656,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20648,"src":"8519:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":20654,"id":20657,"nodeType":"Return","src":"8512:17:134"}]}}]},"documentation":{"id":20644,"nodeType":"StructuredDocumentation","src":"8100:210:134","text":" @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._"},"id":20667,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"8324:16:134","nodeType":"FunctionDefinition","parameters":{"id":20651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20646,"mutability":"mutable","name":"success","nameLocation":"8355:7:134","nodeType":"VariableDeclaration","scope":20667,"src":"8350:12:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20645,"name":"bool","nodeType":"ElementaryTypeName","src":"8350:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20648,"mutability":"mutable","name":"returndata","nameLocation":"8385:10:134","nodeType":"VariableDeclaration","scope":20667,"src":"8372:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20647,"name":"bytes","nodeType":"ElementaryTypeName","src":"8372:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20650,"mutability":"mutable","name":"errorMessage","nameLocation":"8419:12:134","nodeType":"VariableDeclaration","scope":20667,"src":"8405:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20649,"name":"string","nodeType":"ElementaryTypeName","src":"8405:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8340:97:134"},"returnParameters":{"id":20654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20667,"src":"8461:12:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20652,"name":"bytes","nodeType":"ElementaryTypeName","src":"8461:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8460:14:134"},"scope":20688,"src":"8315:295:134","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20686,"nodeType":"Block","src":"8699:457:134","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20674,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20669,"src":"8775:10:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8775:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":20676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8795:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8775:21:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":20684,"nodeType":"Block","src":"9105:45:134","statements":[{"expression":{"arguments":[{"id":20681,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20671,"src":"9126:12:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":20680,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9119:6:134","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":20682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9119:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20683,"nodeType":"ExpressionStatement","src":"9119:20:134"}]},"id":20685,"nodeType":"IfStatement","src":"8771:379:134","trueBody":{"id":20679,"nodeType":"Block","src":"8798:301:134","statements":[{"AST":{"nodeType":"YulBlock","src":"8956:133:134","statements":[{"nodeType":"YulVariableDeclaration","src":"8974:40:134","value":{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"9003:10:134"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8997:5:134"},"nodeType":"YulFunctionCall","src":"8997:17:134"},"variables":[{"name":"returndata_size","nodeType":"YulTypedName","src":"8978:15:134","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9042:2:134","type":"","value":"32"},{"name":"returndata","nodeType":"YulIdentifier","src":"9046:10:134"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9038:3:134"},"nodeType":"YulFunctionCall","src":"9038:19:134"},{"name":"returndata_size","nodeType":"YulIdentifier","src":"9059:15:134"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9031:6:134"},"nodeType":"YulFunctionCall","src":"9031:44:134"},"nodeType":"YulExpressionStatement","src":"9031:44:134"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20669,"isOffset":false,"isSlot":false,"src":"9003:10:134","valueSize":1},{"declaration":20669,"isOffset":false,"isSlot":false,"src":"9046:10:134","valueSize":1}],"id":20678,"nodeType":"InlineAssembly","src":"8947:142:134"}]}}]},"id":20687,"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"8625:7:134","nodeType":"FunctionDefinition","parameters":{"id":20672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20669,"mutability":"mutable","name":"returndata","nameLocation":"8646:10:134","nodeType":"VariableDeclaration","scope":20687,"src":"8633:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20668,"name":"bytes","nodeType":"ElementaryTypeName","src":"8633:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20671,"mutability":"mutable","name":"errorMessage","nameLocation":"8672:12:134","nodeType":"VariableDeclaration","scope":20687,"src":"8658:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20670,"name":"string","nodeType":"ElementaryTypeName","src":"8658:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8632:53:134"},"returnParameters":{"id":20673,"nodeType":"ParameterList","parameters":[],"src":"8699:0:134"},"scope":20688,"src":"8616:540:134","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":20689,"src":"194:8964:134","usedErrors":[]}],"src":"101:9058:134"},"id":134},"contracts/@openzeppelin/contracts/utils/Arrays.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Arrays.sol","exportedSymbols":{"Arrays":[20844],"Math":[25662],"StorageSlot":[22551]},"id":20845,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20690,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:135"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/StorageSlot.sol","file":"./StorageSlot.sol","id":20691,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20845,"sourceUnit":22552,"src":"125:27:135","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":20692,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20845,"sourceUnit":25663,"src":"153:25:135","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Arrays","contractDependencies":[],"contractKind":"library","documentation":{"id":20693,"nodeType":"StructuredDocumentation","src":"180:63:135","text":" @dev Collection of functions related to array types."},"fullyImplemented":true,"id":20844,"linearizedBaseContracts":[20844],"name":"Arrays","nameLocation":"252:6:135","nodeType":"ContractDefinition","nodes":[{"id":20696,"libraryName":{"id":20694,"name":"StorageSlot","nodeType":"IdentifierPath","referencedDeclaration":22551,"src":"271:11:135"},"nodeType":"UsingForDirective","src":"265:30:135","typeName":{"id":20695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"287:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"body":{"id":20779,"nodeType":"Block","src":"811:834:135","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20707,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20700,"src":"825:5:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":20708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"825:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"841:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"825:17:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20714,"nodeType":"IfStatement","src":"821:56:135","trueBody":{"id":20713,"nodeType":"Block","src":"844:33:135","statements":[{"expression":{"hexValue":"30","id":20711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"865:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":20706,"id":20712,"nodeType":"Return","src":"858:8:135"}]}},{"assignments":[20716],"declarations":[{"constant":false,"id":20716,"mutability":"mutable","name":"low","nameLocation":"895:3:135","nodeType":"VariableDeclaration","scope":20779,"src":"887:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20715,"name":"uint256","nodeType":"ElementaryTypeName","src":"887:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20718,"initialValue":{"hexValue":"30","id":20717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"901:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"887:15:135"},{"assignments":[20720],"declarations":[{"constant":false,"id":20720,"mutability":"mutable","name":"high","nameLocation":"920:4:135","nodeType":"VariableDeclaration","scope":20779,"src":"912:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20719,"name":"uint256","nodeType":"ElementaryTypeName","src":"912:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20723,"initialValue":{"expression":{"id":20721,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20700,"src":"927:5:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":20722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"927:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"912:27:135"},{"body":{"id":20755,"nodeType":"Block","src":"969:415:135","statements":[{"assignments":[20728],"declarations":[{"constant":false,"id":20728,"mutability":"mutable","name":"mid","nameLocation":"991:3:135","nodeType":"VariableDeclaration","scope":20755,"src":"983:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20727,"name":"uint256","nodeType":"ElementaryTypeName","src":"983:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20734,"initialValue":{"arguments":[{"id":20731,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1010:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20732,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20720,"src":"1015:4:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20729,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"997:4:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":20730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"997:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":20733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"997:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"983:37:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":20736,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20700,"src":"1250:5:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"id":20737,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20728,"src":"1257:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20735,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[20801,20822,20843],"referencedDeclaration":20843,"src":"1237:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$22506_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":20738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1237:24:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":20739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22505,"src":"1237:30:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":20740,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20702,"src":"1270:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1237:40:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":20753,"nodeType":"Block","src":"1328:46:135","statements":[{"expression":{"id":20751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":20747,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1346:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20748,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20728,"src":"1352:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":20749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1358:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1352:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1346:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20752,"nodeType":"ExpressionStatement","src":"1346:13:135"}]},"id":20754,"nodeType":"IfStatement","src":"1233:141:135","trueBody":{"id":20746,"nodeType":"Block","src":"1279:43:135","statements":[{"expression":{"id":20744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":20742,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20720,"src":"1297:4:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20743,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20728,"src":"1304:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1297:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20745,"nodeType":"ExpressionStatement","src":"1297:10:135"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20724,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"957:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":20725,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20720,"src":"963:4:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"957:10:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20756,"nodeType":"WhileStatement","src":"950:434:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":20769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20757,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1501:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":20758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1507:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1501:7:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":20761,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20700,"src":"1525:5:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20762,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1532:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":20763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1538:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1532:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20760,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[20801,20822,20843],"referencedDeclaration":20843,"src":"1512:12:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$22506_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":20765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1512:28:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":20766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":22505,"src":"1512:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":20767,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20702,"src":"1550:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1512:45:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1501:56:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":20777,"nodeType":"Block","src":"1604:35:135","statements":[{"expression":{"id":20775,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1625:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20706,"id":20776,"nodeType":"Return","src":"1618:10:135"}]},"id":20778,"nodeType":"IfStatement","src":"1497:142:135","trueBody":{"id":20774,"nodeType":"Block","src":"1559:39:135","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20770,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"1580:3:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":20771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1586:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1580:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20706,"id":20773,"nodeType":"Return","src":"1573:14:135"}]}}]},"documentation":{"id":20697,"nodeType":"StructuredDocumentation","src":"301:407:135","text":" @dev Searches a sorted `array` and returns the first index that contains\n a value greater or equal to `element`. If no such index exists (i.e. all\n values in the array are strictly less than `element`), the array length is\n returned. Time complexity O(log n).\n `array` is expected to be sorted in ascending order, and to contain no\n repeated elements."},"id":20780,"implemented":true,"kind":"function","modifiers":[],"name":"findUpperBound","nameLocation":"722:14:135","nodeType":"FunctionDefinition","parameters":{"id":20703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20700,"mutability":"mutable","name":"array","nameLocation":"755:5:135","nodeType":"VariableDeclaration","scope":20780,"src":"737:23:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":20698,"name":"uint256","nodeType":"ElementaryTypeName","src":"737:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20699,"nodeType":"ArrayTypeName","src":"737:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":20702,"mutability":"mutable","name":"element","nameLocation":"770:7:135","nodeType":"VariableDeclaration","scope":20780,"src":"762:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20701,"name":"uint256","nodeType":"ElementaryTypeName","src":"762:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"736:42:135"},"returnParameters":{"id":20706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20780,"src":"802:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20704,"name":"uint256","nodeType":"ElementaryTypeName","src":"802:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"801:9:135"},"scope":20844,"src":"713:932:135","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20800,"nodeType":"Block","src":"1961:220:135","statements":[{"assignments":[20793],"declarations":[{"constant":false,"id":20793,"mutability":"mutable","name":"slot","nameLocation":"1979:4:135","nodeType":"VariableDeclaration","scope":20800,"src":"1971:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1971:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":20794,"nodeType":"VariableDeclarationStatement","src":"1971:12:135"},{"AST":{"nodeType":"YulBlock","src":"2045:92:135","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2066:1:135","type":"","value":"0"},{"name":"arr.slot","nodeType":"YulIdentifier","src":"2069:8:135"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2059:6:135"},"nodeType":"YulFunctionCall","src":"2059:19:135"},"nodeType":"YulExpressionStatement","src":"2059:19:135"},{"nodeType":"YulAssignment","src":"2091:36:135","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2113:1:135","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2116:4:135","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2103:9:135"},"nodeType":"YulFunctionCall","src":"2103:18:135"},{"name":"pos","nodeType":"YulIdentifier","src":"2123:3:135"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2099:3:135"},"nodeType":"YulFunctionCall","src":"2099:28:135"},"variableNames":[{"name":"slot","nodeType":"YulIdentifier","src":"2091:4:135"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20784,"isOffset":false,"isSlot":true,"src":"2069:8:135","suffix":"slot","valueSize":1},{"declaration":20786,"isOffset":false,"isSlot":false,"src":"2123:3:135","valueSize":1},{"declaration":20793,"isOffset":false,"isSlot":false,"src":"2091:4:135","valueSize":1}],"id":20795,"nodeType":"InlineAssembly","src":"2036:101:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20796,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20793,"src":"2153:4:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":22517,"src":"2153:19:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$22497_storage_ptr_$bound_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":20798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2153:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"functionReturnParameters":20791,"id":20799,"nodeType":"Return","src":"2146:28:135"}]},"documentation":{"id":20781,"nodeType":"StructuredDocumentation","src":"1651:191:135","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"id":20801,"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"1856:12:135","nodeType":"FunctionDefinition","parameters":{"id":20787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20784,"mutability":"mutable","name":"arr","nameLocation":"1887:3:135","nodeType":"VariableDeclaration","scope":20801,"src":"1869:21:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20782,"name":"address","nodeType":"ElementaryTypeName","src":"1869:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20783,"nodeType":"ArrayTypeName","src":"1869:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":20786,"mutability":"mutable","name":"pos","nameLocation":"1900:3:135","nodeType":"VariableDeclaration","scope":20801,"src":"1892:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20785,"name":"uint256","nodeType":"ElementaryTypeName","src":"1892:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1868:36:135"},"returnParameters":{"id":20791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20801,"src":"1928:31:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":20789,"nodeType":"UserDefinedTypeName","pathNode":{"id":20788,"name":"StorageSlot.AddressSlot","nodeType":"IdentifierPath","referencedDeclaration":22497,"src":"1928:23:135"},"referencedDeclaration":22497,"src":"1928:23:135","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"1927:33:135"},"scope":20844,"src":"1847:334:135","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20821,"nodeType":"Block","src":"2497:220:135","statements":[{"assignments":[20814],"declarations":[{"constant":false,"id":20814,"mutability":"mutable","name":"slot","nameLocation":"2515:4:135","nodeType":"VariableDeclaration","scope":20821,"src":"2507:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2507:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":20815,"nodeType":"VariableDeclarationStatement","src":"2507:12:135"},{"AST":{"nodeType":"YulBlock","src":"2581:92:135","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2602:1:135","type":"","value":"0"},{"name":"arr.slot","nodeType":"YulIdentifier","src":"2605:8:135"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2595:6:135"},"nodeType":"YulFunctionCall","src":"2595:19:135"},"nodeType":"YulExpressionStatement","src":"2595:19:135"},{"nodeType":"YulAssignment","src":"2627:36:135","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2649:1:135","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2652:4:135","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2639:9:135"},"nodeType":"YulFunctionCall","src":"2639:18:135"},{"name":"pos","nodeType":"YulIdentifier","src":"2659:3:135"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2635:3:135"},"nodeType":"YulFunctionCall","src":"2635:28:135"},"variableNames":[{"name":"slot","nodeType":"YulIdentifier","src":"2627:4:135"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20805,"isOffset":false,"isSlot":true,"src":"2605:8:135","suffix":"slot","valueSize":1},{"declaration":20807,"isOffset":false,"isSlot":false,"src":"2659:3:135","valueSize":1},{"declaration":20814,"isOffset":false,"isSlot":false,"src":"2627:4:135","valueSize":1}],"id":20816,"nodeType":"InlineAssembly","src":"2572:101:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20817,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20814,"src":"2689:4:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBytes32Slot","nodeType":"MemberAccess","referencedDeclaration":22539,"src":"2689:19:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Bytes32Slot_$22503_storage_ptr_$bound_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Bytes32Slot storage pointer)"}},"id":20819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2689:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$22503_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot storage pointer"}},"functionReturnParameters":20812,"id":20820,"nodeType":"Return","src":"2682:28:135"}]},"documentation":{"id":20802,"nodeType":"StructuredDocumentation","src":"2187:191:135","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"id":20822,"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"2392:12:135","nodeType":"FunctionDefinition","parameters":{"id":20808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20805,"mutability":"mutable","name":"arr","nameLocation":"2423:3:135","nodeType":"VariableDeclaration","scope":20822,"src":"2405:21:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":20803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2405:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20804,"nodeType":"ArrayTypeName","src":"2405:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":20807,"mutability":"mutable","name":"pos","nameLocation":"2436:3:135","nodeType":"VariableDeclaration","scope":20822,"src":"2428:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20806,"name":"uint256","nodeType":"ElementaryTypeName","src":"2428:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2404:36:135"},"returnParameters":{"id":20812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20822,"src":"2464:31:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$22503_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":20810,"nodeType":"UserDefinedTypeName","pathNode":{"id":20809,"name":"StorageSlot.Bytes32Slot","nodeType":"IdentifierPath","referencedDeclaration":22503,"src":"2464:23:135"},"referencedDeclaration":22503,"src":"2464:23:135","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$22503_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"2463:33:135"},"scope":20844,"src":"2383:334:135","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20842,"nodeType":"Block","src":"3033:220:135","statements":[{"assignments":[20835],"declarations":[{"constant":false,"id":20835,"mutability":"mutable","name":"slot","nameLocation":"3051:4:135","nodeType":"VariableDeclaration","scope":20842,"src":"3043:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3043:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":20836,"nodeType":"VariableDeclarationStatement","src":"3043:12:135"},{"AST":{"nodeType":"YulBlock","src":"3117:92:135","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3138:1:135","type":"","value":"0"},{"name":"arr.slot","nodeType":"YulIdentifier","src":"3141:8:135"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3131:6:135"},"nodeType":"YulFunctionCall","src":"3131:19:135"},"nodeType":"YulExpressionStatement","src":"3131:19:135"},{"nodeType":"YulAssignment","src":"3163:36:135","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3185:1:135","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3188:4:135","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"3175:9:135"},"nodeType":"YulFunctionCall","src":"3175:18:135"},{"name":"pos","nodeType":"YulIdentifier","src":"3195:3:135"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3171:3:135"},"nodeType":"YulFunctionCall","src":"3171:28:135"},"variableNames":[{"name":"slot","nodeType":"YulIdentifier","src":"3163:4:135"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20826,"isOffset":false,"isSlot":true,"src":"3141:8:135","suffix":"slot","valueSize":1},{"declaration":20828,"isOffset":false,"isSlot":false,"src":"3195:3:135","valueSize":1},{"declaration":20835,"isOffset":false,"isSlot":false,"src":"3163:4:135","valueSize":1}],"id":20837,"nodeType":"InlineAssembly","src":"3108:101:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20838,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20835,"src":"3225:4:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":22550,"src":"3225:19:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$22506_storage_ptr_$bound_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":20840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3225:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"functionReturnParameters":20833,"id":20841,"nodeType":"Return","src":"3218:28:135"}]},"documentation":{"id":20823,"nodeType":"StructuredDocumentation","src":"2723:191:135","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"id":20843,"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"2928:12:135","nodeType":"FunctionDefinition","parameters":{"id":20829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20826,"mutability":"mutable","name":"arr","nameLocation":"2959:3:135","nodeType":"VariableDeclaration","scope":20843,"src":"2941:21:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":20824,"name":"uint256","nodeType":"ElementaryTypeName","src":"2941:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20825,"nodeType":"ArrayTypeName","src":"2941:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":20828,"mutability":"mutable","name":"pos","nameLocation":"2972:3:135","nodeType":"VariableDeclaration","scope":20843,"src":"2964:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20827,"name":"uint256","nodeType":"ElementaryTypeName","src":"2964:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2940:36:135"},"returnParameters":{"id":20833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20832,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20843,"src":"3000:31:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":20831,"nodeType":"UserDefinedTypeName","pathNode":{"id":20830,"name":"StorageSlot.Uint256Slot","nodeType":"IdentifierPath","referencedDeclaration":22506,"src":"3000:23:135"},"referencedDeclaration":22506,"src":"3000:23:135","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"2999:33:135"},"scope":20844,"src":"2919:334:135","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":20845,"src":"244:3011:135","usedErrors":[]}],"src":"100:3156:135"},"id":135},"contracts/@openzeppelin/contracts/utils/Base64.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Base64.sol","exportedSymbols":{"Base64":[20891]},"id":20892,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20846,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:136"},{"abstract":false,"baseContracts":[],"canonicalName":"Base64","contractDependencies":[],"contractKind":"library","documentation":{"id":20847,"nodeType":"StructuredDocumentation","src":"125:105:136","text":" @dev Provides a set of functions to operate with Base64 strings.\n _Available since v4.5._"},"fullyImplemented":true,"id":20891,"linearizedBaseContracts":[20891],"name":"Base64","nameLocation":"239:6:136","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":20848,"nodeType":"StructuredDocumentation","src":"252:54:136","text":" @dev Base64 Encoding/Decoding Table"},"id":20851,"mutability":"constant","name":"_TABLE","nameLocation":"336:6:136","nodeType":"VariableDeclaration","scope":20891,"src":"311:100:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20849,"name":"string","nodeType":"ElementaryTypeName","src":"311:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f","id":20850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"345:66:136","typeDescriptions":{"typeIdentifier":"t_stringliteral_84d8a590de33e00cbdc16e1f28c3506f5ec15c599fab9a6a4bcd575cc2f110ce","typeString":"literal_string \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\""},"value":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"},"visibility":"internal"},{"body":{"id":20889,"nodeType":"Block","src":"578:2953:136","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20859,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20854,"src":"795:4:136","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"795:11:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"810:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"795:16:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"documentation":" Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol","id":20865,"nodeType":"IfStatement","src":"791:31:136","trueBody":{"expression":{"hexValue":"","id":20863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"820:2:136","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":20858,"id":20864,"nodeType":"Return","src":"813:9:136"}},{"assignments":[20867],"declarations":[{"constant":false,"id":20867,"mutability":"mutable","name":"table","nameLocation":"886:5:136","nodeType":"VariableDeclaration","scope":20889,"src":"872:19:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20866,"name":"string","nodeType":"ElementaryTypeName","src":"872:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":20869,"initialValue":{"id":20868,"name":"_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20851,"src":"894:6:136","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"872:28:136"},{"assignments":[20871],"declarations":[{"constant":false,"id":20871,"mutability":"mutable","name":"result","nameLocation":"1317:6:136","nodeType":"VariableDeclaration","scope":20889,"src":"1303:20:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20870,"name":"string","nodeType":"ElementaryTypeName","src":"1303:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":20885,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"34","id":20874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1337:1:136","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20875,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20854,"src":"1343:4:136","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1343:11:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":20877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1357:1:136","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1343:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":20879,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1342:17:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":20880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1362:1:136","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"1342:21:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":20882,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1341:23:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1337:27:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1326:10:136","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":20872,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":20884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1326:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1303:62:136"},{"AST":{"nodeType":"YulBlock","src":"1428:2073:136","statements":[{"nodeType":"YulVariableDeclaration","src":"1513:29:136","value":{"arguments":[{"name":"table","nodeType":"YulIdentifier","src":"1533:5:136"},{"kind":"number","nodeType":"YulLiteral","src":"1540:1:136","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1529:3:136"},"nodeType":"YulFunctionCall","src":"1529:13:136"},"variables":[{"name":"tablePtr","nodeType":"YulTypedName","src":"1517:8:136","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1612:32:136","value":{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"1633:6:136"},{"kind":"number","nodeType":"YulLiteral","src":"1641:2:136","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1629:3:136"},"nodeType":"YulFunctionCall","src":"1629:15:136"},"variables":[{"name":"resultPtr","nodeType":"YulTypedName","src":"1616:9:136","type":""}]},{"body":{"nodeType":"YulBlock","src":"1857:1257:136","statements":[{"nodeType":"YulAssignment","src":"1910:26:136","value":{"arguments":[{"name":"dataPtr","nodeType":"YulIdentifier","src":"1925:7:136"},{"kind":"number","nodeType":"YulLiteral","src":"1934:1:136","type":"","value":"3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1921:3:136"},"nodeType":"YulFunctionCall","src":"1921:15:136"},"variableNames":[{"name":"dataPtr","nodeType":"YulIdentifier","src":"1910:7:136"}]},{"nodeType":"YulVariableDeclaration","src":"1953:27:136","value":{"arguments":[{"name":"dataPtr","nodeType":"YulIdentifier","src":"1972:7:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1966:5:136"},"nodeType":"YulFunctionCall","src":"1966:14:136"},"variables":[{"name":"input","nodeType":"YulTypedName","src":"1957:5:136","type":""}]},{"expression":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2564:9:136"},{"arguments":[{"arguments":[{"name":"tablePtr","nodeType":"YulIdentifier","src":"2585:8:136"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2603:2:136","type":"","value":"18"},{"name":"input","nodeType":"YulIdentifier","src":"2607:5:136"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2599:3:136"},"nodeType":"YulFunctionCall","src":"2599:14:136"},{"kind":"number","nodeType":"YulLiteral","src":"2615:4:136","type":"","value":"0x3F"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2595:3:136"},"nodeType":"YulFunctionCall","src":"2595:25:136"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2581:3:136"},"nodeType":"YulFunctionCall","src":"2581:40:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2575:5:136"},"nodeType":"YulFunctionCall","src":"2575:47:136"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"2556:7:136"},"nodeType":"YulFunctionCall","src":"2556:67:136"},"nodeType":"YulExpressionStatement","src":"2556:67:136"},{"nodeType":"YulAssignment","src":"2640:30:136","value":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2657:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"2668:1:136","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2653:3:136"},"nodeType":"YulFunctionCall","src":"2653:17:136"},"variableNames":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2640:9:136"}]},{"expression":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2707:9:136"},{"arguments":[{"arguments":[{"name":"tablePtr","nodeType":"YulIdentifier","src":"2728:8:136"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2746:2:136","type":"","value":"12"},{"name":"input","nodeType":"YulIdentifier","src":"2750:5:136"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2742:3:136"},"nodeType":"YulFunctionCall","src":"2742:14:136"},{"kind":"number","nodeType":"YulLiteral","src":"2758:4:136","type":"","value":"0x3F"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2738:3:136"},"nodeType":"YulFunctionCall","src":"2738:25:136"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2724:3:136"},"nodeType":"YulFunctionCall","src":"2724:40:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2718:5:136"},"nodeType":"YulFunctionCall","src":"2718:47:136"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"2699:7:136"},"nodeType":"YulFunctionCall","src":"2699:67:136"},"nodeType":"YulExpressionStatement","src":"2699:67:136"},{"nodeType":"YulAssignment","src":"2783:30:136","value":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2800:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"2811:1:136","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2796:3:136"},"nodeType":"YulFunctionCall","src":"2796:17:136"},"variableNames":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2783:9:136"}]},{"expression":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2850:9:136"},{"arguments":[{"arguments":[{"name":"tablePtr","nodeType":"YulIdentifier","src":"2871:8:136"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2889:1:136","type":"","value":"6"},{"name":"input","nodeType":"YulIdentifier","src":"2892:5:136"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2885:3:136"},"nodeType":"YulFunctionCall","src":"2885:13:136"},{"kind":"number","nodeType":"YulLiteral","src":"2900:4:136","type":"","value":"0x3F"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2881:3:136"},"nodeType":"YulFunctionCall","src":"2881:24:136"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2867:3:136"},"nodeType":"YulFunctionCall","src":"2867:39:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2861:5:136"},"nodeType":"YulFunctionCall","src":"2861:46:136"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"2842:7:136"},"nodeType":"YulFunctionCall","src":"2842:66:136"},"nodeType":"YulExpressionStatement","src":"2842:66:136"},{"nodeType":"YulAssignment","src":"2925:30:136","value":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2942:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"2953:1:136","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2938:3:136"},"nodeType":"YulFunctionCall","src":"2938:17:136"},"variableNames":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2925:9:136"}]},{"expression":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"2992:9:136"},{"arguments":[{"arguments":[{"name":"tablePtr","nodeType":"YulIdentifier","src":"3013:8:136"},{"arguments":[{"name":"input","nodeType":"YulIdentifier","src":"3027:5:136"},{"kind":"number","nodeType":"YulLiteral","src":"3034:4:136","type":"","value":"0x3F"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3023:3:136"},"nodeType":"YulFunctionCall","src":"3023:16:136"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3009:3:136"},"nodeType":"YulFunctionCall","src":"3009:31:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3003:5:136"},"nodeType":"YulFunctionCall","src":"3003:38:136"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"2984:7:136"},"nodeType":"YulFunctionCall","src":"2984:58:136"},"nodeType":"YulExpressionStatement","src":"2984:58:136"},{"nodeType":"YulAssignment","src":"3059:30:136","value":{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"3076:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"3087:1:136","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3072:3:136"},"nodeType":"YulFunctionCall","src":"3072:17:136"},"variableNames":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"3059:9:136"}]}]},"condition":{"arguments":[{"name":"dataPtr","nodeType":"YulIdentifier","src":"1823:7:136"},{"name":"endPtr","nodeType":"YulIdentifier","src":"1832:6:136"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1820:2:136"},"nodeType":"YulFunctionCall","src":"1820:19:136"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1840:16:136","statements":[]},"pre":{"nodeType":"YulBlock","src":"1715:104:136","statements":[{"nodeType":"YulVariableDeclaration","src":"1733:19:136","value":{"name":"data","nodeType":"YulIdentifier","src":"1748:4:136"},"variables":[{"name":"dataPtr","nodeType":"YulTypedName","src":"1737:7:136","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1769:36:136","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1787:4:136"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1799:4:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1793:5:136"},"nodeType":"YulFunctionCall","src":"1793:11:136"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1783:3:136"},"nodeType":"YulFunctionCall","src":"1783:22:136"},"variables":[{"name":"endPtr","nodeType":"YulTypedName","src":"1773:6:136","type":""}]}]},"src":"1711:1403:136"},{"cases":[{"body":{"nodeType":"YulBlock","src":"3294:113:136","statements":[{"expression":{"arguments":[{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"3324:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"3335:1:136","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3320:3:136"},"nodeType":"YulFunctionCall","src":"3320:17:136"},{"kind":"number","nodeType":"YulLiteral","src":"3339:4:136","type":"","value":"0x3d"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"3312:7:136"},"nodeType":"YulFunctionCall","src":"3312:32:136"},"nodeType":"YulExpressionStatement","src":"3312:32:136"},{"expression":{"arguments":[{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"3373:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"3384:1:136","type":"","value":"2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3369:3:136"},"nodeType":"YulFunctionCall","src":"3369:17:136"},{"kind":"number","nodeType":"YulLiteral","src":"3388:4:136","type":"","value":"0x3d"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"3361:7:136"},"nodeType":"YulFunctionCall","src":"3361:32:136"},"nodeType":"YulExpressionStatement","src":"3361:32:136"}]},"nodeType":"YulCase","src":"3287:120:136","value":{"kind":"number","nodeType":"YulLiteral","src":"3292:1:136","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"3427:64:136","statements":[{"expression":{"arguments":[{"arguments":[{"name":"resultPtr","nodeType":"YulIdentifier","src":"3457:9:136"},{"kind":"number","nodeType":"YulLiteral","src":"3468:1:136","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3453:3:136"},"nodeType":"YulFunctionCall","src":"3453:17:136"},{"kind":"number","nodeType":"YulLiteral","src":"3472:4:136","type":"","value":"0x3d"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"3445:7:136"},"nodeType":"YulFunctionCall","src":"3445:32:136"},"nodeType":"YulExpressionStatement","src":"3445:32:136"}]},"nodeType":"YulCase","src":"3420:71:136","value":{"kind":"number","nodeType":"YulLiteral","src":"3425:1:136","type":"","value":"2"}}],"expression":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3265:4:136"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3259:5:136"},"nodeType":"YulFunctionCall","src":"3259:11:136"},{"kind":"number","nodeType":"YulLiteral","src":"3272:1:136","type":"","value":"3"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"3255:3:136"},"nodeType":"YulFunctionCall","src":"3255:19:136"},"nodeType":"YulSwitch","src":"3248:243:136"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20854,"isOffset":false,"isSlot":false,"src":"1748:4:136","valueSize":1},{"declaration":20854,"isOffset":false,"isSlot":false,"src":"1787:4:136","valueSize":1},{"declaration":20854,"isOffset":false,"isSlot":false,"src":"1799:4:136","valueSize":1},{"declaration":20854,"isOffset":false,"isSlot":false,"src":"3265:4:136","valueSize":1},{"declaration":20871,"isOffset":false,"isSlot":false,"src":"1633:6:136","valueSize":1},{"declaration":20867,"isOffset":false,"isSlot":false,"src":"1533:5:136","valueSize":1}],"id":20886,"nodeType":"InlineAssembly","src":"1419:2082:136"},{"expression":{"id":20887,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20871,"src":"3518:6:136","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":20858,"id":20888,"nodeType":"Return","src":"3511:13:136"}]},"documentation":{"id":20852,"nodeType":"StructuredDocumentation","src":"418:82:136","text":" @dev Converts a `bytes` to its Bytes64 `string` representation."},"id":20890,"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"514:6:136","nodeType":"FunctionDefinition","parameters":{"id":20855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20854,"mutability":"mutable","name":"data","nameLocation":"534:4:136","nodeType":"VariableDeclaration","scope":20890,"src":"521:17:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20853,"name":"bytes","nodeType":"ElementaryTypeName","src":"521:5:136","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"520:19:136"},"returnParameters":{"id":20858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20890,"src":"563:13:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20856,"name":"string","nodeType":"ElementaryTypeName","src":"563:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"562:15:136"},"scope":20891,"src":"505:3026:136","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":20892,"src":"231:3302:136","usedErrors":[]}],"src":"100:3434:136"},"id":136},"contracts/@openzeppelin/contracts/utils/Checkpoints.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Checkpoints.sol","exportedSymbols":{"Checkpoints":[22259],"Math":[25662],"SafeCast":[27203]},"id":22260,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20893,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"193:23:137"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":20894,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":22260,"sourceUnit":25663,"src":"218:25:137","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"./math/SafeCast.sol","id":20895,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":22260,"sourceUnit":27204,"src":"244:29:137","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Checkpoints","contractDependencies":[],"contractKind":"library","documentation":{"id":20896,"nodeType":"StructuredDocumentation","src":"275:432:137","text":" @dev This library defines the `History` struct, for checkpointing values as they change at different points in\n time, and later looking up past values by block number. See {Votes} as an example.\n To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new\n checkpoint for the current transaction block using the {push} function.\n _Available since v4.5._"},"fullyImplemented":true,"id":22259,"linearizedBaseContracts":[22259],"name":"Checkpoints","nameLocation":"716:11:137","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Checkpoints.History","id":20901,"members":[{"constant":false,"id":20900,"mutability":"mutable","name":"_checkpoints","nameLocation":"772:12:137","nodeType":"VariableDeclaration","scope":20901,"src":"759:25:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":20898,"nodeType":"UserDefinedTypeName","pathNode":{"id":20897,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"759:10:137"},"referencedDeclaration":20906,"src":"759:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":20899,"nodeType":"ArrayTypeName","src":"759:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"}],"name":"History","nameLocation":"741:7:137","nodeType":"StructDefinition","scope":22259,"src":"734:57:137","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint","id":20906,"members":[{"constant":false,"id":20903,"mutability":"mutable","name":"_blockNumber","nameLocation":"832:12:137","nodeType":"VariableDeclaration","scope":20906,"src":"825:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":20902,"name":"uint32","nodeType":"ElementaryTypeName","src":"825:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":20905,"mutability":"mutable","name":"_value","nameLocation":"862:6:137","nodeType":"VariableDeclaration","scope":20906,"src":"854:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":20904,"name":"uint224","nodeType":"ElementaryTypeName","src":"854:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint","nameLocation":"804:10:137","nodeType":"StructDefinition","scope":22259,"src":"797:78:137","visibility":"public"},{"body":{"id":20962,"nodeType":"Block","src":"1160:344:137","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20918,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20912,"src":"1178:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":20919,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1192:5:137","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":20920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1192:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1178:26:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e6564","id":20922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1206:34:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""},"value":"Checkpoints: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""}],"id":20917,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1170:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1170:71:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20924,"nodeType":"ExpressionStatement","src":"1170:71:137"},{"assignments":[20926],"declarations":[{"constant":false,"id":20926,"mutability":"mutable","name":"key","nameLocation":"1258:3:137","nodeType":"VariableDeclaration","scope":20962,"src":"1251:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":20925,"name":"uint32","nodeType":"ElementaryTypeName","src":"1251:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":20931,"initialValue":{"arguments":[{"id":20929,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20912,"src":"1282:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20927,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"1264:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":20928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":26365,"src":"1264:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":20930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1264:30:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"1251:43:137"},{"assignments":[20933],"declarations":[{"constant":false,"id":20933,"mutability":"mutable","name":"len","nameLocation":"1313:3:137","nodeType":"VariableDeclaration","scope":20962,"src":"1305:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20932,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20937,"initialValue":{"expression":{"expression":{"id":20934,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20910,"src":"1319:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":20935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"1319:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":20936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1319:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1305:38:137"},{"assignments":[20939],"declarations":[{"constant":false,"id":20939,"mutability":"mutable","name":"pos","nameLocation":"1361:3:137","nodeType":"VariableDeclaration","scope":20962,"src":"1353:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20938,"name":"uint256","nodeType":"ElementaryTypeName","src":"1353:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20947,"initialValue":{"arguments":[{"expression":{"id":20941,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20910,"src":"1386:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":20942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"1386:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":20943,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20926,"src":"1405:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":20944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1410:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":20945,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20933,"src":"1413:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20940,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21360,21776,22192],"referencedDeclaration":21360,"src":"1367:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":20946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1367:50:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1353:64:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20948,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20939,"src":"1434:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1441:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1434:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":20953,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20910,"src":"1463:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":20954,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"1463:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20955,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20939,"src":"1482:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":20956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1488:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1482:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20952,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"1449:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":20958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1449:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":20959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"1449:48:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":20960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1434:63:137","trueExpression":{"hexValue":"30","id":20951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1445:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":20916,"id":20961,"nodeType":"Return","src":"1427:70:137"}]},"documentation":{"id":20907,"nodeType":"StructuredDocumentation","src":"881:179:137","text":" @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n before it is returned, or zero otherwise."},"id":20963,"implemented":true,"kind":"function","modifiers":[],"name":"getAtBlock","nameLocation":"1074:10:137","nodeType":"FunctionDefinition","parameters":{"id":20913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20910,"mutability":"mutable","name":"self","nameLocation":"1101:4:137","nodeType":"VariableDeclaration","scope":20963,"src":"1085:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":20909,"nodeType":"UserDefinedTypeName","pathNode":{"id":20908,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"1085:7:137"},"referencedDeclaration":20901,"src":"1085:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":20912,"mutability":"mutable","name":"blockNumber","nameLocation":"1115:11:137","nodeType":"VariableDeclaration","scope":20963,"src":"1107:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20911,"name":"uint256","nodeType":"ElementaryTypeName","src":"1107:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1084:43:137"},"returnParameters":{"id":20916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20963,"src":"1151:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1151:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1150:9:137"},"scope":22259,"src":"1065:439:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21062,"nodeType":"Block","src":"2010:655:137","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20975,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20969,"src":"2028:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":20976,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2042:5:137","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":20977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2042:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2028:26:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e6564","id":20979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2056:34:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""},"value":"Checkpoints: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""}],"id":20974,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2020:71:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20981,"nodeType":"ExpressionStatement","src":"2020:71:137"},{"assignments":[20983],"declarations":[{"constant":false,"id":20983,"mutability":"mutable","name":"key","nameLocation":"2108:3:137","nodeType":"VariableDeclaration","scope":21062,"src":"2101:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":20982,"name":"uint32","nodeType":"ElementaryTypeName","src":"2101:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":20988,"initialValue":{"arguments":[{"id":20986,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20969,"src":"2132:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20984,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"2114:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":20985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":26365,"src":"2114:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":20987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2114:30:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"2101:43:137"},{"assignments":[20990],"declarations":[{"constant":false,"id":20990,"mutability":"mutable","name":"len","nameLocation":"2163:3:137","nodeType":"VariableDeclaration","scope":21062,"src":"2155:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20989,"name":"uint256","nodeType":"ElementaryTypeName","src":"2155:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20994,"initialValue":{"expression":{"expression":{"id":20991,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20967,"src":"2169:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":20992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2169:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":20993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2169:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2155:38:137"},{"assignments":[20996],"declarations":[{"constant":false,"id":20996,"mutability":"mutable","name":"low","nameLocation":"2212:3:137","nodeType":"VariableDeclaration","scope":21062,"src":"2204:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20995,"name":"uint256","nodeType":"ElementaryTypeName","src":"2204:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20998,"initialValue":{"hexValue":"30","id":20997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2218:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2204:15:137"},{"assignments":[21000],"declarations":[{"constant":false,"id":21000,"mutability":"mutable","name":"high","nameLocation":"2237:4:137","nodeType":"VariableDeclaration","scope":21062,"src":"2229:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20999,"name":"uint256","nodeType":"ElementaryTypeName","src":"2229:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21002,"initialValue":{"id":21001,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20990,"src":"2244:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2229:18:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21003,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20990,"src":"2262:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":21004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2268:1:137","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"2262:7:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21037,"nodeType":"IfStatement","src":"2258:242:137","trueBody":{"id":21036,"nodeType":"Block","src":"2271:229:137","statements":[{"assignments":[21007],"declarations":[{"constant":false,"id":21007,"mutability":"mutable","name":"mid","nameLocation":"2293:3:137","nodeType":"VariableDeclaration","scope":21036,"src":"2285:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21006,"name":"uint256","nodeType":"ElementaryTypeName","src":"2285:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21014,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21008,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20990,"src":"2299:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":21011,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20990,"src":"2315:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21009,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"2305:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":21010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":25166,"src":"2305:9:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":21012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2305:14:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2299:20:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2285:34:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21015,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20983,"src":"2337:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":21017,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20967,"src":"2357:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2357:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":21019,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21007,"src":"2376:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21016,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"2343:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2343:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"2343:50:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2337:56:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21034,"nodeType":"Block","src":"2444:46:137","statements":[{"expression":{"id":21032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21028,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20996,"src":"2462:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21029,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21007,"src":"2468:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":21030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2468:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2462:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21033,"nodeType":"ExpressionStatement","src":"2462:13:137"}]},"id":21035,"nodeType":"IfStatement","src":"2333:157:137","trueBody":{"id":21027,"nodeType":"Block","src":"2395:43:137","statements":[{"expression":{"id":21025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21023,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21000,"src":"2413:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21024,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21007,"src":"2420:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2413:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21026,"nodeType":"ExpressionStatement","src":"2413:10:137"}]}}]}},{"assignments":[21039],"declarations":[{"constant":false,"id":21039,"mutability":"mutable","name":"pos","nameLocation":"2518:3:137","nodeType":"VariableDeclaration","scope":21062,"src":"2510:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21038,"name":"uint256","nodeType":"ElementaryTypeName","src":"2510:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21047,"initialValue":{"arguments":[{"expression":{"id":21041,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20967,"src":"2543:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2543:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":21043,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20983,"src":"2562:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21044,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20996,"src":"2567:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21045,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21000,"src":"2572:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21040,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21360,21776,22192],"referencedDeclaration":21360,"src":"2524:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":21046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2524:53:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2510:67:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21048,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21039,"src":"2595:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2602:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2595:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21053,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20967,"src":"2624:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2624:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21055,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21039,"src":"2643:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2649:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2643:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21052,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"2610:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2610:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"2610:48:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2595:63:137","trueExpression":{"hexValue":"30","id":21051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2606:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":20973,"id":21061,"nodeType":"Return","src":"2588:70:137"}]},"documentation":{"id":20964,"nodeType":"StructuredDocumentation","src":"1510:386:137","text":" @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n before it is returned, or zero otherwise. Similar to {upperLookup} but optimized for the case when the searched\n checkpoint is probably \"recent\", defined as being among the last sqrt(N) checkpoints where N is the number of\n checkpoints."},"id":21063,"implemented":true,"kind":"function","modifiers":[],"name":"getAtProbablyRecentBlock","nameLocation":"1910:24:137","nodeType":"FunctionDefinition","parameters":{"id":20970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20967,"mutability":"mutable","name":"self","nameLocation":"1951:4:137","nodeType":"VariableDeclaration","scope":21063,"src":"1935:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":20966,"nodeType":"UserDefinedTypeName","pathNode":{"id":20965,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"1935:7:137"},"referencedDeclaration":20901,"src":"1935:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":20969,"mutability":"mutable","name":"blockNumber","nameLocation":"1965:11:137","nodeType":"VariableDeclaration","scope":21063,"src":"1957:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20968,"name":"uint256","nodeType":"ElementaryTypeName","src":"1957:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1934:43:137"},"returnParameters":{"id":20973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21063,"src":"2001:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20971,"name":"uint256","nodeType":"ElementaryTypeName","src":"2001:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2000:9:137"},"scope":22259,"src":"1901:764:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21090,"nodeType":"Block","src":"2930:110:137","statements":[{"expression":{"arguments":[{"expression":{"id":21077,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21067,"src":"2955:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"2955:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"arguments":[{"expression":{"id":21081,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2992:5:137","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":21082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2992:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21079,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"2974:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":21080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":26365,"src":"2974:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":21083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2974:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"id":21086,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21069,"src":"3026:5:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21084,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"3007:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":21085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":25765,"src":"3007:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":21087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3007:25:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21076,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[21308,21724,22140],"referencedDeclaration":21308,"src":"2947:7:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":21088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2947:86:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":21075,"id":21089,"nodeType":"Return","src":"2940:93:137"}]},"documentation":{"id":21064,"nodeType":"StructuredDocumentation","src":"2671:167:137","text":" @dev Pushes a value onto a History so that it is stored as the checkpoint for the current block.\n Returns previous value and new value."},"id":21091,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"2852:4:137","nodeType":"FunctionDefinition","parameters":{"id":21070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21067,"mutability":"mutable","name":"self","nameLocation":"2873:4:137","nodeType":"VariableDeclaration","scope":21091,"src":"2857:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":21066,"nodeType":"UserDefinedTypeName","pathNode":{"id":21065,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"2857:7:137"},"referencedDeclaration":20901,"src":"2857:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":21069,"mutability":"mutable","name":"value","nameLocation":"2887:5:137","nodeType":"VariableDeclaration","scope":21091,"src":"2879:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21068,"name":"uint256","nodeType":"ElementaryTypeName","src":"2879:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2856:37:137"},"returnParameters":{"id":21075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21091,"src":"2912:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21071,"name":"uint256","nodeType":"ElementaryTypeName","src":"2912:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21074,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21091,"src":"2921:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21073,"name":"uint256","nodeType":"ElementaryTypeName","src":"2921:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2911:18:137"},"scope":22259,"src":"2843:197:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":21124,"nodeType":"Block","src":"3443:59:137","statements":[{"expression":{"arguments":[{"id":21115,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21095,"src":"3465:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},{"arguments":[{"arguments":[{"id":21118,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21095,"src":"3481:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}],"id":21117,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[21155,21571,21987],"referencedDeclaration":21155,"src":"3474:6:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$20901_storage_ptr_$returns$_t_uint224_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":21119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3474:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":21120,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21107,"src":"3488:5:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint224","typeString":"uint224"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21116,"name":"op","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21105,"src":"3471:2:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":21121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3471:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21114,"name":"push","nodeType":"Identifier","overloadedDeclarations":[21091,21125,21459,21875],"referencedDeclaration":21091,"src":"3460:4:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$20901_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) returns (uint256,uint256)"}},"id":21122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3460:35:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":21113,"id":21123,"nodeType":"Return","src":"3453:42:137"}]},"documentation":{"id":21092,"nodeType":"StructuredDocumentation","src":"3046:221:137","text":" @dev Pushes a value onto a History, by updating the latest value using binary operation `op`. The new value will\n be set to `op(latest, delta)`.\n Returns previous value and new value."},"id":21125,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"3281:4:137","nodeType":"FunctionDefinition","parameters":{"id":21108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21095,"mutability":"mutable","name":"self","nameLocation":"3311:4:137","nodeType":"VariableDeclaration","scope":21125,"src":"3295:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":21094,"nodeType":"UserDefinedTypeName","pathNode":{"id":21093,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"3295:7:137"},"referencedDeclaration":20901,"src":"3295:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":21105,"mutability":"mutable","name":"op","nameLocation":"3375:2:137","nodeType":"VariableDeclaration","scope":21125,"src":"3325:52:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"typeName":{"id":21104,"nodeType":"FunctionTypeName","parameterTypes":{"id":21100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21104,"src":"3334:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21096,"name":"uint256","nodeType":"ElementaryTypeName","src":"3334:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21099,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21104,"src":"3343:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21098,"name":"uint256","nodeType":"ElementaryTypeName","src":"3343:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3333:18:137"},"returnParameterTypes":{"id":21103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21104,"src":"3366:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21101,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3365:9:137"},"src":"3325:52:137","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"visibility":"internal"},"visibility":"internal"},{"constant":false,"id":21107,"mutability":"mutable","name":"delta","nameLocation":"3395:5:137","nodeType":"VariableDeclaration","scope":21125,"src":"3387:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21106,"name":"uint256","nodeType":"ElementaryTypeName","src":"3387:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3285:121:137"},"returnParameters":{"id":21113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21125,"src":"3425:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21109,"name":"uint256","nodeType":"ElementaryTypeName","src":"3425:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21125,"src":"3434:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21111,"name":"uint256","nodeType":"ElementaryTypeName","src":"3434:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3424:18:137"},"scope":22259,"src":"3272:230:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":21154,"nodeType":"Block","src":"3692:135:137","statements":[{"assignments":[21135],"declarations":[{"constant":false,"id":21135,"mutability":"mutable","name":"pos","nameLocation":"3710:3:137","nodeType":"VariableDeclaration","scope":21154,"src":"3702:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21134,"name":"uint256","nodeType":"ElementaryTypeName","src":"3702:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21139,"initialValue":{"expression":{"expression":{"id":21136,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21129,"src":"3716:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"3716:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":21138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3716:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3702:38:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21140,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21135,"src":"3757:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3764:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3757:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21145,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21129,"src":"3786:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"3786:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21147,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21135,"src":"3805:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3811:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3805:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21144,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"3772:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3772:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"3772:48:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3757:63:137","trueExpression":{"hexValue":"30","id":21143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3768:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":21133,"id":21153,"nodeType":"Return","src":"3750:70:137"}]},"documentation":{"id":21126,"nodeType":"StructuredDocumentation","src":"3508:109:137","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":21155,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"3631:6:137","nodeType":"FunctionDefinition","parameters":{"id":21130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21129,"mutability":"mutable","name":"self","nameLocation":"3654:4:137","nodeType":"VariableDeclaration","scope":21155,"src":"3638:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":21128,"nodeType":"UserDefinedTypeName","pathNode":{"id":21127,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"3638:7:137"},"referencedDeclaration":20901,"src":"3638:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"3637:22:137"},"returnParameters":{"id":21133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21155,"src":"3683:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21131,"name":"uint224","nodeType":"ElementaryTypeName","src":"3683:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3682:9:137"},"scope":22259,"src":"3622:205:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21203,"nodeType":"Block","src":"4201:279:137","statements":[{"assignments":[21169],"declarations":[{"constant":false,"id":21169,"mutability":"mutable","name":"pos","nameLocation":"4219:3:137","nodeType":"VariableDeclaration","scope":21203,"src":"4211:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21168,"name":"uint256","nodeType":"ElementaryTypeName","src":"4211:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21173,"initialValue":{"expression":{"expression":{"id":21170,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21159,"src":"4225:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"4225:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":21172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4225:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4211:38:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21174,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21169,"src":"4263:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4270:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4263:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21201,"nodeType":"Block","src":"4324:150:137","statements":[{"assignments":[21185],"declarations":[{"constant":false,"id":21185,"mutability":"mutable","name":"ckpt","nameLocation":"4356:4:137","nodeType":"VariableDeclaration","scope":21201,"src":"4338:22:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":21184,"nodeType":"UserDefinedTypeName","pathNode":{"id":21183,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"4338:10:137"},"referencedDeclaration":20906,"src":"4338:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"id":21193,"initialValue":{"arguments":[{"expression":{"id":21187,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21159,"src":"4377:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"4377:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21189,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21169,"src":"4396:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4402:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4396:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21186,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"4363:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4363:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4338:66:137"},{"expression":{"components":[{"hexValue":"74727565","id":21194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4426:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":21195,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21185,"src":"4432:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":21196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"4432:17:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":21197,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21185,"src":"4451:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":21198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"4451:11:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4425:38:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint32_$_t_uint224_$","typeString":"tuple(bool,uint32,uint224)"}},"functionReturnParameters":21167,"id":21200,"nodeType":"Return","src":"4418:45:137"}]},"id":21202,"nodeType":"IfStatement","src":"4259:215:137","trueBody":{"id":21182,"nodeType":"Block","src":"4273:45:137","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":21177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4295:5:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":21178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4302:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":21179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4305:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":21180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4294:13:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":21167,"id":21181,"nodeType":"Return","src":"4287:20:137"}]}}]},"documentation":{"id":21156,"nodeType":"StructuredDocumentation","src":"3833:168:137","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":21204,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"4015:16:137","nodeType":"FunctionDefinition","parameters":{"id":21160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21159,"mutability":"mutable","name":"self","nameLocation":"4048:4:137","nodeType":"VariableDeclaration","scope":21204,"src":"4032:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":21158,"nodeType":"UserDefinedTypeName","pathNode":{"id":21157,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"4032:7:137"},"referencedDeclaration":20901,"src":"4032:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"4031:22:137"},"returnParameters":{"id":21167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21162,"mutability":"mutable","name":"exists","nameLocation":"4119:6:137","nodeType":"VariableDeclaration","scope":21204,"src":"4114:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21161,"name":"bool","nodeType":"ElementaryTypeName","src":"4114:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21164,"mutability":"mutable","name":"_blockNumber","nameLocation":"4146:12:137","nodeType":"VariableDeclaration","scope":21204,"src":"4139:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21163,"name":"uint32","nodeType":"ElementaryTypeName","src":"4139:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21166,"mutability":"mutable","name":"_value","nameLocation":"4180:6:137","nodeType":"VariableDeclaration","scope":21204,"src":"4172:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21165,"name":"uint224","nodeType":"ElementaryTypeName","src":"4172:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4100:96:137"},"scope":22259,"src":"4006:474:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21217,"nodeType":"Block","src":"4618:48:137","statements":[{"expression":{"expression":{"expression":{"id":21213,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21208,"src":"4635:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":21214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"4635:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":21215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4635:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21212,"id":21216,"nodeType":"Return","src":"4628:31:137"}]},"documentation":{"id":21205,"nodeType":"StructuredDocumentation","src":"4486:57:137","text":" @dev Returns the number of checkpoint."},"id":21218,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"4557:6:137","nodeType":"FunctionDefinition","parameters":{"id":21209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21208,"mutability":"mutable","name":"self","nameLocation":"4580:4:137","nodeType":"VariableDeclaration","scope":21218,"src":"4564:20:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":21207,"nodeType":"UserDefinedTypeName","pathNode":{"id":21206,"name":"History","nodeType":"IdentifierPath","referencedDeclaration":20901,"src":"4564:7:137"},"referencedDeclaration":20901,"src":"4564:7:137","typeDescriptions":{"typeIdentifier":"t_struct$_History_$20901_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"4563:22:137"},"returnParameters":{"id":21212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21218,"src":"4609:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21210,"name":"uint256","nodeType":"ElementaryTypeName","src":"4609:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4608:9:137"},"scope":22259,"src":"4548:118:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21307,"nodeType":"Block","src":"4978:743:137","statements":[{"assignments":[21235],"declarations":[{"constant":false,"id":21235,"mutability":"mutable","name":"pos","nameLocation":"4996:3:137","nodeType":"VariableDeclaration","scope":21307,"src":"4988:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21234,"name":"uint256","nodeType":"ElementaryTypeName","src":"4988:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21238,"initialValue":{"expression":{"id":21236,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"5002:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":21237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5002:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4988:25:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21239,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21235,"src":"5028:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":21240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5034:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5028:7:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21305,"nodeType":"Block","src":"5602:113:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":21296,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"5652:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21297,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21227,"src":"5665:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21295,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20906,"src":"5626:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint storage pointer)"}},"id":21298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_blockNumber","_value"],"nodeType":"FunctionCall","src":"5626:46:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}],"expression":{"id":21292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"5616:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":21294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5616:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$20906_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)"}},"id":21299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5616:57:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21300,"nodeType":"ExpressionStatement","src":"5616:57:137"},{"expression":{"components":[{"hexValue":"30","id":21301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5695:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21302,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21227,"src":"5698:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21303,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5694:10:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint224_$","typeString":"tuple(int_const 0,uint224)"}},"functionReturnParameters":21233,"id":21304,"nodeType":"Return","src":"5687:17:137"}]},"id":21306,"nodeType":"IfStatement","src":"5024:691:137","trueBody":{"id":21291,"nodeType":"Block","src":"5037:559:137","statements":[{"assignments":[21244],"declarations":[{"constant":false,"id":21244,"mutability":"mutable","name":"last","nameLocation":"5121:4:137","nodeType":"VariableDeclaration","scope":21291,"src":"5103:22:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":21243,"nodeType":"UserDefinedTypeName","pathNode":{"id":21242,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"5103:10:137"},"referencedDeclaration":20906,"src":"5103:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"id":21251,"initialValue":{"arguments":[{"id":21246,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"5142:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21247,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21235,"src":"5148:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5154:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5148:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21245,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"5128:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5128:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5103:53:137"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21253,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21244,"src":"5231:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":21254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"5231:17:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":21255,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"5252:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5231:24:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a20696e76616c6964206b6579","id":21257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5257:25:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""},"value":"Checkpoint: invalid key"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""}],"id":21252,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5223:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":21258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5223:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21259,"nodeType":"ExpressionStatement","src":"5223:60:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21260,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21244,"src":"5347:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":21261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"5347:17:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":21262,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"5368:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5347:24:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21284,"nodeType":"Block","src":"5455:90:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":21279,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"5509:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21280,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21227,"src":"5522:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21278,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20906,"src":"5483:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint storage pointer)"}},"id":21281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_blockNumber","_value"],"nodeType":"FunctionCall","src":"5483:46:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}],"expression":{"id":21275,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"5473:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":21277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5473:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$20906_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)"}},"id":21282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5473:57:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21283,"nodeType":"ExpressionStatement","src":"5473:57:137"}]},"id":21285,"nodeType":"IfStatement","src":"5343:202:137","trueBody":{"id":21274,"nodeType":"Block","src":"5373:76:137","statements":[{"expression":{"id":21272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":21265,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"5405:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21266,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21235,"src":"5411:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5417:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5411:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21264,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"5391:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5391:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"5391:35:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21271,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21227,"src":"5429:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"5391:43:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21273,"nodeType":"ExpressionStatement","src":"5391:43:137"}]}},{"expression":{"components":[{"expression":{"id":21286,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21244,"src":"5566:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":21287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":20905,"src":"5566:11:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":21288,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21227,"src":"5579:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21289,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5565:20:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":21233,"id":21290,"nodeType":"Return","src":"5558:27:137"}]}}]},"documentation":{"id":21219,"nodeType":"StructuredDocumentation","src":"4672:165:137","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":21308,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"4851:7:137","nodeType":"FunctionDefinition","parameters":{"id":21228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21223,"mutability":"mutable","name":"self","nameLocation":"4889:4:137","nodeType":"VariableDeclaration","scope":21308,"src":"4868:25:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":21221,"nodeType":"UserDefinedTypeName","pathNode":{"id":21220,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"4868:10:137"},"referencedDeclaration":20906,"src":"4868:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":21222,"nodeType":"ArrayTypeName","src":"4868:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":21225,"mutability":"mutable","name":"key","nameLocation":"4910:3:137","nodeType":"VariableDeclaration","scope":21308,"src":"4903:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21224,"name":"uint32","nodeType":"ElementaryTypeName","src":"4903:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21227,"mutability":"mutable","name":"value","nameLocation":"4931:5:137","nodeType":"VariableDeclaration","scope":21308,"src":"4923:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21226,"name":"uint224","nodeType":"ElementaryTypeName","src":"4923:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4858:84:137"},"returnParameters":{"id":21233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21308,"src":"4960:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21229,"name":"uint224","nodeType":"ElementaryTypeName","src":"4960:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":21232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21308,"src":"4969:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21231,"name":"uint224","nodeType":"ElementaryTypeName","src":"4969:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4959:18:137"},"scope":22259,"src":"4842:879:137","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":21359,"nodeType":"Block","src":"6215:275:137","statements":[{"body":{"id":21355,"nodeType":"Block","src":"6244:219:137","statements":[{"assignments":[21328],"declarations":[{"constant":false,"id":21328,"mutability":"mutable","name":"mid","nameLocation":"6266:3:137","nodeType":"VariableDeclaration","scope":21355,"src":"6258:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21327,"name":"uint256","nodeType":"ElementaryTypeName","src":"6258:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21334,"initialValue":{"arguments":[{"id":21331,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21317,"src":"6285:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21332,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21319,"src":"6290:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21329,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"6272:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":21330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"6272:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":21333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6272:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6258:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":21336,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21313,"src":"6327:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"id":21337,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21328,"src":"6333:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21335,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"6313:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6313:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"6313:37:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":21340,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21315,"src":"6353:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"6313:43:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21353,"nodeType":"Block","src":"6407:46:137","statements":[{"expression":{"id":21351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21347,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21317,"src":"6425:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21348,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21328,"src":"6431:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":21349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6437:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6431:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6425:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21352,"nodeType":"ExpressionStatement","src":"6425:13:137"}]},"id":21354,"nodeType":"IfStatement","src":"6309:144:137","trueBody":{"id":21346,"nodeType":"Block","src":"6358:43:137","statements":[{"expression":{"id":21344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21342,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21319,"src":"6376:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21343,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21328,"src":"6383:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6376:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21345,"nodeType":"ExpressionStatement","src":"6376:10:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21324,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21317,"src":"6232:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21325,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21319,"src":"6238:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6232:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21356,"nodeType":"WhileStatement","src":"6225:238:137"},{"expression":{"id":21357,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21319,"src":"6479:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21323,"id":21358,"nodeType":"Return","src":"6472:11:137"}]},"documentation":{"id":21309,"nodeType":"StructuredDocumentation","src":"5727:320:137","text":" @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":21360,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"6061:18:137","nodeType":"FunctionDefinition","parameters":{"id":21320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21313,"mutability":"mutable","name":"self","nameLocation":"6110:4:137","nodeType":"VariableDeclaration","scope":21360,"src":"6089:25:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":21311,"nodeType":"UserDefinedTypeName","pathNode":{"id":21310,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"6089:10:137"},"referencedDeclaration":20906,"src":"6089:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":21312,"nodeType":"ArrayTypeName","src":"6089:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":21315,"mutability":"mutable","name":"key","nameLocation":"6131:3:137","nodeType":"VariableDeclaration","scope":21360,"src":"6124:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21314,"name":"uint32","nodeType":"ElementaryTypeName","src":"6124:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21317,"mutability":"mutable","name":"low","nameLocation":"6152:3:137","nodeType":"VariableDeclaration","scope":21360,"src":"6144:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21316,"name":"uint256","nodeType":"ElementaryTypeName","src":"6144:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21319,"mutability":"mutable","name":"high","nameLocation":"6173:4:137","nodeType":"VariableDeclaration","scope":21360,"src":"6165:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21318,"name":"uint256","nodeType":"ElementaryTypeName","src":"6165:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6079:104:137"},"returnParameters":{"id":21323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21360,"src":"6206:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21321,"name":"uint256","nodeType":"ElementaryTypeName","src":"6206:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6205:9:137"},"scope":22259,"src":"6052:438:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":21411,"nodeType":"Block","src":"6993:275:137","statements":[{"body":{"id":21407,"nodeType":"Block","src":"7022:219:137","statements":[{"assignments":[21380],"declarations":[{"constant":false,"id":21380,"mutability":"mutable","name":"mid","nameLocation":"7044:3:137","nodeType":"VariableDeclaration","scope":21407,"src":"7036:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21379,"name":"uint256","nodeType":"ElementaryTypeName","src":"7036:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21386,"initialValue":{"arguments":[{"id":21383,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21369,"src":"7063:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21384,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21371,"src":"7068:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21381,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"7050:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":21382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"7050:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":21385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7050:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7036:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":21388,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21365,"src":"7105:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"id":21389,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21380,"src":"7111:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21387,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21426,"src":"7091:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$20906_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":21390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7091:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":21391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":20903,"src":"7091:37:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21392,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21367,"src":"7131:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"7091:43:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21405,"nodeType":"Block","src":"7188:43:137","statements":[{"expression":{"id":21403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21401,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21371,"src":"7206:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21402,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21380,"src":"7213:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7206:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21404,"nodeType":"ExpressionStatement","src":"7206:10:137"}]},"id":21406,"nodeType":"IfStatement","src":"7087:144:137","trueBody":{"id":21400,"nodeType":"Block","src":"7136:46:137","statements":[{"expression":{"id":21398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21394,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21369,"src":"7154:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21395,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21380,"src":"7160:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":21396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7166:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7160:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7154:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21399,"nodeType":"ExpressionStatement","src":"7154:13:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21376,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21369,"src":"7010:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21377,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21371,"src":"7016:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7010:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21408,"nodeType":"WhileStatement","src":"7003:238:137"},{"expression":{"id":21409,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21371,"src":"7257:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21375,"id":21410,"nodeType":"Return","src":"7250:11:137"}]},"documentation":{"id":21361,"nodeType":"StructuredDocumentation","src":"6496:329:137","text":" @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":21412,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"6839:18:137","nodeType":"FunctionDefinition","parameters":{"id":21372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21365,"mutability":"mutable","name":"self","nameLocation":"6888:4:137","nodeType":"VariableDeclaration","scope":21412,"src":"6867:25:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":21363,"nodeType":"UserDefinedTypeName","pathNode":{"id":21362,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"6867:10:137"},"referencedDeclaration":20906,"src":"6867:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":21364,"nodeType":"ArrayTypeName","src":"6867:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":21367,"mutability":"mutable","name":"key","nameLocation":"6909:3:137","nodeType":"VariableDeclaration","scope":21412,"src":"6902:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21366,"name":"uint32","nodeType":"ElementaryTypeName","src":"6902:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21369,"mutability":"mutable","name":"low","nameLocation":"6930:3:137","nodeType":"VariableDeclaration","scope":21412,"src":"6922:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21368,"name":"uint256","nodeType":"ElementaryTypeName","src":"6922:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21371,"mutability":"mutable","name":"high","nameLocation":"6951:4:137","nodeType":"VariableDeclaration","scope":21412,"src":"6943:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21370,"name":"uint256","nodeType":"ElementaryTypeName","src":"6943:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6857:104:137"},"returnParameters":{"id":21375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21412,"src":"6984:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21373,"name":"uint256","nodeType":"ElementaryTypeName","src":"6984:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6983:9:137"},"scope":22259,"src":"6830:438:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":21425,"nodeType":"Block","src":"7386:125:137","statements":[{"AST":{"nodeType":"YulBlock","src":"7405:100:137","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7426:1:137","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"7429:9:137"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7419:6:137"},"nodeType":"YulFunctionCall","src":"7419:20:137"},"nodeType":"YulExpressionStatement","src":"7419:20:137"},{"nodeType":"YulAssignment","src":"7452:43:137","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7481:1:137","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7484:4:137","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"7471:9:137"},"nodeType":"YulFunctionCall","src":"7471:18:137"},{"name":"pos","nodeType":"YulIdentifier","src":"7491:3:137"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7467:3:137"},"nodeType":"YulFunctionCall","src":"7467:28:137"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"7452:11:137"}]}]},"evmVersion":"london","externalReferences":[{"declaration":21418,"isOffset":false,"isSlot":false,"src":"7491:3:137","valueSize":1},{"declaration":21422,"isOffset":false,"isSlot":true,"src":"7452:11:137","suffix":"slot","valueSize":1},{"declaration":21416,"isOffset":false,"isSlot":true,"src":"7429:9:137","suffix":"slot","valueSize":1}],"id":21424,"nodeType":"InlineAssembly","src":"7396:109:137"}]},"id":21426,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"7283:13:137","nodeType":"FunctionDefinition","parameters":{"id":21419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21416,"mutability":"mutable","name":"self","nameLocation":"7318:4:137","nodeType":"VariableDeclaration","scope":21426,"src":"7297:25:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":21414,"nodeType":"UserDefinedTypeName","pathNode":{"id":21413,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"7297:10:137"},"referencedDeclaration":20906,"src":"7297:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":21415,"nodeType":"ArrayTypeName","src":"7297:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$20906_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":21418,"mutability":"mutable","name":"pos","nameLocation":"7332:3:137","nodeType":"VariableDeclaration","scope":21426,"src":"7324:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21417,"name":"uint256","nodeType":"ElementaryTypeName","src":"7324:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7296:40:137"},"returnParameters":{"id":21423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21422,"mutability":"mutable","name":"result","nameLocation":"7378:6:137","nodeType":"VariableDeclaration","scope":21426,"src":"7359:25:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":21421,"nodeType":"UserDefinedTypeName","pathNode":{"id":21420,"name":"Checkpoint","nodeType":"IdentifierPath","referencedDeclaration":20906,"src":"7359:10:137"},"referencedDeclaration":20906,"src":"7359:10:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$20906_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"src":"7358:27:137"},"scope":22259,"src":"7274:237:137","stateMutability":"pure","virtual":false,"visibility":"private"},{"canonicalName":"Checkpoints.Trace224","id":21431,"members":[{"constant":false,"id":21430,"mutability":"mutable","name":"_checkpoints","nameLocation":"7559:12:137","nodeType":"VariableDeclaration","scope":21431,"src":"7543:28:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":21428,"nodeType":"UserDefinedTypeName","pathNode":{"id":21427,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"7543:13:137"},"referencedDeclaration":21436,"src":"7543:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":21429,"nodeType":"ArrayTypeName","src":"7543:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"}],"name":"Trace224","nameLocation":"7524:8:137","nodeType":"StructDefinition","scope":22259,"src":"7517:61:137","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint224","id":21436,"members":[{"constant":false,"id":21433,"mutability":"mutable","name":"_key","nameLocation":"7622:4:137","nodeType":"VariableDeclaration","scope":21436,"src":"7615:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21432,"name":"uint32","nodeType":"ElementaryTypeName","src":"7615:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21435,"mutability":"mutable","name":"_value","nameLocation":"7644:6:137","nodeType":"VariableDeclaration","scope":21436,"src":"7636:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21434,"name":"uint224","nodeType":"ElementaryTypeName","src":"7636:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint224","nameLocation":"7591:13:137","nodeType":"StructDefinition","scope":22259,"src":"7584:73:137","visibility":"public"},{"body":{"id":21458,"nodeType":"Block","src":"7960:62:137","statements":[{"expression":{"arguments":[{"expression":{"id":21452,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21440,"src":"7985:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"7985:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":21454,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21442,"src":"8004:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21455,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21444,"src":"8009:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21451,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[21308,21724,22140],"referencedDeclaration":21724,"src":"7977:7:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":21456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7977:38:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":21450,"id":21457,"nodeType":"Return","src":"7970:45:137"}]},"documentation":{"id":21437,"nodeType":"StructuredDocumentation","src":"7663:162:137","text":" @dev Pushes a (`key`, `value`) pair into a Trace224 so that it is stored as the checkpoint.\n Returns previous value and new value."},"id":21459,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"7839:4:137","nodeType":"FunctionDefinition","parameters":{"id":21445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21440,"mutability":"mutable","name":"self","nameLocation":"7870:4:137","nodeType":"VariableDeclaration","scope":21459,"src":"7853:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21439,"nodeType":"UserDefinedTypeName","pathNode":{"id":21438,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"7853:8:137"},"referencedDeclaration":21431,"src":"7853:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":21442,"mutability":"mutable","name":"key","nameLocation":"7891:3:137","nodeType":"VariableDeclaration","scope":21459,"src":"7884:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21441,"name":"uint32","nodeType":"ElementaryTypeName","src":"7884:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21444,"mutability":"mutable","name":"value","nameLocation":"7912:5:137","nodeType":"VariableDeclaration","scope":21459,"src":"7904:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21443,"name":"uint224","nodeType":"ElementaryTypeName","src":"7904:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"7843:80:137"},"returnParameters":{"id":21450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21459,"src":"7942:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21446,"name":"uint224","nodeType":"ElementaryTypeName","src":"7942:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":21449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21459,"src":"7951:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21448,"name":"uint224","nodeType":"ElementaryTypeName","src":"7951:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"7941:18:137"},"scope":22259,"src":"7830:192:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":21498,"nodeType":"Block","src":"8260:207:137","statements":[{"assignments":[21471],"declarations":[{"constant":false,"id":21471,"mutability":"mutable","name":"len","nameLocation":"8278:3:137","nodeType":"VariableDeclaration","scope":21498,"src":"8270:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21470,"name":"uint256","nodeType":"ElementaryTypeName","src":"8270:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21475,"initialValue":{"expression":{"expression":{"id":21472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21463,"src":"8284:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8284:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":21474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8284:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8270:38:137"},{"assignments":[21477],"declarations":[{"constant":false,"id":21477,"mutability":"mutable","name":"pos","nameLocation":"8326:3:137","nodeType":"VariableDeclaration","scope":21498,"src":"8318:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21476,"name":"uint256","nodeType":"ElementaryTypeName","src":"8318:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21485,"initialValue":{"arguments":[{"expression":{"id":21479,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21463,"src":"8351:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8351:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":21481,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21465,"src":"8370:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":21482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8375:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21483,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21471,"src":"8378:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21478,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21412,21828,22244],"referencedDeclaration":21828,"src":"8332:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":21484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8332:50:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8318:64:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21486,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21477,"src":"8399:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":21487,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21471,"src":"8406:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8399:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21491,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21463,"src":"8430:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21492,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8430:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":21493,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21477,"src":"8449:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21490,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"8416:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8416:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"8416:44:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8399:61:137","trueExpression":{"hexValue":"30","id":21489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8412:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":21469,"id":21497,"nodeType":"Return","src":"8392:68:137"}]},"documentation":{"id":21460,"nodeType":"StructuredDocumentation","src":"8028:139:137","text":" @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none."},"id":21499,"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"8181:11:137","nodeType":"FunctionDefinition","parameters":{"id":21466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21463,"mutability":"mutable","name":"self","nameLocation":"8210:4:137","nodeType":"VariableDeclaration","scope":21499,"src":"8193:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21462,"nodeType":"UserDefinedTypeName","pathNode":{"id":21461,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"8193:8:137"},"referencedDeclaration":21431,"src":"8193:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":21465,"mutability":"mutable","name":"key","nameLocation":"8223:3:137","nodeType":"VariableDeclaration","scope":21499,"src":"8216:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21464,"name":"uint32","nodeType":"ElementaryTypeName","src":"8216:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8192:35:137"},"returnParameters":{"id":21469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21499,"src":"8251:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21467,"name":"uint224","nodeType":"ElementaryTypeName","src":"8251:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8250:9:137"},"scope":22259,"src":"8172:295:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21540,"nodeType":"Block","src":"8682:209:137","statements":[{"assignments":[21511],"declarations":[{"constant":false,"id":21511,"mutability":"mutable","name":"len","nameLocation":"8700:3:137","nodeType":"VariableDeclaration","scope":21540,"src":"8692:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21510,"name":"uint256","nodeType":"ElementaryTypeName","src":"8692:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21515,"initialValue":{"expression":{"expression":{"id":21512,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21503,"src":"8706:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8706:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":21514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8706:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8692:38:137"},{"assignments":[21517],"declarations":[{"constant":false,"id":21517,"mutability":"mutable","name":"pos","nameLocation":"8748:3:137","nodeType":"VariableDeclaration","scope":21540,"src":"8740:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21516,"name":"uint256","nodeType":"ElementaryTypeName","src":"8740:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21525,"initialValue":{"arguments":[{"expression":{"id":21519,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21503,"src":"8773:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8773:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":21521,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21505,"src":"8792:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":21522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8797:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21523,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21511,"src":"8800:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21518,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21360,21776,22192],"referencedDeclaration":21776,"src":"8754:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":21524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8754:50:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8740:64:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21526,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21517,"src":"8821:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8828:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8821:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21531,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21503,"src":"8850:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"8850:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21533,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21517,"src":"8869:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8875:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8869:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21530,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"8836:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8836:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"8836:48:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8821:63:137","trueExpression":{"hexValue":"30","id":21529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8832:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":21509,"id":21539,"nodeType":"Return","src":"8814:70:137"}]},"documentation":{"id":21500,"nodeType":"StructuredDocumentation","src":"8473:116:137","text":" @dev Returns the value in the most recent checkpoint with key lower or equal than the search key."},"id":21541,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"8603:11:137","nodeType":"FunctionDefinition","parameters":{"id":21506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21503,"mutability":"mutable","name":"self","nameLocation":"8632:4:137","nodeType":"VariableDeclaration","scope":21541,"src":"8615:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21502,"nodeType":"UserDefinedTypeName","pathNode":{"id":21501,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"8615:8:137"},"referencedDeclaration":21431,"src":"8615:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":21505,"mutability":"mutable","name":"key","nameLocation":"8645:3:137","nodeType":"VariableDeclaration","scope":21541,"src":"8638:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21504,"name":"uint32","nodeType":"ElementaryTypeName","src":"8638:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8614:35:137"},"returnParameters":{"id":21509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21508,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21541,"src":"8673:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21507,"name":"uint224","nodeType":"ElementaryTypeName","src":"8673:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8672:9:137"},"scope":22259,"src":"8594:297:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21570,"nodeType":"Block","src":"9082:135:137","statements":[{"assignments":[21551],"declarations":[{"constant":false,"id":21551,"mutability":"mutable","name":"pos","nameLocation":"9100:3:137","nodeType":"VariableDeclaration","scope":21570,"src":"9092:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21550,"name":"uint256","nodeType":"ElementaryTypeName","src":"9092:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21555,"initialValue":{"expression":{"expression":{"id":21552,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21545,"src":"9106:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"9106:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":21554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9106:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9092:38:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21556,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21551,"src":"9147:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9154:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9147:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21561,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21545,"src":"9176:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"9176:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21563,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21551,"src":"9195:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9201:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9195:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21560,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"9162:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9162:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21567,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"9162:48:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9147:63:137","trueExpression":{"hexValue":"30","id":21559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9158:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":21549,"id":21569,"nodeType":"Return","src":"9140:70:137"}]},"documentation":{"id":21542,"nodeType":"StructuredDocumentation","src":"8897:109:137","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":21571,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"9020:6:137","nodeType":"FunctionDefinition","parameters":{"id":21546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21545,"mutability":"mutable","name":"self","nameLocation":"9044:4:137","nodeType":"VariableDeclaration","scope":21571,"src":"9027:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21544,"nodeType":"UserDefinedTypeName","pathNode":{"id":21543,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"9027:8:137"},"referencedDeclaration":21431,"src":"9027:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"9026:23:137"},"returnParameters":{"id":21549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21571,"src":"9073:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21547,"name":"uint224","nodeType":"ElementaryTypeName","src":"9073:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"9072:9:137"},"scope":22259,"src":"9011:206:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21619,"nodeType":"Block","src":"9584:274:137","statements":[{"assignments":[21585],"declarations":[{"constant":false,"id":21585,"mutability":"mutable","name":"pos","nameLocation":"9602:3:137","nodeType":"VariableDeclaration","scope":21619,"src":"9594:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21584,"name":"uint256","nodeType":"ElementaryTypeName","src":"9594:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21589,"initialValue":{"expression":{"expression":{"id":21586,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21575,"src":"9608:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"9608:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":21588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9608:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9594:38:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21590,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21585,"src":"9646:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9653:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9646:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21617,"nodeType":"Block","src":"9707:145:137","statements":[{"assignments":[21601],"declarations":[{"constant":false,"id":21601,"mutability":"mutable","name":"ckpt","nameLocation":"9742:4:137","nodeType":"VariableDeclaration","scope":21617,"src":"9721:25:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":21600,"nodeType":"UserDefinedTypeName","pathNode":{"id":21599,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"9721:13:137"},"referencedDeclaration":21436,"src":"9721:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":21609,"initialValue":{"arguments":[{"expression":{"id":21603,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21575,"src":"9763:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"9763:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21605,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21585,"src":"9782:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9788:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9782:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21602,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"9749:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9749:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9721:69:137"},{"expression":{"components":[{"hexValue":"74727565","id":21610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9812:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":21611,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21601,"src":"9818:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":21612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21433,"src":"9818:9:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":21613,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21601,"src":"9829:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":21614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"9829:11:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21615,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9811:30:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint32_$_t_uint224_$","typeString":"tuple(bool,uint32,uint224)"}},"functionReturnParameters":21583,"id":21616,"nodeType":"Return","src":"9804:37:137"}]},"id":21618,"nodeType":"IfStatement","src":"9642:210:137","trueBody":{"id":21598,"nodeType":"Block","src":"9656:45:137","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":21593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9678:5:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":21594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9685:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":21595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9688:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":21596,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9677:13:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":21583,"id":21597,"nodeType":"Return","src":"9670:20:137"}]}}]},"documentation":{"id":21572,"nodeType":"StructuredDocumentation","src":"9223:168:137","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":21620,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"9405:16:137","nodeType":"FunctionDefinition","parameters":{"id":21576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21575,"mutability":"mutable","name":"self","nameLocation":"9439:4:137","nodeType":"VariableDeclaration","scope":21620,"src":"9422:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21574,"nodeType":"UserDefinedTypeName","pathNode":{"id":21573,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"9422:8:137"},"referencedDeclaration":21431,"src":"9422:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"9421:23:137"},"returnParameters":{"id":21583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21578,"mutability":"mutable","name":"exists","nameLocation":"9510:6:137","nodeType":"VariableDeclaration","scope":21620,"src":"9505:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21577,"name":"bool","nodeType":"ElementaryTypeName","src":"9505:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21580,"mutability":"mutable","name":"_key","nameLocation":"9537:4:137","nodeType":"VariableDeclaration","scope":21620,"src":"9530:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21579,"name":"uint32","nodeType":"ElementaryTypeName","src":"9530:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21582,"mutability":"mutable","name":"_value","nameLocation":"9563:6:137","nodeType":"VariableDeclaration","scope":21620,"src":"9555:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21581,"name":"uint224","nodeType":"ElementaryTypeName","src":"9555:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"9491:88:137"},"scope":22259,"src":"9396:462:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21633,"nodeType":"Block","src":"9997:48:137","statements":[{"expression":{"expression":{"expression":{"id":21629,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21624,"src":"10014:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":21630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21430,"src":"10014:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":21631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10014:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21628,"id":21632,"nodeType":"Return","src":"10007:31:137"}]},"documentation":{"id":21621,"nodeType":"StructuredDocumentation","src":"9864:57:137","text":" @dev Returns the number of checkpoint."},"id":21634,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"9935:6:137","nodeType":"FunctionDefinition","parameters":{"id":21625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21624,"mutability":"mutable","name":"self","nameLocation":"9959:4:137","nodeType":"VariableDeclaration","scope":21634,"src":"9942:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":21623,"nodeType":"UserDefinedTypeName","pathNode":{"id":21622,"name":"Trace224","nodeType":"IdentifierPath","referencedDeclaration":21431,"src":"9942:8:137"},"referencedDeclaration":21431,"src":"9942:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$21431_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"9941:23:137"},"returnParameters":{"id":21628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21634,"src":"9988:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21626,"name":"uint256","nodeType":"ElementaryTypeName","src":"9988:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9987:9:137"},"scope":22259,"src":"9926:119:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21723,"nodeType":"Block","src":"10360:720:137","statements":[{"assignments":[21651],"declarations":[{"constant":false,"id":21651,"mutability":"mutable","name":"pos","nameLocation":"10378:3:137","nodeType":"VariableDeclaration","scope":21723,"src":"10370:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21650,"name":"uint256","nodeType":"ElementaryTypeName","src":"10370:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21654,"initialValue":{"expression":{"id":21652,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"10384:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":21653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10384:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10370:25:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21655,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21651,"src":"10410:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":21656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10410:7:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21721,"nodeType":"Block","src":"10966:108:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":21712,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21641,"src":"11011:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21713,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"11024:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21711,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21436,"src":"10990:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_key","_value"],"nodeType":"FunctionCall","src":"10990:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":21708,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"10980:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":21710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"10980:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$21436_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":21715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10980:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21716,"nodeType":"ExpressionStatement","src":"10980:52:137"},{"expression":{"components":[{"hexValue":"30","id":21717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11054:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21718,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"11057:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21719,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11053:10:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint224_$","typeString":"tuple(int_const 0,uint224)"}},"functionReturnParameters":21649,"id":21720,"nodeType":"Return","src":"11046:17:137"}]},"id":21722,"nodeType":"IfStatement","src":"10406:668:137","trueBody":{"id":21707,"nodeType":"Block","src":"10419:541:137","statements":[{"assignments":[21660],"declarations":[{"constant":false,"id":21660,"mutability":"mutable","name":"last","nameLocation":"10506:4:137","nodeType":"VariableDeclaration","scope":21707,"src":"10485:25:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":21659,"nodeType":"UserDefinedTypeName","pathNode":{"id":21658,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"10485:13:137"},"referencedDeclaration":21436,"src":"10485:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":21667,"initialValue":{"arguments":[{"id":21662,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"10527:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21663,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21651,"src":"10533:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10539:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10533:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21661,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"10513:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10513:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10485:56:137"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21669,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21660,"src":"10616:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":21670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21433,"src":"10616:9:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":21671,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21641,"src":"10629:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"10616:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a20696e76616c6964206b6579","id":21673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10634:25:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""},"value":"Checkpoint: invalid key"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""}],"id":21668,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10608:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":21674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10608:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21675,"nodeType":"ExpressionStatement","src":"10608:52:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21676,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21660,"src":"10724:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":21677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21433,"src":"10724:9:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":21678,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21641,"src":"10737:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"10724:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21700,"nodeType":"Block","src":"10824:85:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":21695,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21641,"src":"10873:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":21696,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"10886:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":21694,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21436,"src":"10852:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_key","_value"],"nodeType":"FunctionCall","src":"10852:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":21691,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"10842:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":21693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"10842:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$21436_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":21698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10842:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21699,"nodeType":"ExpressionStatement","src":"10842:52:137"}]},"id":21701,"nodeType":"IfStatement","src":"10720:189:137","trueBody":{"id":21690,"nodeType":"Block","src":"10742:76:137","statements":[{"expression":{"id":21688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":21681,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"10774:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21682,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21651,"src":"10780:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10786:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10780:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21680,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"10760:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10760:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"10760:35:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21687,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"10798:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"10760:43:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":21689,"nodeType":"ExpressionStatement","src":"10760:43:137"}]}},{"expression":{"components":[{"expression":{"id":21702,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21660,"src":"10930:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":21703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21435,"src":"10930:11:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":21704,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"10943:5:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":21705,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10929:20:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":21649,"id":21706,"nodeType":"Return","src":"10922:27:137"}]}}]},"documentation":{"id":21635,"nodeType":"StructuredDocumentation","src":"10051:165:137","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":21724,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"10230:7:137","nodeType":"FunctionDefinition","parameters":{"id":21644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21639,"mutability":"mutable","name":"self","nameLocation":"10271:4:137","nodeType":"VariableDeclaration","scope":21724,"src":"10247:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":21637,"nodeType":"UserDefinedTypeName","pathNode":{"id":21636,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"10247:13:137"},"referencedDeclaration":21436,"src":"10247:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":21638,"nodeType":"ArrayTypeName","src":"10247:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":21641,"mutability":"mutable","name":"key","nameLocation":"10292:3:137","nodeType":"VariableDeclaration","scope":21724,"src":"10285:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21640,"name":"uint32","nodeType":"ElementaryTypeName","src":"10285:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21643,"mutability":"mutable","name":"value","nameLocation":"10313:5:137","nodeType":"VariableDeclaration","scope":21724,"src":"10305:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21642,"name":"uint224","nodeType":"ElementaryTypeName","src":"10305:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"10237:87:137"},"returnParameters":{"id":21649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21724,"src":"10342:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21645,"name":"uint224","nodeType":"ElementaryTypeName","src":"10342:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":21648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21724,"src":"10351:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":21647,"name":"uint224","nodeType":"ElementaryTypeName","src":"10351:7:137","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"10341:18:137"},"scope":22259,"src":"10221:859:137","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":21775,"nodeType":"Block","src":"11577:267:137","statements":[{"body":{"id":21771,"nodeType":"Block","src":"11606:211:137","statements":[{"assignments":[21744],"declarations":[{"constant":false,"id":21744,"mutability":"mutable","name":"mid","nameLocation":"11628:3:137","nodeType":"VariableDeclaration","scope":21771,"src":"11620:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21743,"name":"uint256","nodeType":"ElementaryTypeName","src":"11620:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21750,"initialValue":{"arguments":[{"id":21747,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21733,"src":"11647:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21748,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21735,"src":"11652:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21745,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"11634:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":21746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"11634:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":21749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11634:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11620:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":21752,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21729,"src":"11689:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":21753,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21744,"src":"11695:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21751,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"11675:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11675:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21433,"src":"11675:29:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":21756,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21731,"src":"11707:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"11675:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21769,"nodeType":"Block","src":"11761:46:137","statements":[{"expression":{"id":21767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21763,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21733,"src":"11779:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21764,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21744,"src":"11785:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":21765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11791:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11785:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11779:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21768,"nodeType":"ExpressionStatement","src":"11779:13:137"}]},"id":21770,"nodeType":"IfStatement","src":"11671:136:137","trueBody":{"id":21762,"nodeType":"Block","src":"11712:43:137","statements":[{"expression":{"id":21760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21758,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21735,"src":"11730:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21759,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21744,"src":"11737:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11730:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21761,"nodeType":"ExpressionStatement","src":"11730:10:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21740,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21733,"src":"11594:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21741,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21735,"src":"11600:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11594:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21772,"nodeType":"WhileStatement","src":"11587:230:137"},{"expression":{"id":21773,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21735,"src":"11833:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21739,"id":21774,"nodeType":"Return","src":"11826:11:137"}]},"documentation":{"id":21725,"nodeType":"StructuredDocumentation","src":"11086:320:137","text":" @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":21776,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"11420:18:137","nodeType":"FunctionDefinition","parameters":{"id":21736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21729,"mutability":"mutable","name":"self","nameLocation":"11472:4:137","nodeType":"VariableDeclaration","scope":21776,"src":"11448:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":21727,"nodeType":"UserDefinedTypeName","pathNode":{"id":21726,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"11448:13:137"},"referencedDeclaration":21436,"src":"11448:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":21728,"nodeType":"ArrayTypeName","src":"11448:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":21731,"mutability":"mutable","name":"key","nameLocation":"11493:3:137","nodeType":"VariableDeclaration","scope":21776,"src":"11486:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21730,"name":"uint32","nodeType":"ElementaryTypeName","src":"11486:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21733,"mutability":"mutable","name":"low","nameLocation":"11514:3:137","nodeType":"VariableDeclaration","scope":21776,"src":"11506:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21732,"name":"uint256","nodeType":"ElementaryTypeName","src":"11506:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21735,"mutability":"mutable","name":"high","nameLocation":"11535:4:137","nodeType":"VariableDeclaration","scope":21776,"src":"11527:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21734,"name":"uint256","nodeType":"ElementaryTypeName","src":"11527:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11438:107:137"},"returnParameters":{"id":21739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21776,"src":"11568:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21737,"name":"uint256","nodeType":"ElementaryTypeName","src":"11568:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11567:9:137"},"scope":22259,"src":"11411:433:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":21827,"nodeType":"Block","src":"12350:267:137","statements":[{"body":{"id":21823,"nodeType":"Block","src":"12379:211:137","statements":[{"assignments":[21796],"declarations":[{"constant":false,"id":21796,"mutability":"mutable","name":"mid","nameLocation":"12401:3:137","nodeType":"VariableDeclaration","scope":21823,"src":"12393:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21795,"name":"uint256","nodeType":"ElementaryTypeName","src":"12393:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21802,"initialValue":{"arguments":[{"id":21799,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21785,"src":"12420:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21800,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21787,"src":"12425:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"12407:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":21798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"12407:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":21801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12407:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12393:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":21809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":21804,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21781,"src":"12462:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":21805,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21796,"src":"12468:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21803,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":21842,"src":"12448:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$21436_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":21806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12448:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":21807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21433,"src":"12448:29:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21808,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21783,"src":"12480:3:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"12448:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":21821,"nodeType":"Block","src":"12537:43:137","statements":[{"expression":{"id":21819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21817,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21787,"src":"12555:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21818,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21796,"src":"12562:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12555:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21820,"nodeType":"ExpressionStatement","src":"12555:10:137"}]},"id":21822,"nodeType":"IfStatement","src":"12444:136:137","trueBody":{"id":21816,"nodeType":"Block","src":"12485:46:137","statements":[{"expression":{"id":21814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":21810,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21785,"src":"12503:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21811,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21796,"src":"12509:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":21812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12515:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12509:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12503:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21815,"nodeType":"ExpressionStatement","src":"12503:13:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21792,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21785,"src":"12367:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21793,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21787,"src":"12373:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12367:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21824,"nodeType":"WhileStatement","src":"12360:230:137"},{"expression":{"id":21825,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21787,"src":"12606:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21791,"id":21826,"nodeType":"Return","src":"12599:11:137"}]},"documentation":{"id":21777,"nodeType":"StructuredDocumentation","src":"11850:329:137","text":" @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":21828,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"12193:18:137","nodeType":"FunctionDefinition","parameters":{"id":21788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21781,"mutability":"mutable","name":"self","nameLocation":"12245:4:137","nodeType":"VariableDeclaration","scope":21828,"src":"12221:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":21779,"nodeType":"UserDefinedTypeName","pathNode":{"id":21778,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"12221:13:137"},"referencedDeclaration":21436,"src":"12221:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":21780,"nodeType":"ArrayTypeName","src":"12221:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":21783,"mutability":"mutable","name":"key","nameLocation":"12266:3:137","nodeType":"VariableDeclaration","scope":21828,"src":"12259:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":21782,"name":"uint32","nodeType":"ElementaryTypeName","src":"12259:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":21785,"mutability":"mutable","name":"low","nameLocation":"12287:3:137","nodeType":"VariableDeclaration","scope":21828,"src":"12279:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21784,"name":"uint256","nodeType":"ElementaryTypeName","src":"12279:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21787,"mutability":"mutable","name":"high","nameLocation":"12308:4:137","nodeType":"VariableDeclaration","scope":21828,"src":"12300:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21786,"name":"uint256","nodeType":"ElementaryTypeName","src":"12300:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12211:107:137"},"returnParameters":{"id":21791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21828,"src":"12341:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21789,"name":"uint256","nodeType":"ElementaryTypeName","src":"12341:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12340:9:137"},"scope":22259,"src":"12184:433:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":21841,"nodeType":"Block","src":"12769:125:137","statements":[{"AST":{"nodeType":"YulBlock","src":"12788:100:137","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12809:1:137","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"12812:9:137"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12802:6:137"},"nodeType":"YulFunctionCall","src":"12802:20:137"},"nodeType":"YulExpressionStatement","src":"12802:20:137"},{"nodeType":"YulAssignment","src":"12835:43:137","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12864:1:137","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12867:4:137","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"12854:9:137"},"nodeType":"YulFunctionCall","src":"12854:18:137"},{"name":"pos","nodeType":"YulIdentifier","src":"12874:3:137"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12850:3:137"},"nodeType":"YulFunctionCall","src":"12850:28:137"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"12835:11:137"}]}]},"evmVersion":"london","externalReferences":[{"declaration":21834,"isOffset":false,"isSlot":false,"src":"12874:3:137","valueSize":1},{"declaration":21838,"isOffset":false,"isSlot":true,"src":"12835:11:137","suffix":"slot","valueSize":1},{"declaration":21832,"isOffset":false,"isSlot":true,"src":"12812:9:137","suffix":"slot","valueSize":1}],"id":21840,"nodeType":"InlineAssembly","src":"12779:109:137"}]},"id":21842,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"12632:13:137","nodeType":"FunctionDefinition","parameters":{"id":21835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21832,"mutability":"mutable","name":"self","nameLocation":"12670:4:137","nodeType":"VariableDeclaration","scope":21842,"src":"12646:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":21830,"nodeType":"UserDefinedTypeName","pathNode":{"id":21829,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"12646:13:137"},"referencedDeclaration":21436,"src":"12646:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":21831,"nodeType":"ArrayTypeName","src":"12646:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$21436_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":21834,"mutability":"mutable","name":"pos","nameLocation":"12684:3:137","nodeType":"VariableDeclaration","scope":21842,"src":"12676:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21833,"name":"uint256","nodeType":"ElementaryTypeName","src":"12676:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12645:43:137"},"returnParameters":{"id":21839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21838,"mutability":"mutable","name":"result","nameLocation":"12757:6:137","nodeType":"VariableDeclaration","scope":21842,"src":"12735:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":21837,"nodeType":"UserDefinedTypeName","pathNode":{"id":21836,"name":"Checkpoint224","nodeType":"IdentifierPath","referencedDeclaration":21436,"src":"12735:13:137"},"referencedDeclaration":21436,"src":"12735:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$21436_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"src":"12734:30:137"},"scope":22259,"src":"12623:271:137","stateMutability":"pure","virtual":false,"visibility":"private"},{"canonicalName":"Checkpoints.Trace160","id":21847,"members":[{"constant":false,"id":21846,"mutability":"mutable","name":"_checkpoints","nameLocation":"12942:12:137","nodeType":"VariableDeclaration","scope":21847,"src":"12926:28:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":21844,"nodeType":"UserDefinedTypeName","pathNode":{"id":21843,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"12926:13:137"},"referencedDeclaration":21852,"src":"12926:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":21845,"nodeType":"ArrayTypeName","src":"12926:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"}],"name":"Trace160","nameLocation":"12907:8:137","nodeType":"StructDefinition","scope":22259,"src":"12900:61:137","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint160","id":21852,"members":[{"constant":false,"id":21849,"mutability":"mutable","name":"_key","nameLocation":"13005:4:137","nodeType":"VariableDeclaration","scope":21852,"src":"12998:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":21848,"name":"uint96","nodeType":"ElementaryTypeName","src":"12998:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":21851,"mutability":"mutable","name":"_value","nameLocation":"13027:6:137","nodeType":"VariableDeclaration","scope":21852,"src":"13019:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21850,"name":"uint160","nodeType":"ElementaryTypeName","src":"13019:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"name":"Checkpoint160","nameLocation":"12974:13:137","nodeType":"StructDefinition","scope":22259,"src":"12967:73:137","visibility":"public"},{"body":{"id":21874,"nodeType":"Block","src":"13343:62:137","statements":[{"expression":{"arguments":[{"expression":{"id":21868,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21856,"src":"13368:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"13368:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":21870,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21858,"src":"13387:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":21871,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21860,"src":"13392:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":21867,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[21308,21724,22140],"referencedDeclaration":22140,"src":"13360:7:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint160_$returns$_t_uint160_$_t_uint160_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint160) returns (uint160,uint160)"}},"id":21872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13360:38:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":21866,"id":21873,"nodeType":"Return","src":"13353:45:137"}]},"documentation":{"id":21853,"nodeType":"StructuredDocumentation","src":"13046:162:137","text":" @dev Pushes a (`key`, `value`) pair into a Trace160 so that it is stored as the checkpoint.\n Returns previous value and new value."},"id":21875,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"13222:4:137","nodeType":"FunctionDefinition","parameters":{"id":21861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21856,"mutability":"mutable","name":"self","nameLocation":"13253:4:137","nodeType":"VariableDeclaration","scope":21875,"src":"13236:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":21855,"nodeType":"UserDefinedTypeName","pathNode":{"id":21854,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"13236:8:137"},"referencedDeclaration":21847,"src":"13236:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":21858,"mutability":"mutable","name":"key","nameLocation":"13274:3:137","nodeType":"VariableDeclaration","scope":21875,"src":"13267:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":21857,"name":"uint96","nodeType":"ElementaryTypeName","src":"13267:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":21860,"mutability":"mutable","name":"value","nameLocation":"13295:5:137","nodeType":"VariableDeclaration","scope":21875,"src":"13287:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21859,"name":"uint160","nodeType":"ElementaryTypeName","src":"13287:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"13226:80:137"},"returnParameters":{"id":21866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21863,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21875,"src":"13325:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21862,"name":"uint160","nodeType":"ElementaryTypeName","src":"13325:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":21865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21875,"src":"13334:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21864,"name":"uint160","nodeType":"ElementaryTypeName","src":"13334:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"13324:18:137"},"scope":22259,"src":"13213:192:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":21914,"nodeType":"Block","src":"13643:207:137","statements":[{"assignments":[21887],"declarations":[{"constant":false,"id":21887,"mutability":"mutable","name":"len","nameLocation":"13661:3:137","nodeType":"VariableDeclaration","scope":21914,"src":"13653:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21886,"name":"uint256","nodeType":"ElementaryTypeName","src":"13653:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21891,"initialValue":{"expression":{"expression":{"id":21888,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21879,"src":"13667:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"13667:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":21890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"13667:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13653:38:137"},{"assignments":[21893],"declarations":[{"constant":false,"id":21893,"mutability":"mutable","name":"pos","nameLocation":"13709:3:137","nodeType":"VariableDeclaration","scope":21914,"src":"13701:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21892,"name":"uint256","nodeType":"ElementaryTypeName","src":"13701:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21901,"initialValue":{"arguments":[{"expression":{"id":21895,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21879,"src":"13734:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"13734:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":21897,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21881,"src":"13753:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":21898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13758:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21899,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21887,"src":"13761:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21894,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21412,21828,22244],"referencedDeclaration":22244,"src":"13715:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":21900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13715:50:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13701:64:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21902,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21893,"src":"13782:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":21903,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21887,"src":"13789:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13782:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21907,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21879,"src":"13813:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"13813:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":21909,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21893,"src":"13832:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21906,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"13799:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":21910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13799:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":21911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"13799:44:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":21912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13782:61:137","trueExpression":{"hexValue":"30","id":21905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13795:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":21885,"id":21913,"nodeType":"Return","src":"13775:68:137"}]},"documentation":{"id":21876,"nodeType":"StructuredDocumentation","src":"13411:139:137","text":" @dev Returns the value in the oldest checkpoint with key greater or equal than the search key, or zero if there is none."},"id":21915,"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"13564:11:137","nodeType":"FunctionDefinition","parameters":{"id":21882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21879,"mutability":"mutable","name":"self","nameLocation":"13593:4:137","nodeType":"VariableDeclaration","scope":21915,"src":"13576:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":21878,"nodeType":"UserDefinedTypeName","pathNode":{"id":21877,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"13576:8:137"},"referencedDeclaration":21847,"src":"13576:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":21881,"mutability":"mutable","name":"key","nameLocation":"13606:3:137","nodeType":"VariableDeclaration","scope":21915,"src":"13599:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":21880,"name":"uint96","nodeType":"ElementaryTypeName","src":"13599:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"13575:35:137"},"returnParameters":{"id":21885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21915,"src":"13634:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21883,"name":"uint160","nodeType":"ElementaryTypeName","src":"13634:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"13633:9:137"},"scope":22259,"src":"13555:295:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21956,"nodeType":"Block","src":"14065:209:137","statements":[{"assignments":[21927],"declarations":[{"constant":false,"id":21927,"mutability":"mutable","name":"len","nameLocation":"14083:3:137","nodeType":"VariableDeclaration","scope":21956,"src":"14075:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21926,"name":"uint256","nodeType":"ElementaryTypeName","src":"14075:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21931,"initialValue":{"expression":{"expression":{"id":21928,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21919,"src":"14089:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14089:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":21930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"14089:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14075:38:137"},{"assignments":[21933],"declarations":[{"constant":false,"id":21933,"mutability":"mutable","name":"pos","nameLocation":"14131:3:137","nodeType":"VariableDeclaration","scope":21956,"src":"14123:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21932,"name":"uint256","nodeType":"ElementaryTypeName","src":"14123:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21941,"initialValue":{"arguments":[{"expression":{"id":21935,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21919,"src":"14156:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14156:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":21937,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21921,"src":"14175:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":21938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14180:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":21939,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21927,"src":"14183:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21934,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[21360,21776,22192],"referencedDeclaration":22192,"src":"14137:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":21940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14137:50:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14123:64:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21942,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21933,"src":"14204:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14211:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14204:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21947,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21919,"src":"14233:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14233:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21949,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21933,"src":"14252:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14258:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14252:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21946,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"14219:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":21952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14219:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":21953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"14219:48:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":21954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14204:63:137","trueExpression":{"hexValue":"30","id":21945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14215:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":21925,"id":21955,"nodeType":"Return","src":"14197:70:137"}]},"documentation":{"id":21916,"nodeType":"StructuredDocumentation","src":"13856:116:137","text":" @dev Returns the value in the most recent checkpoint with key lower or equal than the search key."},"id":21957,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"13986:11:137","nodeType":"FunctionDefinition","parameters":{"id":21922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21919,"mutability":"mutable","name":"self","nameLocation":"14015:4:137","nodeType":"VariableDeclaration","scope":21957,"src":"13998:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":21918,"nodeType":"UserDefinedTypeName","pathNode":{"id":21917,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"13998:8:137"},"referencedDeclaration":21847,"src":"13998:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":21921,"mutability":"mutable","name":"key","nameLocation":"14028:3:137","nodeType":"VariableDeclaration","scope":21957,"src":"14021:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":21920,"name":"uint96","nodeType":"ElementaryTypeName","src":"14021:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"13997:35:137"},"returnParameters":{"id":21925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21957,"src":"14056:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21923,"name":"uint160","nodeType":"ElementaryTypeName","src":"14056:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14055:9:137"},"scope":22259,"src":"13977:297:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21986,"nodeType":"Block","src":"14465:135:137","statements":[{"assignments":[21967],"declarations":[{"constant":false,"id":21967,"mutability":"mutable","name":"pos","nameLocation":"14483:3:137","nodeType":"VariableDeclaration","scope":21986,"src":"14475:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21966,"name":"uint256","nodeType":"ElementaryTypeName","src":"14475:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21971,"initialValue":{"expression":{"expression":{"id":21968,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21961,"src":"14489:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14489:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":21970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"14489:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14475:38:137"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21972,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21967,"src":"14530:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":21973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14537:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14530:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":21977,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21961,"src":"14559:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":21978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14559:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21979,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21967,"src":"14578:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":21980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14584:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14578:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21976,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"14545:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":21982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14545:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":21983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"14545:48:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":21984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14530:63:137","trueExpression":{"hexValue":"30","id":21975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14541:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":21965,"id":21985,"nodeType":"Return","src":"14523:70:137"}]},"documentation":{"id":21958,"nodeType":"StructuredDocumentation","src":"14280:109:137","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":21987,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"14403:6:137","nodeType":"FunctionDefinition","parameters":{"id":21962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21961,"mutability":"mutable","name":"self","nameLocation":"14427:4:137","nodeType":"VariableDeclaration","scope":21987,"src":"14410:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":21960,"nodeType":"UserDefinedTypeName","pathNode":{"id":21959,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"14410:8:137"},"referencedDeclaration":21847,"src":"14410:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"14409:23:137"},"returnParameters":{"id":21965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21964,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21987,"src":"14456:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21963,"name":"uint160","nodeType":"ElementaryTypeName","src":"14456:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14455:9:137"},"scope":22259,"src":"14394:206:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22035,"nodeType":"Block","src":"14967:274:137","statements":[{"assignments":[22001],"declarations":[{"constant":false,"id":22001,"mutability":"mutable","name":"pos","nameLocation":"14985:3:137","nodeType":"VariableDeclaration","scope":22035,"src":"14977:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22000,"name":"uint256","nodeType":"ElementaryTypeName","src":"14977:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22005,"initialValue":{"expression":{"expression":{"id":22002,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21991,"src":"14991:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":22003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"14991:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":22004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"14991:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14977:38:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22006,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22001,"src":"15029:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15036:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15029:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22033,"nodeType":"Block","src":"15090:145:137","statements":[{"assignments":[22017],"declarations":[{"constant":false,"id":22017,"mutability":"mutable","name":"ckpt","nameLocation":"15125:4:137","nodeType":"VariableDeclaration","scope":22033,"src":"15104:25:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":22016,"nodeType":"UserDefinedTypeName","pathNode":{"id":22015,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"15104:13:137"},"referencedDeclaration":21852,"src":"15104:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":22025,"initialValue":{"arguments":[{"expression":{"id":22019,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21991,"src":"15146:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":22020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"15146:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22021,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22001,"src":"15165:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":22022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15171:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15165:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22018,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"15132:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15132:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15104:69:137"},{"expression":{"components":[{"hexValue":"74727565","id":22026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15195:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":22027,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22017,"src":"15201:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":22028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21849,"src":"15201:9:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"expression":{"id":22029,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22017,"src":"15212:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":22030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"15212:11:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":22031,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15194:30:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint96_$_t_uint160_$","typeString":"tuple(bool,uint96,uint160)"}},"functionReturnParameters":21999,"id":22032,"nodeType":"Return","src":"15187:37:137"}]},"id":22034,"nodeType":"IfStatement","src":"15025:210:137","trueBody":{"id":22014,"nodeType":"Block","src":"15039:45:137","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":22009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15061:5:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":22010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15068:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":22011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15071:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":22012,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15060:13:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":21999,"id":22013,"nodeType":"Return","src":"15053:20:137"}]}}]},"documentation":{"id":21988,"nodeType":"StructuredDocumentation","src":"14606:168:137","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":22036,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"14788:16:137","nodeType":"FunctionDefinition","parameters":{"id":21992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21991,"mutability":"mutable","name":"self","nameLocation":"14822:4:137","nodeType":"VariableDeclaration","scope":22036,"src":"14805:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":21990,"nodeType":"UserDefinedTypeName","pathNode":{"id":21989,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"14805:8:137"},"referencedDeclaration":21847,"src":"14805:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"14804:23:137"},"returnParameters":{"id":21999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21994,"mutability":"mutable","name":"exists","nameLocation":"14893:6:137","nodeType":"VariableDeclaration","scope":22036,"src":"14888:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21993,"name":"bool","nodeType":"ElementaryTypeName","src":"14888:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21996,"mutability":"mutable","name":"_key","nameLocation":"14920:4:137","nodeType":"VariableDeclaration","scope":22036,"src":"14913:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":21995,"name":"uint96","nodeType":"ElementaryTypeName","src":"14913:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":21998,"mutability":"mutable","name":"_value","nameLocation":"14946:6:137","nodeType":"VariableDeclaration","scope":22036,"src":"14938:14:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":21997,"name":"uint160","nodeType":"ElementaryTypeName","src":"14938:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14874:88:137"},"scope":22259,"src":"14779:462:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22049,"nodeType":"Block","src":"15380:48:137","statements":[{"expression":{"expression":{"expression":{"id":22045,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22040,"src":"15397:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":22046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":21846,"src":"15397:17:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":22047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15397:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22044,"id":22048,"nodeType":"Return","src":"15390:31:137"}]},"documentation":{"id":22037,"nodeType":"StructuredDocumentation","src":"15247:57:137","text":" @dev Returns the number of checkpoint."},"id":22050,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"15318:6:137","nodeType":"FunctionDefinition","parameters":{"id":22041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22040,"mutability":"mutable","name":"self","nameLocation":"15342:4:137","nodeType":"VariableDeclaration","scope":22050,"src":"15325:21:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":22039,"nodeType":"UserDefinedTypeName","pathNode":{"id":22038,"name":"Trace160","nodeType":"IdentifierPath","referencedDeclaration":21847,"src":"15325:8:137"},"referencedDeclaration":21847,"src":"15325:8:137","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$21847_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"15324:23:137"},"returnParameters":{"id":22044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22050,"src":"15371:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22042,"name":"uint256","nodeType":"ElementaryTypeName","src":"15371:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15370:9:137"},"scope":22259,"src":"15309:119:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22139,"nodeType":"Block","src":"15743:720:137","statements":[{"assignments":[22067],"declarations":[{"constant":false,"id":22067,"mutability":"mutable","name":"pos","nameLocation":"15761:3:137","nodeType":"VariableDeclaration","scope":22139,"src":"15753:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22066,"name":"uint256","nodeType":"ElementaryTypeName","src":"15753:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22070,"initialValue":{"expression":{"id":22068,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22055,"src":"15767:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":22069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15767:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15753:25:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22071,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22067,"src":"15793:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15799:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15793:7:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22137,"nodeType":"Block","src":"16349:108:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":22128,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22057,"src":"16394:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":22129,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22059,"src":"16407:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":22127,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21852,"src":"16373:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_key","_value"],"nodeType":"FunctionCall","src":"16373:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":22124,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22055,"src":"16363:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":22126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"16363:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$21852_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":22131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16363:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22132,"nodeType":"ExpressionStatement","src":"16363:52:137"},{"expression":{"components":[{"hexValue":"30","id":22133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16437:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":22134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22059,"src":"16440:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":22135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16436:10:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint160_$","typeString":"tuple(int_const 0,uint160)"}},"functionReturnParameters":22065,"id":22136,"nodeType":"Return","src":"16429:17:137"}]},"id":22138,"nodeType":"IfStatement","src":"15789:668:137","trueBody":{"id":22123,"nodeType":"Block","src":"15802:541:137","statements":[{"assignments":[22076],"declarations":[{"constant":false,"id":22076,"mutability":"mutable","name":"last","nameLocation":"15889:4:137","nodeType":"VariableDeclaration","scope":22123,"src":"15868:25:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":22075,"nodeType":"UserDefinedTypeName","pathNode":{"id":22074,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"15868:13:137"},"referencedDeclaration":21852,"src":"15868:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":22083,"initialValue":{"arguments":[{"id":22078,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22055,"src":"15910:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22079,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22067,"src":"15916:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":22080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15922:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15916:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22077,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"15896:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15896:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15868:56:137"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":22088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22085,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22076,"src":"15999:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":22086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21849,"src":"15999:9:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":22087,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22057,"src":"16012:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"15999:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a20696e76616c6964206b6579","id":22089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16017:25:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""},"value":"Checkpoint: invalid key"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b717461289064d78d4f64eae2786bccf758ed88a7bfa28ee6fa5093be89d54df","typeString":"literal_string \"Checkpoint: invalid key\""}],"id":22084,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15991:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15991:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22091,"nodeType":"ExpressionStatement","src":"15991:52:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":22095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22092,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22076,"src":"16107:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":22093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21849,"src":"16107:9:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":22094,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22057,"src":"16120:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"16107:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22116,"nodeType":"Block","src":"16207:85:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":22111,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22057,"src":"16256:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":22112,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22059,"src":"16269:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":22110,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21852,"src":"16235:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["_key","_value"],"nodeType":"FunctionCall","src":"16235:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":22107,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22055,"src":"16225:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":22109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"16225:9:137","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$21852_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":22114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16225:52:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22115,"nodeType":"ExpressionStatement","src":"16225:52:137"}]},"id":22117,"nodeType":"IfStatement","src":"16103:189:137","trueBody":{"id":22106,"nodeType":"Block","src":"16125:76:137","statements":[{"expression":{"id":22104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":22097,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22055,"src":"16157:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22098,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22067,"src":"16163:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":22099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16169:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16163:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22096,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"16143:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16143:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":22102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"16143:35:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22103,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22059,"src":"16181:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"16143:43:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":22105,"nodeType":"ExpressionStatement","src":"16143:43:137"}]}},{"expression":{"components":[{"expression":{"id":22118,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22076,"src":"16313:4:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":22119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":21851,"src":"16313:11:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":22120,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22059,"src":"16326:5:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":22121,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16312:20:137","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":22065,"id":22122,"nodeType":"Return","src":"16305:27:137"}]}}]},"documentation":{"id":22051,"nodeType":"StructuredDocumentation","src":"15434:165:137","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":22140,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"15613:7:137","nodeType":"FunctionDefinition","parameters":{"id":22060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22055,"mutability":"mutable","name":"self","nameLocation":"15654:4:137","nodeType":"VariableDeclaration","scope":22140,"src":"15630:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":22053,"nodeType":"UserDefinedTypeName","pathNode":{"id":22052,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"15630:13:137"},"referencedDeclaration":21852,"src":"15630:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":22054,"nodeType":"ArrayTypeName","src":"15630:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":22057,"mutability":"mutable","name":"key","nameLocation":"15675:3:137","nodeType":"VariableDeclaration","scope":22140,"src":"15668:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":22056,"name":"uint96","nodeType":"ElementaryTypeName","src":"15668:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":22059,"mutability":"mutable","name":"value","nameLocation":"15696:5:137","nodeType":"VariableDeclaration","scope":22140,"src":"15688:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":22058,"name":"uint160","nodeType":"ElementaryTypeName","src":"15688:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15620:87:137"},"returnParameters":{"id":22065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22140,"src":"15725:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":22061,"name":"uint160","nodeType":"ElementaryTypeName","src":"15725:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":22064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22140,"src":"15734:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":22063,"name":"uint160","nodeType":"ElementaryTypeName","src":"15734:7:137","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15724:18:137"},"scope":22259,"src":"15604:859:137","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":22191,"nodeType":"Block","src":"16960:267:137","statements":[{"body":{"id":22187,"nodeType":"Block","src":"16989:211:137","statements":[{"assignments":[22160],"declarations":[{"constant":false,"id":22160,"mutability":"mutable","name":"mid","nameLocation":"17011:3:137","nodeType":"VariableDeclaration","scope":22187,"src":"17003:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22159,"name":"uint256","nodeType":"ElementaryTypeName","src":"17003:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22166,"initialValue":{"arguments":[{"id":22163,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22149,"src":"17030:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22164,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22151,"src":"17035:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22161,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"17017:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":22162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"17017:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":22165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17017:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17003:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":22173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":22168,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22145,"src":"17072:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":22169,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22160,"src":"17078:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22167,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"17058:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17058:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":22171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21849,"src":"17058:29:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":22172,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22147,"src":"17090:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"17058:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22185,"nodeType":"Block","src":"17144:46:137","statements":[{"expression":{"id":22183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22179,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22149,"src":"17162:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22180,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22160,"src":"17168:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":22181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17174:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17168:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17162:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22184,"nodeType":"ExpressionStatement","src":"17162:13:137"}]},"id":22186,"nodeType":"IfStatement","src":"17054:136:137","trueBody":{"id":22178,"nodeType":"Block","src":"17095:43:137","statements":[{"expression":{"id":22176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22174,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22151,"src":"17113:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22175,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22160,"src":"17120:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17113:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22177,"nodeType":"ExpressionStatement","src":"17113:10:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22156,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22149,"src":"16977:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":22157,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22151,"src":"16983:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16977:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22188,"nodeType":"WhileStatement","src":"16970:230:137"},{"expression":{"id":22189,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22151,"src":"17216:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22155,"id":22190,"nodeType":"Return","src":"17209:11:137"}]},"documentation":{"id":22141,"nodeType":"StructuredDocumentation","src":"16469:320:137","text":" @dev Return the index of the oldest checkpoint whose key is greater than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":22192,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"16803:18:137","nodeType":"FunctionDefinition","parameters":{"id":22152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22145,"mutability":"mutable","name":"self","nameLocation":"16855:4:137","nodeType":"VariableDeclaration","scope":22192,"src":"16831:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":22143,"nodeType":"UserDefinedTypeName","pathNode":{"id":22142,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"16831:13:137"},"referencedDeclaration":21852,"src":"16831:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":22144,"nodeType":"ArrayTypeName","src":"16831:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":22147,"mutability":"mutable","name":"key","nameLocation":"16876:3:137","nodeType":"VariableDeclaration","scope":22192,"src":"16869:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":22146,"name":"uint96","nodeType":"ElementaryTypeName","src":"16869:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":22149,"mutability":"mutable","name":"low","nameLocation":"16897:3:137","nodeType":"VariableDeclaration","scope":22192,"src":"16889:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22148,"name":"uint256","nodeType":"ElementaryTypeName","src":"16889:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22151,"mutability":"mutable","name":"high","nameLocation":"16918:4:137","nodeType":"VariableDeclaration","scope":22192,"src":"16910:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22150,"name":"uint256","nodeType":"ElementaryTypeName","src":"16910:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16821:107:137"},"returnParameters":{"id":22155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22192,"src":"16951:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22153,"name":"uint256","nodeType":"ElementaryTypeName","src":"16951:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16950:9:137"},"scope":22259,"src":"16794:433:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":22243,"nodeType":"Block","src":"17733:267:137","statements":[{"body":{"id":22239,"nodeType":"Block","src":"17762:211:137","statements":[{"assignments":[22212],"declarations":[{"constant":false,"id":22212,"mutability":"mutable","name":"mid","nameLocation":"17784:3:137","nodeType":"VariableDeclaration","scope":22239,"src":"17776:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22211,"name":"uint256","nodeType":"ElementaryTypeName","src":"17776:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22218,"initialValue":{"arguments":[{"id":22215,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22201,"src":"17803:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22216,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22203,"src":"17808:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22213,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"17790:4:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":22214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"average","nodeType":"MemberAccess","referencedDeclaration":24863,"src":"17790:12:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":22217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17790:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17776:37:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":22225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":22220,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22197,"src":"17845:4:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":22221,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"17851:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22219,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[21426,21842,22258],"referencedDeclaration":22258,"src":"17831:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$21852_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":22222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17831:24:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":22223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":21849,"src":"17831:29:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":22224,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22199,"src":"17863:3:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"17831:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22237,"nodeType":"Block","src":"17920:43:137","statements":[{"expression":{"id":22235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22233,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22203,"src":"17938:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22234,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"17945:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17938:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22236,"nodeType":"ExpressionStatement","src":"17938:10:137"}]},"id":22238,"nodeType":"IfStatement","src":"17827:136:137","trueBody":{"id":22232,"nodeType":"Block","src":"17868:46:137","statements":[{"expression":{"id":22230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22226,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22201,"src":"17886:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22227,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"17892:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":22228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17898:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17892:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17886:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22231,"nodeType":"ExpressionStatement","src":"17886:13:137"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22208,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22201,"src":"17750:3:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":22209,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22203,"src":"17756:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17750:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22240,"nodeType":"WhileStatement","src":"17743:230:137"},{"expression":{"id":22241,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22203,"src":"17989:4:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22207,"id":22242,"nodeType":"Return","src":"17982:11:137"}]},"documentation":{"id":22193,"nodeType":"StructuredDocumentation","src":"17233:329:137","text":" @dev Return the index of the oldest checkpoint whose key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":22244,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"17576:18:137","nodeType":"FunctionDefinition","parameters":{"id":22204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22197,"mutability":"mutable","name":"self","nameLocation":"17628:4:137","nodeType":"VariableDeclaration","scope":22244,"src":"17604:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":22195,"nodeType":"UserDefinedTypeName","pathNode":{"id":22194,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"17604:13:137"},"referencedDeclaration":21852,"src":"17604:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":22196,"nodeType":"ArrayTypeName","src":"17604:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":22199,"mutability":"mutable","name":"key","nameLocation":"17649:3:137","nodeType":"VariableDeclaration","scope":22244,"src":"17642:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":22198,"name":"uint96","nodeType":"ElementaryTypeName","src":"17642:6:137","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":22201,"mutability":"mutable","name":"low","nameLocation":"17670:3:137","nodeType":"VariableDeclaration","scope":22244,"src":"17662:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22200,"name":"uint256","nodeType":"ElementaryTypeName","src":"17662:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22203,"mutability":"mutable","name":"high","nameLocation":"17691:4:137","nodeType":"VariableDeclaration","scope":22244,"src":"17683:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22202,"name":"uint256","nodeType":"ElementaryTypeName","src":"17683:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17594:107:137"},"returnParameters":{"id":22207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22244,"src":"17724:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22205,"name":"uint256","nodeType":"ElementaryTypeName","src":"17724:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17723:9:137"},"scope":22259,"src":"17567:433:137","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":22257,"nodeType":"Block","src":"18152:125:137","statements":[{"AST":{"nodeType":"YulBlock","src":"18171:100:137","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18192:1:137","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"18195:9:137"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18185:6:137"},"nodeType":"YulFunctionCall","src":"18185:20:137"},"nodeType":"YulExpressionStatement","src":"18185:20:137"},{"nodeType":"YulAssignment","src":"18218:43:137","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18247:1:137","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18250:4:137","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"18237:9:137"},"nodeType":"YulFunctionCall","src":"18237:18:137"},{"name":"pos","nodeType":"YulIdentifier","src":"18257:3:137"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18233:3:137"},"nodeType":"YulFunctionCall","src":"18233:28:137"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"18218:11:137"}]}]},"evmVersion":"london","externalReferences":[{"declaration":22250,"isOffset":false,"isSlot":false,"src":"18257:3:137","valueSize":1},{"declaration":22254,"isOffset":false,"isSlot":true,"src":"18218:11:137","suffix":"slot","valueSize":1},{"declaration":22248,"isOffset":false,"isSlot":true,"src":"18195:9:137","suffix":"slot","valueSize":1}],"id":22256,"nodeType":"InlineAssembly","src":"18162:109:137"}]},"id":22258,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"18015:13:137","nodeType":"FunctionDefinition","parameters":{"id":22251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22248,"mutability":"mutable","name":"self","nameLocation":"18053:4:137","nodeType":"VariableDeclaration","scope":22258,"src":"18029:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":22246,"nodeType":"UserDefinedTypeName","pathNode":{"id":22245,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"18029:13:137"},"referencedDeclaration":21852,"src":"18029:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":22247,"nodeType":"ArrayTypeName","src":"18029:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$21852_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":22250,"mutability":"mutable","name":"pos","nameLocation":"18067:3:137","nodeType":"VariableDeclaration","scope":22258,"src":"18059:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22249,"name":"uint256","nodeType":"ElementaryTypeName","src":"18059:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18028:43:137"},"returnParameters":{"id":22255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22254,"mutability":"mutable","name":"result","nameLocation":"18140:6:137","nodeType":"VariableDeclaration","scope":22258,"src":"18118:28:137","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":22253,"nodeType":"UserDefinedTypeName","pathNode":{"id":22252,"name":"Checkpoint160","nodeType":"IdentifierPath","referencedDeclaration":21852,"src":"18118:13:137"},"referencedDeclaration":21852,"src":"18118:13:137","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$21852_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"src":"18117:30:137"},"scope":22259,"src":"18006:271:137","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":22260,"src":"708:17571:137","usedErrors":[]}],"src":"193:18087:137"},"id":137},"contracts/@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[22281]},"id":22282,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22261,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"86:23:138"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":22262,"nodeType":"StructuredDocumentation","src":"111:496:138","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":22281,"linearizedBaseContracts":[22281],"name":"Context","nameLocation":"626:7:138","nodeType":"ContractDefinition","nodes":[{"body":{"id":22270,"nodeType":"Block","src":"702:34:138","statements":[{"expression":{"expression":{"id":22267,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"719:3:138","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"719:10:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":22266,"id":22269,"nodeType":"Return","src":"712:17:138"}]},"id":22271,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"649:10:138","nodeType":"FunctionDefinition","parameters":{"id":22263,"nodeType":"ParameterList","parameters":[],"src":"659:2:138"},"returnParameters":{"id":22266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22271,"src":"693:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22264,"name":"address","nodeType":"ElementaryTypeName","src":"693:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"692:9:138"},"scope":22281,"src":"640:96:138","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":22279,"nodeType":"Block","src":"809:32:138","statements":[{"expression":{"expression":{"id":22276,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"826:3:138","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"826:8:138","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":22275,"id":22278,"nodeType":"Return","src":"819:15:138"}]},"id":22280,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"751:8:138","nodeType":"FunctionDefinition","parameters":{"id":22272,"nodeType":"ParameterList","parameters":[],"src":"759:2:138"},"returnParameters":{"id":22275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22280,"src":"793:14:138","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22273,"name":"bytes","nodeType":"ElementaryTypeName","src":"793:5:138","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"792:16:138"},"scope":22281,"src":"742:99:138","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":22282,"src":"608:235:138","usedErrors":[]}],"src":"86:758:138"},"id":138},"contracts/@openzeppelin/contracts/utils/Counters.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Counters.sol","exportedSymbols":{"Counters":[22355]},"id":22356,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22283,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"87:23:139"},{"abstract":false,"baseContracts":[],"canonicalName":"Counters","contractDependencies":[],"contractKind":"library","documentation":{"id":22284,"nodeType":"StructuredDocumentation","src":"112:311:139","text":" @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`"},"fullyImplemented":true,"id":22355,"linearizedBaseContracts":[22355],"name":"Counters","nameLocation":"432:8:139","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Counters.Counter","id":22287,"members":[{"constant":false,"id":22286,"mutability":"mutable","name":"_value","nameLocation":"794:6:139","nodeType":"VariableDeclaration","scope":22287,"src":"786:14:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22285,"name":"uint256","nodeType":"ElementaryTypeName","src":"786:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Counter","nameLocation":"454:7:139","nodeType":"StructDefinition","scope":22355,"src":"447:374:139","visibility":"public"},{"body":{"id":22298,"nodeType":"Block","src":"901:38:139","statements":[{"expression":{"expression":{"id":22295,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22290,"src":"918:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":22296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":22286,"src":"918:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22294,"id":22297,"nodeType":"Return","src":"911:21:139"}]},"id":22299,"implemented":true,"kind":"function","modifiers":[],"name":"current","nameLocation":"836:7:139","nodeType":"FunctionDefinition","parameters":{"id":22291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22290,"mutability":"mutable","name":"counter","nameLocation":"860:7:139","nodeType":"VariableDeclaration","scope":22299,"src":"844:23:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":22289,"nodeType":"UserDefinedTypeName","pathNode":{"id":22288,"name":"Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"844:7:139"},"referencedDeclaration":22287,"src":"844:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"843:25:139"},"returnParameters":{"id":22294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22299,"src":"892:7:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22292,"name":"uint256","nodeType":"ElementaryTypeName","src":"892:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"891:9:139"},"scope":22355,"src":"827:112:139","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22312,"nodeType":"Block","src":"998:70:139","statements":[{"id":22311,"nodeType":"UncheckedBlock","src":"1008:54:139","statements":[{"expression":{"id":22309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22305,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22302,"src":"1032:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":22307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":22286,"src":"1032:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":22308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1050:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1032:19:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22310,"nodeType":"ExpressionStatement","src":"1032:19:139"}]}]},"id":22313,"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"954:9:139","nodeType":"FunctionDefinition","parameters":{"id":22303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22302,"mutability":"mutable","name":"counter","nameLocation":"980:7:139","nodeType":"VariableDeclaration","scope":22313,"src":"964:23:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":22301,"nodeType":"UserDefinedTypeName","pathNode":{"id":22300,"name":"Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"964:7:139"},"referencedDeclaration":22287,"src":"964:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"963:25:139"},"returnParameters":{"id":22304,"nodeType":"ParameterList","parameters":[],"src":"998:0:139"},"scope":22355,"src":"945:123:139","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22340,"nodeType":"Block","src":"1127:176:139","statements":[{"assignments":[22320],"declarations":[{"constant":false,"id":22320,"mutability":"mutable","name":"value","nameLocation":"1145:5:139","nodeType":"VariableDeclaration","scope":22340,"src":"1137:13:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22319,"name":"uint256","nodeType":"ElementaryTypeName","src":"1137:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22323,"initialValue":{"expression":{"id":22321,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22316,"src":"1153:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":22322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":22286,"src":"1153:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1137:30:139"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22325,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22320,"src":"1185:5:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1193:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1185:9:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436f756e7465723a2064656372656d656e74206f766572666c6f77","id":22328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1196:29:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f","typeString":"literal_string \"Counter: decrement overflow\""},"value":"Counter: decrement overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f","typeString":"literal_string \"Counter: decrement overflow\""}],"id":22324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1177:7:139","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1177:49:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22330,"nodeType":"ExpressionStatement","src":"1177:49:139"},{"id":22339,"nodeType":"UncheckedBlock","src":"1236:61:139","statements":[{"expression":{"id":22337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22331,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22316,"src":"1260:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":22333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":22286,"src":"1260:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22334,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22320,"src":"1277:5:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":22335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1285:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1277:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1260:26:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22338,"nodeType":"ExpressionStatement","src":"1260:26:139"}]}]},"id":22341,"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1083:9:139","nodeType":"FunctionDefinition","parameters":{"id":22317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22316,"mutability":"mutable","name":"counter","nameLocation":"1109:7:139","nodeType":"VariableDeclaration","scope":22341,"src":"1093:23:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":22315,"nodeType":"UserDefinedTypeName","pathNode":{"id":22314,"name":"Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"1093:7:139"},"referencedDeclaration":22287,"src":"1093:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"1092:25:139"},"returnParameters":{"id":22318,"nodeType":"ParameterList","parameters":[],"src":"1127:0:139"},"scope":22355,"src":"1074:229:139","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22353,"nodeType":"Block","src":"1358:35:139","statements":[{"expression":{"id":22351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22347,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22344,"src":"1368:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":22349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":22286,"src":"1368:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":22350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1385:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1368:18:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22352,"nodeType":"ExpressionStatement","src":"1368:18:139"}]},"id":22354,"implemented":true,"kind":"function","modifiers":[],"name":"reset","nameLocation":"1318:5:139","nodeType":"FunctionDefinition","parameters":{"id":22345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22344,"mutability":"mutable","name":"counter","nameLocation":"1340:7:139","nodeType":"VariableDeclaration","scope":22354,"src":"1324:23:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":22343,"nodeType":"UserDefinedTypeName","pathNode":{"id":22342,"name":"Counter","nodeType":"IdentifierPath","referencedDeclaration":22287,"src":"1324:7:139"},"referencedDeclaration":22287,"src":"1324:7:139","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$22287_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"1323:25:139"},"returnParameters":{"id":22346,"nodeType":"ParameterList","parameters":[],"src":"1358:0:139"},"scope":22355,"src":"1309:84:139","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":22356,"src":"424:971:139","usedErrors":[]}],"src":"87:1309:139"},"id":139},"contracts/@openzeppelin/contracts/utils/Create2.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Create2.sol","exportedSymbols":{"Create2":[22436]},"id":22437,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22357,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:140"},{"abstract":false,"baseContracts":[],"canonicalName":"Create2","contractDependencies":[],"contractKind":"library","documentation":{"id":22358,"nodeType":"StructuredDocumentation","src":"126:367:140","text":" @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer.\n `CREATE2` can be used to compute in advance the address where a smart\n contract will be deployed, which allows for interesting new mechanisms known\n as 'counterfactual interactions'.\n See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more\n information."},"fullyImplemented":true,"id":22436,"linearizedBaseContracts":[22436],"name":"Create2","nameLocation":"502:7:140","nodeType":"ContractDefinition","nodes":[{"body":{"id":22400,"nodeType":"Block","src":"1212:383:140","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":22373,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1238:4:140","typeDescriptions":{"typeIdentifier":"t_contract$_Create2_$22436","typeString":"library Create2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Create2_$22436","typeString":"library Create2"}],"id":22372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1230:7:140","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":22371,"name":"address","nodeType":"ElementaryTypeName","src":"1230:7:140","typeDescriptions":{}}},"id":22374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1230:13:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"1230:21:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":22376,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22361,"src":"1255:6:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1230:31:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"437265617465323a20696e73756666696369656e742062616c616e6365","id":22378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1263:31:140","typeDescriptions":{"typeIdentifier":"t_stringliteral_f94f9c62541b73155a9def26a7988ac5579c2c6b698df8f608ced5572b7d72ca","typeString":"literal_string \"Create2: insufficient balance\""},"value":"Create2: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f94f9c62541b73155a9def26a7988ac5579c2c6b698df8f608ced5572b7d72ca","typeString":"literal_string \"Create2: insufficient balance\""}],"id":22370,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1222:7:140","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1222:73:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22380,"nodeType":"ExpressionStatement","src":"1222:73:140"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22382,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22365,"src":"1313:8:140","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":22383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1313:15:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":22384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1332:1:140","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1313:20:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"437265617465323a2062797465636f6465206c656e677468206973207a65726f","id":22386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1335:34:140","typeDescriptions":{"typeIdentifier":"t_stringliteral_124767115c09b0dd37c31c42ddb030d84459c933a30879cc32c4c922ae5928f0","typeString":"literal_string \"Create2: bytecode length is zero\""},"value":"Create2: bytecode length is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_124767115c09b0dd37c31c42ddb030d84459c933a30879cc32c4c922ae5928f0","typeString":"literal_string \"Create2: bytecode length is zero\""}],"id":22381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1305:7:140","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1305:65:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22388,"nodeType":"ExpressionStatement","src":"1305:65:140"},{"AST":{"nodeType":"YulBlock","src":"1432:91:140","statements":[{"nodeType":"YulAssignment","src":"1446:67:140","value":{"arguments":[{"name":"amount","nodeType":"YulIdentifier","src":"1462:6:140"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"1474:8:140"},{"kind":"number","nodeType":"YulLiteral","src":"1484:4:140","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1470:3:140"},"nodeType":"YulFunctionCall","src":"1470:19:140"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"1497:8:140"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1491:5:140"},"nodeType":"YulFunctionCall","src":"1491:15:140"},{"name":"salt","nodeType":"YulIdentifier","src":"1508:4:140"}],"functionName":{"name":"create2","nodeType":"YulIdentifier","src":"1454:7:140"},"nodeType":"YulFunctionCall","src":"1454:59:140"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"1446:4:140"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22368,"isOffset":false,"isSlot":false,"src":"1446:4:140","valueSize":1},{"declaration":22361,"isOffset":false,"isSlot":false,"src":"1462:6:140","valueSize":1},{"declaration":22365,"isOffset":false,"isSlot":false,"src":"1474:8:140","valueSize":1},{"declaration":22365,"isOffset":false,"isSlot":false,"src":"1497:8:140","valueSize":1},{"declaration":22363,"isOffset":false,"isSlot":false,"src":"1508:4:140","valueSize":1}],"id":22389,"nodeType":"InlineAssembly","src":"1423:100:140"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22391,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22368,"src":"1540:4:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":22394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1556:1:140","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":22393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1548:7:140","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":22392,"name":"address","nodeType":"ElementaryTypeName","src":"1548:7:140","typeDescriptions":{}}},"id":22395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1548:10:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1540:18:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"437265617465323a204661696c6564206f6e206465706c6f79","id":22397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1560:27:140","typeDescriptions":{"typeIdentifier":"t_stringliteral_87142438d464a3cd804331cca8480b31569380ef25d1f39b80404975699f0676","typeString":"literal_string \"Create2: Failed on deploy\""},"value":"Create2: Failed on deploy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_87142438d464a3cd804331cca8480b31569380ef25d1f39b80404975699f0676","typeString":"literal_string \"Create2: Failed on deploy\""}],"id":22390,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1532:7:140","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1532:56:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22399,"nodeType":"ExpressionStatement","src":"1532:56:140"}]},"documentation":{"id":22359,"nodeType":"StructuredDocumentation","src":"516:560:140","text":" @dev Deploys a contract using `CREATE2`. The address where the contract\n will be deployed can be known in advance via {computeAddress}.\n The bytecode for a contract can be obtained from Solidity with\n `type(contractName).creationCode`.\n Requirements:\n - `bytecode` must not be empty.\n - `salt` must have not been used for `bytecode` already.\n - the factory must have a balance of at least `amount`.\n - if `amount` is non-zero, `bytecode` must have a `payable` constructor."},"id":22401,"implemented":true,"kind":"function","modifiers":[],"name":"deploy","nameLocation":"1090:6:140","nodeType":"FunctionDefinition","parameters":{"id":22366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22361,"mutability":"mutable","name":"amount","nameLocation":"1114:6:140","nodeType":"VariableDeclaration","scope":22401,"src":"1106:14:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1106:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22363,"mutability":"mutable","name":"salt","nameLocation":"1138:4:140","nodeType":"VariableDeclaration","scope":22401,"src":"1130:12:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1130:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22365,"mutability":"mutable","name":"bytecode","nameLocation":"1165:8:140","nodeType":"VariableDeclaration","scope":22401,"src":"1152:21:140","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22364,"name":"bytes","nodeType":"ElementaryTypeName","src":"1152:5:140","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1096:83:140"},"returnParameters":{"id":22369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22368,"mutability":"mutable","name":"addr","nameLocation":"1206:4:140","nodeType":"VariableDeclaration","scope":22401,"src":"1198:12:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22367,"name":"address","nodeType":"ElementaryTypeName","src":"1198:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1197:14:140"},"scope":22436,"src":"1081:514:140","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22420,"nodeType":"Block","src":"1891:73:140","statements":[{"expression":{"arguments":[{"id":22412,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22404,"src":"1923:4:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":22413,"name":"bytecodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22406,"src":"1929:12:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":22416,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1951:4:140","typeDescriptions":{"typeIdentifier":"t_contract$_Create2_$22436","typeString":"library Create2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Create2_$22436","typeString":"library Create2"}],"id":22415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1943:7:140","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":22414,"name":"address","nodeType":"ElementaryTypeName","src":"1943:7:140","typeDescriptions":{}}},"id":22417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1943:13:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":22411,"name":"computeAddress","nodeType":"Identifier","overloadedDeclarations":[22421,22435],"referencedDeclaration":22435,"src":"1908:14:140","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure returns (address)"}},"id":22418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1908:49:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":22410,"id":22419,"nodeType":"Return","src":"1901:56:140"}]},"documentation":{"id":22402,"nodeType":"StructuredDocumentation","src":"1601:193:140","text":" @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the\n `bytecodeHash` or `salt` will result in a new destination address."},"id":22421,"implemented":true,"kind":"function","modifiers":[],"name":"computeAddress","nameLocation":"1808:14:140","nodeType":"FunctionDefinition","parameters":{"id":22407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22404,"mutability":"mutable","name":"salt","nameLocation":"1831:4:140","nodeType":"VariableDeclaration","scope":22421,"src":"1823:12:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1823:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22406,"mutability":"mutable","name":"bytecodeHash","nameLocation":"1845:12:140","nodeType":"VariableDeclaration","scope":22421,"src":"1837:20:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1837:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1822:36:140"},"returnParameters":{"id":22410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22421,"src":"1882:7:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22408,"name":"address","nodeType":"ElementaryTypeName","src":"1882:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1881:9:140"},"scope":22436,"src":"1799:165:140","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22434,"nodeType":"Block","src":"2352:1657:140","statements":[{"AST":{"nodeType":"YulBlock","src":"2414:1589:140","statements":[{"nodeType":"YulVariableDeclaration","src":"2428:22:140","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2445:4:140","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2439:5:140"},"nodeType":"YulFunctionCall","src":"2439:11:140"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"2432:3:140","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3652:3:140"},{"kind":"number","nodeType":"YulLiteral","src":"3657:4:140","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3648:3:140"},"nodeType":"YulFunctionCall","src":"3648:14:140"},{"name":"bytecodeHash","nodeType":"YulIdentifier","src":"3664:12:140"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3641:6:140"},"nodeType":"YulFunctionCall","src":"3641:36:140"},"nodeType":"YulExpressionStatement","src":"3641:36:140"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3701:3:140"},{"kind":"number","nodeType":"YulLiteral","src":"3706:4:140","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3697:3:140"},"nodeType":"YulFunctionCall","src":"3697:14:140"},{"name":"salt","nodeType":"YulIdentifier","src":"3713:4:140"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3690:6:140"},"nodeType":"YulFunctionCall","src":"3690:28:140"},"nodeType":"YulExpressionStatement","src":"3690:28:140"},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3738:3:140"},{"name":"deployer","nodeType":"YulIdentifier","src":"3743:8:140"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3731:6:140"},"nodeType":"YulFunctionCall","src":"3731:21:140"},"nodeType":"YulExpressionStatement","src":"3731:21:140"},{"nodeType":"YulVariableDeclaration","src":"3814:27:140","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"3831:3:140"},{"kind":"number","nodeType":"YulLiteral","src":"3836:4:140","type":"","value":"0x0b"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3827:3:140"},"nodeType":"YulFunctionCall","src":"3827:14:140"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"3818:5:140","type":""}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"3940:5:140"},{"kind":"number","nodeType":"YulLiteral","src":"3947:4:140","type":"","value":"0xff"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"3932:7:140"},"nodeType":"YulFunctionCall","src":"3932:20:140"},"nodeType":"YulExpressionStatement","src":"3932:20:140"},{"nodeType":"YulAssignment","src":"3965:28:140","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"3983:5:140"},{"kind":"number","nodeType":"YulLiteral","src":"3990:2:140","type":"","value":"85"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"3973:9:140"},"nodeType":"YulFunctionCall","src":"3973:20:140"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"3965:4:140"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22431,"isOffset":false,"isSlot":false,"src":"3965:4:140","valueSize":1},{"declaration":22426,"isOffset":false,"isSlot":false,"src":"3664:12:140","valueSize":1},{"declaration":22428,"isOffset":false,"isSlot":false,"src":"3743:8:140","valueSize":1},{"declaration":22424,"isOffset":false,"isSlot":false,"src":"3713:4:140","valueSize":1}],"id":22433,"nodeType":"InlineAssembly","src":"2405:1598:140"}]},"documentation":{"id":22422,"nodeType":"StructuredDocumentation","src":"1970:232:140","text":" @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at\n `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}."},"id":22435,"implemented":true,"kind":"function","modifiers":[],"name":"computeAddress","nameLocation":"2216:14:140","nodeType":"FunctionDefinition","parameters":{"id":22429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22424,"mutability":"mutable","name":"salt","nameLocation":"2248:4:140","nodeType":"VariableDeclaration","scope":22435,"src":"2240:12:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2240:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22426,"mutability":"mutable","name":"bytecodeHash","nameLocation":"2270:12:140","nodeType":"VariableDeclaration","scope":22435,"src":"2262:20:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2262:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22428,"mutability":"mutable","name":"deployer","nameLocation":"2300:8:140","nodeType":"VariableDeclaration","scope":22435,"src":"2292:16:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22427,"name":"address","nodeType":"ElementaryTypeName","src":"2292:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2230:84:140"},"returnParameters":{"id":22432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22431,"mutability":"mutable","name":"addr","nameLocation":"2346:4:140","nodeType":"VariableDeclaration","scope":22435,"src":"2338:12:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22430,"name":"address","nodeType":"ElementaryTypeName","src":"2338:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2337:14:140"},"scope":22436,"src":"2207:1802:140","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":22437,"src":"494:3517:140","usedErrors":[]}],"src":"101:3911:140"},"id":140},"contracts/@openzeppelin/contracts/utils/Multicall.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Multicall.sol","exportedSymbols":{"Address":[20688],"Multicall":[22491]},"id":22492,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22438,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:141"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"./Address.sol","id":22439,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":22492,"sourceUnit":20689,"src":"128:23:141","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"Multicall","contractDependencies":[],"contractKind":"contract","documentation":{"id":22440,"nodeType":"StructuredDocumentation","src":"153:125:141","text":" @dev Provides a function to batch together multiple calls in a single external call.\n _Available since v4.1._"},"fullyImplemented":true,"id":22491,"linearizedBaseContracts":[22491],"name":"Multicall","nameLocation":"297:9:141","nodeType":"ContractDefinition","nodes":[{"body":{"id":22489,"nodeType":"Block","src":"499:216:141","statements":[{"expression":{"id":22457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22450,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22448,"src":"509:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":22454,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22444,"src":"531:4:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":22455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"531:11:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"519:11:141","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":22451,"name":"bytes","nodeType":"ElementaryTypeName","src":"523:5:141","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22452,"nodeType":"ArrayTypeName","src":"523:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":22456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"519:24:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"509:34:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":22458,"nodeType":"ExpressionStatement","src":"509:34:141"},{"body":{"id":22485,"nodeType":"Block","src":"595:90:141","statements":[{"expression":{"id":22483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22470,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22448,"src":"609:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":22472,"indexExpression":{"id":22471,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22460,"src":"617:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"609:10:141","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":22477,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"659:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$22491","typeString":"contract Multicall"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Multicall_$22491","typeString":"contract Multicall"}],"id":22476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"651:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":22475,"name":"address","nodeType":"ElementaryTypeName","src":"651:7:141","typeDescriptions":{}}},"id":22478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"651:13:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":22479,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22444,"src":"666:4:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":22481,"indexExpression":{"id":22480,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22460,"src":"671:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"666:7:141","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":22473,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"622:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$20688_$","typeString":"type(library Address)"}},"id":22474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":20575,"src":"622:28:141","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":22482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"622:52:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"609:65:141","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":22484,"nodeType":"ExpressionStatement","src":"609:65:141"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22463,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22460,"src":"573:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":22464,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22444,"src":"577:4:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":22465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"577:11:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"573:15:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22486,"initializationExpression":{"assignments":[22460],"declarations":[{"constant":false,"id":22460,"mutability":"mutable","name":"i","nameLocation":"566:1:141","nodeType":"VariableDeclaration","scope":22486,"src":"558:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22459,"name":"uint256","nodeType":"ElementaryTypeName","src":"558:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22462,"initialValue":{"hexValue":"30","id":22461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"570:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"558:13:141"},"loopExpression":{"expression":{"id":22468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"590:3:141","subExpression":{"id":22467,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22460,"src":"590:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22469,"nodeType":"ExpressionStatement","src":"590:3:141"},"nodeType":"ForStatement","src":"553:132:141"},{"expression":{"id":22487,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22448,"src":"701:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":22449,"id":22488,"nodeType":"Return","src":"694:14:141"}]},"documentation":{"id":22441,"nodeType":"StructuredDocumentation","src":"313:89:141","text":" @dev Receives and executes a batch of function calls on this contract."},"functionSelector":"ac9650d8","id":22490,"implemented":true,"kind":"function","modifiers":[],"name":"multicall","nameLocation":"416:9:141","nodeType":"FunctionDefinition","parameters":{"id":22445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22444,"mutability":"mutable","name":"data","nameLocation":"443:4:141","nodeType":"VariableDeclaration","scope":22490,"src":"426:21:141","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22442,"name":"bytes","nodeType":"ElementaryTypeName","src":"426:5:141","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22443,"nodeType":"ArrayTypeName","src":"426:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"425:23:141"},"returnParameters":{"id":22449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22448,"mutability":"mutable","name":"results","nameLocation":"490:7:141","nodeType":"VariableDeclaration","scope":22490,"src":"475:22:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22446,"name":"bytes","nodeType":"ElementaryTypeName","src":"475:5:141","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22447,"nodeType":"ArrayTypeName","src":"475:7:141","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"474:24:141"},"scope":22491,"src":"407:308:141","stateMutability":"nonpayable","virtual":true,"visibility":"external"}],"scope":22492,"src":"279:438:141","usedErrors":[]}],"src":"103:615:141"},"id":141},"contracts/@openzeppelin/contracts/utils/StorageSlot.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/StorageSlot.sol","exportedSymbols":{"StorageSlot":[22551]},"id":22552,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22493,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"105:23:142"},{"abstract":false,"baseContracts":[],"canonicalName":"StorageSlot","contractDependencies":[],"contractKind":"library","documentation":{"id":22494,"nodeType":"StructuredDocumentation","src":"130:1148:142","text":" @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC1967 implementation slot:\n ```\n contract ERC1967 {\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._"},"fullyImplemented":true,"id":22551,"linearizedBaseContracts":[22551],"name":"StorageSlot","nameLocation":"1287:11:142","nodeType":"ContractDefinition","nodes":[{"canonicalName":"StorageSlot.AddressSlot","id":22497,"members":[{"constant":false,"id":22496,"mutability":"mutable","name":"value","nameLocation":"1342:5:142","nodeType":"VariableDeclaration","scope":22497,"src":"1334:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22495,"name":"address","nodeType":"ElementaryTypeName","src":"1334:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"AddressSlot","nameLocation":"1312:11:142","nodeType":"StructDefinition","scope":22551,"src":"1305:49:142","visibility":"public"},{"canonicalName":"StorageSlot.BooleanSlot","id":22500,"members":[{"constant":false,"id":22499,"mutability":"mutable","name":"value","nameLocation":"1394:5:142","nodeType":"VariableDeclaration","scope":22500,"src":"1389:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22498,"name":"bool","nodeType":"ElementaryTypeName","src":"1389:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BooleanSlot","nameLocation":"1367:11:142","nodeType":"StructDefinition","scope":22551,"src":"1360:46:142","visibility":"public"},{"canonicalName":"StorageSlot.Bytes32Slot","id":22503,"members":[{"constant":false,"id":22502,"mutability":"mutable","name":"value","nameLocation":"1449:5:142","nodeType":"VariableDeclaration","scope":22503,"src":"1441:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1441:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Bytes32Slot","nameLocation":"1419:11:142","nodeType":"StructDefinition","scope":22551,"src":"1412:49:142","visibility":"public"},{"canonicalName":"StorageSlot.Uint256Slot","id":22506,"members":[{"constant":false,"id":22505,"mutability":"mutable","name":"value","nameLocation":"1504:5:142","nodeType":"VariableDeclaration","scope":22506,"src":"1496:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1496:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Uint256Slot","nameLocation":"1474:11:142","nodeType":"StructDefinition","scope":22551,"src":"1467:49:142","visibility":"public"},{"body":{"id":22516,"nodeType":"Block","src":"1698:106:142","statements":[{"AST":{"nodeType":"YulBlock","src":"1760:38:142","statements":[{"nodeType":"YulAssignment","src":"1774:14:142","value":{"name":"slot","nodeType":"YulIdentifier","src":"1784:4:142"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"1774:6:142"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22513,"isOffset":false,"isSlot":true,"src":"1774:6:142","suffix":"slot","valueSize":1},{"declaration":22509,"isOffset":false,"isSlot":false,"src":"1784:4:142","valueSize":1}],"id":22515,"nodeType":"InlineAssembly","src":"1751:47:142"}]},"documentation":{"id":22507,"nodeType":"StructuredDocumentation","src":"1522:87:142","text":" @dev Returns an `AddressSlot` with member `value` located at `slot`."},"id":22517,"implemented":true,"kind":"function","modifiers":[],"name":"getAddressSlot","nameLocation":"1623:14:142","nodeType":"FunctionDefinition","parameters":{"id":22510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22509,"mutability":"mutable","name":"slot","nameLocation":"1646:4:142","nodeType":"VariableDeclaration","scope":22517,"src":"1638:12:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1638:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1637:14:142"},"returnParameters":{"id":22514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22513,"mutability":"mutable","name":"r","nameLocation":"1695:1:142","nodeType":"VariableDeclaration","scope":22517,"src":"1675:21:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":22512,"nodeType":"UserDefinedTypeName","pathNode":{"id":22511,"name":"AddressSlot","nodeType":"IdentifierPath","referencedDeclaration":22497,"src":"1675:11:142"},"referencedDeclaration":22497,"src":"1675:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$22497_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"1674:23:142"},"scope":22551,"src":"1614:190:142","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22527,"nodeType":"Block","src":"1986:106:142","statements":[{"AST":{"nodeType":"YulBlock","src":"2048:38:142","statements":[{"nodeType":"YulAssignment","src":"2062:14:142","value":{"name":"slot","nodeType":"YulIdentifier","src":"2072:4:142"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2062:6:142"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22524,"isOffset":false,"isSlot":true,"src":"2062:6:142","suffix":"slot","valueSize":1},{"declaration":22520,"isOffset":false,"isSlot":false,"src":"2072:4:142","valueSize":1}],"id":22526,"nodeType":"InlineAssembly","src":"2039:47:142"}]},"documentation":{"id":22518,"nodeType":"StructuredDocumentation","src":"1810:87:142","text":" @dev Returns an `BooleanSlot` with member `value` located at `slot`."},"id":22528,"implemented":true,"kind":"function","modifiers":[],"name":"getBooleanSlot","nameLocation":"1911:14:142","nodeType":"FunctionDefinition","parameters":{"id":22521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22520,"mutability":"mutable","name":"slot","nameLocation":"1934:4:142","nodeType":"VariableDeclaration","scope":22528,"src":"1926:12:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1926:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1925:14:142"},"returnParameters":{"id":22525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22524,"mutability":"mutable","name":"r","nameLocation":"1983:1:142","nodeType":"VariableDeclaration","scope":22528,"src":"1963:21:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$22500_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"},"typeName":{"id":22523,"nodeType":"UserDefinedTypeName","pathNode":{"id":22522,"name":"BooleanSlot","nodeType":"IdentifierPath","referencedDeclaration":22500,"src":"1963:11:142"},"referencedDeclaration":22500,"src":"1963:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$22500_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"}},"visibility":"internal"}],"src":"1962:23:142"},"scope":22551,"src":"1902:190:142","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22538,"nodeType":"Block","src":"2274:106:142","statements":[{"AST":{"nodeType":"YulBlock","src":"2336:38:142","statements":[{"nodeType":"YulAssignment","src":"2350:14:142","value":{"name":"slot","nodeType":"YulIdentifier","src":"2360:4:142"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2350:6:142"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22535,"isOffset":false,"isSlot":true,"src":"2350:6:142","suffix":"slot","valueSize":1},{"declaration":22531,"isOffset":false,"isSlot":false,"src":"2360:4:142","valueSize":1}],"id":22537,"nodeType":"InlineAssembly","src":"2327:47:142"}]},"documentation":{"id":22529,"nodeType":"StructuredDocumentation","src":"2098:87:142","text":" @dev Returns an `Bytes32Slot` with member `value` located at `slot`."},"id":22539,"implemented":true,"kind":"function","modifiers":[],"name":"getBytes32Slot","nameLocation":"2199:14:142","nodeType":"FunctionDefinition","parameters":{"id":22532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22531,"mutability":"mutable","name":"slot","nameLocation":"2222:4:142","nodeType":"VariableDeclaration","scope":22539,"src":"2214:12:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2214:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2213:14:142"},"returnParameters":{"id":22536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22535,"mutability":"mutable","name":"r","nameLocation":"2271:1:142","nodeType":"VariableDeclaration","scope":22539,"src":"2251:21:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$22503_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":22534,"nodeType":"UserDefinedTypeName","pathNode":{"id":22533,"name":"Bytes32Slot","nodeType":"IdentifierPath","referencedDeclaration":22503,"src":"2251:11:142"},"referencedDeclaration":22503,"src":"2251:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$22503_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"2250:23:142"},"scope":22551,"src":"2190:190:142","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22549,"nodeType":"Block","src":"2562:106:142","statements":[{"AST":{"nodeType":"YulBlock","src":"2624:38:142","statements":[{"nodeType":"YulAssignment","src":"2638:14:142","value":{"name":"slot","nodeType":"YulIdentifier","src":"2648:4:142"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2638:6:142"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22546,"isOffset":false,"isSlot":true,"src":"2638:6:142","suffix":"slot","valueSize":1},{"declaration":22542,"isOffset":false,"isSlot":false,"src":"2648:4:142","valueSize":1}],"id":22548,"nodeType":"InlineAssembly","src":"2615:47:142"}]},"documentation":{"id":22540,"nodeType":"StructuredDocumentation","src":"2386:87:142","text":" @dev Returns an `Uint256Slot` with member `value` located at `slot`."},"id":22550,"implemented":true,"kind":"function","modifiers":[],"name":"getUint256Slot","nameLocation":"2487:14:142","nodeType":"FunctionDefinition","parameters":{"id":22543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22542,"mutability":"mutable","name":"slot","nameLocation":"2510:4:142","nodeType":"VariableDeclaration","scope":22550,"src":"2502:12:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2502:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2501:14:142"},"returnParameters":{"id":22547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22546,"mutability":"mutable","name":"r","nameLocation":"2559:1:142","nodeType":"VariableDeclaration","scope":22550,"src":"2539:21:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":22545,"nodeType":"UserDefinedTypeName","pathNode":{"id":22544,"name":"Uint256Slot","nodeType":"IdentifierPath","referencedDeclaration":22506,"src":"2539:11:142"},"referencedDeclaration":22506,"src":"2539:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$22506_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"2538:23:142"},"scope":22551,"src":"2478:190:142","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":22552,"src":"1279:1391:142","usedErrors":[]}],"src":"105:2566:142"},"id":142},"contracts/@openzeppelin/contracts/utils/Strings.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Strings.sol","exportedSymbols":{"Math":[25662],"Strings":[22726]},"id":22727,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22553,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:143"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":22554,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":22727,"sourceUnit":25663,"src":"126:25:143","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":22555,"nodeType":"StructuredDocumentation","src":"153:34:143","text":" @dev String operations."},"fullyImplemented":true,"id":22726,"linearizedBaseContracts":[22726],"name":"Strings","nameLocation":"196:7:143","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":22558,"mutability":"constant","name":"_SYMBOLS","nameLocation":"235:8:143","nodeType":"VariableDeclaration","scope":22726,"src":"210:54:143","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":22556,"name":"bytes16","nodeType":"ElementaryTypeName","src":"210:7:143","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":22557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"246:18:143","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"constant":true,"id":22561,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"293:15:143","nodeType":"VariableDeclaration","scope":22726,"src":"270:43:143","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":22559,"name":"uint8","nodeType":"ElementaryTypeName","src":"270:5:143","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":22560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"311:2:143","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"body":{"id":22608,"nodeType":"Block","src":"486:625:143","statements":[{"id":22607,"nodeType":"UncheckedBlock","src":"496:609:143","statements":[{"assignments":[22570],"declarations":[{"constant":false,"id":22570,"mutability":"mutable","name":"length","nameLocation":"528:6:143","nodeType":"VariableDeclaration","scope":22607,"src":"520:14:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22569,"name":"uint256","nodeType":"ElementaryTypeName","src":"520:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22577,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22573,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22564,"src":"548:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22571,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"537:4:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":22572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":25499,"src":"537:10:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":22574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"537:17:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":22575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"557:1:143","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"537:21:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"520:38:143"},{"assignments":[22579],"declarations":[{"constant":false,"id":22579,"mutability":"mutable","name":"buffer","nameLocation":"586:6:143","nodeType":"VariableDeclaration","scope":22607,"src":"572:20:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22578,"name":"string","nodeType":"ElementaryTypeName","src":"572:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":22584,"initialValue":{"arguments":[{"id":22582,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22570,"src":"606:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"595:10:143","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":22580,"name":"string","nodeType":"ElementaryTypeName","src":"599:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":22583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"595:18:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"572:41:143"},{"assignments":[22586],"declarations":[{"constant":false,"id":22586,"mutability":"mutable","name":"ptr","nameLocation":"635:3:143","nodeType":"VariableDeclaration","scope":22607,"src":"627:11:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22585,"name":"uint256","nodeType":"ElementaryTypeName","src":"627:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22587,"nodeType":"VariableDeclarationStatement","src":"627:11:143"},{"AST":{"nodeType":"YulBlock","src":"708:67:143","statements":[{"nodeType":"YulAssignment","src":"726:35:143","value":{"arguments":[{"name":"buffer","nodeType":"YulIdentifier","src":"737:6:143"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"749:2:143","type":"","value":"32"},{"name":"length","nodeType":"YulIdentifier","src":"753:6:143"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"745:3:143"},"nodeType":"YulFunctionCall","src":"745:15:143"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"733:3:143"},"nodeType":"YulFunctionCall","src":"733:28:143"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"726:3:143"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22579,"isOffset":false,"isSlot":false,"src":"737:6:143","valueSize":1},{"declaration":22570,"isOffset":false,"isSlot":false,"src":"753:6:143","valueSize":1},{"declaration":22586,"isOffset":false,"isSlot":false,"src":"726:3:143","valueSize":1}],"id":22588,"nodeType":"InlineAssembly","src":"699:76:143"},{"body":{"id":22603,"nodeType":"Block","src":"801:267:143","statements":[{"expression":{"id":22591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"819:5:143","subExpression":{"id":22590,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22586,"src":"819:3:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22592,"nodeType":"ExpressionStatement","src":"819:5:143"},{"AST":{"nodeType":"YulBlock","src":"902:84:143","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"932:3:143"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"946:5:143"},{"kind":"number","nodeType":"YulLiteral","src":"953:2:143","type":"","value":"10"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"942:3:143"},"nodeType":"YulFunctionCall","src":"942:14:143"},{"name":"_SYMBOLS","nodeType":"YulIdentifier","src":"958:8:143"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"937:4:143"},"nodeType":"YulFunctionCall","src":"937:30:143"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"924:7:143"},"nodeType":"YulFunctionCall","src":"924:44:143"},"nodeType":"YulExpressionStatement","src":"924:44:143"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":22558,"isOffset":false,"isSlot":false,"src":"958:8:143","valueSize":1},{"declaration":22586,"isOffset":false,"isSlot":false,"src":"932:3:143","valueSize":1},{"declaration":22564,"isOffset":false,"isSlot":false,"src":"946:5:143","valueSize":1}],"id":22593,"nodeType":"InlineAssembly","src":"893:93:143"},{"expression":{"id":22596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22594,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22564,"src":"1003:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":22595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1012:2:143","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1003:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22597,"nodeType":"ExpressionStatement","src":"1003:11:143"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22598,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22564,"src":"1036:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1045:1:143","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1036:10:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22602,"nodeType":"IfStatement","src":"1032:21:143","trueBody":{"id":22601,"nodeType":"Break","src":"1048:5:143"}}]},"condition":{"hexValue":"74727565","id":22589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"795:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":22604,"nodeType":"WhileStatement","src":"788:280:143"},{"expression":{"id":22605,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22579,"src":"1088:6:143","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":22568,"id":22606,"nodeType":"Return","src":"1081:13:143"}]}]},"documentation":{"id":22562,"nodeType":"StructuredDocumentation","src":"320:90:143","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"id":22609,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"424:8:143","nodeType":"FunctionDefinition","parameters":{"id":22565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22564,"mutability":"mutable","name":"value","nameLocation":"441:5:143","nodeType":"VariableDeclaration","scope":22609,"src":"433:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22563,"name":"uint256","nodeType":"ElementaryTypeName","src":"433:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"432:15:143"},"returnParameters":{"id":22568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22609,"src":"471:13:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22566,"name":"string","nodeType":"ElementaryTypeName","src":"471:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"470:15:143"},"scope":22726,"src":"415:696:143","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22628,"nodeType":"Block","src":"1290:100:143","statements":[{"id":22627,"nodeType":"UncheckedBlock","src":"1300:84:143","statements":[{"expression":{"arguments":[{"id":22618,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22612,"src":"1343:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22621,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22612,"src":"1362:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22619,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"1350:4:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$25662_$","typeString":"type(library Math)"}},"id":22620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":25622,"src":"1350:11:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":22622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1350:18:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":22623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1371:1:143","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1350:22:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22617,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[22629,22705,22725],"referencedDeclaration":22705,"src":"1331:11:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":22625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1331:42:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":22616,"id":22626,"nodeType":"Return","src":"1324:49:143"}]}]},"documentation":{"id":22610,"nodeType":"StructuredDocumentation","src":"1117:94:143","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"id":22629,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1225:11:143","nodeType":"FunctionDefinition","parameters":{"id":22613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22612,"mutability":"mutable","name":"value","nameLocation":"1245:5:143","nodeType":"VariableDeclaration","scope":22629,"src":"1237:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22611,"name":"uint256","nodeType":"ElementaryTypeName","src":"1237:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1236:15:143"},"returnParameters":{"id":22616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22629,"src":"1275:13:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22614,"name":"string","nodeType":"ElementaryTypeName","src":"1275:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1274:15:143"},"scope":22726,"src":"1216:174:143","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22704,"nodeType":"Block","src":"1603:347:143","statements":[{"assignments":[22640],"declarations":[{"constant":false,"id":22640,"mutability":"mutable","name":"buffer","nameLocation":"1626:6:143","nodeType":"VariableDeclaration","scope":22704,"src":"1613:19:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22639,"name":"bytes","nodeType":"ElementaryTypeName","src":"1613:5:143","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":22649,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":22643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1645:1:143","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":22644,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22634,"src":"1649:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1645:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":22646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1658:1:143","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1645:14:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1635:9:143","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":22641,"name":"bytes","nodeType":"ElementaryTypeName","src":"1639:5:143","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":22648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1635:25:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1613:47:143"},{"expression":{"id":22654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22650,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22640,"src":"1670:6:143","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":22652,"indexExpression":{"hexValue":"30","id":22651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1677:1:143","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1670:9:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":22653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1682:3:143","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1670:15:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":22655,"nodeType":"ExpressionStatement","src":"1670:15:143"},{"expression":{"id":22660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22656,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22640,"src":"1695:6:143","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":22658,"indexExpression":{"hexValue":"31","id":22657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1702:1:143","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1695:9:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":22659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1707:3:143","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"1695:15:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":22661,"nodeType":"ExpressionStatement","src":"1695:15:143"},{"body":{"id":22690,"nodeType":"Block","src":"1765:83:143","statements":[{"expression":{"id":22684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22676,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22640,"src":"1779:6:143","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":22678,"indexExpression":{"id":22677,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22663,"src":"1786:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1779:9:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":22679,"name":"_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22558,"src":"1791:8:143","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":22683,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22680,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22632,"src":"1800:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":22681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1808:3:143","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"1800:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1791:21:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1779:33:143","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":22685,"nodeType":"ExpressionStatement","src":"1779:33:143"},{"expression":{"id":22688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22686,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22632,"src":"1826:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":22687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1836:1:143","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1826:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22689,"nodeType":"ExpressionStatement","src":"1826:11:143"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22670,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22663,"src":"1753:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":22671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1757:1:143","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1753:5:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22691,"initializationExpression":{"assignments":[22663],"declarations":[{"constant":false,"id":22663,"mutability":"mutable","name":"i","nameLocation":"1733:1:143","nodeType":"VariableDeclaration","scope":22691,"src":"1725:9:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22662,"name":"uint256","nodeType":"ElementaryTypeName","src":"1725:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22669,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":22664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1737:1:143","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":22665,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22634,"src":"1741:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1737:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":22667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:1:143","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1737:14:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1725:26:143"},"loopExpression":{"expression":{"id":22674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"1760:3:143","subExpression":{"id":22673,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22663,"src":"1762:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22675,"nodeType":"ExpressionStatement","src":"1760:3:143"},"nodeType":"ForStatement","src":"1720:128:143"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22693,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22632,"src":"1865:5:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1874:1:143","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1865:10:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":22696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1877:34:143","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":22692,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1857:7:143","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1857:55:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22698,"nodeType":"ExpressionStatement","src":"1857:55:143"},{"expression":{"arguments":[{"id":22701,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22640,"src":"1936:6:143","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1929:6:143","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":22699,"name":"string","nodeType":"ElementaryTypeName","src":"1929:6:143","typeDescriptions":{}}},"id":22702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1929:14:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":22638,"id":22703,"nodeType":"Return","src":"1922:21:143"}]},"documentation":{"id":22630,"nodeType":"StructuredDocumentation","src":"1396:112:143","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"id":22705,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1522:11:143","nodeType":"FunctionDefinition","parameters":{"id":22635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22632,"mutability":"mutable","name":"value","nameLocation":"1542:5:143","nodeType":"VariableDeclaration","scope":22705,"src":"1534:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22631,"name":"uint256","nodeType":"ElementaryTypeName","src":"1534:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22634,"mutability":"mutable","name":"length","nameLocation":"1557:6:143","nodeType":"VariableDeclaration","scope":22705,"src":"1549:14:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22633,"name":"uint256","nodeType":"ElementaryTypeName","src":"1549:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1533:31:143"},"returnParameters":{"id":22638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22705,"src":"1588:13:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22636,"name":"string","nodeType":"ElementaryTypeName","src":"1588:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1587:15:143"},"scope":22726,"src":"1513:437:143","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22724,"nodeType":"Block","src":"2175:76:143","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":22718,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22708,"src":"2220:4:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":22717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2212:7:143","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":22716,"name":"uint160","nodeType":"ElementaryTypeName","src":"2212:7:143","typeDescriptions":{}}},"id":22719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2212:13:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":22715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2204:7:143","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":22714,"name":"uint256","nodeType":"ElementaryTypeName","src":"2204:7:143","typeDescriptions":{}}},"id":22720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2204:22:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22721,"name":"_ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22561,"src":"2228:15:143","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":22713,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[22629,22705,22725],"referencedDeclaration":22705,"src":"2192:11:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":22722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2192:52:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":22712,"id":22723,"nodeType":"Return","src":"2185:59:143"}]},"documentation":{"id":22706,"nodeType":"StructuredDocumentation","src":"1956:141:143","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation."},"id":22725,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2111:11:143","nodeType":"FunctionDefinition","parameters":{"id":22709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22708,"mutability":"mutable","name":"addr","nameLocation":"2131:4:143","nodeType":"VariableDeclaration","scope":22725,"src":"2123:12:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22707,"name":"address","nodeType":"ElementaryTypeName","src":"2123:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2122:14:143"},"returnParameters":{"id":22712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22711,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22725,"src":"2160:13:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22710,"name":"string","nodeType":"ElementaryTypeName","src":"2160:6:143","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2159:15:143"},"scope":22726,"src":"2102:149:143","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":22727,"src":"188:2065:143","usedErrors":[]}],"src":"101:2153:143"},"id":143},"contracts/@openzeppelin/contracts/utils/Timers.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/Timers.sol","exportedSymbols":{"Timers":[22940]},"id":22941,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22728,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"85:23:144"},{"abstract":false,"baseContracts":[],"canonicalName":"Timers","contractDependencies":[],"contractKind":"library","documentation":{"id":22729,"nodeType":"StructuredDocumentation","src":"110:57:144","text":" @dev Tooling for timepoints, timers and delays"},"fullyImplemented":true,"id":22940,"linearizedBaseContracts":[22940],"name":"Timers","nameLocation":"176:6:144","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Timers.Timestamp","id":22732,"members":[{"constant":false,"id":22731,"mutability":"mutable","name":"_deadline","nameLocation":"223:9:144","nodeType":"VariableDeclaration","scope":22732,"src":"216:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22730,"name":"uint64","nodeType":"ElementaryTypeName","src":"216:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Timestamp","nameLocation":"196:9:144","nodeType":"StructDefinition","scope":22940,"src":"189:50:144","visibility":"public"},{"body":{"id":22743,"nodeType":"Block","src":"321:39:144","statements":[{"expression":{"expression":{"id":22740,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22735,"src":"338:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}},"id":22741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"338:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":22739,"id":22742,"nodeType":"Return","src":"331:22:144"}]},"id":22744,"implemented":true,"kind":"function","modifiers":[],"name":"getDeadline","nameLocation":"254:11:144","nodeType":"FunctionDefinition","parameters":{"id":22736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22735,"mutability":"mutable","name":"timer","nameLocation":"283:5:144","nodeType":"VariableDeclaration","scope":22744,"src":"266:22:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22734,"nodeType":"UserDefinedTypeName","pathNode":{"id":22733,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"266:9:144"},"referencedDeclaration":22732,"src":"266:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"265:24:144"},"returnParameters":{"id":22739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22744,"src":"313:6:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22737,"name":"uint64","nodeType":"ElementaryTypeName","src":"313:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"312:8:144"},"scope":22940,"src":"245:115:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22758,"nodeType":"Block","src":"439:44:144","statements":[{"expression":{"id":22756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22752,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"449:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp storage pointer"}},"id":22754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"449:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22755,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22749,"src":"467:9:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"449:27:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":22757,"nodeType":"ExpressionStatement","src":"449:27:144"}]},"id":22759,"implemented":true,"kind":"function","modifiers":[],"name":"setDeadline","nameLocation":"375:11:144","nodeType":"FunctionDefinition","parameters":{"id":22750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22747,"mutability":"mutable","name":"timer","nameLocation":"405:5:144","nodeType":"VariableDeclaration","scope":22759,"src":"387:23:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22746,"nodeType":"UserDefinedTypeName","pathNode":{"id":22745,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"387:9:144"},"referencedDeclaration":22732,"src":"387:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"},{"constant":false,"id":22749,"mutability":"mutable","name":"timestamp","nameLocation":"419:9:144","nodeType":"VariableDeclaration","scope":22759,"src":"412:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22748,"name":"uint64","nodeType":"ElementaryTypeName","src":"412:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"386:43:144"},"returnParameters":{"id":22751,"nodeType":"ParameterList","parameters":[],"src":"439:0:144"},"scope":22940,"src":"366:117:144","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22771,"nodeType":"Block","src":"538:36:144","statements":[{"expression":{"id":22769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22765,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22762,"src":"548:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp storage pointer"}},"id":22767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"548:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":22768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"566:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"548:19:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":22770,"nodeType":"ExpressionStatement","src":"548:19:144"}]},"id":22772,"implemented":true,"kind":"function","modifiers":[],"name":"reset","nameLocation":"498:5:144","nodeType":"FunctionDefinition","parameters":{"id":22763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22762,"mutability":"mutable","name":"timer","nameLocation":"522:5:144","nodeType":"VariableDeclaration","scope":22772,"src":"504:23:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22761,"nodeType":"UserDefinedTypeName","pathNode":{"id":22760,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"504:9:144"},"referencedDeclaration":22732,"src":"504:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"503:25:144"},"returnParameters":{"id":22764,"nodeType":"ParameterList","parameters":[],"src":"538:0:144"},"scope":22940,"src":"489:85:144","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22785,"nodeType":"Block","src":"650:44:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":22783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22780,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22775,"src":"667:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}},"id":22781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"667:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"686:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"667:20:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22779,"id":22784,"nodeType":"Return","src":"660:27:144"}]},"id":22786,"implemented":true,"kind":"function","modifiers":[],"name":"isUnset","nameLocation":"589:7:144","nodeType":"FunctionDefinition","parameters":{"id":22776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22775,"mutability":"mutable","name":"timer","nameLocation":"614:5:144","nodeType":"VariableDeclaration","scope":22786,"src":"597:22:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22774,"nodeType":"UserDefinedTypeName","pathNode":{"id":22773,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"597:9:144"},"referencedDeclaration":22732,"src":"597:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"596:24:144"},"returnParameters":{"id":22779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22786,"src":"644:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22777,"name":"bool","nodeType":"ElementaryTypeName","src":"644:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"643:6:144"},"scope":22940,"src":"580:114:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22799,"nodeType":"Block","src":"772:43:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":22797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22794,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22789,"src":"789:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}},"id":22795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"789:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"807:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"789:19:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22793,"id":22798,"nodeType":"Return","src":"782:26:144"}]},"id":22800,"implemented":true,"kind":"function","modifiers":[],"name":"isStarted","nameLocation":"709:9:144","nodeType":"FunctionDefinition","parameters":{"id":22790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22789,"mutability":"mutable","name":"timer","nameLocation":"736:5:144","nodeType":"VariableDeclaration","scope":22800,"src":"719:22:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22788,"nodeType":"UserDefinedTypeName","pathNode":{"id":22787,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"719:9:144"},"referencedDeclaration":22732,"src":"719:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"718:24:144"},"returnParameters":{"id":22793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22792,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22800,"src":"766:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22791,"name":"bool","nodeType":"ElementaryTypeName","src":"766:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"765:6:144"},"scope":22940,"src":"700:115:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22814,"nodeType":"Block","src":"893:57:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22808,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22803,"src":"910:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}},"id":22809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"910:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":22810,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"928:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":22811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"928:15:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"910:33:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22807,"id":22813,"nodeType":"Return","src":"903:40:144"}]},"id":22815,"implemented":true,"kind":"function","modifiers":[],"name":"isPending","nameLocation":"830:9:144","nodeType":"FunctionDefinition","parameters":{"id":22804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22803,"mutability":"mutable","name":"timer","nameLocation":"857:5:144","nodeType":"VariableDeclaration","scope":22815,"src":"840:22:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22802,"nodeType":"UserDefinedTypeName","pathNode":{"id":22801,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"840:9:144"},"referencedDeclaration":22732,"src":"840:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"839:24:144"},"returnParameters":{"id":22807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22806,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22815,"src":"887:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22805,"name":"bool","nodeType":"ElementaryTypeName","src":"887:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"886:6:144"},"scope":22940,"src":"821:129:144","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22833,"nodeType":"Block","src":"1028:78:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":22831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22824,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22818,"src":"1055:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}],"id":22823,"name":"isStarted","nodeType":"Identifier","overloadedDeclarations":[22800,22905],"referencedDeclaration":22800,"src":"1045:9:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_Timestamp_$22732_memory_ptr_$returns$_t_bool_$","typeString":"function (struct Timers.Timestamp memory) pure returns (bool)"}},"id":22825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1045:16:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22826,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22818,"src":"1065:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp memory"}},"id":22827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22731,"src":"1065:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":22828,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1084:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":22829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1084:15:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1065:34:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1045:54:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22822,"id":22832,"nodeType":"Return","src":"1038:61:144"}]},"id":22834,"implemented":true,"kind":"function","modifiers":[],"name":"isExpired","nameLocation":"965:9:144","nodeType":"FunctionDefinition","parameters":{"id":22819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22818,"mutability":"mutable","name":"timer","nameLocation":"992:5:144","nodeType":"VariableDeclaration","scope":22834,"src":"975:22:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_memory_ptr","typeString":"struct Timers.Timestamp"},"typeName":{"id":22817,"nodeType":"UserDefinedTypeName","pathNode":{"id":22816,"name":"Timestamp","nodeType":"IdentifierPath","referencedDeclaration":22732,"src":"975:9:144"},"referencedDeclaration":22732,"src":"975:9:144","typeDescriptions":{"typeIdentifier":"t_struct$_Timestamp_$22732_storage_ptr","typeString":"struct Timers.Timestamp"}},"visibility":"internal"}],"src":"974:24:144"},"returnParameters":{"id":22822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22834,"src":"1022:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22820,"name":"bool","nodeType":"ElementaryTypeName","src":"1022:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1021:6:144"},"scope":22940,"src":"956:150:144","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"Timers.BlockNumber","id":22837,"members":[{"constant":false,"id":22836,"mutability":"mutable","name":"_deadline","nameLocation":"1148:9:144","nodeType":"VariableDeclaration","scope":22837,"src":"1141:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22835,"name":"uint64","nodeType":"ElementaryTypeName","src":"1141:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"BlockNumber","nameLocation":"1119:11:144","nodeType":"StructDefinition","scope":22940,"src":"1112:52:144","visibility":"public"},{"body":{"id":22848,"nodeType":"Block","src":"1248:39:144","statements":[{"expression":{"expression":{"id":22845,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22840,"src":"1265:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}},"id":22846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1265:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":22844,"id":22847,"nodeType":"Return","src":"1258:22:144"}]},"id":22849,"implemented":true,"kind":"function","modifiers":[],"name":"getDeadline","nameLocation":"1179:11:144","nodeType":"FunctionDefinition","parameters":{"id":22841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22840,"mutability":"mutable","name":"timer","nameLocation":"1210:5:144","nodeType":"VariableDeclaration","scope":22849,"src":"1191:24:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22839,"nodeType":"UserDefinedTypeName","pathNode":{"id":22838,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1191:11:144"},"referencedDeclaration":22837,"src":"1191:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1190:26:144"},"returnParameters":{"id":22844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22849,"src":"1240:6:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22842,"name":"uint64","nodeType":"ElementaryTypeName","src":"1240:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1239:8:144"},"scope":22940,"src":"1170:117:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22863,"nodeType":"Block","src":"1368:44:144","statements":[{"expression":{"id":22861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22857,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22852,"src":"1378:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber storage pointer"}},"id":22859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1378:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22860,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22854,"src":"1396:9:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"1378:27:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":22862,"nodeType":"ExpressionStatement","src":"1378:27:144"}]},"id":22864,"implemented":true,"kind":"function","modifiers":[],"name":"setDeadline","nameLocation":"1302:11:144","nodeType":"FunctionDefinition","parameters":{"id":22855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22852,"mutability":"mutable","name":"timer","nameLocation":"1334:5:144","nodeType":"VariableDeclaration","scope":22864,"src":"1314:25:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22851,"nodeType":"UserDefinedTypeName","pathNode":{"id":22850,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1314:11:144"},"referencedDeclaration":22837,"src":"1314:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"},{"constant":false,"id":22854,"mutability":"mutable","name":"timestamp","nameLocation":"1348:9:144","nodeType":"VariableDeclaration","scope":22864,"src":"1341:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22853,"name":"uint64","nodeType":"ElementaryTypeName","src":"1341:6:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1313:45:144"},"returnParameters":{"id":22856,"nodeType":"ParameterList","parameters":[],"src":"1368:0:144"},"scope":22940,"src":"1293:119:144","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22876,"nodeType":"Block","src":"1469:36:144","statements":[{"expression":{"id":22874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":22870,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22867,"src":"1479:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber storage pointer"}},"id":22872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1479:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":22873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1497:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1479:19:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":22875,"nodeType":"ExpressionStatement","src":"1479:19:144"}]},"id":22877,"implemented":true,"kind":"function","modifiers":[],"name":"reset","nameLocation":"1427:5:144","nodeType":"FunctionDefinition","parameters":{"id":22868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22867,"mutability":"mutable","name":"timer","nameLocation":"1453:5:144","nodeType":"VariableDeclaration","scope":22877,"src":"1433:25:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22866,"nodeType":"UserDefinedTypeName","pathNode":{"id":22865,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1433:11:144"},"referencedDeclaration":22837,"src":"1433:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1432:27:144"},"returnParameters":{"id":22869,"nodeType":"ParameterList","parameters":[],"src":"1469:0:144"},"scope":22940,"src":"1418:87:144","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":22890,"nodeType":"Block","src":"1583:44:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":22888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22885,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22880,"src":"1600:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}},"id":22886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1600:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1619:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1600:20:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22884,"id":22889,"nodeType":"Return","src":"1593:27:144"}]},"id":22891,"implemented":true,"kind":"function","modifiers":[],"name":"isUnset","nameLocation":"1520:7:144","nodeType":"FunctionDefinition","parameters":{"id":22881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22880,"mutability":"mutable","name":"timer","nameLocation":"1547:5:144","nodeType":"VariableDeclaration","scope":22891,"src":"1528:24:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22879,"nodeType":"UserDefinedTypeName","pathNode":{"id":22878,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1528:11:144"},"referencedDeclaration":22837,"src":"1528:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1527:26:144"},"returnParameters":{"id":22884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22891,"src":"1577:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22882,"name":"bool","nodeType":"ElementaryTypeName","src":"1577:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1576:6:144"},"scope":22940,"src":"1511:116:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22904,"nodeType":"Block","src":"1707:43:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":22902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22899,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22894,"src":"1724:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}},"id":22900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1724:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1742:1:144","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1724:19:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22898,"id":22903,"nodeType":"Return","src":"1717:26:144"}]},"id":22905,"implemented":true,"kind":"function","modifiers":[],"name":"isStarted","nameLocation":"1642:9:144","nodeType":"FunctionDefinition","parameters":{"id":22895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22894,"mutability":"mutable","name":"timer","nameLocation":"1671:5:144","nodeType":"VariableDeclaration","scope":22905,"src":"1652:24:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22893,"nodeType":"UserDefinedTypeName","pathNode":{"id":22892,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1652:11:144"},"referencedDeclaration":22837,"src":"1652:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1651:26:144"},"returnParameters":{"id":22898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22905,"src":"1701:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22896,"name":"bool","nodeType":"ElementaryTypeName","src":"1701:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1700:6:144"},"scope":22940,"src":"1633:117:144","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":22919,"nodeType":"Block","src":"1830:54:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22913,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22908,"src":"1847:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}},"id":22914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"1847:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":22915,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1865:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":22916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1865:12:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1847:30:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22912,"id":22918,"nodeType":"Return","src":"1840:37:144"}]},"id":22920,"implemented":true,"kind":"function","modifiers":[],"name":"isPending","nameLocation":"1765:9:144","nodeType":"FunctionDefinition","parameters":{"id":22909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22908,"mutability":"mutable","name":"timer","nameLocation":"1794:5:144","nodeType":"VariableDeclaration","scope":22920,"src":"1775:24:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22907,"nodeType":"UserDefinedTypeName","pathNode":{"id":22906,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1775:11:144"},"referencedDeclaration":22837,"src":"1775:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1774:26:144"},"returnParameters":{"id":22912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22920,"src":"1824:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22910,"name":"bool","nodeType":"ElementaryTypeName","src":"1824:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1823:6:144"},"scope":22940,"src":"1756:128:144","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":22938,"nodeType":"Block","src":"1964:75:144","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":22936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22929,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22923,"src":"1991:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}],"id":22928,"name":"isStarted","nodeType":"Identifier","overloadedDeclarations":[22800,22905],"referencedDeclaration":22905,"src":"1981:9:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_BlockNumber_$22837_memory_ptr_$returns$_t_bool_$","typeString":"function (struct Timers.BlockNumber memory) pure returns (bool)"}},"id":22930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1981:16:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22931,"name":"timer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22923,"src":"2001:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber memory"}},"id":22932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_deadline","nodeType":"MemberAccess","referencedDeclaration":22836,"src":"2001:15:144","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":22933,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2020:5:144","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":22934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2020:12:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2001:31:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1981:51:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":22927,"id":22937,"nodeType":"Return","src":"1974:58:144"}]},"id":22939,"implemented":true,"kind":"function","modifiers":[],"name":"isExpired","nameLocation":"1899:9:144","nodeType":"FunctionDefinition","parameters":{"id":22924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22923,"mutability":"mutable","name":"timer","nameLocation":"1928:5:144","nodeType":"VariableDeclaration","scope":22939,"src":"1909:24:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_memory_ptr","typeString":"struct Timers.BlockNumber"},"typeName":{"id":22922,"nodeType":"UserDefinedTypeName","pathNode":{"id":22921,"name":"BlockNumber","nodeType":"IdentifierPath","referencedDeclaration":22837,"src":"1909:11:144"},"referencedDeclaration":22837,"src":"1909:11:144","typeDescriptions":{"typeIdentifier":"t_struct$_BlockNumber_$22837_storage_ptr","typeString":"struct Timers.BlockNumber"}},"visibility":"internal"}],"src":"1908:26:144"},"returnParameters":{"id":22927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22939,"src":"1958:4:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22925,"name":"bool","nodeType":"ElementaryTypeName","src":"1958:4:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1957:6:144"},"scope":22940,"src":"1890:149:144","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":22941,"src":"168:1873:144","usedErrors":[]}],"src":"85:1957:144"},"id":144},"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","exportedSymbols":{"ECDSA":[23301],"Math":[25662],"Strings":[22726]},"id":23302,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":22942,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:145"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Strings.sol","file":"../Strings.sol","id":22943,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23302,"sourceUnit":22727,"src":"137:24:145","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"library","documentation":{"id":22944,"nodeType":"StructuredDocumentation","src":"163:205:145","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":23301,"linearizedBaseContracts":[23301],"name":"ECDSA","nameLocation":"377:5:145","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":22950,"members":[{"id":22945,"name":"NoError","nameLocation":"417:7:145","nodeType":"EnumValue","src":"417:7:145"},{"id":22946,"name":"InvalidSignature","nameLocation":"434:16:145","nodeType":"EnumValue","src":"434:16:145"},{"id":22947,"name":"InvalidSignatureLength","nameLocation":"460:22:145","nodeType":"EnumValue","src":"460:22:145"},{"id":22948,"name":"InvalidSignatureS","nameLocation":"492:17:145","nodeType":"EnumValue","src":"492:17:145"},{"id":22949,"name":"InvalidSignatureV","nameLocation":"519:17:145","nodeType":"EnumValue","src":"519:17:145"}],"name":"RecoverError","nameLocation":"394:12:145","nodeType":"EnumDefinition","src":"389:175:145"},{"body":{"id":22993,"nodeType":"Block","src":"624:457:145","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"id":22959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22956,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22953,"src":"638:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":22957,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"647:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":22958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":22945,"src":"647:20:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"src":"638:29:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"id":22965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22962,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22953,"src":"734:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":22963,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"743:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":22964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":22946,"src":"743:29:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"src":"734:38:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"id":22974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22971,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22953,"src":"843:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":22972,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"852:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":22973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":22947,"src":"852:35:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"src":"843:44:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"id":22983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22980,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22953,"src":"965:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":22981,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"974:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":22982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":22948,"src":"974:30:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"src":"965:39:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22989,"nodeType":"IfStatement","src":"961:114:145","trueBody":{"id":22988,"nodeType":"Block","src":"1006:69:145","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c7565","id":22985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1027:36:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""},"value":"ECDSA: invalid signature 's' value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""}],"id":22984,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1020:6:145","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":22986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1020:44:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22987,"nodeType":"ExpressionStatement","src":"1020:44:145"}]}},"id":22990,"nodeType":"IfStatement","src":"839:236:145","trueBody":{"id":22979,"nodeType":"Block","src":"889:66:145","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","id":22976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"910:33:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""},"value":"ECDSA: invalid signature length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""}],"id":22975,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"903:6:145","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":22977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"903:41:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22978,"nodeType":"ExpressionStatement","src":"903:41:145"}]}},"id":22991,"nodeType":"IfStatement","src":"730:345:145","trueBody":{"id":22970,"nodeType":"Block","src":"774:59:145","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","id":22967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:26:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""},"value":"ECDSA: invalid signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""}],"id":22966,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"788:6:145","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":22968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"788:34:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22969,"nodeType":"ExpressionStatement","src":"788:34:145"}]}},"id":22992,"nodeType":"IfStatement","src":"634:441:145","trueBody":{"id":22961,"nodeType":"Block","src":"669:55:145","statements":[{"functionReturnParameters":22955,"id":22960,"nodeType":"Return","src":"683:7:145"}]}}]},"id":22994,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"579:11:145","nodeType":"FunctionDefinition","parameters":{"id":22954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22953,"mutability":"mutable","name":"error","nameLocation":"604:5:145","nodeType":"VariableDeclaration","scope":22994,"src":"591:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":22952,"nodeType":"UserDefinedTypeName","pathNode":{"id":22951,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"591:12:145"},"referencedDeclaration":22950,"src":"591:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"590:20:145"},"returnParameters":{"id":22955,"nodeType":"ParameterList","parameters":[],"src":"624:0:145"},"scope":23301,"src":"570:511:145","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":23039,"nodeType":"Block","src":"2249:626:145","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23007,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22999,"src":"2263:9:145","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":23008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2263:16:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":23009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2283:2:145","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2263:22:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":23037,"nodeType":"Block","src":"2788:81:145","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":23031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2818:1:145","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":23030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2810:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23029,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:145","typeDescriptions":{}}},"id":23032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2810:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":23033,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"2822:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":23034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":22947,"src":"2822:35:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"id":23035,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2809:49:145","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23006,"id":23036,"nodeType":"Return","src":"2802:56:145"}]},"id":23038,"nodeType":"IfStatement","src":"2259:610:145","trueBody":{"id":23028,"nodeType":"Block","src":"2287:495:145","statements":[{"assignments":[23012],"declarations":[{"constant":false,"id":23012,"mutability":"mutable","name":"r","nameLocation":"2309:1:145","nodeType":"VariableDeclaration","scope":23028,"src":"2301:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2301:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23013,"nodeType":"VariableDeclarationStatement","src":"2301:9:145"},{"assignments":[23015],"declarations":[{"constant":false,"id":23015,"mutability":"mutable","name":"s","nameLocation":"2332:1:145","nodeType":"VariableDeclaration","scope":23028,"src":"2324:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23016,"nodeType":"VariableDeclarationStatement","src":"2324:9:145"},{"assignments":[23018],"declarations":[{"constant":false,"id":23018,"mutability":"mutable","name":"v","nameLocation":"2353:1:145","nodeType":"VariableDeclaration","scope":23028,"src":"2347:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23017,"name":"uint8","nodeType":"ElementaryTypeName","src":"2347:5:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":23019,"nodeType":"VariableDeclarationStatement","src":"2347:7:145"},{"AST":{"nodeType":"YulBlock","src":"2555:171:145","statements":[{"nodeType":"YulAssignment","src":"2573:32:145","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2588:9:145"},{"kind":"number","nodeType":"YulLiteral","src":"2599:4:145","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2584:3:145"},"nodeType":"YulFunctionCall","src":"2584:20:145"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2578:5:145"},"nodeType":"YulFunctionCall","src":"2578:27:145"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2573:1:145"}]},{"nodeType":"YulAssignment","src":"2622:32:145","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2637:9:145"},{"kind":"number","nodeType":"YulLiteral","src":"2648:4:145","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2633:3:145"},"nodeType":"YulFunctionCall","src":"2633:20:145"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2627:5:145"},"nodeType":"YulFunctionCall","src":"2627:27:145"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2622:1:145"}]},{"nodeType":"YulAssignment","src":"2671:41:145","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2681:1:145","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2694:9:145"},{"kind":"number","nodeType":"YulLiteral","src":"2705:4:145","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2690:3:145"},"nodeType":"YulFunctionCall","src":"2690:20:145"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2684:5:145"},"nodeType":"YulFunctionCall","src":"2684:27:145"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2676:4:145"},"nodeType":"YulFunctionCall","src":"2676:36:145"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2671:1:145"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":23012,"isOffset":false,"isSlot":false,"src":"2573:1:145","valueSize":1},{"declaration":23015,"isOffset":false,"isSlot":false,"src":"2622:1:145","valueSize":1},{"declaration":22999,"isOffset":false,"isSlot":false,"src":"2588:9:145","valueSize":1},{"declaration":22999,"isOffset":false,"isSlot":false,"src":"2637:9:145","valueSize":1},{"declaration":22999,"isOffset":false,"isSlot":false,"src":"2694:9:145","valueSize":1},{"declaration":23018,"isOffset":false,"isSlot":false,"src":"2671:1:145","valueSize":1}],"id":23020,"nodeType":"InlineAssembly","src":"2546:180:145"},{"expression":{"arguments":[{"id":23022,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22997,"src":"2757:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23023,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23018,"src":"2763:1:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":23024,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23012,"src":"2766:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23025,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23015,"src":"2769:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23021,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[23040,23114,23208],"referencedDeclaration":23208,"src":"2746:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":23026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2746:25:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23006,"id":23027,"nodeType":"Return","src":"2739:32:145"}]}}]},"documentation":{"id":22995,"nodeType":"StructuredDocumentation","src":"1087:1053:145","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature` or error string. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n _Available since v4.3._"},"id":23040,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2154:10:145","nodeType":"FunctionDefinition","parameters":{"id":23000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22997,"mutability":"mutable","name":"hash","nameLocation":"2173:4:145","nodeType":"VariableDeclaration","scope":23040,"src":"2165:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2165:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22999,"mutability":"mutable","name":"signature","nameLocation":"2192:9:145","nodeType":"VariableDeclaration","scope":23040,"src":"2179:22:145","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22998,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:145","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2164:38:145"},"returnParameters":{"id":23006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23040,"src":"2226:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23001,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23040,"src":"2235:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23004,"nodeType":"UserDefinedTypeName","pathNode":{"id":23003,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"2235:12:145"},"referencedDeclaration":22950,"src":"2235:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"2225:23:145"},"scope":23301,"src":"2145:730:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23066,"nodeType":"Block","src":"3748:140:145","statements":[{"assignments":[23051,23054],"declarations":[{"constant":false,"id":23051,"mutability":"mutable","name":"recovered","nameLocation":"3767:9:145","nodeType":"VariableDeclaration","scope":23066,"src":"3759:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23050,"name":"address","nodeType":"ElementaryTypeName","src":"3759:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23054,"mutability":"mutable","name":"error","nameLocation":"3791:5:145","nodeType":"VariableDeclaration","scope":23066,"src":"3778:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23053,"nodeType":"UserDefinedTypeName","pathNode":{"id":23052,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"3778:12:145"},"referencedDeclaration":22950,"src":"3778:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":23059,"initialValue":{"arguments":[{"id":23056,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23043,"src":"3811:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23057,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23045,"src":"3817:9:145","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23055,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[23040,23114,23208],"referencedDeclaration":23040,"src":"3800:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)"}},"id":23058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3800:27:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"3758:69:145"},{"expression":{"arguments":[{"id":23061,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23054,"src":"3849:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}],"id":23060,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22994,"src":"3837:11:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$22950_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":23062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3837:18:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23063,"nodeType":"ExpressionStatement","src":"3837:18:145"},{"expression":{"id":23064,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23051,"src":"3872:9:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":23049,"id":23065,"nodeType":"Return","src":"3865:16:145"}]},"documentation":{"id":23041,"nodeType":"StructuredDocumentation","src":"2881:775:145","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it."},"id":23067,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3670:7:145","nodeType":"FunctionDefinition","parameters":{"id":23046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23043,"mutability":"mutable","name":"hash","nameLocation":"3686:4:145","nodeType":"VariableDeclaration","scope":23067,"src":"3678:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3678:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23045,"mutability":"mutable","name":"signature","nameLocation":"3705:9:145","nodeType":"VariableDeclaration","scope":23067,"src":"3692:22:145","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23044,"name":"bytes","nodeType":"ElementaryTypeName","src":"3692:5:145","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3677:38:145"},"returnParameters":{"id":23049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23048,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23067,"src":"3739:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23047,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3738:9:145"},"scope":23301,"src":"3661:227:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23113,"nodeType":"Block","src":"4275:203:145","statements":[{"assignments":[23083],"declarations":[{"constant":false,"id":23083,"mutability":"mutable","name":"s","nameLocation":"4293:1:145","nodeType":"VariableDeclaration","scope":23113,"src":"4285:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4285:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23090,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23084,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23074,"src":"4297:2:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":23087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4310:66:145","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":23086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4302:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":23085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4302:7:145","typeDescriptions":{}}},"id":23088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4302:75:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4297:80:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4285:92:145"},{"assignments":[23092],"declarations":[{"constant":false,"id":23092,"mutability":"mutable","name":"v","nameLocation":"4393:1:145","nodeType":"VariableDeclaration","scope":23113,"src":"4387:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23091,"name":"uint8","nodeType":"ElementaryTypeName","src":"4387:5:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":23105,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23097,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23074,"src":"4412:2:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4404:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":23095,"name":"uint256","nodeType":"ElementaryTypeName","src":"4404:7:145","typeDescriptions":{}}},"id":23098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4404:11:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":23099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4419:3:145","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4404:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":23101,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4403:20:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":23102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4426:2:145","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4403:25:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4397:5:145","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":23093,"name":"uint8","nodeType":"ElementaryTypeName","src":"4397:5:145","typeDescriptions":{}}},"id":23104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4397:32:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4387:42:145"},{"expression":{"arguments":[{"id":23107,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23070,"src":"4457:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23108,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23092,"src":"4463:1:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":23109,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23072,"src":"4466:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23110,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23083,"src":"4469:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23106,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[23040,23114,23208],"referencedDeclaration":23208,"src":"4446:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":23111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4446:25:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23081,"id":23112,"nodeType":"Return","src":"4439:32:145"}]},"documentation":{"id":23068,"nodeType":"StructuredDocumentation","src":"3894:243:145","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n _Available since v4.3._"},"id":23114,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4151:10:145","nodeType":"FunctionDefinition","parameters":{"id":23075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23070,"mutability":"mutable","name":"hash","nameLocation":"4179:4:145","nodeType":"VariableDeclaration","scope":23114,"src":"4171:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4171:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23072,"mutability":"mutable","name":"r","nameLocation":"4201:1:145","nodeType":"VariableDeclaration","scope":23114,"src":"4193:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4193:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23074,"mutability":"mutable","name":"vs","nameLocation":"4220:2:145","nodeType":"VariableDeclaration","scope":23114,"src":"4212:10:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4212:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4161:67:145"},"returnParameters":{"id":23081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23114,"src":"4252:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23076,"name":"address","nodeType":"ElementaryTypeName","src":"4252:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23114,"src":"4261:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23079,"nodeType":"UserDefinedTypeName","pathNode":{"id":23078,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"4261:12:145"},"referencedDeclaration":22950,"src":"4261:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"4251:23:145"},"scope":23301,"src":"4142:336:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23143,"nodeType":"Block","src":"4759:136:145","statements":[{"assignments":[23127,23130],"declarations":[{"constant":false,"id":23127,"mutability":"mutable","name":"recovered","nameLocation":"4778:9:145","nodeType":"VariableDeclaration","scope":23143,"src":"4770:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23126,"name":"address","nodeType":"ElementaryTypeName","src":"4770:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23130,"mutability":"mutable","name":"error","nameLocation":"4802:5:145","nodeType":"VariableDeclaration","scope":23143,"src":"4789:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23129,"nodeType":"UserDefinedTypeName","pathNode":{"id":23128,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"4789:12:145"},"referencedDeclaration":22950,"src":"4789:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":23136,"initialValue":{"arguments":[{"id":23132,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23117,"src":"4822:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23133,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23119,"src":"4828:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23134,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23121,"src":"4831:2:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23131,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[23040,23114,23208],"referencedDeclaration":23114,"src":"4811:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":23135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4811:23:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"4769:65:145"},{"expression":{"arguments":[{"id":23138,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23130,"src":"4856:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}],"id":23137,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22994,"src":"4844:11:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$22950_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":23139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4844:18:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23140,"nodeType":"ExpressionStatement","src":"4844:18:145"},{"expression":{"id":23141,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23127,"src":"4879:9:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":23125,"id":23142,"nodeType":"Return","src":"4872:16:145"}]},"documentation":{"id":23115,"nodeType":"StructuredDocumentation","src":"4484:154:145","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n _Available since v4.2._"},"id":23144,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4652:7:145","nodeType":"FunctionDefinition","parameters":{"id":23122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23117,"mutability":"mutable","name":"hash","nameLocation":"4677:4:145","nodeType":"VariableDeclaration","scope":23144,"src":"4669:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4669:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23119,"mutability":"mutable","name":"r","nameLocation":"4699:1:145","nodeType":"VariableDeclaration","scope":23144,"src":"4691:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4691:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23121,"mutability":"mutable","name":"vs","nameLocation":"4718:2:145","nodeType":"VariableDeclaration","scope":23144,"src":"4710:10:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4710:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4659:67:145"},"returnParameters":{"id":23125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23144,"src":"4750:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23123,"name":"address","nodeType":"ElementaryTypeName","src":"4750:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4749:9:145"},"scope":23301,"src":"4643:252:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23207,"nodeType":"Block","src":"5218:1345:145","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23163,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23153,"src":"6114:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6106:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":23161,"name":"uint256","nodeType":"ElementaryTypeName","src":"6106:7:145","typeDescriptions":{}}},"id":23164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6106:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":23165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6119:66:145","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6106:79:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23176,"nodeType":"IfStatement","src":"6102:161:145","trueBody":{"id":23175,"nodeType":"Block","src":"6187:76:145","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":23169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6217:1:145","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":23168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6209:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23167,"name":"address","nodeType":"ElementaryTypeName","src":"6209:7:145","typeDescriptions":{}}},"id":23170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6209:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":23171,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"6221:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":23172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":22948,"src":"6221:30:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"id":23173,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6208:44:145","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23160,"id":23174,"nodeType":"Return","src":"6201:51:145"}]}},{"assignments":[23178],"declarations":[{"constant":false,"id":23178,"mutability":"mutable","name":"signer","nameLocation":"6365:6:145","nodeType":"VariableDeclaration","scope":23207,"src":"6357:14:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23177,"name":"address","nodeType":"ElementaryTypeName","src":"6357:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":23185,"initialValue":{"arguments":[{"id":23180,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23147,"src":"6384:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23181,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23149,"src":"6390:1:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":23182,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23151,"src":"6393:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23183,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23153,"src":"6396:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23179,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6374:9:145","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":23184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6374:24:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6357:41:145"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":23191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23186,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23178,"src":"6412:6:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":23189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6430:1:145","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":23188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6422:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23187,"name":"address","nodeType":"ElementaryTypeName","src":"6422:7:145","typeDescriptions":{}}},"id":23190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6422:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6412:20:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23201,"nodeType":"IfStatement","src":"6408:101:145","trueBody":{"id":23200,"nodeType":"Block","src":"6434:75:145","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":23194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6464:1:145","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":23193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6456:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23192,"name":"address","nodeType":"ElementaryTypeName","src":"6456:7:145","typeDescriptions":{}}},"id":23195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6456:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":23196,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"6468:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":23197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":22946,"src":"6468:29:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"id":23198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6455:43:145","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23160,"id":23199,"nodeType":"Return","src":"6448:50:145"}]}},{"expression":{"components":[{"id":23202,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23178,"src":"6527:6:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":23203,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"6535:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":23204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":22945,"src":"6535:20:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"id":23205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6526:30:145","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":23160,"id":23206,"nodeType":"Return","src":"6519:37:145"}]},"documentation":{"id":23145,"nodeType":"StructuredDocumentation","src":"4901:163:145","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately.\n _Available since v4.3._"},"id":23208,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5078:10:145","nodeType":"FunctionDefinition","parameters":{"id":23154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23147,"mutability":"mutable","name":"hash","nameLocation":"5106:4:145","nodeType":"VariableDeclaration","scope":23208,"src":"5098:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5098:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23149,"mutability":"mutable","name":"v","nameLocation":"5126:1:145","nodeType":"VariableDeclaration","scope":23208,"src":"5120:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23148,"name":"uint8","nodeType":"ElementaryTypeName","src":"5120:5:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":23151,"mutability":"mutable","name":"r","nameLocation":"5145:1:145","nodeType":"VariableDeclaration","scope":23208,"src":"5137:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5137:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23153,"mutability":"mutable","name":"s","nameLocation":"5164:1:145","nodeType":"VariableDeclaration","scope":23208,"src":"5156:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5156:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5088:83:145"},"returnParameters":{"id":23160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23208,"src":"5195:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23155,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23159,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23208,"src":"5204:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23158,"nodeType":"UserDefinedTypeName","pathNode":{"id":23157,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"5204:12:145"},"referencedDeclaration":22950,"src":"5204:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"5194:23:145"},"scope":23301,"src":"5069:1494:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23240,"nodeType":"Block","src":"6828:138:145","statements":[{"assignments":[23223,23226],"declarations":[{"constant":false,"id":23223,"mutability":"mutable","name":"recovered","nameLocation":"6847:9:145","nodeType":"VariableDeclaration","scope":23240,"src":"6839:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23222,"name":"address","nodeType":"ElementaryTypeName","src":"6839:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23226,"mutability":"mutable","name":"error","nameLocation":"6871:5:145","nodeType":"VariableDeclaration","scope":23240,"src":"6858:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23225,"nodeType":"UserDefinedTypeName","pathNode":{"id":23224,"name":"RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"6858:12:145"},"referencedDeclaration":22950,"src":"6858:12:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":23233,"initialValue":{"arguments":[{"id":23228,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23211,"src":"6891:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23229,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23213,"src":"6897:1:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":23230,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23215,"src":"6900:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23231,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23217,"src":"6903:1:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23227,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[23040,23114,23208],"referencedDeclaration":23208,"src":"6880:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":23232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6880:25:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"6838:67:145"},{"expression":{"arguments":[{"id":23235,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23226,"src":"6927:5:145","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}],"id":23234,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22994,"src":"6915:11:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$22950_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":23236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6915:18:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23237,"nodeType":"ExpressionStatement","src":"6915:18:145"},{"expression":{"id":23238,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23223,"src":"6950:9:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":23221,"id":23239,"nodeType":"Return","src":"6943:16:145"}]},"documentation":{"id":23209,"nodeType":"StructuredDocumentation","src":"6569:122:145","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":23241,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"6705:7:145","nodeType":"FunctionDefinition","parameters":{"id":23218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23211,"mutability":"mutable","name":"hash","nameLocation":"6730:4:145","nodeType":"VariableDeclaration","scope":23241,"src":"6722:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6722:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23213,"mutability":"mutable","name":"v","nameLocation":"6750:1:145","nodeType":"VariableDeclaration","scope":23241,"src":"6744:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23212,"name":"uint8","nodeType":"ElementaryTypeName","src":"6744:5:145","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":23215,"mutability":"mutable","name":"r","nameLocation":"6769:1:145","nodeType":"VariableDeclaration","scope":23241,"src":"6761:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6761:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23217,"mutability":"mutable","name":"s","nameLocation":"6788:1:145","nodeType":"VariableDeclaration","scope":23241,"src":"6780:9:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6780:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6712:83:145"},"returnParameters":{"id":23221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23241,"src":"6819:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23219,"name":"address","nodeType":"ElementaryTypeName","src":"6819:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6818:9:145"},"scope":23301,"src":"6696:270:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23257,"nodeType":"Block","src":"7334:187:145","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","id":23252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7472:34:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\""},"value":"\u0019Ethereum Signed Message:\n32"},{"id":23253,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23244,"src":"7508:4:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":23250,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7455:3:145","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7455:16:145","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":23254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7455:58:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23249,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7445:9:145","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7445:69:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23248,"id":23256,"nodeType":"Return","src":"7438:76:145"}]},"documentation":{"id":23242,"nodeType":"StructuredDocumentation","src":"6972:279:145","text":" @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":23258,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7265:22:145","nodeType":"FunctionDefinition","parameters":{"id":23245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23244,"mutability":"mutable","name":"hash","nameLocation":"7296:4:145","nodeType":"VariableDeclaration","scope":23258,"src":"7288:12:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7288:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7287:14:145"},"returnParameters":{"id":23248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23258,"src":"7325:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7325:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7324:9:145"},"scope":23301,"src":"7256:265:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23279,"nodeType":"Block","src":"7886:116:145","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a","id":23269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7930:32:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},"value":"\u0019Ethereum Signed Message:\n"},{"arguments":[{"expression":{"id":23272,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23261,"src":"7981:1:145","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":23273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7981:8:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23270,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22726,"src":"7964:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$22726_$","typeString":"type(library Strings)"}},"id":23271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":22609,"src":"7964:16:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":23274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7964:26:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23275,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23261,"src":"7992:1:145","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":23267,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7913:3:145","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7913:16:145","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":23276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7913:81:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23266,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7903:9:145","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7903:92:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23265,"id":23278,"nodeType":"Return","src":"7896:99:145"}]},"documentation":{"id":23259,"nodeType":"StructuredDocumentation","src":"7527:274:145","text":" @dev Returns an Ethereum Signed Message, created from `s`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":23280,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7815:22:145","nodeType":"FunctionDefinition","parameters":{"id":23262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23261,"mutability":"mutable","name":"s","nameLocation":"7851:1:145","nodeType":"VariableDeclaration","scope":23280,"src":"7838:14:145","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23260,"name":"bytes","nodeType":"ElementaryTypeName","src":"7838:5:145","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7837:16:145"},"returnParameters":{"id":23265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23264,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23280,"src":"7877:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7877:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7876:9:145"},"scope":23301,"src":"7806:196:145","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23299,"nodeType":"Block","src":"8443:92:145","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1901","id":23293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8487:10:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"id":23294,"name":"domainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23283,"src":"8499:15:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23295,"name":"structHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23285,"src":"8516:10:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":23291,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8470:3:145","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"8470:16:145","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":23296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8470:57:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23290,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8460:9:145","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8460:68:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23289,"id":23298,"nodeType":"Return","src":"8453:75:145"}]},"documentation":{"id":23281,"nodeType":"StructuredDocumentation","src":"8008:328:145","text":" @dev Returns an Ethereum Signed Typed Data, created from a\n `domainSeparator` and a `structHash`. This produces hash corresponding\n to the one signed with the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n JSON-RPC method as part of EIP-712.\n See {recover}."},"id":23300,"implemented":true,"kind":"function","modifiers":[],"name":"toTypedDataHash","nameLocation":"8350:15:145","nodeType":"FunctionDefinition","parameters":{"id":23286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23283,"mutability":"mutable","name":"domainSeparator","nameLocation":"8374:15:145","nodeType":"VariableDeclaration","scope":23300,"src":"8366:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8366:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23285,"mutability":"mutable","name":"structHash","nameLocation":"8399:10:145","nodeType":"VariableDeclaration","scope":23300,"src":"8391:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8391:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8365:45:145"},"returnParameters":{"id":23289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23288,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23300,"src":"8434:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8434:7:145","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8433:9:145"},"scope":23301,"src":"8341:194:145","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":23302,"src":"369:8168:145","usedErrors":[]}],"src":"112:8426:145"},"id":145},"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","exportedSymbols":{"ECDSA":[23301],"EIP712":[23455],"Math":[25662],"Strings":[22726]},"id":23456,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":23303,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"113:23:146"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"./ECDSA.sol","id":23304,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23456,"sourceUnit":23302,"src":"138:21:146","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"EIP712","contractDependencies":[],"contractKind":"contract","documentation":{"id":23305,"nodeType":"StructuredDocumentation","src":"161:1142:146","text":" @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.\n The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,\n thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding\n they need in their contracts using a combination of `abi.encode` and `keccak256`.\n This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n ({_hashTypedDataV4}).\n The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n the chain id to protect against replay attacks on an eventual fork of the chain.\n NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n _Available since v3.4._"},"fullyImplemented":true,"id":23455,"linearizedBaseContracts":[23455],"name":"EIP712","nameLocation":"1322:6:146","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":23307,"mutability":"immutable","name":"_CACHED_DOMAIN_SEPARATOR","nameLocation":"1598:24:146","nodeType":"VariableDeclaration","scope":23455,"src":"1572:50:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1572:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":23309,"mutability":"immutable","name":"_CACHED_CHAIN_ID","nameLocation":"1654:16:146","nodeType":"VariableDeclaration","scope":23455,"src":"1628:42:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23308,"name":"uint256","nodeType":"ElementaryTypeName","src":"1628:7:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":23311,"mutability":"immutable","name":"_CACHED_THIS","nameLocation":"1702:12:146","nodeType":"VariableDeclaration","scope":23455,"src":"1676:38:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23310,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:146","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"id":23313,"mutability":"immutable","name":"_HASHED_NAME","nameLocation":"1747:12:146","nodeType":"VariableDeclaration","scope":23455,"src":"1721:38:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":23315,"mutability":"immutable","name":"_HASHED_VERSION","nameLocation":"1791:15:146","nodeType":"VariableDeclaration","scope":23455,"src":"1765:41:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1765:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":23317,"mutability":"immutable","name":"_TYPE_HASH","nameLocation":"1838:10:146","nodeType":"VariableDeclaration","scope":23455,"src":"1812:36:146","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1812:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"body":{"id":23381,"nodeType":"Block","src":"2519:547:146","statements":[{"assignments":[23326],"declarations":[{"constant":false,"id":23326,"mutability":"mutable","name":"hashedName","nameLocation":"2537:10:146","nodeType":"VariableDeclaration","scope":23381,"src":"2529:18:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2529:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23333,"initialValue":{"arguments":[{"arguments":[{"id":23330,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23320,"src":"2566:4:146","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2560:5:146","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":23328,"name":"bytes","nodeType":"ElementaryTypeName","src":"2560:5:146","typeDescriptions":{}}},"id":23331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2560:11:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23327,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2550:9:146","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2550:22:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2529:43:146"},{"assignments":[23335],"declarations":[{"constant":false,"id":23335,"mutability":"mutable","name":"hashedVersion","nameLocation":"2590:13:146","nodeType":"VariableDeclaration","scope":23381,"src":"2582:21:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2582:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23342,"initialValue":{"arguments":[{"arguments":[{"id":23339,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23322,"src":"2622:7:146","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2616:5:146","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":23337,"name":"bytes","nodeType":"ElementaryTypeName","src":"2616:5:146","typeDescriptions":{}}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2616:14:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23336,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2606:9:146","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2606:25:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2582:49:146"},{"assignments":[23344],"declarations":[{"constant":false,"id":23344,"mutability":"mutable","name":"typeHash","nameLocation":"2649:8:146","nodeType":"VariableDeclaration","scope":23381,"src":"2641:16:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2641:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23348,"initialValue":{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":23346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2683:84:146","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":23345,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2660:9:146","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2660:117:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2641:136:146"},{"expression":{"id":23351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23349,"name":"_HASHED_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23313,"src":"2787:12:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23350,"name":"hashedName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23326,"src":"2802:10:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2787:25:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23352,"nodeType":"ExpressionStatement","src":"2787:25:146"},{"expression":{"id":23355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23353,"name":"_HASHED_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23315,"src":"2822:15:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23354,"name":"hashedVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23335,"src":"2840:13:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2822:31:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23356,"nodeType":"ExpressionStatement","src":"2822:31:146"},{"expression":{"id":23360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23357,"name":"_CACHED_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23309,"src":"2863:16:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":23358,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2882:5:146","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":23359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"2882:13:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2863:32:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23361,"nodeType":"ExpressionStatement","src":"2863:32:146"},{"expression":{"id":23368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23362,"name":"_CACHED_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23307,"src":"2905:24:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23364,"name":"typeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23344,"src":"2954:8:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23365,"name":"hashedName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23326,"src":"2964:10:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23366,"name":"hashedVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23335,"src":"2976:13:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23363,"name":"_buildDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23438,"src":"2932:21:146","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) view returns (bytes32)"}},"id":23367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2932:58:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2905:85:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23369,"nodeType":"ExpressionStatement","src":"2905:85:146"},{"expression":{"id":23375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23370,"name":"_CACHED_THIS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23311,"src":"3000:12:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23373,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3023:4:146","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}],"id":23372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3015:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23371,"name":"address","nodeType":"ElementaryTypeName","src":"3015:7:146","typeDescriptions":{}}},"id":23374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3015:13:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3000:28:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":23376,"nodeType":"ExpressionStatement","src":"3000:28:146"},{"expression":{"id":23379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23377,"name":"_TYPE_HASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23317,"src":"3038:10:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23378,"name":"typeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23344,"src":"3051:8:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3038:21:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23380,"nodeType":"ExpressionStatement","src":"3038:21:146"}]},"documentation":{"id":23318,"nodeType":"StructuredDocumentation","src":"1900:559:146","text":" @dev Initializes the domain separator and parameter caches.\n The meaning of `name` and `version` is specified in\n https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]:\n - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n - `version`: the current major version of the signing domain.\n NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n contract upgrade]."},"id":23382,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":23323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23320,"mutability":"mutable","name":"name","nameLocation":"2490:4:146","nodeType":"VariableDeclaration","scope":23382,"src":"2476:18:146","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23319,"name":"string","nodeType":"ElementaryTypeName","src":"2476:6:146","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23322,"mutability":"mutable","name":"version","nameLocation":"2510:7:146","nodeType":"VariableDeclaration","scope":23382,"src":"2496:21:146","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23321,"name":"string","nodeType":"ElementaryTypeName","src":"2496:6:146","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2475:43:146"},"returnParameters":{"id":23324,"nodeType":"ParameterList","parameters":[],"src":"2519:0:146"},"scope":23455,"src":"2464:602:146","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":23410,"nodeType":"Block","src":"3214:246:146","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":23393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23390,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3236:4:146","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}],"id":23389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3228:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23388,"name":"address","nodeType":"ElementaryTypeName","src":"3228:7:146","typeDescriptions":{}}},"id":23391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3228:13:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23392,"name":"_CACHED_THIS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23311,"src":"3245:12:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3228:29:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23394,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3261:5:146","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":23395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"3261:13:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23396,"name":"_CACHED_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23309,"src":"3278:16:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3261:33:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3228:66:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":23408,"nodeType":"Block","src":"3358:96:146","statements":[{"expression":{"arguments":[{"id":23403,"name":"_TYPE_HASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23317,"src":"3401:10:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23404,"name":"_HASHED_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23313,"src":"3413:12:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23405,"name":"_HASHED_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23315,"src":"3427:15:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23402,"name":"_buildDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23438,"src":"3379:21:146","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) view returns (bytes32)"}},"id":23406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3379:64:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23387,"id":23407,"nodeType":"Return","src":"3372:71:146"}]},"id":23409,"nodeType":"IfStatement","src":"3224:230:146","trueBody":{"id":23401,"nodeType":"Block","src":"3296:56:146","statements":[{"expression":{"id":23399,"name":"_CACHED_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23307,"src":"3317:24:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23387,"id":23400,"nodeType":"Return","src":"3310:31:146"}]}}]},"documentation":{"id":23383,"nodeType":"StructuredDocumentation","src":"3072:75:146","text":" @dev Returns the domain separator for the current chain."},"id":23411,"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparatorV4","nameLocation":"3161:18:146","nodeType":"FunctionDefinition","parameters":{"id":23384,"nodeType":"ParameterList","parameters":[],"src":"3179:2:146"},"returnParameters":{"id":23387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23411,"src":"3205:7:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3205:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3204:9:146"},"scope":23455,"src":"3152:308:146","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":23437,"nodeType":"Block","src":"3615:108:146","statements":[{"expression":{"arguments":[{"arguments":[{"id":23425,"name":"typeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23413,"src":"3653:8:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23426,"name":"nameHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23415,"src":"3663:8:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23427,"name":"versionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23417,"src":"3673:11:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":23428,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3686:5:146","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":23429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"3686:13:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":23432,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3709:4:146","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$23455","typeString":"contract EIP712"}],"id":23431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3701:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":23430,"name":"address","nodeType":"ElementaryTypeName","src":"3701:7:146","typeDescriptions":{}}},"id":23433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3701:13:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23423,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3642:3:146","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3642:10:146","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":23434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3642:73:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23422,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3632:9:146","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":23435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3632:84:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23421,"id":23436,"nodeType":"Return","src":"3625:91:146"}]},"id":23438,"implemented":true,"kind":"function","modifiers":[],"name":"_buildDomainSeparator","nameLocation":"3475:21:146","nodeType":"FunctionDefinition","parameters":{"id":23418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23413,"mutability":"mutable","name":"typeHash","nameLocation":"3514:8:146","nodeType":"VariableDeclaration","scope":23438,"src":"3506:16:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3506:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23415,"mutability":"mutable","name":"nameHash","nameLocation":"3540:8:146","nodeType":"VariableDeclaration","scope":23438,"src":"3532:16:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3532:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23417,"mutability":"mutable","name":"versionHash","nameLocation":"3566:11:146","nodeType":"VariableDeclaration","scope":23438,"src":"3558:19:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3558:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3496:87:146"},"returnParameters":{"id":23421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23438,"src":"3606:7:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3606:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3605:9:146"},"scope":23455,"src":"3466:257:146","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":23453,"nodeType":"Block","src":"4434:79:146","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":23448,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23411,"src":"4473:18:146","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":23449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4473:20:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23450,"name":"structHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23441,"src":"4495:10:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":23446,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"4451:5:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":23447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toTypedDataHash","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"4451:21:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4451:55:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23445,"id":23452,"nodeType":"Return","src":"4444:62:146"}]},"documentation":{"id":23439,"nodeType":"StructuredDocumentation","src":"3729:614:146","text":" @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n function returns the hash of the fully encoded EIP712 message for this domain.\n This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n ```solidity\n bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n keccak256(\"Mail(address to,string contents)\"),\n mailTo,\n keccak256(bytes(mailContents))\n )));\n address signer = ECDSA.recover(digest, signature);\n ```"},"id":23454,"implemented":true,"kind":"function","modifiers":[],"name":"_hashTypedDataV4","nameLocation":"4357:16:146","nodeType":"FunctionDefinition","parameters":{"id":23442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23441,"mutability":"mutable","name":"structHash","nameLocation":"4382:10:146","nodeType":"VariableDeclaration","scope":23454,"src":"4374:18:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4374:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4373:20:146"},"returnParameters":{"id":23445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23454,"src":"4425:7:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4425:7:146","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4424:9:146"},"scope":23455,"src":"4348:165:146","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":23456,"src":"1304:3211:146","usedErrors":[]}],"src":"113:4403:146"},"id":146},"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol","exportedSymbols":{"MerkleProof":[23957]},"id":23958,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":23457,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"118:23:147"},{"abstract":false,"baseContracts":[],"canonicalName":"MerkleProof","contractDependencies":[],"contractKind":"library","documentation":{"id":23458,"nodeType":"StructuredDocumentation","src":"143:658:147","text":" @dev These functions deal with verification of Merkle Tree proofs.\n The tree and the proofs can be generated using our\n https://github.com/OpenZeppelin/merkle-tree[JavaScript library].\n You will find a quickstart guide in the readme.\n WARNING: You should avoid using leaf values that are 64 bytes long prior to\n hashing, or use a hash function other than keccak256 for hashing leaves.\n This is because the concatenation of a sorted pair of internal nodes in\n the merkle tree could be reinterpreted as a leaf value.\n OpenZeppelin's JavaScript library generates merkle trees that are safe\n against this attack out of the box."},"fullyImplemented":true,"id":23957,"linearizedBaseContracts":[23957],"name":"MerkleProof","nameLocation":"810:11:147","nodeType":"ContractDefinition","nodes":[{"body":{"id":23478,"nodeType":"Block","src":"1283:57:147","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23472,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23462,"src":"1313:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":23473,"name":"leaf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23466,"src":"1320:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23471,"name":"processProof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23540,"src":"1300:12:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32[] memory,bytes32) pure returns (bytes32)"}},"id":23474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1300:25:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23475,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23464,"src":"1329:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1300:33:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23470,"id":23477,"nodeType":"Return","src":"1293:40:147"}]},"documentation":{"id":23459,"nodeType":"StructuredDocumentation","src":"828:323:147","text":" @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted."},"id":23479,"implemented":true,"kind":"function","modifiers":[],"name":"verify","nameLocation":"1165:6:147","nodeType":"FunctionDefinition","parameters":{"id":23467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23462,"mutability":"mutable","name":"proof","nameLocation":"1198:5:147","nodeType":"VariableDeclaration","scope":23479,"src":"1181:22:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1181:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23461,"nodeType":"ArrayTypeName","src":"1181:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23464,"mutability":"mutable","name":"root","nameLocation":"1221:4:147","nodeType":"VariableDeclaration","scope":23479,"src":"1213:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1213:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23466,"mutability":"mutable","name":"leaf","nameLocation":"1243:4:147","nodeType":"VariableDeclaration","scope":23479,"src":"1235:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1235:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1171:82:147"},"returnParameters":{"id":23470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23479,"src":"1277:4:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23468,"name":"bool","nodeType":"ElementaryTypeName","src":"1277:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1276:6:147"},"scope":23957,"src":"1156:184:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23499,"nodeType":"Block","src":"1578:65:147","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23493,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23483,"src":"1616:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},{"id":23494,"name":"leaf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23487,"src":"1623:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23492,"name":"processProofCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23580,"src":"1595:20:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32[] calldata,bytes32) pure returns (bytes32)"}},"id":23495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1595:33:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23496,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23485,"src":"1632:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1595:41:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23491,"id":23498,"nodeType":"Return","src":"1588:48:147"}]},"documentation":{"id":23480,"nodeType":"StructuredDocumentation","src":"1346:90:147","text":" @dev Calldata version of {verify}\n _Available since v4.7._"},"id":23500,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCalldata","nameLocation":"1450:14:147","nodeType":"FunctionDefinition","parameters":{"id":23488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23483,"mutability":"mutable","name":"proof","nameLocation":"1493:5:147","nodeType":"VariableDeclaration","scope":23500,"src":"1474:24:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1474:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23482,"nodeType":"ArrayTypeName","src":"1474:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23485,"mutability":"mutable","name":"root","nameLocation":"1516:4:147","nodeType":"VariableDeclaration","scope":23500,"src":"1508:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1508:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23487,"mutability":"mutable","name":"leaf","nameLocation":"1538:4:147","nodeType":"VariableDeclaration","scope":23500,"src":"1530:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1530:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1464:84:147"},"returnParameters":{"id":23491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23490,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23500,"src":"1572:4:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23489,"name":"bool","nodeType":"ElementaryTypeName","src":"1572:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1571:6:147"},"scope":23957,"src":"1441:202:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23539,"nodeType":"Block","src":"2086:198:147","statements":[{"assignments":[23512],"declarations":[{"constant":false,"id":23512,"mutability":"mutable","name":"computedHash","nameLocation":"2104:12:147","nodeType":"VariableDeclaration","scope":23539,"src":"2096:20:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2096:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23514,"initialValue":{"id":23513,"name":"leaf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23506,"src":"2119:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2096:27:147"},{"body":{"id":23535,"nodeType":"Block","src":"2176:73:147","statements":[{"expression":{"id":23533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23526,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23512,"src":"2190:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23528,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23512,"src":"2215:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":23529,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23504,"src":"2229:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23531,"indexExpression":{"id":23530,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23516,"src":"2235:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2229:8:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23527,"name":"_hashPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"2205:9:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2205:33:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2190:48:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23534,"nodeType":"ExpressionStatement","src":"2190:48:147"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23519,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23516,"src":"2153:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":23520,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23504,"src":"2157:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2157:12:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2153:16:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23536,"initializationExpression":{"assignments":[23516],"declarations":[{"constant":false,"id":23516,"mutability":"mutable","name":"i","nameLocation":"2146:1:147","nodeType":"VariableDeclaration","scope":23536,"src":"2138:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23515,"name":"uint256","nodeType":"ElementaryTypeName","src":"2138:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23518,"initialValue":{"hexValue":"30","id":23517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2150:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2138:13:147"},"loopExpression":{"expression":{"id":23524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2171:3:147","subExpression":{"id":23523,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23516,"src":"2171:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23525,"nodeType":"ExpressionStatement","src":"2171:3:147"},"nodeType":"ForStatement","src":"2133:116:147"},{"expression":{"id":23537,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23512,"src":"2265:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23510,"id":23538,"nodeType":"Return","src":"2258:19:147"}]},"documentation":{"id":23501,"nodeType":"StructuredDocumentation","src":"1649:340:147","text":" @dev Returns the rebuilt hash obtained by traversing a Merkle tree up\n from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt\n hash matches the root of the tree. When processing the proof, the pairs\n of leafs & pre-images are assumed to be sorted.\n _Available since v4.4._"},"id":23540,"implemented":true,"kind":"function","modifiers":[],"name":"processProof","nameLocation":"2003:12:147","nodeType":"FunctionDefinition","parameters":{"id":23507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23504,"mutability":"mutable","name":"proof","nameLocation":"2033:5:147","nodeType":"VariableDeclaration","scope":23540,"src":"2016:22:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2016:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23503,"nodeType":"ArrayTypeName","src":"2016:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23506,"mutability":"mutable","name":"leaf","nameLocation":"2048:4:147","nodeType":"VariableDeclaration","scope":23540,"src":"2040:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2040:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2015:38:147"},"returnParameters":{"id":23510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23540,"src":"2077:7:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2077:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2076:9:147"},"scope":23957,"src":"1994:290:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23579,"nodeType":"Block","src":"2493:198:147","statements":[{"assignments":[23552],"declarations":[{"constant":false,"id":23552,"mutability":"mutable","name":"computedHash","nameLocation":"2511:12:147","nodeType":"VariableDeclaration","scope":23579,"src":"2503:20:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2503:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23554,"initialValue":{"id":23553,"name":"leaf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23546,"src":"2526:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2503:27:147"},{"body":{"id":23575,"nodeType":"Block","src":"2583:73:147","statements":[{"expression":{"id":23573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23566,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23552,"src":"2597:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23568,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23552,"src":"2622:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":23569,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"2636:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},"id":23571,"indexExpression":{"id":23570,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23556,"src":"2642:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2636:8:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23567,"name":"_hashPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"2612:9:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2612:33:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2597:48:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23574,"nodeType":"ExpressionStatement","src":"2597:48:147"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23556,"src":"2560:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":23560,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"2564:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},"id":23561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2564:12:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2560:16:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23576,"initializationExpression":{"assignments":[23556],"declarations":[{"constant":false,"id":23556,"mutability":"mutable","name":"i","nameLocation":"2553:1:147","nodeType":"VariableDeclaration","scope":23576,"src":"2545:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23555,"name":"uint256","nodeType":"ElementaryTypeName","src":"2545:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23558,"initialValue":{"hexValue":"30","id":23557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2557:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2545:13:147"},"loopExpression":{"expression":{"id":23564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2578:3:147","subExpression":{"id":23563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23556,"src":"2578:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23565,"nodeType":"ExpressionStatement","src":"2578:3:147"},"nodeType":"ForStatement","src":"2540:116:147"},{"expression":{"id":23577,"name":"computedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23552,"src":"2672:12:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23550,"id":23578,"nodeType":"Return","src":"2665:19:147"}]},"documentation":{"id":23541,"nodeType":"StructuredDocumentation","src":"2290:96:147","text":" @dev Calldata version of {processProof}\n _Available since v4.7._"},"id":23580,"implemented":true,"kind":"function","modifiers":[],"name":"processProofCalldata","nameLocation":"2400:20:147","nodeType":"FunctionDefinition","parameters":{"id":23547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23544,"mutability":"mutable","name":"proof","nameLocation":"2440:5:147","nodeType":"VariableDeclaration","scope":23580,"src":"2421:24:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2421:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23543,"nodeType":"ArrayTypeName","src":"2421:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23546,"mutability":"mutable","name":"leaf","nameLocation":"2455:4:147","nodeType":"VariableDeclaration","scope":23580,"src":"2447:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2447:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2420:40:147"},"returnParameters":{"id":23550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23580,"src":"2484:7:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2484:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2483:9:147"},"scope":23957,"src":"2391:300:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23605,"nodeType":"Block","src":"3234:76:147","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23598,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23584,"src":"3269:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":23599,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23587,"src":"3276:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":23600,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23592,"src":"3288:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":23597,"name":"processMultiProof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23777,"src":"3251:17:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32[] memory,bool[] memory,bytes32[] memory) pure returns (bytes32)"}},"id":23601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3251:44:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23602,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23589,"src":"3299:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3251:52:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23596,"id":23604,"nodeType":"Return","src":"3244:59:147"}]},"documentation":{"id":23581,"nodeType":"StructuredDocumentation","src":"2697:350:147","text":" @dev Returns true if the `leaves` can be simultaneously proven to be a part of a merkle tree defined by\n `root`, according to `proof` and `proofFlags` as described in {processMultiProof}.\n CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n _Available since v4.7._"},"id":23606,"implemented":true,"kind":"function","modifiers":[],"name":"multiProofVerify","nameLocation":"3061:16:147","nodeType":"FunctionDefinition","parameters":{"id":23593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23584,"mutability":"mutable","name":"proof","nameLocation":"3104:5:147","nodeType":"VariableDeclaration","scope":23606,"src":"3087:22:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3087:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23583,"nodeType":"ArrayTypeName","src":"3087:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23587,"mutability":"mutable","name":"proofFlags","nameLocation":"3133:10:147","nodeType":"VariableDeclaration","scope":23606,"src":"3119:24:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":23585,"name":"bool","nodeType":"ElementaryTypeName","src":"3119:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23586,"nodeType":"ArrayTypeName","src":"3119:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":23589,"mutability":"mutable","name":"root","nameLocation":"3161:4:147","nodeType":"VariableDeclaration","scope":23606,"src":"3153:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3153:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23592,"mutability":"mutable","name":"leaves","nameLocation":"3192:6:147","nodeType":"VariableDeclaration","scope":23606,"src":"3175:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3175:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23591,"nodeType":"ArrayTypeName","src":"3175:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3077:127:147"},"returnParameters":{"id":23596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23595,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23606,"src":"3228:4:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23594,"name":"bool","nodeType":"ElementaryTypeName","src":"3228:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3227:6:147"},"scope":23957,"src":"3052:258:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23631,"nodeType":"Block","src":"3715:84:147","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23624,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23610,"src":"3758:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},{"id":23625,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23613,"src":"3765:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[] calldata"}},{"id":23626,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23618,"src":"3777:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"},{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[] calldata"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":23623,"name":"processMultiProofCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23922,"src":"3732:25:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_bool_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32[] calldata,bool[] calldata,bytes32[] memory) pure returns (bytes32)"}},"id":23627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3732:52:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23628,"name":"root","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23615,"src":"3788:4:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3732:60:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23622,"id":23630,"nodeType":"Return","src":"3725:67:147"}]},"documentation":{"id":23607,"nodeType":"StructuredDocumentation","src":"3316:200:147","text":" @dev Calldata version of {multiProofVerify}\n CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n _Available since v4.7._"},"id":23632,"implemented":true,"kind":"function","modifiers":[],"name":"multiProofVerifyCalldata","nameLocation":"3530:24:147","nodeType":"FunctionDefinition","parameters":{"id":23619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23610,"mutability":"mutable","name":"proof","nameLocation":"3583:5:147","nodeType":"VariableDeclaration","scope":23632,"src":"3564:24:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3564:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23609,"nodeType":"ArrayTypeName","src":"3564:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23613,"mutability":"mutable","name":"proofFlags","nameLocation":"3614:10:147","nodeType":"VariableDeclaration","scope":23632,"src":"3598:26:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":23611,"name":"bool","nodeType":"ElementaryTypeName","src":"3598:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23612,"nodeType":"ArrayTypeName","src":"3598:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":23615,"mutability":"mutable","name":"root","nameLocation":"3642:4:147","nodeType":"VariableDeclaration","scope":23632,"src":"3634:12:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3634:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23618,"mutability":"mutable","name":"leaves","nameLocation":"3673:6:147","nodeType":"VariableDeclaration","scope":23632,"src":"3656:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3656:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23617,"nodeType":"ArrayTypeName","src":"3656:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3554:131:147"},"returnParameters":{"id":23622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23632,"src":"3709:4:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23620,"name":"bool","nodeType":"ElementaryTypeName","src":"3709:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3708:6:147"},"scope":23957,"src":"3521:278:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23776,"nodeType":"Block","src":"4753:1860:147","statements":[{"assignments":[23648],"declarations":[{"constant":false,"id":23648,"mutability":"mutable","name":"leavesLen","nameLocation":"5144:9:147","nodeType":"VariableDeclaration","scope":23776,"src":"5136:17:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23647,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23651,"initialValue":{"expression":{"id":23649,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23642,"src":"5156:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5156:13:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5136:33:147"},{"assignments":[23653],"declarations":[{"constant":false,"id":23653,"mutability":"mutable","name":"totalHashes","nameLocation":"5187:11:147","nodeType":"VariableDeclaration","scope":23776,"src":"5179:19:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23652,"name":"uint256","nodeType":"ElementaryTypeName","src":"5179:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23656,"initialValue":{"expression":{"id":23654,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23639,"src":"5201:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":23655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5201:17:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5179:39:147"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23658,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"5270:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":23659,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23636,"src":"5282:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5282:12:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5270:24:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5297:1:147","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5270:28:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23664,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"5302:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5270:43:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d65726b6c6550726f6f663a20696e76616c6964206d756c746970726f6f66","id":23666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5315:33:147","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ffedb6c6cbea997e7c1340fc6ef8db6298ec2fb1f2ffb34b77ce45e725b2049","typeString":"literal_string \"MerkleProof: invalid multiproof\""},"value":"MerkleProof: invalid multiproof"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1ffedb6c6cbea997e7c1340fc6ef8db6298ec2fb1f2ffb34b77ce45e725b2049","typeString":"literal_string \"MerkleProof: invalid multiproof\""}],"id":23657,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5262:7:147","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":23667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5262:87:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23668,"nodeType":"ExpressionStatement","src":"5262:87:147"},{"assignments":[23673],"declarations":[{"constant":false,"id":23673,"mutability":"mutable","name":"hashes","nameLocation":"5611:6:147","nodeType":"VariableDeclaration","scope":23776,"src":"5594:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5594:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23672,"nodeType":"ArrayTypeName","src":"5594:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":23679,"initialValue":{"arguments":[{"id":23677,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"5634:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5620:13:147","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":23674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5624:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23675,"nodeType":"ArrayTypeName","src":"5624:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":23678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5620:26:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5594:52:147"},{"assignments":[23681],"declarations":[{"constant":false,"id":23681,"mutability":"mutable","name":"leafPos","nameLocation":"5664:7:147","nodeType":"VariableDeclaration","scope":23776,"src":"5656:15:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23680,"name":"uint256","nodeType":"ElementaryTypeName","src":"5656:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23683,"initialValue":{"hexValue":"30","id":23682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5674:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5656:19:147"},{"assignments":[23685],"declarations":[{"constant":false,"id":23685,"mutability":"mutable","name":"hashPos","nameLocation":"5693:7:147","nodeType":"VariableDeclaration","scope":23776,"src":"5685:15:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23684,"name":"uint256","nodeType":"ElementaryTypeName","src":"5685:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23687,"initialValue":{"hexValue":"30","id":23686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5703:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5685:19:147"},{"assignments":[23689],"declarations":[{"constant":false,"id":23689,"mutability":"mutable","name":"proofPos","nameLocation":"5722:8:147","nodeType":"VariableDeclaration","scope":23776,"src":"5714:16:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23688,"name":"uint256","nodeType":"ElementaryTypeName","src":"5714:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23691,"initialValue":{"hexValue":"30","id":23690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5733:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5714:20:147"},{"body":{"id":23749,"nodeType":"Block","src":"6151:258:147","statements":[{"assignments":[23703],"declarations":[{"constant":false,"id":23703,"mutability":"mutable","name":"a","nameLocation":"6173:1:147","nodeType":"VariableDeclaration","scope":23749,"src":"6165:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6165:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23716,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23704,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23681,"src":"6177:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23705,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"6187:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6177:19:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23711,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"6219:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23714,"indexExpression":{"id":23713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6226:9:147","subExpression":{"id":23712,"name":"hashPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23685,"src":"6226:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6219:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6177:59:147","trueExpression":{"baseExpression":{"id":23707,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23642,"src":"6199:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23710,"indexExpression":{"id":23709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6206:9:147","subExpression":{"id":23708,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23681,"src":"6206:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6199:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6165:71:147"},{"assignments":[23718],"declarations":[{"constant":false,"id":23718,"mutability":"mutable","name":"b","nameLocation":"6258:1:147","nodeType":"VariableDeclaration","scope":23749,"src":"6250:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6250:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23739,"initialValue":{"condition":{"baseExpression":{"id":23719,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23639,"src":"6262:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":23721,"indexExpression":{"id":23720,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"6273:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6262:13:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23734,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23636,"src":"6340:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23737,"indexExpression":{"id":23736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6346:10:147","subExpression":{"id":23735,"name":"proofPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23689,"src":"6346:8:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6340:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6262:95:147","trueExpression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23722,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23681,"src":"6278:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23723,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"6288:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6278:19:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23729,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"6320:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23732,"indexExpression":{"id":23731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6327:9:147","subExpression":{"id":23730,"name":"hashPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23685,"src":"6327:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6320:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6278:59:147","trueExpression":{"baseExpression":{"id":23725,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23642,"src":"6300:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23728,"indexExpression":{"id":23727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6307:9:147","subExpression":{"id":23726,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23681,"src":"6307:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6300:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6250:107:147"},{"expression":{"id":23747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":23740,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"6371:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23742,"indexExpression":{"id":23741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"6378:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6371:9:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23744,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23703,"src":"6393:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23745,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23718,"src":"6396:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23743,"name":"_hashPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"6383:9:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6383:15:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6371:27:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23748,"nodeType":"ExpressionStatement","src":"6371:27:147"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"6129:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23697,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"6133:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6129:15:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23750,"initializationExpression":{"assignments":[23693],"declarations":[{"constant":false,"id":23693,"mutability":"mutable","name":"i","nameLocation":"6122:1:147","nodeType":"VariableDeclaration","scope":23750,"src":"6114:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23692,"name":"uint256","nodeType":"ElementaryTypeName","src":"6114:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23695,"initialValue":{"hexValue":"30","id":23694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6126:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6114:13:147"},"loopExpression":{"expression":{"id":23700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6146:3:147","subExpression":{"id":23699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"6146:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23701,"nodeType":"ExpressionStatement","src":"6146:3:147"},"nodeType":"ForStatement","src":"6109:300:147"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23751,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"6423:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":23752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6437:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6423:15:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23761,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"6505:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":23762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6517:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6505:13:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":23773,"nodeType":"Block","src":"6567:40:147","statements":[{"expression":{"baseExpression":{"id":23769,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23636,"src":"6588:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23771,"indexExpression":{"hexValue":"30","id":23770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6594:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6588:8:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23646,"id":23772,"nodeType":"Return","src":"6581:15:147"}]},"id":23774,"nodeType":"IfStatement","src":"6501:106:147","trueBody":{"id":23768,"nodeType":"Block","src":"6520:41:147","statements":[{"expression":{"baseExpression":{"id":23764,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23642,"src":"6541:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23766,"indexExpression":{"hexValue":"30","id":23765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6548:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6541:9:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23646,"id":23767,"nodeType":"Return","src":"6534:16:147"}]}},"id":23775,"nodeType":"IfStatement","src":"6419:188:147","trueBody":{"id":23760,"nodeType":"Block","src":"6440:55:147","statements":[{"expression":{"baseExpression":{"id":23754,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"6461:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23758,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23755,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"6468:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6482:1:147","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6468:15:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6461:23:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23646,"id":23759,"nodeType":"Return","src":"6454:30:147"}]}}]},"documentation":{"id":23633,"nodeType":"StructuredDocumentation","src":"3805:768:147","text":" @dev Returns the root of a tree reconstructed from `leaves` and sibling nodes in `proof`. The reconstruction\n proceeds by incrementally reconstructing all inner nodes by combining a leaf/inner node with either another\n leaf/inner node or a proof sibling node, depending on whether each `proofFlags` item is true or false\n respectively.\n CAUTION: Not all merkle trees admit multiproofs. To use multiproofs, it is sufficient to ensure that: 1) the tree\n is complete (but not necessarily perfect), 2) the leaves to be proven are in the opposite order they are in the\n tree (i.e., as seen from right to left starting at the deepest layer and continuing at the next layer).\n _Available since v4.7._"},"id":23777,"implemented":true,"kind":"function","modifiers":[],"name":"processMultiProof","nameLocation":"4587:17:147","nodeType":"FunctionDefinition","parameters":{"id":23643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23636,"mutability":"mutable","name":"proof","nameLocation":"4631:5:147","nodeType":"VariableDeclaration","scope":23777,"src":"4614:22:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4614:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23635,"nodeType":"ArrayTypeName","src":"4614:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23639,"mutability":"mutable","name":"proofFlags","nameLocation":"4660:10:147","nodeType":"VariableDeclaration","scope":23777,"src":"4646:24:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":23637,"name":"bool","nodeType":"ElementaryTypeName","src":"4646:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23638,"nodeType":"ArrayTypeName","src":"4646:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":23642,"mutability":"mutable","name":"leaves","nameLocation":"4697:6:147","nodeType":"VariableDeclaration","scope":23777,"src":"4680:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4680:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23641,"nodeType":"ArrayTypeName","src":"4680:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4604:105:147"},"returnParameters":{"id":23646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23645,"mutability":"mutable","name":"merkleRoot","nameLocation":"4741:10:147","nodeType":"VariableDeclaration","scope":23777,"src":"4733:18:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4733:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4732:20:147"},"scope":23957,"src":"4578:2035:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23921,"nodeType":"Block","src":"7013:1860:147","statements":[{"assignments":[23793],"declarations":[{"constant":false,"id":23793,"mutability":"mutable","name":"leavesLen","nameLocation":"7404:9:147","nodeType":"VariableDeclaration","scope":23921,"src":"7396:17:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23792,"name":"uint256","nodeType":"ElementaryTypeName","src":"7396:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23796,"initialValue":{"expression":{"id":23794,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23787,"src":"7416:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7416:13:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7396:33:147"},{"assignments":[23798],"declarations":[{"constant":false,"id":23798,"mutability":"mutable","name":"totalHashes","nameLocation":"7447:11:147","nodeType":"VariableDeclaration","scope":23921,"src":"7439:19:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23797,"name":"uint256","nodeType":"ElementaryTypeName","src":"7439:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23801,"initialValue":{"expression":{"id":23799,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23784,"src":"7461:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[] calldata"}},"id":23800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7461:17:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7439:39:147"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23803,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23793,"src":"7530:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":23804,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23781,"src":"7542:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},"id":23805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7542:12:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7530:24:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7557:1:147","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7530:28:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23809,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23798,"src":"7562:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7530:43:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d65726b6c6550726f6f663a20696e76616c6964206d756c746970726f6f66","id":23811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7575:33:147","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ffedb6c6cbea997e7c1340fc6ef8db6298ec2fb1f2ffb34b77ce45e725b2049","typeString":"literal_string \"MerkleProof: invalid multiproof\""},"value":"MerkleProof: invalid multiproof"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1ffedb6c6cbea997e7c1340fc6ef8db6298ec2fb1f2ffb34b77ce45e725b2049","typeString":"literal_string \"MerkleProof: invalid multiproof\""}],"id":23802,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7522:7:147","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":23812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7522:87:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23813,"nodeType":"ExpressionStatement","src":"7522:87:147"},{"assignments":[23818],"declarations":[{"constant":false,"id":23818,"mutability":"mutable","name":"hashes","nameLocation":"7871:6:147","nodeType":"VariableDeclaration","scope":23921,"src":"7854:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7854:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23817,"nodeType":"ArrayTypeName","src":"7854:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":23824,"initialValue":{"arguments":[{"id":23822,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23798,"src":"7894:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7880:13:147","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":23819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7884:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23820,"nodeType":"ArrayTypeName","src":"7884:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":23823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7880:26:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7854:52:147"},{"assignments":[23826],"declarations":[{"constant":false,"id":23826,"mutability":"mutable","name":"leafPos","nameLocation":"7924:7:147","nodeType":"VariableDeclaration","scope":23921,"src":"7916:15:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23825,"name":"uint256","nodeType":"ElementaryTypeName","src":"7916:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23828,"initialValue":{"hexValue":"30","id":23827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7934:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7916:19:147"},{"assignments":[23830],"declarations":[{"constant":false,"id":23830,"mutability":"mutable","name":"hashPos","nameLocation":"7953:7:147","nodeType":"VariableDeclaration","scope":23921,"src":"7945:15:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23829,"name":"uint256","nodeType":"ElementaryTypeName","src":"7945:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23832,"initialValue":{"hexValue":"30","id":23831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7963:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7945:19:147"},{"assignments":[23834],"declarations":[{"constant":false,"id":23834,"mutability":"mutable","name":"proofPos","nameLocation":"7982:8:147","nodeType":"VariableDeclaration","scope":23921,"src":"7974:16:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23833,"name":"uint256","nodeType":"ElementaryTypeName","src":"7974:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23836,"initialValue":{"hexValue":"30","id":23835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7993:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7974:20:147"},{"body":{"id":23894,"nodeType":"Block","src":"8411:258:147","statements":[{"assignments":[23848],"declarations":[{"constant":false,"id":23848,"mutability":"mutable","name":"a","nameLocation":"8433:1:147","nodeType":"VariableDeclaration","scope":23894,"src":"8425:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8425:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23861,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23849,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23826,"src":"8437:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23850,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23793,"src":"8447:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8437:19:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23856,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23818,"src":"8479:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23859,"indexExpression":{"id":23858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8486:9:147","subExpression":{"id":23857,"name":"hashPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23830,"src":"8486:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8479:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8437:59:147","trueExpression":{"baseExpression":{"id":23852,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23787,"src":"8459:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23855,"indexExpression":{"id":23854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8466:9:147","subExpression":{"id":23853,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23826,"src":"8466:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8459:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8425:71:147"},{"assignments":[23863],"declarations":[{"constant":false,"id":23863,"mutability":"mutable","name":"b","nameLocation":"8518:1:147","nodeType":"VariableDeclaration","scope":23894,"src":"8510:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8510:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23884,"initialValue":{"condition":{"baseExpression":{"id":23864,"name":"proofFlags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23784,"src":"8522:10:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[] calldata"}},"id":23866,"indexExpression":{"id":23865,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23838,"src":"8533:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8522:13:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23879,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23781,"src":"8600:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},"id":23882,"indexExpression":{"id":23881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8606:10:147","subExpression":{"id":23880,"name":"proofPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23834,"src":"8606:8:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8600:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8522:95:147","trueExpression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23867,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23826,"src":"8538:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23868,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23793,"src":"8548:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8538:19:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":23874,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23818,"src":"8580:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23877,"indexExpression":{"id":23876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8587:9:147","subExpression":{"id":23875,"name":"hashPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23830,"src":"8587:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8580:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8538:59:147","trueExpression":{"baseExpression":{"id":23870,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23787,"src":"8560:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23873,"indexExpression":{"id":23872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8567:9:147","subExpression":{"id":23871,"name":"leafPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23826,"src":"8567:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8560:17:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8510:107:147"},{"expression":{"id":23892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":23885,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23818,"src":"8631:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23887,"indexExpression":{"id":23886,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23838,"src":"8638:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8631:9:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23889,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23848,"src":"8653:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23890,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23863,"src":"8656:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23888,"name":"_hashPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"8643:9:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8643:15:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8631:27:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23893,"nodeType":"ExpressionStatement","src":"8631:27:147"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23841,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23838,"src":"8389:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23842,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23798,"src":"8393:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8389:15:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23895,"initializationExpression":{"assignments":[23838],"declarations":[{"constant":false,"id":23838,"mutability":"mutable","name":"i","nameLocation":"8382:1:147","nodeType":"VariableDeclaration","scope":23895,"src":"8374:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23837,"name":"uint256","nodeType":"ElementaryTypeName","src":"8374:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23840,"initialValue":{"hexValue":"30","id":23839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8386:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8374:13:147"},"loopExpression":{"expression":{"id":23845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8406:3:147","subExpression":{"id":23844,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23838,"src":"8406:1:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23846,"nodeType":"ExpressionStatement","src":"8406:3:147"},"nodeType":"ForStatement","src":"8369:300:147"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23896,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23798,"src":"8683:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":23897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8697:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8683:15:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23906,"name":"leavesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23793,"src":"8765:9:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":23907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8777:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8765:13:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":23918,"nodeType":"Block","src":"8827:40:147","statements":[{"expression":{"baseExpression":{"id":23914,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23781,"src":"8848:5:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[] calldata"}},"id":23916,"indexExpression":{"hexValue":"30","id":23915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8854:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8848:8:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23791,"id":23917,"nodeType":"Return","src":"8841:15:147"}]},"id":23919,"nodeType":"IfStatement","src":"8761:106:147","trueBody":{"id":23913,"nodeType":"Block","src":"8780:41:147","statements":[{"expression":{"baseExpression":{"id":23909,"name":"leaves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23787,"src":"8801:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23911,"indexExpression":{"hexValue":"30","id":23910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8808:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8801:9:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23791,"id":23912,"nodeType":"Return","src":"8794:16:147"}]}},"id":23920,"nodeType":"IfStatement","src":"8679:188:147","trueBody":{"id":23905,"nodeType":"Block","src":"8700:55:147","statements":[{"expression":{"baseExpression":{"id":23899,"name":"hashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23818,"src":"8721:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":23903,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23900,"name":"totalHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23798,"src":"8728:11:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8742:1:147","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8728:15:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8721:23:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23791,"id":23904,"nodeType":"Return","src":"8714:30:147"}]}}]},"documentation":{"id":23778,"nodeType":"StructuredDocumentation","src":"6619:202:147","text":" @dev Calldata version of {processMultiProof}.\n CAUTION: Not all merkle trees admit multiproofs. See {processMultiProof} for details.\n _Available since v4.7._"},"id":23922,"implemented":true,"kind":"function","modifiers":[],"name":"processMultiProofCalldata","nameLocation":"6835:25:147","nodeType":"FunctionDefinition","parameters":{"id":23788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23781,"mutability":"mutable","name":"proof","nameLocation":"6889:5:147","nodeType":"VariableDeclaration","scope":23922,"src":"6870:24:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6870:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23780,"nodeType":"ArrayTypeName","src":"6870:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":23784,"mutability":"mutable","name":"proofFlags","nameLocation":"6920:10:147","nodeType":"VariableDeclaration","scope":23922,"src":"6904:26:147","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":23782,"name":"bool","nodeType":"ElementaryTypeName","src":"6904:4:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23783,"nodeType":"ArrayTypeName","src":"6904:6:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":23787,"mutability":"mutable","name":"leaves","nameLocation":"6957:6:147","nodeType":"VariableDeclaration","scope":23922,"src":"6940:23:147","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":23785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6940:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23786,"nodeType":"ArrayTypeName","src":"6940:9:147","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6860:109:147"},"returnParameters":{"id":23791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23790,"mutability":"mutable","name":"merkleRoot","nameLocation":"7001:10:147","nodeType":"VariableDeclaration","scope":23922,"src":"6993:18:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6993:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6992:20:147"},"scope":23957,"src":"6826:2047:147","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23944,"nodeType":"Block","src":"8951:75:147","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":23933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23931,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23924,"src":"8968:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23932,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23926,"src":"8972:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8968:5:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":23939,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23926,"src":"9014:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23940,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23924,"src":"9017:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23938,"name":"_efficientHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23956,"src":"8999:14:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8999:20:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8968:51:147","trueExpression":{"arguments":[{"id":23935,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23924,"src":"8991:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23936,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23926,"src":"8994:1:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23934,"name":"_efficientHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23956,"src":"8976:14:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":23937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8976:20:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":23930,"id":23943,"nodeType":"Return","src":"8961:58:147"}]},"id":23945,"implemented":true,"kind":"function","modifiers":[],"name":"_hashPair","nameLocation":"8888:9:147","nodeType":"FunctionDefinition","parameters":{"id":23927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23924,"mutability":"mutable","name":"a","nameLocation":"8906:1:147","nodeType":"VariableDeclaration","scope":23945,"src":"8898:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8898:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23926,"mutability":"mutable","name":"b","nameLocation":"8917:1:147","nodeType":"VariableDeclaration","scope":23945,"src":"8909:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8909:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8897:22:147"},"returnParameters":{"id":23930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23945,"src":"8942:7:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8942:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8941:9:147"},"scope":23957,"src":"8879:147:147","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":23955,"nodeType":"Block","src":"9115:178:147","statements":[{"AST":{"nodeType":"YulBlock","src":"9177:110:147","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9198:4:147","type":"","value":"0x00"},{"name":"a","nodeType":"YulIdentifier","src":"9204:1:147"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9191:6:147"},"nodeType":"YulFunctionCall","src":"9191:15:147"},"nodeType":"YulExpressionStatement","src":"9191:15:147"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9226:4:147","type":"","value":"0x20"},{"name":"b","nodeType":"YulIdentifier","src":"9232:1:147"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9219:6:147"},"nodeType":"YulFunctionCall","src":"9219:15:147"},"nodeType":"YulExpressionStatement","src":"9219:15:147"},{"nodeType":"YulAssignment","src":"9247:30:147","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9266:4:147","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"9272:4:147","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9256:9:147"},"nodeType":"YulFunctionCall","src":"9256:21:147"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9247:5:147"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":23947,"isOffset":false,"isSlot":false,"src":"9204:1:147","valueSize":1},{"declaration":23949,"isOffset":false,"isSlot":false,"src":"9232:1:147","valueSize":1},{"declaration":23952,"isOffset":false,"isSlot":false,"src":"9247:5:147","valueSize":1}],"id":23954,"nodeType":"InlineAssembly","src":"9168:119:147"}]},"id":23956,"implemented":true,"kind":"function","modifiers":[],"name":"_efficientHash","nameLocation":"9041:14:147","nodeType":"FunctionDefinition","parameters":{"id":23950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23947,"mutability":"mutable","name":"a","nameLocation":"9064:1:147","nodeType":"VariableDeclaration","scope":23956,"src":"9056:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9056:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23949,"mutability":"mutable","name":"b","nameLocation":"9075:1:147","nodeType":"VariableDeclaration","scope":23956,"src":"9067:9:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9067:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9055:22:147"},"returnParameters":{"id":23953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23952,"mutability":"mutable","name":"value","nameLocation":"9108:5:147","nodeType":"VariableDeclaration","scope":23956,"src":"9100:13:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9100:7:147","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9099:15:147"},"scope":23957,"src":"9032:261:147","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":23958,"src":"802:8493:147","usedErrors":[]}],"src":"118:9178:147"},"id":147},"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol","exportedSymbols":{"Address":[20688],"ECDSA":[23301],"IERC1271":[8650],"Math":[25662],"SignatureChecker":[24040],"Strings":[22726]},"id":24041,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":23959,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"123:23:148"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"./ECDSA.sol","id":23960,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24041,"sourceUnit":23302,"src":"148:21:148","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../Address.sol","id":23961,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24041,"sourceUnit":20689,"src":"170:24:148","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol","file":"../../interfaces/IERC1271.sol","id":23962,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24041,"sourceUnit":8651,"src":"195:39:148","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SignatureChecker","contractDependencies":[],"contractKind":"library","documentation":{"id":23963,"nodeType":"StructuredDocumentation","src":"236:294:148","text":" @dev Signature verification helper that can be used instead of `ECDSA.recover` to seamlessly support both ECDSA\n signatures from externally owned accounts (EOAs) as well as ERC1271 signatures from smart contract wallets like\n Argent and Gnosis Safe.\n _Available since v4.1._"},"fullyImplemented":true,"id":24040,"linearizedBaseContracts":[24040],"name":"SignatureChecker","nameLocation":"539:16:148","nodeType":"ContractDefinition","nodes":[{"body":{"id":24038,"nodeType":"Block","src":"1181:525:148","statements":[{"assignments":[23976,23979],"declarations":[{"constant":false,"id":23976,"mutability":"mutable","name":"recovered","nameLocation":"1200:9:148","nodeType":"VariableDeclaration","scope":24038,"src":"1192:17:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23975,"name":"address","nodeType":"ElementaryTypeName","src":"1192:7:148","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23979,"mutability":"mutable","name":"error","nameLocation":"1230:5:148","nodeType":"VariableDeclaration","scope":24038,"src":"1211:24:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":23978,"nodeType":"UserDefinedTypeName","pathNode":{"id":23977,"name":"ECDSA.RecoverError","nodeType":"IdentifierPath","referencedDeclaration":22950,"src":"1211:18:148"},"referencedDeclaration":22950,"src":"1211:18:148","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":23985,"initialValue":{"arguments":[{"id":23982,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23968,"src":"1256:4:148","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23983,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23970,"src":"1262:9:148","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":23980,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"1239:5:148","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":23981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryRecover","nodeType":"MemberAccess","referencedDeclaration":23040,"src":"1239:16:148","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)"}},"id":23984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1239:33:148","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$22950_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"1191:81:148"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"},"id":23990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23986,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23979,"src":"1286:5:148","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":23987,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"1295:5:148","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$23301_$","typeString":"type(library ECDSA)"}},"id":23988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"RecoverError","nodeType":"MemberAccess","referencedDeclaration":22950,"src":"1295:18:148","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$22950_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":23989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":22945,"src":"1295:26:148","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$22950","typeString":"enum ECDSA.RecoverError"}},"src":"1286:35:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":23993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23991,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23976,"src":"1325:9:148","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":23992,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"1338:6:148","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1325:19:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1286:58:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23998,"nodeType":"IfStatement","src":"1282:100:148","trueBody":{"id":23997,"nodeType":"Block","src":"1346:36:148","statements":[{"expression":{"hexValue":"74727565","id":23995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1367:4:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":23974,"id":23996,"nodeType":"Return","src":"1360:11:148"}]}},{"assignments":[24000,24002],"declarations":[{"constant":false,"id":24000,"mutability":"mutable","name":"success","nameLocation":"1398:7:148","nodeType":"VariableDeclaration","scope":24038,"src":"1393:12:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23999,"name":"bool","nodeType":"ElementaryTypeName","src":"1393:4:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24002,"mutability":"mutable","name":"result","nameLocation":"1420:6:148","nodeType":"VariableDeclaration","scope":24038,"src":"1407:19:148","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24001,"name":"bytes","nodeType":"ElementaryTypeName","src":"1407:5:148","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":24014,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":24007,"name":"IERC1271","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8650,"src":"1484:8:148","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1271_$8650_$","typeString":"type(contract IERC1271)"}},"id":24008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"isValidSignature","nodeType":"MemberAccess","referencedDeclaration":8649,"src":"1484:25:148","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function IERC1271.isValidSignature(bytes32,bytes memory) view returns (bytes4)"}},"id":24009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"1484:34:148","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":24010,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23968,"src":"1520:4:148","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":24011,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23970,"src":"1526:9:148","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":24005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1461:3:148","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1461:22:148","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":24012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1461:75:148","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":24003,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"1430:6:148","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":24004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"1430:17:148","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":24013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1430:116:148","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1392:154:148"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24015,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24000,"src":"1564:7:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":24016,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24002,"src":"1587:6:148","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":24017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1587:13:148","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3332","id":24018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1604:2:148","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1587:19:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1564:42:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":24034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24023,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24002,"src":"1633:6:148","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":24025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1642:7:148","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1642:7:148","typeDescriptions":{}}}],"id":24026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1641:9:148","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":24021,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1622:3:148","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"1622:10:148","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":24027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1622:29:148","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":24030,"name":"IERC1271","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8650,"src":"1663:8:148","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1271_$8650_$","typeString":"type(contract IERC1271)"}},"id":24031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"isValidSignature","nodeType":"MemberAccess","referencedDeclaration":8649,"src":"1663:25:148","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function IERC1271.isValidSignature(bytes32,bytes memory) view returns (bytes4)"}},"id":24032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"1663:34:148","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1655:7:148","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1655:7:148","typeDescriptions":{}}},"id":24033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1655:43:148","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1622:76:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1564:134:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":24036,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1563:136:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23974,"id":24037,"nodeType":"Return","src":"1556:143:148"}]},"documentation":{"id":23964,"nodeType":"StructuredDocumentation","src":"562:472:148","text":" @dev Checks if a signature is valid for a given signer and data hash. If the signer is a smart contract, the\n signature is validated against that smart contract using ERC1271, otherwise it's validated using `ECDSA.recover`.\n NOTE: Unlike ECDSA signatures, contract signatures are revocable, and the outcome of this function can thus\n change through time. It could return true at block N and false at block N+1 (or the opposite)."},"id":24039,"implemented":true,"kind":"function","modifiers":[],"name":"isValidSignatureNow","nameLocation":"1048:19:148","nodeType":"FunctionDefinition","parameters":{"id":23971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23966,"mutability":"mutable","name":"signer","nameLocation":"1085:6:148","nodeType":"VariableDeclaration","scope":24039,"src":"1077:14:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23965,"name":"address","nodeType":"ElementaryTypeName","src":"1077:7:148","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23968,"mutability":"mutable","name":"hash","nameLocation":"1109:4:148","nodeType":"VariableDeclaration","scope":24039,"src":"1101:12:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1101:7:148","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23970,"mutability":"mutable","name":"signature","nameLocation":"1136:9:148","nodeType":"VariableDeclaration","scope":24039,"src":"1123:22:148","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23969,"name":"bytes","nodeType":"ElementaryTypeName","src":"1123:5:148","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1067:84:148"},"returnParameters":{"id":23974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24039,"src":"1175:4:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23972,"name":"bool","nodeType":"ElementaryTypeName","src":"1175:4:148","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1174:6:148"},"scope":24040,"src":"1039:667:148","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":24041,"src":"531:1177:148","usedErrors":[]}],"src":"123:1586:148"},"id":148},"contracts/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol","exportedSymbols":{"ECDSA":[23301],"EIP712":[23455],"Math":[25662],"Strings":[22726]},"id":24044,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24042,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"119:23:149"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"./EIP712.sol","id":24043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24044,"sourceUnit":23456,"src":"208:22:149","symbolAliases":[],"unitAlias":""}],"src":"119:112:149"},"id":149},"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol","exportedSymbols":{"Address":[20688],"ConditionalEscrow":[24078],"Context":[22281],"Escrow":[24174],"Ownable":[1418]},"id":24079,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24045,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:150"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol","file":"./Escrow.sol","id":24046,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24079,"sourceUnit":24175,"src":"128:22:150","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":24048,"name":"Escrow","nodeType":"IdentifierPath","referencedDeclaration":24174,"src":"376:6:150"},"id":24049,"nodeType":"InheritanceSpecifier","src":"376:6:150"}],"canonicalName":"ConditionalEscrow","contractDependencies":[],"contractKind":"contract","documentation":{"id":24047,"nodeType":"StructuredDocumentation","src":"152:184:150","text":" @title ConditionalEscrow\n @dev Base abstract escrow to only allow withdrawal if a condition is met.\n @dev Intended usage: See {Escrow}. Same usage guidelines apply here."},"fullyImplemented":false,"id":24078,"linearizedBaseContracts":[24078,24174,1418,22281],"name":"ConditionalEscrow","nameLocation":"355:17:150","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":24050,"nodeType":"StructuredDocumentation","src":"389:191:150","text":" @dev Returns whether an address is allowed to withdraw their funds. To be\n implemented by derived contracts.\n @param payee The destination address of the funds."},"functionSelector":"685ca194","id":24057,"implemented":false,"kind":"function","modifiers":[],"name":"withdrawalAllowed","nameLocation":"594:17:150","nodeType":"FunctionDefinition","parameters":{"id":24053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24052,"mutability":"mutable","name":"payee","nameLocation":"620:5:150","nodeType":"VariableDeclaration","scope":24057,"src":"612:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24051,"name":"address","nodeType":"ElementaryTypeName","src":"612:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"611:15:150"},"returnParameters":{"id":24056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24057,"src":"656:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24054,"name":"bool","nodeType":"ElementaryTypeName","src":"656:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"655:6:150"},"scope":24078,"src":"585:77:150","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[24173],"body":{"id":24076,"nodeType":"Block","src":"733:136:150","statements":[{"expression":{"arguments":[{"arguments":[{"id":24065,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24059,"src":"769:5:150","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":24064,"name":"withdrawalAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24057,"src":"751:17:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":24066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"751:24:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177","id":24067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"777:53:150","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ab85541a5cdc1a44c30d5b8b58432efbc37ed9be825439a16d2e39ce610814a","typeString":"literal_string \"ConditionalEscrow: payee is not allowed to withdraw\""},"value":"ConditionalEscrow: payee is not allowed to withdraw"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ab85541a5cdc1a44c30d5b8b58432efbc37ed9be825439a16d2e39ce610814a","typeString":"literal_string \"ConditionalEscrow: payee is not allowed to withdraw\""}],"id":24063,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"743:7:150","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"743:88:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24069,"nodeType":"ExpressionStatement","src":"743:88:150"},{"expression":{"arguments":[{"id":24073,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24059,"src":"856:5:150","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":24070,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"841:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ConditionalEscrow_$24078_$","typeString":"type(contract super ConditionalEscrow)"}},"id":24072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"withdraw","nodeType":"MemberAccess","referencedDeclaration":24173,"src":"841:14:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":24074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"841:21:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24075,"nodeType":"ExpressionStatement","src":"841:21:150"}]},"functionSelector":"51cff8d9","id":24077,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"677:8:150","nodeType":"FunctionDefinition","overrides":{"id":24061,"nodeType":"OverrideSpecifier","overrides":[],"src":"724:8:150"},"parameters":{"id":24060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24059,"mutability":"mutable","name":"payee","nameLocation":"702:5:150","nodeType":"VariableDeclaration","scope":24077,"src":"686:21:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":24058,"name":"address","nodeType":"ElementaryTypeName","src":"686:15:150","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"685:23:150"},"returnParameters":{"id":24062,"nodeType":"ParameterList","parameters":[],"src":"733:0:150"},"scope":24078,"src":"668:201:150","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":24079,"src":"337:534:150","usedErrors":[]}],"src":"103:769:150"},"id":150},"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol","exportedSymbols":{"Address":[20688],"Context":[22281],"Escrow":[24174],"Ownable":[1418]},"id":24175,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24080,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:151"},{"absolutePath":"contracts/@openzeppelin/contracts/access/Ownable.sol","file":"../../access/Ownable.sol","id":24081,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24175,"sourceUnit":1419,"src":"132:34:151","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/utils/Address.sol","file":"../Address.sol","id":24082,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24175,"sourceUnit":20689,"src":"167:24:151","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":24084,"name":"Ownable","nodeType":"IdentifierPath","referencedDeclaration":1418,"src":"844:7:151"},"id":24085,"nodeType":"InheritanceSpecifier","src":"844:7:151"}],"canonicalName":"Escrow","contractDependencies":[],"contractKind":"contract","documentation":{"id":24083,"nodeType":"StructuredDocumentation","src":"193:631:151","text":" @title Escrow\n @dev Base escrow contract, holds funds designated for a payee until they\n withdraw them.\n Intended usage: This contract (and derived escrow contracts) should be a\n standalone contract, that only interacts with the contract that instantiated\n it. That way, it is guaranteed that all Ether will be handled according to\n the `Escrow` rules, and there is no need to check for payable functions or\n transfers in the inheritance tree. The contract that uses the escrow as its\n payment method should be its owner, and provide public methods redirecting\n to the escrow's deposit and withdraw."},"fullyImplemented":true,"id":24174,"linearizedBaseContracts":[24174,1418,22281],"name":"Escrow","nameLocation":"834:6:151","nodeType":"ContractDefinition","nodes":[{"id":24088,"libraryName":{"id":24086,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"864:7:151"},"nodeType":"UsingForDirective","src":"858:34:151","typeName":{"id":24087,"name":"address","nodeType":"ElementaryTypeName","src":"876:15:151","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}},{"anonymous":false,"id":24094,"name":"Deposited","nameLocation":"904:9:151","nodeType":"EventDefinition","parameters":{"id":24093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24090,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"930:5:151","nodeType":"VariableDeclaration","scope":24094,"src":"914:21:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24089,"name":"address","nodeType":"ElementaryTypeName","src":"914:7:151","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24092,"indexed":false,"mutability":"mutable","name":"weiAmount","nameLocation":"945:9:151","nodeType":"VariableDeclaration","scope":24094,"src":"937:17:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24091,"name":"uint256","nodeType":"ElementaryTypeName","src":"937:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"913:42:151"},"src":"898:58:151"},{"anonymous":false,"id":24100,"name":"Withdrawn","nameLocation":"967:9:151","nodeType":"EventDefinition","parameters":{"id":24099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24096,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"993:5:151","nodeType":"VariableDeclaration","scope":24100,"src":"977:21:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24095,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:151","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24098,"indexed":false,"mutability":"mutable","name":"weiAmount","nameLocation":"1008:9:151","nodeType":"VariableDeclaration","scope":24100,"src":"1000:17:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24097,"name":"uint256","nodeType":"ElementaryTypeName","src":"1000:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"976:42:151"},"src":"961:58:151"},{"constant":false,"id":24104,"mutability":"mutable","name":"_deposits","nameLocation":"1061:9:151","nodeType":"VariableDeclaration","scope":24174,"src":"1025:45:151","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":24103,"keyType":{"id":24101,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:151","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1025:27:151","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":24102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1044:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"body":{"id":24115,"nodeType":"Block","src":"1142:40:151","statements":[{"expression":{"baseExpression":{"id":24111,"name":"_deposits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"1159:9:151","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":24113,"indexExpression":{"id":24112,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24106,"src":"1169:5:151","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1159:16:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24110,"id":24114,"nodeType":"Return","src":"1152:23:151"}]},"functionSelector":"e3a9db1a","id":24116,"implemented":true,"kind":"function","modifiers":[],"name":"depositsOf","nameLocation":"1086:10:151","nodeType":"FunctionDefinition","parameters":{"id":24107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24106,"mutability":"mutable","name":"payee","nameLocation":"1105:5:151","nodeType":"VariableDeclaration","scope":24116,"src":"1097:13:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24105,"name":"address","nodeType":"ElementaryTypeName","src":"1097:7:151","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1096:15:151"},"returnParameters":{"id":24110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24116,"src":"1133:7:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24108,"name":"uint256","nodeType":"ElementaryTypeName","src":"1133:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1132:9:151"},"scope":24174,"src":"1077:105:151","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24140,"nodeType":"Block","src":"1430:118:151","statements":[{"assignments":[24125],"declarations":[{"constant":false,"id":24125,"mutability":"mutable","name":"amount","nameLocation":"1448:6:151","nodeType":"VariableDeclaration","scope":24140,"src":"1440:14:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24124,"name":"uint256","nodeType":"ElementaryTypeName","src":"1440:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24128,"initialValue":{"expression":{"id":24126,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1457:3:151","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":24127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"1457:9:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1440:26:151"},{"expression":{"id":24133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":24129,"name":"_deposits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"1476:9:151","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":24131,"indexExpression":{"id":24130,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24119,"src":"1486:5:151","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1476:16:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":24132,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24125,"src":"1496:6:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1476:26:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24134,"nodeType":"ExpressionStatement","src":"1476:26:151"},{"eventCall":{"arguments":[{"id":24136,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24119,"src":"1527:5:151","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24137,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24125,"src":"1534:6:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24135,"name":"Deposited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24094,"src":"1517:9:151","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":24138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1517:24:151","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24139,"nodeType":"EmitStatement","src":"1512:29:151"}]},"documentation":{"id":24117,"nodeType":"StructuredDocumentation","src":"1188:172:151","text":" @dev Stores the sent amount as credit to be withdrawn.\n @param payee The destination address of the funds.\n Emits a {Deposited} event."},"functionSelector":"f340fa01","id":24141,"implemented":true,"kind":"function","modifiers":[{"id":24122,"kind":"modifierInvocation","modifierName":{"id":24121,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"1420:9:151"},"nodeType":"ModifierInvocation","src":"1420:9:151"}],"name":"deposit","nameLocation":"1374:7:151","nodeType":"FunctionDefinition","parameters":{"id":24120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24119,"mutability":"mutable","name":"payee","nameLocation":"1390:5:151","nodeType":"VariableDeclaration","scope":24141,"src":"1382:13:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24118,"name":"address","nodeType":"ElementaryTypeName","src":"1382:7:151","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1381:15:151"},"returnParameters":{"id":24123,"nodeType":"ParameterList","parameters":[],"src":"1430:0:151"},"scope":24174,"src":"1365:183:151","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":24172,"nodeType":"Block","src":"2093:158:151","statements":[{"assignments":[24150],"declarations":[{"constant":false,"id":24150,"mutability":"mutable","name":"payment","nameLocation":"2111:7:151","nodeType":"VariableDeclaration","scope":24172,"src":"2103:15:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24149,"name":"uint256","nodeType":"ElementaryTypeName","src":"2103:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24154,"initialValue":{"baseExpression":{"id":24151,"name":"_deposits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"2121:9:151","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":24153,"indexExpression":{"id":24152,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"2131:5:151","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2121:16:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2103:34:151"},{"expression":{"id":24159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":24155,"name":"_deposits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"2148:9:151","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":24157,"indexExpression":{"id":24156,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"2158:5:151","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2148:16:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":24158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2167:1:151","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2148:20:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24160,"nodeType":"ExpressionStatement","src":"2148:20:151"},{"expression":{"arguments":[{"id":24164,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24150,"src":"2195:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24161,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"2179:5:151","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":24163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sendValue","nodeType":"MemberAccess","referencedDeclaration":20410,"src":"2179:15:151","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$bound_to$_t_address_payable_$","typeString":"function (address payable,uint256)"}},"id":24165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2179:24:151","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24166,"nodeType":"ExpressionStatement","src":"2179:24:151"},{"eventCall":{"arguments":[{"id":24168,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"2229:5:151","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":24169,"name":"payment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24150,"src":"2236:7:151","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24167,"name":"Withdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24100,"src":"2219:9:151","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":24170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2219:25:151","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24171,"nodeType":"EmitStatement","src":"2214:30:151"}]},"documentation":{"id":24142,"nodeType":"StructuredDocumentation","src":"1554:468:151","text":" @dev Withdraw accumulated balance for a payee, forwarding all gas to the\n recipient.\n WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities.\n Make sure you trust the recipient, or are either following the\n checks-effects-interactions pattern or using {ReentrancyGuard}.\n @param payee The address whose funds will be withdrawn and transferred to.\n Emits a {Withdrawn} event."},"functionSelector":"51cff8d9","id":24173,"implemented":true,"kind":"function","modifiers":[{"id":24147,"kind":"modifierInvocation","modifierName":{"id":24146,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2083:9:151"},"nodeType":"ModifierInvocation","src":"2083:9:151"}],"name":"withdraw","nameLocation":"2036:8:151","nodeType":"FunctionDefinition","parameters":{"id":24145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24144,"mutability":"mutable","name":"payee","nameLocation":"2061:5:151","nodeType":"VariableDeclaration","scope":24173,"src":"2045:21:151","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":24143,"name":"address","nodeType":"ElementaryTypeName","src":"2045:15:151","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"2044:23:151"},"returnParameters":{"id":24148,"nodeType":"ParameterList","parameters":[],"src":"2093:0:151"},"scope":24174,"src":"2027:224:151","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":24175,"src":"825:1428:151","usedErrors":[]}],"src":"107:2147:151"},"id":151},"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol","exportedSymbols":{"Address":[20688],"ConditionalEscrow":[24078],"Context":[22281],"Escrow":[24174],"Ownable":[1418],"RefundEscrow":[24353]},"id":24354,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24176,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"98:23:152"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol","file":"./ConditionalEscrow.sol","id":24177,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24354,"sourceUnit":24079,"src":"123:33:152","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":24179,"name":"ConditionalEscrow","nodeType":"IdentifierPath","referencedDeclaration":24078,"src":"663:17:152"},"id":24180,"nodeType":"InheritanceSpecifier","src":"663:17:152"}],"canonicalName":"RefundEscrow","contractDependencies":[],"contractKind":"contract","documentation":{"id":24178,"nodeType":"StructuredDocumentation","src":"158:479:152","text":" @title RefundEscrow\n @dev Escrow that holds funds for a beneficiary, deposited from multiple\n parties.\n @dev Intended usage: See {Escrow}. Same usage guidelines apply here.\n @dev The owner account (that is, the contract that instantiates this\n contract) may deposit, close the deposit period, and allow for either\n withdrawal by the beneficiary, or refunds to the depositors. All interactions\n with `RefundEscrow` will be made through the owner contract."},"fullyImplemented":true,"id":24353,"linearizedBaseContracts":[24353,24078,24174,1418,22281],"name":"RefundEscrow","nameLocation":"647:12:152","nodeType":"ContractDefinition","nodes":[{"id":24183,"libraryName":{"id":24181,"name":"Address","nodeType":"IdentifierPath","referencedDeclaration":20688,"src":"693:7:152"},"nodeType":"UsingForDirective","src":"687:34:152","typeName":{"id":24182,"name":"address","nodeType":"ElementaryTypeName","src":"705:15:152","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}},{"canonicalName":"RefundEscrow.State","id":24187,"members":[{"id":24184,"name":"Active","nameLocation":"748:6:152","nodeType":"EnumValue","src":"748:6:152"},{"id":24185,"name":"Refunding","nameLocation":"764:9:152","nodeType":"EnumValue","src":"764:9:152"},{"id":24186,"name":"Closed","nameLocation":"783:6:152","nodeType":"EnumValue","src":"783:6:152"}],"name":"State","nameLocation":"732:5:152","nodeType":"EnumDefinition","src":"727:68:152"},{"anonymous":false,"id":24189,"name":"RefundsClosed","nameLocation":"807:13:152","nodeType":"EventDefinition","parameters":{"id":24188,"nodeType":"ParameterList","parameters":[],"src":"820:2:152"},"src":"801:22:152"},{"anonymous":false,"id":24191,"name":"RefundsEnabled","nameLocation":"834:14:152","nodeType":"EventDefinition","parameters":{"id":24190,"nodeType":"ParameterList","parameters":[],"src":"848:2:152"},"src":"828:23:152"},{"constant":false,"id":24194,"mutability":"mutable","name":"_state","nameLocation":"871:6:152","nodeType":"VariableDeclaration","scope":24353,"src":"857:20:152","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"typeName":{"id":24193,"nodeType":"UserDefinedTypeName","pathNode":{"id":24192,"name":"State","nodeType":"IdentifierPath","referencedDeclaration":24187,"src":"857:5:152"},"referencedDeclaration":24187,"src":"857:5:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"visibility":"private"},{"constant":false,"id":24196,"mutability":"immutable","name":"_beneficiary","nameLocation":"917:12:152","nodeType":"VariableDeclaration","scope":24353,"src":"883:46:152","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":24195,"name":"address","nodeType":"ElementaryTypeName","src":"883:15:152","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"body":{"id":24221,"nodeType":"Block","src":"1079:169:152","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":24208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24203,"name":"beneficiary_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24199,"src":"1097:12:152","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":24206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1121:1:152","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":24205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1113:7:152","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24204,"name":"address","nodeType":"ElementaryTypeName","src":"1113:7:152","typeDescriptions":{}}},"id":24207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1113:10:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1097:26:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526566756e64457363726f773a2062656e656669636961727920697320746865207a65726f2061646472657373","id":24209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1125:47:152","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a77d0d3ca4410791e8781774e7ba61ae1755bbb27066c5d9f65089e2c7a8f1d","typeString":"literal_string \"RefundEscrow: beneficiary is the zero address\""},"value":"RefundEscrow: beneficiary is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a77d0d3ca4410791e8781774e7ba61ae1755bbb27066c5d9f65089e2c7a8f1d","typeString":"literal_string \"RefundEscrow: beneficiary is the zero address\""}],"id":24202,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1089:7:152","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1089:84:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24211,"nodeType":"ExpressionStatement","src":"1089:84:152"},{"expression":{"id":24214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24212,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24196,"src":"1183:12:152","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":24213,"name":"beneficiary_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24199,"src":"1198:12:152","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1183:27:152","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":24215,"nodeType":"ExpressionStatement","src":"1183:27:152"},{"expression":{"id":24219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24216,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24194,"src":"1220:6:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":24217,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"1229:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24184,"src":"1229:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"1220:21:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"id":24220,"nodeType":"ExpressionStatement","src":"1220:21:152"}]},"documentation":{"id":24197,"nodeType":"StructuredDocumentation","src":"936:96:152","text":" @dev Constructor.\n @param beneficiary_ The beneficiary of the deposits."},"id":24222,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":24200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24199,"mutability":"mutable","name":"beneficiary_","nameLocation":"1065:12:152","nodeType":"VariableDeclaration","scope":24222,"src":"1049:28:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":24198,"name":"address","nodeType":"ElementaryTypeName","src":"1049:15:152","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1048:30:152"},"returnParameters":{"id":24201,"nodeType":"ParameterList","parameters":[],"src":"1079:0:152"},"scope":24353,"src":"1037:211:152","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":24231,"nodeType":"Block","src":"1371:30:152","statements":[{"expression":{"id":24229,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24194,"src":"1388:6:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"functionReturnParameters":24228,"id":24230,"nodeType":"Return","src":"1381:13:152"}]},"documentation":{"id":24223,"nodeType":"StructuredDocumentation","src":"1254:59:152","text":" @return The current state of the escrow."},"functionSelector":"c19d93fb","id":24232,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"1327:5:152","nodeType":"FunctionDefinition","parameters":{"id":24224,"nodeType":"ParameterList","parameters":[],"src":"1332:2:152"},"returnParameters":{"id":24228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24232,"src":"1364:5:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"typeName":{"id":24226,"nodeType":"UserDefinedTypeName","pathNode":{"id":24225,"name":"State","nodeType":"IdentifierPath","referencedDeclaration":24187,"src":"1364:5:152"},"referencedDeclaration":24187,"src":"1364:5:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"visibility":"internal"}],"src":"1363:7:152"},"scope":24353,"src":"1318:83:152","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":24240,"nodeType":"Block","src":"1538:36:152","statements":[{"expression":{"id":24238,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24196,"src":"1555:12:152","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":24237,"id":24239,"nodeType":"Return","src":"1548:19:152"}]},"documentation":{"id":24233,"nodeType":"StructuredDocumentation","src":"1407:57:152","text":" @return The beneficiary of the escrow."},"functionSelector":"38af3eed","id":24241,"implemented":true,"kind":"function","modifiers":[],"name":"beneficiary","nameLocation":"1478:11:152","nodeType":"FunctionDefinition","parameters":{"id":24234,"nodeType":"ParameterList","parameters":[],"src":"1489:2:152"},"returnParameters":{"id":24237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24236,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24241,"src":"1521:15:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":24235,"name":"address","nodeType":"ElementaryTypeName","src":"1521:15:152","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1520:17:152"},"scope":24353,"src":"1469:105:152","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[24141],"body":{"id":24263,"nodeType":"Block","src":"1793:129:152","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"id":24253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24249,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"1811:5:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_enum$_State_$24187_$","typeString":"function () view returns (enum RefundEscrow.State)"}},"id":24250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1811:7:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":24251,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"1822:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24184,"src":"1822:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"1811:23:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c79206465706f736974207768696c6520616374697665","id":24254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1836:45:152","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d2eddec03fda23f4156a228b50726cf2ff6928b71d9dbcbc2607b547d1e19f","typeString":"literal_string \"RefundEscrow: can only deposit while active\""},"value":"RefundEscrow: can only deposit while active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_65d2eddec03fda23f4156a228b50726cf2ff6928b71d9dbcbc2607b547d1e19f","typeString":"literal_string \"RefundEscrow: can only deposit while active\""}],"id":24248,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1803:7:152","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1803:79:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24256,"nodeType":"ExpressionStatement","src":"1803:79:152"},{"expression":{"arguments":[{"id":24260,"name":"refundee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"1906:8:152","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24257,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1892:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RefundEscrow_$24353_$","typeString":"type(contract super RefundEscrow)"}},"id":24259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":24141,"src":"1892:13:152","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":24261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1892:23:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24262,"nodeType":"ExpressionStatement","src":"1892:23:152"}]},"documentation":{"id":24242,"nodeType":"StructuredDocumentation","src":"1580:141:152","text":" @dev Stores funds that may later be refunded.\n @param refundee The address funds will be sent to if a refund occurs."},"functionSelector":"f340fa01","id":24264,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"1735:7:152","nodeType":"FunctionDefinition","overrides":{"id":24246,"nodeType":"OverrideSpecifier","overrides":[],"src":"1784:8:152"},"parameters":{"id":24245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24244,"mutability":"mutable","name":"refundee","nameLocation":"1751:8:152","nodeType":"VariableDeclaration","scope":24264,"src":"1743:16:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24243,"name":"address","nodeType":"ElementaryTypeName","src":"1743:7:152","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1742:18:152"},"returnParameters":{"id":24247,"nodeType":"ParameterList","parameters":[],"src":"1793:0:152"},"scope":24353,"src":"1726:196:152","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":24287,"nodeType":"Block","src":"2085:155:152","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"id":24275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24271,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"2103:5:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_enum$_State_$24187_$","typeString":"function () view returns (enum RefundEscrow.State)"}},"id":24272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2103:7:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":24273,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"2114:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24184,"src":"2114:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"2103:23:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696c6520616374697665","id":24276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2128:43:152","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b57f36bbfb6b8cf96de8737d30d9d1cbc0f0335b9d71ea7602e79c09a766100","typeString":"literal_string \"RefundEscrow: can only close while active\""},"value":"RefundEscrow: can only close while active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8b57f36bbfb6b8cf96de8737d30d9d1cbc0f0335b9d71ea7602e79c09a766100","typeString":"literal_string \"RefundEscrow: can only close while active\""}],"id":24270,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2095:7:152","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2095:77:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24278,"nodeType":"ExpressionStatement","src":"2095:77:152"},{"expression":{"id":24282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24279,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24194,"src":"2182:6:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":24280,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"2191:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Closed","nodeType":"MemberAccess","referencedDeclaration":24186,"src":"2191:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"2182:21:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"id":24283,"nodeType":"ExpressionStatement","src":"2182:21:152"},{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":24284,"name":"RefundsClosed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24189,"src":"2218:13:152","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":24285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2218:15:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24286,"nodeType":"EmitStatement","src":"2213:20:152"}]},"documentation":{"id":24265,"nodeType":"StructuredDocumentation","src":"1928:110:152","text":" @dev Allows for the beneficiary to withdraw their funds, rejecting\n further deposits."},"functionSelector":"43d726d6","id":24288,"implemented":true,"kind":"function","modifiers":[{"id":24268,"kind":"modifierInvocation","modifierName":{"id":24267,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2075:9:152"},"nodeType":"ModifierInvocation","src":"2075:9:152"}],"name":"close","nameLocation":"2052:5:152","nodeType":"FunctionDefinition","parameters":{"id":24266,"nodeType":"ParameterList","parameters":[],"src":"2057:2:152"},"returnParameters":{"id":24269,"nodeType":"ParameterList","parameters":[],"src":"2085:0:152"},"scope":24353,"src":"2043:197:152","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":24311,"nodeType":"Block","src":"2386:168:152","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"id":24299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24295,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"2404:5:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_enum$_State_$24187_$","typeString":"function () view returns (enum RefundEscrow.State)"}},"id":24296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2404:7:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":24297,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"2415:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24184,"src":"2415:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"2404:23:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726566756e6473207768696c6520616374697665","id":24300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2429:52:152","typeDescriptions":{"typeIdentifier":"t_stringliteral_c983cde4805ee52cdf0ba0ddf13817bc95474a21a1151fc5899abaab3f302200","typeString":"literal_string \"RefundEscrow: can only enable refunds while active\""},"value":"RefundEscrow: can only enable refunds while active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c983cde4805ee52cdf0ba0ddf13817bc95474a21a1151fc5899abaab3f302200","typeString":"literal_string \"RefundEscrow: can only enable refunds while active\""}],"id":24294,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2396:7:152","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2396:86:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24302,"nodeType":"ExpressionStatement","src":"2396:86:152"},{"expression":{"id":24306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24303,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24194,"src":"2492:6:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":24304,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"2501:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Refunding","nodeType":"MemberAccess","referencedDeclaration":24185,"src":"2501:15:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"2492:24:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"id":24307,"nodeType":"ExpressionStatement","src":"2492:24:152"},{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":24308,"name":"RefundsEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24191,"src":"2531:14:152","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":24309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2531:16:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24310,"nodeType":"EmitStatement","src":"2526:21:152"}]},"documentation":{"id":24289,"nodeType":"StructuredDocumentation","src":"2246:85:152","text":" @dev Allows for refunds to take place, rejecting further deposits."},"functionSelector":"8c52dc41","id":24312,"implemented":true,"kind":"function","modifiers":[{"id":24292,"kind":"modifierInvocation","modifierName":{"id":24291,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":1337,"src":"2376:9:152"},"nodeType":"ModifierInvocation","src":"2376:9:152"}],"name":"enableRefunds","nameLocation":"2345:13:152","nodeType":"FunctionDefinition","parameters":{"id":24290,"nodeType":"ParameterList","parameters":[],"src":"2358:2:152"},"returnParameters":{"id":24293,"nodeType":"ParameterList","parameters":[],"src":"2386:0:152"},"scope":24353,"src":"2336:218:152","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":24335,"nodeType":"Block","src":"2669:165:152","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"id":24321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24317,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"2687:5:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_enum$_State_$24187_$","typeString":"function () view returns (enum RefundEscrow.State)"}},"id":24318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2687:7:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":24319,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"2698:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Closed","nodeType":"MemberAccess","referencedDeclaration":24186,"src":"2698:12:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"2687:23:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526566756e64457363726f773a2062656e65666963696172792063616e206f6e6c79207769746864726177207768696c6520636c6f736564","id":24322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2712:58:152","typeDescriptions":{"typeIdentifier":"t_stringliteral_01d94a28ecd337ff4054022bb41ef2363cd1a92d1c775148e2e03f86b6e5dabc","typeString":"literal_string \"RefundEscrow: beneficiary can only withdraw while closed\""},"value":"RefundEscrow: beneficiary can only withdraw while closed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01d94a28ecd337ff4054022bb41ef2363cd1a92d1c775148e2e03f86b6e5dabc","typeString":"literal_string \"RefundEscrow: beneficiary can only withdraw while closed\""}],"id":24316,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2679:7:152","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2679:92:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24324,"nodeType":"ExpressionStatement","src":"2679:92:152"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":24330,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2813:4:152","typeDescriptions":{"typeIdentifier":"t_contract$_RefundEscrow_$24353","typeString":"contract RefundEscrow"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RefundEscrow_$24353","typeString":"contract RefundEscrow"}],"id":24329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2805:7:152","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24328,"name":"address","nodeType":"ElementaryTypeName","src":"2805:7:152","typeDescriptions":{}}},"id":24331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2805:13:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":24332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"2805:21:152","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":24325,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24241,"src":"2781:11:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":24326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2781:13:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":24327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sendValue","nodeType":"MemberAccess","referencedDeclaration":20410,"src":"2781:23:152","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$bound_to$_t_address_payable_$","typeString":"function (address payable,uint256)"}},"id":24333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2781:46:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24334,"nodeType":"ExpressionStatement","src":"2781:46:152"}]},"documentation":{"id":24313,"nodeType":"StructuredDocumentation","src":"2560:58:152","text":" @dev Withdraws the beneficiary's funds."},"functionSelector":"9af6549a","id":24336,"implemented":true,"kind":"function","modifiers":[],"name":"beneficiaryWithdraw","nameLocation":"2632:19:152","nodeType":"FunctionDefinition","parameters":{"id":24314,"nodeType":"ParameterList","parameters":[],"src":"2651:2:152"},"returnParameters":{"id":24315,"nodeType":"ParameterList","parameters":[],"src":"2669:0:152"},"scope":24353,"src":"2623:211:152","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[24057],"body":{"id":24351,"nodeType":"Block","src":"3137:50:152","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"},"id":24349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24345,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"3154:5:152","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_enum$_State_$24187_$","typeString":"function () view returns (enum RefundEscrow.State)"}},"id":24346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3154:7:152","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":24347,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24187,"src":"3165:5:152","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$24187_$","typeString":"type(enum RefundEscrow.State)"}},"id":24348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Refunding","nodeType":"MemberAccess","referencedDeclaration":24185,"src":"3165:15:152","typeDescriptions":{"typeIdentifier":"t_enum$_State_$24187","typeString":"enum RefundEscrow.State"}},"src":"3154:26:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24344,"id":24350,"nodeType":"Return","src":"3147:33:152"}]},"documentation":{"id":24337,"nodeType":"StructuredDocumentation","src":"2840:220:152","text":" @dev Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a\n 'payee' argument, but we ignore it here since the condition is global, not per-payee."},"functionSelector":"685ca194","id":24352,"implemented":true,"kind":"function","modifiers":[],"name":"withdrawalAllowed","nameLocation":"3074:17:152","nodeType":"FunctionDefinition","overrides":{"id":24341,"nodeType":"OverrideSpecifier","overrides":[],"src":"3113:8:152"},"parameters":{"id":24340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24352,"src":"3092:7:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24338,"name":"address","nodeType":"ElementaryTypeName","src":"3092:7:152","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3091:9:152"},"returnParameters":{"id":24344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24352,"src":"3131:4:152","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24342,"name":"bool","nodeType":"ElementaryTypeName","src":"3131:4:152","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3130:6:152"},"scope":24353,"src":"3065:122:152","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":24354,"src":"638:2551:152","usedErrors":[]}],"src":"98:3092:152"},"id":152},"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","exportedSymbols":{"ERC165":[24377],"IERC165":[24693]},"id":24378,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24355,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:153"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":24356,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24378,"sourceUnit":24694,"src":"124:23:153","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":24358,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":24693,"src":"754:7:153"},"id":24359,"nodeType":"InheritanceSpecifier","src":"754:7:153"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":24357,"nodeType":"StructuredDocumentation","src":"149:576:153","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."},"fullyImplemented":true,"id":24377,"linearizedBaseContracts":[24377,24693],"name":"ERC165","nameLocation":"744:6:153","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[24692],"body":{"id":24375,"nodeType":"Block","src":"920:64:153","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":24373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24368,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24362,"src":"937:11:153","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":24370,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24693,"src":"957:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$24693_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$24693_$","typeString":"type(contract IERC165)"}],"id":24369,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"952:4:153","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":24371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"952:13:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$24693","typeString":"type(contract IERC165)"}},"id":24372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"952:25:153","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"937:40:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24367,"id":24374,"nodeType":"Return","src":"930:47:153"}]},"documentation":{"id":24360,"nodeType":"StructuredDocumentation","src":"768:56:153","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":24376,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"838:17:153","nodeType":"FunctionDefinition","overrides":{"id":24364,"nodeType":"OverrideSpecifier","overrides":[],"src":"896:8:153"},"parameters":{"id":24363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24362,"mutability":"mutable","name":"interfaceId","nameLocation":"863:11:153","nodeType":"VariableDeclaration","scope":24376,"src":"856:18:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24361,"name":"bytes4","nodeType":"ElementaryTypeName","src":"856:6:153","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"855:20:153"},"returnParameters":{"id":24367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24376,"src":"914:4:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24365,"name":"bool","nodeType":"ElementaryTypeName","src":"914:4:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"913:6:153"},"scope":24377,"src":"829:155:153","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":24378,"src":"726:260:153","usedErrors":[]}],"src":"99:888:153"},"id":153},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","exportedSymbols":{"ERC165Checker":[24571],"IERC165":[24693]},"id":24572,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24379,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"121:23:154"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":24380,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24572,"sourceUnit":24694,"src":"146:23:154","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ERC165Checker","contractDependencies":[],"contractKind":"library","documentation":{"id":24381,"nodeType":"StructuredDocumentation","src":"171:277:154","text":" @dev Library used to query support of an interface declared via {IERC165}.\n Note that these functions return the actual result of the query: they do not\n `revert` if an interface is not supported. It is up to the caller to decide\n what to do in these cases."},"fullyImplemented":true,"id":24571,"linearizedBaseContracts":[24571],"name":"ERC165Checker","nameLocation":"457:13:154","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":24384,"mutability":"constant","name":"_INTERFACE_ID_INVALID","nameLocation":"575:21:154","nodeType":"VariableDeclaration","scope":24571,"src":"551:58:154","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24382,"name":"bytes4","nodeType":"ElementaryTypeName","src":"551:6:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"hexValue":"30786666666666666666","id":24383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"599:10:154","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"visibility":"private"},{"body":{"id":24406,"nodeType":"Block","src":"774:357:154","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24393,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24387,"src":"1008:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":24395,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24693,"src":"1022:7:154","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$24693_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$24693_$","typeString":"type(contract IERC165)"}],"id":24394,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1017:4:154","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":24396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1017:13:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$24693","typeString":"type(contract IERC165)"}},"id":24397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"interfaceId","nodeType":"MemberAccess","src":"1017:25:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24392,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"975:32:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":24398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"975:68:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":24403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1059:65:154","subExpression":{"arguments":[{"id":24400,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24387,"src":"1093:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24401,"name":"_INTERFACE_ID_INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24384,"src":"1102:21:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24399,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"1060:32:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":24402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1060:64:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"975:149:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24391,"id":24405,"nodeType":"Return","src":"956:168:154"}]},"documentation":{"id":24385,"nodeType":"StructuredDocumentation","src":"616:83:154","text":" @dev Returns true if `account` supports the {IERC165} interface."},"id":24407,"implemented":true,"kind":"function","modifiers":[],"name":"supportsERC165","nameLocation":"713:14:154","nodeType":"FunctionDefinition","parameters":{"id":24388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24387,"mutability":"mutable","name":"account","nameLocation":"736:7:154","nodeType":"VariableDeclaration","scope":24407,"src":"728:15:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24386,"name":"address","nodeType":"ElementaryTypeName","src":"728:7:154","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"727:17:154"},"returnParameters":{"id":24391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24390,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24407,"src":"768:4:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24389,"name":"bool","nodeType":"ElementaryTypeName","src":"768:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"767:6:154"},"scope":24571,"src":"704:427:154","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24426,"nodeType":"Block","src":"1442:189:154","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24418,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24410,"src":"1558:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":24417,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24407,"src":"1543:14:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":24419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1543:23:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":24421,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24410,"src":"1603:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24422,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24412,"src":"1612:11:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24420,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"1570:32:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":24423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1570:54:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1543:81:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24416,"id":24425,"nodeType":"Return","src":"1536:88:154"}]},"documentation":{"id":24408,"nodeType":"StructuredDocumentation","src":"1137:207:154","text":" @dev Returns true if `account` supports the interface defined by\n `interfaceId`. Support for {IERC165} itself is queried automatically.\n See {IERC165-supportsInterface}."},"id":24427,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1358:17:154","nodeType":"FunctionDefinition","parameters":{"id":24413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24410,"mutability":"mutable","name":"account","nameLocation":"1384:7:154","nodeType":"VariableDeclaration","scope":24427,"src":"1376:15:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24409,"name":"address","nodeType":"ElementaryTypeName","src":"1376:7:154","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24412,"mutability":"mutable","name":"interfaceId","nameLocation":"1400:11:154","nodeType":"VariableDeclaration","scope":24427,"src":"1393:18:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24411,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1393:6:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1375:37:154"},"returnParameters":{"id":24416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24427,"src":"1436:4:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24414,"name":"bool","nodeType":"ElementaryTypeName","src":"1436:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1435:6:154"},"scope":24571,"src":"1349:282:154","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24482,"nodeType":"Block","src":"2161:560:154","statements":[{"assignments":[24443],"declarations":[{"constant":false,"id":24443,"mutability":"mutable","name":"interfaceIdsSupported","nameLocation":"2284:21:154","nodeType":"VariableDeclaration","scope":24482,"src":"2270:35:154","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":24441,"name":"bool","nodeType":"ElementaryTypeName","src":"2270:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24442,"nodeType":"ArrayTypeName","src":"2270:6:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":24450,"initialValue":{"arguments":[{"expression":{"id":24447,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24433,"src":"2319:12:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":24448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2319:19:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2308:10:154","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":24444,"name":"bool","nodeType":"ElementaryTypeName","src":"2312:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24445,"nodeType":"ArrayTypeName","src":"2312:6:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":24449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2308:31:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2270:69:154"},{"condition":{"arguments":[{"id":24452,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24430,"src":"2411:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":24451,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24407,"src":"2396:14:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":24453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2396:23:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24479,"nodeType":"IfStatement","src":"2392:284:154","trueBody":{"id":24478,"nodeType":"Block","src":"2421:255:154","statements":[{"body":{"id":24476,"nodeType":"Block","src":"2548:118:154","statements":[{"expression":{"id":24474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":24465,"name":"interfaceIdsSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24443,"src":"2566:21:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":24467,"indexExpression":{"id":24466,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"2588:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2566:24:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":24469,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24430,"src":"2626:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":24470,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24433,"src":"2635:12:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":24472,"indexExpression":{"id":24471,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"2648:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2635:15:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24468,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"2593:32:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":24473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2593:58:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2566:85:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24475,"nodeType":"ExpressionStatement","src":"2566:85:154"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24458,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"2518:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":24459,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24433,"src":"2522:12:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":24460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2522:19:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2518:23:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24477,"initializationExpression":{"assignments":[24455],"declarations":[{"constant":false,"id":24455,"mutability":"mutable","name":"i","nameLocation":"2511:1:154","nodeType":"VariableDeclaration","scope":24477,"src":"2503:9:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24454,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24457,"initialValue":{"hexValue":"30","id":24456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2515:1:154","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2503:13:154"},"loopExpression":{"expression":{"id":24463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2543:3:154","subExpression":{"id":24462,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"2543:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24464,"nodeType":"ExpressionStatement","src":"2543:3:154"},"nodeType":"ForStatement","src":"2498:168:154"}]}},{"expression":{"id":24480,"name":"interfaceIdsSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24443,"src":"2693:21:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":24438,"id":24481,"nodeType":"Return","src":"2686:28:154"}]},"documentation":{"id":24428,"nodeType":"StructuredDocumentation","src":"1637:374:154","text":" @dev Returns a boolean array where each value corresponds to the\n interfaces passed in and whether they're supported or not. This allows\n you to batch check interfaces for a contract where your expectation\n is that some interfaces may not be supported.\n See {IERC165-supportsInterface}.\n _Available since v3.4._"},"id":24483,"implemented":true,"kind":"function","modifiers":[],"name":"getSupportedInterfaces","nameLocation":"2025:22:154","nodeType":"FunctionDefinition","parameters":{"id":24434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24430,"mutability":"mutable","name":"account","nameLocation":"2056:7:154","nodeType":"VariableDeclaration","scope":24483,"src":"2048:15:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24429,"name":"address","nodeType":"ElementaryTypeName","src":"2048:7:154","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24433,"mutability":"mutable","name":"interfaceIds","nameLocation":"2081:12:154","nodeType":"VariableDeclaration","scope":24483,"src":"2065:28:154","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":24431,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2065:6:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":24432,"nodeType":"ArrayTypeName","src":"2065:8:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"src":"2047:47:154"},"returnParameters":{"id":24438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24483,"src":"2142:13:154","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":24435,"name":"bool","nodeType":"ElementaryTypeName","src":"2142:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24436,"nodeType":"ArrayTypeName","src":"2142:6:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2141:15:154"},"scope":24571,"src":"2016:705:154","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24528,"nodeType":"Block","src":"3163:436:154","statements":[{"condition":{"id":24497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3219:24:154","subExpression":{"arguments":[{"id":24495,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24486,"src":"3235:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":24494,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24407,"src":"3220:14:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":24496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3220:23:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24501,"nodeType":"IfStatement","src":"3215:67:154","trueBody":{"id":24500,"nodeType":"Block","src":"3245:37:154","statements":[{"expression":{"hexValue":"66616c7365","id":24498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3266:5:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":24493,"id":24499,"nodeType":"Return","src":"3259:12:154"}]}},{"body":{"id":24524,"nodeType":"Block","src":"3401:134:154","statements":[{"condition":{"id":24519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3419:59:154","subExpression":{"arguments":[{"id":24514,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24486,"src":"3453:7:154","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":24515,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24489,"src":"3462:12:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":24517,"indexExpression":{"id":24516,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24503,"src":"3475:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3462:15:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":24513,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"3420:32:154","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":24518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3420:58:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24523,"nodeType":"IfStatement","src":"3415:110:154","trueBody":{"id":24522,"nodeType":"Block","src":"3480:45:154","statements":[{"expression":{"hexValue":"66616c7365","id":24520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3505:5:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":24493,"id":24521,"nodeType":"Return","src":"3498:12:154"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24506,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24503,"src":"3371:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":24507,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24489,"src":"3375:12:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":24508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3375:19:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3371:23:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24525,"initializationExpression":{"assignments":[24503],"declarations":[{"constant":false,"id":24503,"mutability":"mutable","name":"i","nameLocation":"3364:1:154","nodeType":"VariableDeclaration","scope":24525,"src":"3356:9:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24502,"name":"uint256","nodeType":"ElementaryTypeName","src":"3356:7:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24505,"initialValue":{"hexValue":"30","id":24504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3368:1:154","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3356:13:154"},"loopExpression":{"expression":{"id":24511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3396:3:154","subExpression":{"id":24510,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24503,"src":"3396:1:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24512,"nodeType":"ExpressionStatement","src":"3396:3:154"},"nodeType":"ForStatement","src":"3351:184:154"},{"expression":{"hexValue":"74727565","id":24526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3588:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":24493,"id":24527,"nodeType":"Return","src":"3581:11:154"}]},"documentation":{"id":24484,"nodeType":"StructuredDocumentation","src":"2727:324:154","text":" @dev Returns true if `account` supports all the interfaces defined in\n `interfaceIds`. Support for {IERC165} itself is queried automatically.\n Batch-querying can lead to gas savings by skipping repeated checks for\n {IERC165} support.\n See {IERC165-supportsInterface}."},"id":24529,"implemented":true,"kind":"function","modifiers":[],"name":"supportsAllInterfaces","nameLocation":"3065:21:154","nodeType":"FunctionDefinition","parameters":{"id":24490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24486,"mutability":"mutable","name":"account","nameLocation":"3095:7:154","nodeType":"VariableDeclaration","scope":24529,"src":"3087:15:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24485,"name":"address","nodeType":"ElementaryTypeName","src":"3087:7:154","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24489,"mutability":"mutable","name":"interfaceIds","nameLocation":"3120:12:154","nodeType":"VariableDeclaration","scope":24529,"src":"3104:28:154","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":24487,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3104:6:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":24488,"nodeType":"ArrayTypeName","src":"3104:8:154","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"src":"3086:47:154"},"returnParameters":{"id":24493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24529,"src":"3157:4:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24491,"name":"bool","nodeType":"ElementaryTypeName","src":"3157:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3156:6:154"},"scope":24571,"src":"3056:543:154","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24569,"nodeType":"Block","src":"4370:539:154","statements":[{"assignments":[24540],"declarations":[{"constant":false,"id":24540,"mutability":"mutable","name":"encodedParams","nameLocation":"4417:13:154","nodeType":"VariableDeclaration","scope":24569,"src":"4404:26:154","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24539,"name":"bytes","nodeType":"ElementaryTypeName","src":"4404:5:154","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":24548,"initialValue":{"arguments":[{"expression":{"expression":{"id":24543,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24693,"src":"4456:7:154","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$24693_$","typeString":"type(contract IERC165)"}},"id":24544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24692,"src":"4456:25:154","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes4_$returns$_t_bool_$","typeString":"function IERC165.supportsInterface(bytes4) view returns (bool)"}},"id":24545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4456:34:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":24546,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24534,"src":"4492:11:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":24541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4433:3:154","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4433:22:154","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":24547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4433:71:154","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4404:100:154"},{"assignments":[24550],"declarations":[{"constant":false,"id":24550,"mutability":"mutable","name":"success","nameLocation":"4551:7:154","nodeType":"VariableDeclaration","scope":24569,"src":"4546:12:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24549,"name":"bool","nodeType":"ElementaryTypeName","src":"4546:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":24551,"nodeType":"VariableDeclarationStatement","src":"4546:12:154"},{"assignments":[24553],"declarations":[{"constant":false,"id":24553,"mutability":"mutable","name":"returnSize","nameLocation":"4576:10:154","nodeType":"VariableDeclaration","scope":24569,"src":"4568:18:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24552,"name":"uint256","nodeType":"ElementaryTypeName","src":"4568:7:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24554,"nodeType":"VariableDeclarationStatement","src":"4568:18:154"},{"assignments":[24556],"declarations":[{"constant":false,"id":24556,"mutability":"mutable","name":"returnValue","nameLocation":"4604:11:154","nodeType":"VariableDeclaration","scope":24569,"src":"4596:19:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24555,"name":"uint256","nodeType":"ElementaryTypeName","src":"4596:7:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24557,"nodeType":"VariableDeclarationStatement","src":"4596:19:154"},{"AST":{"nodeType":"YulBlock","src":"4634:203:154","statements":[{"nodeType":"YulAssignment","src":"4648:97:154","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4670:5:154","type":"","value":"30000"},{"name":"account","nodeType":"YulIdentifier","src":"4677:7:154"},{"arguments":[{"name":"encodedParams","nodeType":"YulIdentifier","src":"4690:13:154"},{"kind":"number","nodeType":"YulLiteral","src":"4705:4:154","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4686:3:154"},"nodeType":"YulFunctionCall","src":"4686:24:154"},{"arguments":[{"name":"encodedParams","nodeType":"YulIdentifier","src":"4718:13:154"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4712:5:154"},"nodeType":"YulFunctionCall","src":"4712:20:154"},{"kind":"number","nodeType":"YulLiteral","src":"4734:4:154","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"4740:4:154","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"4659:10:154"},"nodeType":"YulFunctionCall","src":"4659:86:154"},"variableNames":[{"name":"success","nodeType":"YulIdentifier","src":"4648:7:154"}]},{"nodeType":"YulAssignment","src":"4758:30:154","value":{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"4772:14:154"},"nodeType":"YulFunctionCall","src":"4772:16:154"},"variableNames":[{"name":"returnSize","nodeType":"YulIdentifier","src":"4758:10:154"}]},{"nodeType":"YulAssignment","src":"4801:26:154","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4822:4:154","type":"","value":"0x00"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4816:5:154"},"nodeType":"YulFunctionCall","src":"4816:11:154"},"variableNames":[{"name":"returnValue","nodeType":"YulIdentifier","src":"4801:11:154"}]}]},"evmVersion":"london","externalReferences":[{"declaration":24532,"isOffset":false,"isSlot":false,"src":"4677:7:154","valueSize":1},{"declaration":24540,"isOffset":false,"isSlot":false,"src":"4690:13:154","valueSize":1},{"declaration":24540,"isOffset":false,"isSlot":false,"src":"4718:13:154","valueSize":1},{"declaration":24553,"isOffset":false,"isSlot":false,"src":"4758:10:154","valueSize":1},{"declaration":24556,"isOffset":false,"isSlot":false,"src":"4801:11:154","valueSize":1},{"declaration":24550,"isOffset":false,"isSlot":false,"src":"4648:7:154","valueSize":1}],"id":24558,"nodeType":"InlineAssembly","src":"4625:212:154"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24559,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24550,"src":"4854:7:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24560,"name":"returnSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24553,"src":"4865:10:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783230","id":24561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4879:4:154","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"4865:18:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4854:29:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24564,"name":"returnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24556,"src":"4887:11:154","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":24565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4901:1:154","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4887:15:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4854:48:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24538,"id":24568,"nodeType":"Return","src":"4847:55:154"}]},"documentation":{"id":24530,"nodeType":"StructuredDocumentation","src":"3605:652:154","text":" @notice Query if a contract implements an interface, does not check ERC165 support\n @param account The address of the contract to query for support of an interface\n @param interfaceId The interface identifier, as specified in ERC-165\n @return true if the contract at account indicates support of the interface with\n identifier interfaceId, false otherwise\n @dev Assumes that account contains a contract that supports ERC165, otherwise\n the behavior of this method is undefined. This precondition can be checked\n with {supportsERC165}.\n Interface identification is specified in ERC-165."},"id":24570,"implemented":true,"kind":"function","modifiers":[],"name":"supportsERC165InterfaceUnchecked","nameLocation":"4271:32:154","nodeType":"FunctionDefinition","parameters":{"id":24535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24532,"mutability":"mutable","name":"account","nameLocation":"4312:7:154","nodeType":"VariableDeclaration","scope":24570,"src":"4304:15:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24531,"name":"address","nodeType":"ElementaryTypeName","src":"4304:7:154","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24534,"mutability":"mutable","name":"interfaceId","nameLocation":"4328:11:154","nodeType":"VariableDeclaration","scope":24570,"src":"4321:18:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24533,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4321:6:154","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4303:37:154"},"returnParameters":{"id":24538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24570,"src":"4364:4:154","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24536,"name":"bool","nodeType":"ElementaryTypeName","src":"4364:4:154","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4363:6:154"},"scope":24571,"src":"4262:647:154","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":24572,"src":"449:4462:154","usedErrors":[]}],"src":"121:4791:154"},"id":154},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol","exportedSymbols":{"ERC165":[24377],"ERC165Storage":[24622],"IERC165":[24693]},"id":24623,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24573,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"106:23:155"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"./ERC165.sol","id":24574,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24623,"sourceUnit":24378,"src":"131:22:155","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":24576,"name":"ERC165","nodeType":"IdentifierPath","referencedDeclaration":24377,"src":"376:6:155"},"id":24577,"nodeType":"InheritanceSpecifier","src":"376:6:155"}],"canonicalName":"ERC165Storage","contractDependencies":[],"contractKind":"contract","documentation":{"id":24575,"nodeType":"StructuredDocumentation","src":"155:185:155","text":" @dev Storage based implementation of the {IERC165} interface.\n Contracts may inherit from this and call {_registerInterface} to declare\n their support of an interface."},"fullyImplemented":true,"id":24622,"linearizedBaseContracts":[24622,24377,24693],"name":"ERC165Storage","nameLocation":"359:13:155","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":24578,"nodeType":"StructuredDocumentation","src":"389:82:155","text":" @dev Mapping of interface ids to whether or not it's supported."},"id":24582,"mutability":"mutable","name":"_supportedInterfaces","nameLocation":"508:20:155","nodeType":"VariableDeclaration","scope":24622,"src":"476:52:155","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"},"typeName":{"id":24581,"keyType":{"id":24579,"name":"bytes4","nodeType":"ElementaryTypeName","src":"484:6:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"476:23:155","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"},"valueType":{"id":24580,"name":"bool","nodeType":"ElementaryTypeName","src":"494:4:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"baseFunctions":[24376],"body":{"id":24600,"nodeType":"Block","src":"687:97:155","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24593,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24585,"src":"728:11:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":24591,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"704:5:155","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC165Storage_$24622_$","typeString":"type(contract super ERC165Storage)"}},"id":24592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":24376,"src":"704:23:155","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":24594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"704:36:155","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"id":24595,"name":"_supportedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24582,"src":"744:20:155","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":24597,"indexExpression":{"id":24596,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24585,"src":"765:11:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"744:33:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"704:73:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24590,"id":24599,"nodeType":"Return","src":"697:80:155"}]},"documentation":{"id":24583,"nodeType":"StructuredDocumentation","src":"535:56:155","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":24601,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"605:17:155","nodeType":"FunctionDefinition","overrides":{"id":24587,"nodeType":"OverrideSpecifier","overrides":[],"src":"663:8:155"},"parameters":{"id":24586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24585,"mutability":"mutable","name":"interfaceId","nameLocation":"630:11:155","nodeType":"VariableDeclaration","scope":24601,"src":"623:18:155","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24584,"name":"bytes4","nodeType":"ElementaryTypeName","src":"623:6:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"622:20:155"},"returnParameters":{"id":24590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24601,"src":"681:4:155","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24588,"name":"bool","nodeType":"ElementaryTypeName","src":"681:4:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"680:6:155"},"scope":24622,"src":"596:188:155","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":24620,"nodeType":"Block","src":"1243:133:155","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":24610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24608,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24604,"src":"1261:11:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30786666666666666666","id":24609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1276:10:155","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"src":"1261:25:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433136353a20696e76616c696420696e74657266616365206964","id":24611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1288:30:155","typeDescriptions":{"typeIdentifier":"t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee","typeString":"literal_string \"ERC165: invalid interface id\""},"value":"ERC165: invalid interface id"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee","typeString":"literal_string \"ERC165: invalid interface id\""}],"id":24607,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1253:7:155","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":24612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1253:66:155","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24613,"nodeType":"ExpressionStatement","src":"1253:66:155"},{"expression":{"id":24618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":24614,"name":"_supportedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24582,"src":"1329:20:155","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":24616,"indexExpression":{"id":24615,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24604,"src":"1350:11:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1329:33:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":24617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1365:4:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1329:40:155","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24619,"nodeType":"ExpressionStatement","src":"1329:40:155"}]},"documentation":{"id":24602,"nodeType":"StructuredDocumentation","src":"790:383:155","text":" @dev Registers the contract as an implementer of the interface defined by\n `interfaceId`. Support of the actual ERC165 interface is automatic and\n registering its interface id is not required.\n See {IERC165-supportsInterface}.\n Requirements:\n - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`)."},"id":24621,"implemented":true,"kind":"function","modifiers":[],"name":"_registerInterface","nameLocation":"1187:18:155","nodeType":"FunctionDefinition","parameters":{"id":24605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24604,"mutability":"mutable","name":"interfaceId","nameLocation":"1213:11:155","nodeType":"VariableDeclaration","scope":24621,"src":"1206:18:155","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24603,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1206:6:155","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1205:20:155"},"returnParameters":{"id":24606,"nodeType":"ParameterList","parameters":[],"src":"1243:0:155"},"scope":24622,"src":"1178:198:155","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":24623,"src":"341:1037:155","usedErrors":[]}],"src":"106:1273:155"},"id":155},"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol","exportedSymbols":{"ERC1820Implementer":[24681],"IERC1820Implementer":[24707]},"id":24682,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24624,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"111:23:156"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol","file":"./IERC1820Implementer.sol","id":24625,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24682,"sourceUnit":24708,"src":"136:35:156","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":24627,"name":"IERC1820Implementer","nodeType":"IdentifierPath","referencedDeclaration":24707,"src":"513:19:156"},"id":24628,"nodeType":"InheritanceSpecifier","src":"513:19:156"}],"canonicalName":"ERC1820Implementer","contractDependencies":[],"contractKind":"contract","documentation":{"id":24626,"nodeType":"StructuredDocumentation","src":"173:308:156","text":" @dev Implementation of the {IERC1820Implementer} interface.\n Contracts may inherit from this and call {_registerInterfaceForAddress} to\n declare their willingness to be implementers.\n {IERC1820Registry-setInterfaceImplementer} should then be called for the\n registration to be complete."},"fullyImplemented":true,"id":24681,"linearizedBaseContracts":[24681,24707],"name":"ERC1820Implementer","nameLocation":"491:18:156","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":24633,"mutability":"constant","name":"_ERC1820_ACCEPT_MAGIC","nameLocation":"564:21:156","nodeType":"VariableDeclaration","scope":24681,"src":"539:82:156","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"539:7:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"455243313832305f4143434550545f4d41474943","id":24631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:22:156","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b4","typeString":"literal_string \"ERC1820_ACCEPT_MAGIC\""},"value":"ERC1820_ACCEPT_MAGIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b4","typeString":"literal_string \"ERC1820_ACCEPT_MAGIC\""}],"id":24630,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"588:9:156","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":24632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"588:33:156","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"constant":false,"id":24639,"mutability":"mutable","name":"_supportedInterfaces","nameLocation":"681:20:156","nodeType":"VariableDeclaration","scope":24681,"src":"628:73:156","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(bytes32 => mapping(address => bool))"},"typeName":{"id":24638,"keyType":{"id":24634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"636:7:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"628:44:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(bytes32 => mapping(address => bool))"},"valueType":{"id":24637,"keyType":{"id":24635,"name":"address","nodeType":"ElementaryTypeName","src":"655:7:156","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"647:24:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":24636,"name":"bool","nodeType":"ElementaryTypeName","src":"666:4:156","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"baseFunctions":[24706],"body":{"id":24662,"nodeType":"Block","src":"967:108:156","statements":[{"expression":{"condition":{"baseExpression":{"baseExpression":{"id":24650,"name":"_supportedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24639,"src":"984:20:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(bytes32 => mapping(address => bool))"}},"id":24652,"indexExpression":{"id":24651,"name":"interfaceHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24642,"src":"1005:13:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"984:35:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":24654,"indexExpression":{"id":24653,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24644,"src":"1020:7:156","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"984:44:156","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30783030","id":24658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1063:4:156","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":24657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1055:7:156","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1055:7:156","typeDescriptions":{}}},"id":24659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1055:13:156","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"984:84:156","trueExpression":{"id":24655,"name":"_ERC1820_ACCEPT_MAGIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24633,"src":"1031:21:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":24649,"id":24661,"nodeType":"Return","src":"977:91:156"}]},"documentation":{"id":24640,"nodeType":"StructuredDocumentation","src":"708:82:156","text":" @dev See {IERC1820Implementer-canImplementInterfaceForAddress}."},"functionSelector":"249cb3fa","id":24663,"implemented":true,"kind":"function","modifiers":[],"name":"canImplementInterfaceForAddress","nameLocation":"804:31:156","nodeType":"FunctionDefinition","overrides":{"id":24646,"nodeType":"OverrideSpecifier","overrides":[],"src":"928:8:156"},"parameters":{"id":24645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24642,"mutability":"mutable","name":"interfaceHash","nameLocation":"844:13:156","nodeType":"VariableDeclaration","scope":24663,"src":"836:21:156","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"836:7:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":24644,"mutability":"mutable","name":"account","nameLocation":"867:7:156","nodeType":"VariableDeclaration","scope":24663,"src":"859:15:156","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24643,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:156","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"835:40:156"},"returnParameters":{"id":24649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24663,"src":"954:7:156","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"954:7:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"953:9:156"},"scope":24681,"src":"795:280:156","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":24679,"nodeType":"Block","src":"1405:68:156","statements":[{"expression":{"id":24677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":24671,"name":"_supportedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24639,"src":"1415:20:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(bytes32 => mapping(address => bool))"}},"id":24674,"indexExpression":{"id":24672,"name":"interfaceHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24666,"src":"1436:13:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1415:35:156","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":24675,"indexExpression":{"id":24673,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24668,"src":"1451:7:156","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1415:44:156","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":24676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1462:4:156","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1415:51:156","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24678,"nodeType":"ExpressionStatement","src":"1415:51:156"}]},"documentation":{"id":24664,"nodeType":"StructuredDocumentation","src":"1081:224:156","text":" @dev Declares the contract as willing to be an implementer of\n `interfaceHash` for `account`.\n See {IERC1820Registry-setInterfaceImplementer} and\n {IERC1820Registry-interfaceHash}."},"id":24680,"implemented":true,"kind":"function","modifiers":[],"name":"_registerInterfaceForAddress","nameLocation":"1319:28:156","nodeType":"FunctionDefinition","parameters":{"id":24669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24666,"mutability":"mutable","name":"interfaceHash","nameLocation":"1356:13:156","nodeType":"VariableDeclaration","scope":24680,"src":"1348:21:156","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1348:7:156","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":24668,"mutability":"mutable","name":"account","nameLocation":"1379:7:156","nodeType":"VariableDeclaration","scope":24680,"src":"1371:15:156","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24667,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:156","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1347:40:156"},"returnParameters":{"id":24670,"nodeType":"ParameterList","parameters":[],"src":"1405:0:156"},"scope":24681,"src":"1310:163:156","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":24682,"src":"482:993:156","usedErrors":[]}],"src":"111:1365:156"},"id":156},"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[24693]},"id":24694,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24683,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:157"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":24684,"nodeType":"StructuredDocumentation","src":"125:279:157","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":24693,"linearizedBaseContracts":[24693],"name":"IERC165","nameLocation":"415:7:157","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":24685,"nodeType":"StructuredDocumentation","src":"429:340:157","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":24692,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"783:17:157","nodeType":"FunctionDefinition","parameters":{"id":24688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24687,"mutability":"mutable","name":"interfaceId","nameLocation":"808:11:157","nodeType":"VariableDeclaration","scope":24692,"src":"801:18:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24686,"name":"bytes4","nodeType":"ElementaryTypeName","src":"801:6:157","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"800:20:157"},"returnParameters":{"id":24691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24692,"src":"844:4:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24689,"name":"bool","nodeType":"ElementaryTypeName","src":"844:4:157","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"843:6:157"},"scope":24693,"src":"774:76:157","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":24694,"src":"405:447:157","usedErrors":[]}],"src":"100:753:157"},"id":157},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol","exportedSymbols":{"IERC1820Implementer":[24707]},"id":24708,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24695,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:158"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1820Implementer","contractDependencies":[],"contractKind":"interface","documentation":{"id":24696,"nodeType":"StructuredDocumentation","src":"137:264:158","text":" @dev Interface for an ERC1820 implementer, as defined in the\n https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP].\n Used by contracts that will be registered as implementers in the\n {IERC1820Registry}."},"fullyImplemented":false,"id":24707,"linearizedBaseContracts":[24707],"name":"IERC1820Implementer","nameLocation":"412:19:158","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":24697,"nodeType":"StructuredDocumentation","src":"438:200:158","text":" @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract\n implements `interfaceHash` for `account`.\n See {IERC1820Registry-setInterfaceImplementer}."},"functionSelector":"249cb3fa","id":24706,"implemented":false,"kind":"function","modifiers":[],"name":"canImplementInterfaceForAddress","nameLocation":"652:31:158","nodeType":"FunctionDefinition","parameters":{"id":24702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24699,"mutability":"mutable","name":"interfaceHash","nameLocation":"692:13:158","nodeType":"VariableDeclaration","scope":24706,"src":"684:21:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"684:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":24701,"mutability":"mutable","name":"account","nameLocation":"715:7:158","nodeType":"VariableDeclaration","scope":24706,"src":"707:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24700,"name":"address","nodeType":"ElementaryTypeName","src":"707:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"683:40:158"},"returnParameters":{"id":24705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24706,"src":"747:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"747:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"746:9:158"},"scope":24707,"src":"643:113:158","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":24708,"src":"402:356:158","usedErrors":[]}],"src":"112:647:158"},"id":158},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol","exportedSymbols":{"IERC1820Registry":[24797]},"id":24798,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24709,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"124:23:159"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1820Registry","contractDependencies":[],"contractKind":"interface","documentation":{"id":24710,"nodeType":"StructuredDocumentation","src":"149:619:159","text":" @dev Interface of the global ERC1820 Registry, as defined in the\n https://eips.ethereum.org/EIPS/eip-1820[EIP]. Accounts may register\n implementers for interfaces in this registry, as well as query support.\n Implementers may be shared by multiple accounts, and can also implement more\n than a single interface for each account. Contracts can implement interfaces\n for themselves, but externally-owned accounts (EOA) must delegate this to a\n contract.\n {IERC165} interfaces can also be queried via the registry.\n For an in-depth explanation and source code analysis, see the EIP text."},"fullyImplemented":false,"id":24797,"linearizedBaseContracts":[24797],"name":"IERC1820Registry","nameLocation":"779:16:159","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":24718,"name":"InterfaceImplementerSet","nameLocation":"808:23:159","nodeType":"EventDefinition","parameters":{"id":24717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24712,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"848:7:159","nodeType":"VariableDeclaration","scope":24718,"src":"832:23:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24711,"name":"address","nodeType":"ElementaryTypeName","src":"832:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24714,"indexed":true,"mutability":"mutable","name":"interfaceHash","nameLocation":"873:13:159","nodeType":"VariableDeclaration","scope":24718,"src":"857:29:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"857:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":24716,"indexed":true,"mutability":"mutable","name":"implementer","nameLocation":"904:11:159","nodeType":"VariableDeclaration","scope":24718,"src":"888:27:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24715,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"831:85:159"},"src":"802:115:159"},{"anonymous":false,"id":24724,"name":"ManagerChanged","nameLocation":"929:14:159","nodeType":"EventDefinition","parameters":{"id":24723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24720,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"960:7:159","nodeType":"VariableDeclaration","scope":24724,"src":"944:23:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24719,"name":"address","nodeType":"ElementaryTypeName","src":"944:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24722,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"985:10:159","nodeType":"VariableDeclaration","scope":24724,"src":"969:26:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24721,"name":"address","nodeType":"ElementaryTypeName","src":"969:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"943:53:159"},"src":"923:74:159"},{"documentation":{"id":24725,"nodeType":"StructuredDocumentation","src":"1003:445:159","text":" @dev Sets `newManager` as the manager for `account`. A manager of an\n account is able to set interface implementers for it.\n By default, each account is its own manager. Passing a value of `0x0` in\n `newManager` will reset the manager to this initial state.\n Emits a {ManagerChanged} event.\n Requirements:\n - the caller must be the current manager for `account`."},"functionSelector":"5df8122f","id":24732,"implemented":false,"kind":"function","modifiers":[],"name":"setManager","nameLocation":"1462:10:159","nodeType":"FunctionDefinition","parameters":{"id":24730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24727,"mutability":"mutable","name":"account","nameLocation":"1481:7:159","nodeType":"VariableDeclaration","scope":24732,"src":"1473:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24726,"name":"address","nodeType":"ElementaryTypeName","src":"1473:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24729,"mutability":"mutable","name":"newManager","nameLocation":"1498:10:159","nodeType":"VariableDeclaration","scope":24732,"src":"1490:18:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24728,"name":"address","nodeType":"ElementaryTypeName","src":"1490:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1472:37:159"},"returnParameters":{"id":24731,"nodeType":"ParameterList","parameters":[],"src":"1518:0:159"},"scope":24797,"src":"1453:66:159","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":24733,"nodeType":"StructuredDocumentation","src":"1525:90:159","text":" @dev Returns the manager for `account`.\n See {setManager}."},"functionSelector":"3d584063","id":24740,"implemented":false,"kind":"function","modifiers":[],"name":"getManager","nameLocation":"1629:10:159","nodeType":"FunctionDefinition","parameters":{"id":24736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24735,"mutability":"mutable","name":"account","nameLocation":"1648:7:159","nodeType":"VariableDeclaration","scope":24740,"src":"1640:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24734,"name":"address","nodeType":"ElementaryTypeName","src":"1640:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1639:17:159"},"returnParameters":{"id":24739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24740,"src":"1680:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24737,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1679:9:159"},"scope":24797,"src":"1620:69:159","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":24741,"nodeType":"StructuredDocumentation","src":"1695:815:159","text":" @dev Sets the `implementer` contract as ``account``'s implementer for\n `interfaceHash`.\n `account` being the zero address is an alias for the caller's address.\n The zero address can also be used in `implementer` to remove an old one.\n See {interfaceHash} to learn how these are created.\n Emits an {InterfaceImplementerSet} event.\n Requirements:\n - the caller must be the current manager for `account`.\n - `interfaceHash` must not be an {IERC165} interface id (i.e. it must not\n end in 28 zeroes).\n - `implementer` must implement {IERC1820Implementer} and return true when\n queried for support, unless `implementer` is the caller. See\n {IERC1820Implementer-canImplementInterfaceForAddress}."},"functionSelector":"29965a1d","id":24750,"implemented":false,"kind":"function","modifiers":[],"name":"setInterfaceImplementer","nameLocation":"2524:23:159","nodeType":"FunctionDefinition","parameters":{"id":24748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24743,"mutability":"mutable","name":"account","nameLocation":"2565:7:159","nodeType":"VariableDeclaration","scope":24750,"src":"2557:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24742,"name":"address","nodeType":"ElementaryTypeName","src":"2557:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24745,"mutability":"mutable","name":"_interfaceHash","nameLocation":"2590:14:159","nodeType":"VariableDeclaration","scope":24750,"src":"2582:22:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2582:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":24747,"mutability":"mutable","name":"implementer","nameLocation":"2622:11:159","nodeType":"VariableDeclaration","scope":24750,"src":"2614:19:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24746,"name":"address","nodeType":"ElementaryTypeName","src":"2614:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2547:92:159"},"returnParameters":{"id":24749,"nodeType":"ParameterList","parameters":[],"src":"2648:0:159"},"scope":24797,"src":"2515:134:159","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":24751,"nodeType":"StructuredDocumentation","src":"2655:382:159","text":" @dev Returns the implementer of `interfaceHash` for `account`. If no such\n implementer is registered, returns the zero address.\n If `interfaceHash` is an {IERC165} interface id (i.e. it ends with 28\n zeroes), `account` will be queried for support of it.\n `account` being the zero address is an alias for the caller's address."},"functionSelector":"aabbb8ca","id":24760,"implemented":false,"kind":"function","modifiers":[],"name":"getInterfaceImplementer","nameLocation":"3051:23:159","nodeType":"FunctionDefinition","parameters":{"id":24756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24753,"mutability":"mutable","name":"account","nameLocation":"3083:7:159","nodeType":"VariableDeclaration","scope":24760,"src":"3075:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24752,"name":"address","nodeType":"ElementaryTypeName","src":"3075:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24755,"mutability":"mutable","name":"_interfaceHash","nameLocation":"3100:14:159","nodeType":"VariableDeclaration","scope":24760,"src":"3092:22:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3092:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3074:41:159"},"returnParameters":{"id":24759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24760,"src":"3139:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24757,"name":"address","nodeType":"ElementaryTypeName","src":"3139:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3138:9:159"},"scope":24797,"src":"3042:106:159","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":24761,"nodeType":"StructuredDocumentation","src":"3154:196:159","text":" @dev Returns the interface hash for an `interfaceName`, as defined in the\n corresponding\n https://eips.ethereum.org/EIPS/eip-1820#interface-name[section of the EIP]."},"functionSelector":"65ba36c1","id":24768,"implemented":false,"kind":"function","modifiers":[],"name":"interfaceHash","nameLocation":"3364:13:159","nodeType":"FunctionDefinition","parameters":{"id":24764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24763,"mutability":"mutable","name":"interfaceName","nameLocation":"3394:13:159","nodeType":"VariableDeclaration","scope":24768,"src":"3378:29:159","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":24762,"name":"string","nodeType":"ElementaryTypeName","src":"3378:6:159","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3377:31:159"},"returnParameters":{"id":24767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24768,"src":"3432:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3432:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3431:9:159"},"scope":24797,"src":"3355:86:159","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":24769,"nodeType":"StructuredDocumentation","src":"3447:260:159","text":" @notice Updates the cache with whether the contract implements an ERC165 interface or not.\n @param account Address of the contract for which to update the cache.\n @param interfaceId ERC165 interface for which to update the cache."},"functionSelector":"a41e7d51","id":24776,"implemented":false,"kind":"function","modifiers":[],"name":"updateERC165Cache","nameLocation":"3721:17:159","nodeType":"FunctionDefinition","parameters":{"id":24774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24771,"mutability":"mutable","name":"account","nameLocation":"3747:7:159","nodeType":"VariableDeclaration","scope":24776,"src":"3739:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24770,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24773,"mutability":"mutable","name":"interfaceId","nameLocation":"3763:11:159","nodeType":"VariableDeclaration","scope":24776,"src":"3756:18:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24772,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3756:6:159","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3738:37:159"},"returnParameters":{"id":24775,"nodeType":"ParameterList","parameters":[],"src":"3784:0:159"},"scope":24797,"src":"3712:73:159","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":24777,"nodeType":"StructuredDocumentation","src":"3791:536:159","text":" @notice Checks whether a contract implements an ERC165 interface or not.\n If the result is not cached a direct lookup on the contract address is performed.\n If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling\n {updateERC165Cache} with the contract address.\n @param account Address of the contract to check.\n @param interfaceId ERC165 interface to check.\n @return True if `account` implements `interfaceId`, false otherwise."},"functionSelector":"f712f3e8","id":24786,"implemented":false,"kind":"function","modifiers":[],"name":"implementsERC165Interface","nameLocation":"4341:25:159","nodeType":"FunctionDefinition","parameters":{"id":24782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24779,"mutability":"mutable","name":"account","nameLocation":"4375:7:159","nodeType":"VariableDeclaration","scope":24786,"src":"4367:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24778,"name":"address","nodeType":"ElementaryTypeName","src":"4367:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24781,"mutability":"mutable","name":"interfaceId","nameLocation":"4391:11:159","nodeType":"VariableDeclaration","scope":24786,"src":"4384:18:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24780,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4384:6:159","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4366:37:159"},"returnParameters":{"id":24785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24786,"src":"4427:4:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24783,"name":"bool","nodeType":"ElementaryTypeName","src":"4427:4:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4426:6:159"},"scope":24797,"src":"4332:101:159","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":24787,"nodeType":"StructuredDocumentation","src":"4439:312:159","text":" @notice Checks whether a contract implements an ERC165 interface or not without using or updating the cache.\n @param account Address of the contract to check.\n @param interfaceId ERC165 interface to check.\n @return True if `account` implements `interfaceId`, false otherwise."},"functionSelector":"b7056765","id":24796,"implemented":false,"kind":"function","modifiers":[],"name":"implementsERC165InterfaceNoCache","nameLocation":"4765:32:159","nodeType":"FunctionDefinition","parameters":{"id":24792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24789,"mutability":"mutable","name":"account","nameLocation":"4806:7:159","nodeType":"VariableDeclaration","scope":24796,"src":"4798:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24788,"name":"address","nodeType":"ElementaryTypeName","src":"4798:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24791,"mutability":"mutable","name":"interfaceId","nameLocation":"4822:11:159","nodeType":"VariableDeclaration","scope":24796,"src":"4815:18:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":24790,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4815:6:159","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4797:37:159"},"returnParameters":{"id":24795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24796,"src":"4858:4:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24793,"name":"bool","nodeType":"ElementaryTypeName","src":"4858:4:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4857:6:159"},"scope":24797,"src":"4756:108:159","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":24798,"src":"769:4097:159","usedErrors":[]}],"src":"124:4743:159"},"id":159},"contracts/@openzeppelin/contracts/utils/math/Math.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/Math.sol","exportedSymbols":{"Math":[25662]},"id":25663,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24799,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:160"},{"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":24800,"nodeType":"StructuredDocumentation","src":"128:73:160","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"id":25662,"linearizedBaseContracts":[25662],"name":"Math","nameLocation":"210:4:160","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Math.Rounding","id":24804,"members":[{"id":24801,"name":"Down","nameLocation":"245:4:160","nodeType":"EnumValue","src":"245:4:160"},{"id":24802,"name":"Up","nameLocation":"287:2:160","nodeType":"EnumValue","src":"287:2:160"},{"id":24803,"name":"Zero","nameLocation":"318:4:160","nodeType":"EnumValue","src":"318:4:160"}],"name":"Rounding","nameLocation":"226:8:160","nodeType":"EnumDefinition","src":"221:122:160"},{"body":{"id":24821,"nodeType":"Block","src":"480:37:160","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24814,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24807,"src":"497:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":24815,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24809,"src":"501:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:5:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":24818,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24809,"src":"509:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"497:13:160","trueExpression":{"id":24817,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24807,"src":"505:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24813,"id":24820,"nodeType":"Return","src":"490:20:160"}]},"documentation":{"id":24805,"nodeType":"StructuredDocumentation","src":"349:59:160","text":" @dev Returns the largest of two numbers."},"id":24822,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"422:3:160","nodeType":"FunctionDefinition","parameters":{"id":24810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24807,"mutability":"mutable","name":"a","nameLocation":"434:1:160","nodeType":"VariableDeclaration","scope":24822,"src":"426:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24806,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24809,"mutability":"mutable","name":"b","nameLocation":"445:1:160","nodeType":"VariableDeclaration","scope":24822,"src":"437:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24808,"name":"uint256","nodeType":"ElementaryTypeName","src":"437:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"425:22:160"},"returnParameters":{"id":24813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24822,"src":"471:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24811,"name":"uint256","nodeType":"ElementaryTypeName","src":"471:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"470:9:160"},"scope":25662,"src":"413:104:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24839,"nodeType":"Block","src":"655:37:160","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24832,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24825,"src":"672:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":24833,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24827,"src":"676:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"672:5:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":24836,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24827,"src":"684:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"672:13:160","trueExpression":{"id":24835,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24825,"src":"680:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24831,"id":24838,"nodeType":"Return","src":"665:20:160"}]},"documentation":{"id":24823,"nodeType":"StructuredDocumentation","src":"523:60:160","text":" @dev Returns the smallest of two numbers."},"id":24840,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"597:3:160","nodeType":"FunctionDefinition","parameters":{"id":24828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24825,"mutability":"mutable","name":"a","nameLocation":"609:1:160","nodeType":"VariableDeclaration","scope":24840,"src":"601:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24824,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24827,"mutability":"mutable","name":"b","nameLocation":"620:1:160","nodeType":"VariableDeclaration","scope":24840,"src":"612:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24826,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"600:22:160"},"returnParameters":{"id":24831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24840,"src":"646:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24829,"name":"uint256","nodeType":"ElementaryTypeName","src":"646:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"645:9:160"},"scope":25662,"src":"588:104:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24862,"nodeType":"Block","src":"876:82:160","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24850,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24843,"src":"931:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":24851,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24845,"src":"935:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"931:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24853,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"930:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24854,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24843,"src":"941:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":24855,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24845,"src":"945:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"941:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"940:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":24858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"950:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"940:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"930:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24849,"id":24861,"nodeType":"Return","src":"923:28:160"}]},"documentation":{"id":24841,"nodeType":"StructuredDocumentation","src":"698:102:160","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"id":24863,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"814:7:160","nodeType":"FunctionDefinition","parameters":{"id":24846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24843,"mutability":"mutable","name":"a","nameLocation":"830:1:160","nodeType":"VariableDeclaration","scope":24863,"src":"822:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24842,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24845,"mutability":"mutable","name":"b","nameLocation":"841:1:160","nodeType":"VariableDeclaration","scope":24863,"src":"833:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24844,"name":"uint256","nodeType":"ElementaryTypeName","src":"833:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:22:160"},"returnParameters":{"id":24849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24848,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24863,"src":"867:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24847,"name":"uint256","nodeType":"ElementaryTypeName","src":"867:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"866:9:160"},"scope":25662,"src":"805:153:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24887,"nodeType":"Block","src":"1228:123:160","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24873,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24866,"src":"1316:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":24874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1316:6:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24877,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24866,"src":"1330:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":24878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1334:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1330:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24880,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1329:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":24881,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24868,"src":"1339:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1329:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":24883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1329:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1316:28:160","trueExpression":{"hexValue":"30","id":24876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24872,"id":24886,"nodeType":"Return","src":"1309:35:160"}]},"documentation":{"id":24864,"nodeType":"StructuredDocumentation","src":"964:188:160","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down."},"id":24888,"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"1166:7:160","nodeType":"FunctionDefinition","parameters":{"id":24869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24866,"mutability":"mutable","name":"a","nameLocation":"1182:1:160","nodeType":"VariableDeclaration","scope":24888,"src":"1174:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24865,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24868,"mutability":"mutable","name":"b","nameLocation":"1193:1:160","nodeType":"VariableDeclaration","scope":24888,"src":"1185:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24867,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:22:160"},"returnParameters":{"id":24872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24888,"src":"1219:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24870,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1218:9:160"},"scope":25662,"src":"1157:194:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25009,"nodeType":"Block","src":"1795:3797:160","statements":[{"id":25008,"nodeType":"UncheckedBlock","src":"1805:3781:160","statements":[{"assignments":[24901],"declarations":[{"constant":false,"id":24901,"mutability":"mutable","name":"prod0","nameLocation":"2134:5:160","nodeType":"VariableDeclaration","scope":25008,"src":"2126:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24900,"name":"uint256","nodeType":"ElementaryTypeName","src":"2126:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24902,"nodeType":"VariableDeclarationStatement","src":"2126:13:160"},{"assignments":[24904],"declarations":[{"constant":false,"id":24904,"mutability":"mutable","name":"prod1","nameLocation":"2206:5:160","nodeType":"VariableDeclaration","scope":25008,"src":"2198:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2198:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24905,"nodeType":"VariableDeclarationStatement","src":"2198:13:160"},{"AST":{"nodeType":"YulBlock","src":"2278:157:160","statements":[{"nodeType":"YulVariableDeclaration","src":"2296:30:160","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2313:1:160"},{"name":"y","nodeType":"YulIdentifier","src":"2316:1:160"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2323:1:160","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2319:3:160"},"nodeType":"YulFunctionCall","src":"2319:6:160"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"2306:6:160"},"nodeType":"YulFunctionCall","src":"2306:20:160"},"variables":[{"name":"mm","nodeType":"YulTypedName","src":"2300:2:160","type":""}]},{"nodeType":"YulAssignment","src":"2343:18:160","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2356:1:160"},{"name":"y","nodeType":"YulIdentifier","src":"2359:1:160"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2352:3:160"},"nodeType":"YulFunctionCall","src":"2352:9:160"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"2343:5:160"}]},{"nodeType":"YulAssignment","src":"2378:43:160","value":{"arguments":[{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2395:2:160"},{"name":"prod0","nodeType":"YulIdentifier","src":"2399:5:160"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2391:3:160"},"nodeType":"YulFunctionCall","src":"2391:14:160"},{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2410:2:160"},{"name":"prod0","nodeType":"YulIdentifier","src":"2414:5:160"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2407:2:160"},"nodeType":"YulFunctionCall","src":"2407:13:160"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2387:3:160"},"nodeType":"YulFunctionCall","src":"2387:34:160"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"2378:5:160"}]}]},"evmVersion":"london","externalReferences":[{"declaration":24901,"isOffset":false,"isSlot":false,"src":"2343:5:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"2399:5:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"2414:5:160","valueSize":1},{"declaration":24904,"isOffset":false,"isSlot":false,"src":"2378:5:160","valueSize":1},{"declaration":24891,"isOffset":false,"isSlot":false,"src":"2313:1:160","valueSize":1},{"declaration":24891,"isOffset":false,"isSlot":false,"src":"2356:1:160","valueSize":1},{"declaration":24893,"isOffset":false,"isSlot":false,"src":"2316:1:160","valueSize":1},{"declaration":24893,"isOffset":false,"isSlot":false,"src":"2359:1:160","valueSize":1}],"id":24906,"nodeType":"InlineAssembly","src":"2269:166:160"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24907,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24904,"src":"2516:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":24908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2525:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2516:10:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24915,"nodeType":"IfStatement","src":"2512:75:160","trueBody":{"id":24914,"nodeType":"Block","src":"2528:59:160","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24910,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24901,"src":"2553:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":24911,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"2561:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2553:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24899,"id":24913,"nodeType":"Return","src":"2546:26:160"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24917,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"2697:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":24918,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24904,"src":"2711:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2697:19:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":24916,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2689:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":24920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2689:28:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24921,"nodeType":"ExpressionStatement","src":"2689:28:160"},{"assignments":[24923],"declarations":[{"constant":false,"id":24923,"mutability":"mutable","name":"remainder","nameLocation":"2981:9:160","nodeType":"VariableDeclaration","scope":25008,"src":"2973:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24922,"name":"uint256","nodeType":"ElementaryTypeName","src":"2973:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24924,"nodeType":"VariableDeclarationStatement","src":"2973:17:160"},{"AST":{"nodeType":"YulBlock","src":"3013:291:160","statements":[{"nodeType":"YulAssignment","src":"3082:38:160","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3102:1:160"},{"name":"y","nodeType":"YulIdentifier","src":"3105:1:160"},{"name":"denominator","nodeType":"YulIdentifier","src":"3108:11:160"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"3095:6:160"},"nodeType":"YulFunctionCall","src":"3095:25:160"},"variableNames":[{"name":"remainder","nodeType":"YulIdentifier","src":"3082:9:160"}]},{"nodeType":"YulAssignment","src":"3202:41:160","value":{"arguments":[{"name":"prod1","nodeType":"YulIdentifier","src":"3215:5:160"},{"arguments":[{"name":"remainder","nodeType":"YulIdentifier","src":"3225:9:160"},{"name":"prod0","nodeType":"YulIdentifier","src":"3236:5:160"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3222:2:160"},"nodeType":"YulFunctionCall","src":"3222:20:160"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3211:3:160"},"nodeType":"YulFunctionCall","src":"3211:32:160"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"3202:5:160"}]},{"nodeType":"YulAssignment","src":"3260:30:160","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"3273:5:160"},{"name":"remainder","nodeType":"YulIdentifier","src":"3280:9:160"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3269:3:160"},"nodeType":"YulFunctionCall","src":"3269:21:160"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"3260:5:160"}]}]},"evmVersion":"london","externalReferences":[{"declaration":24895,"isOffset":false,"isSlot":false,"src":"3108:11:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"3236:5:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"3260:5:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"3273:5:160","valueSize":1},{"declaration":24904,"isOffset":false,"isSlot":false,"src":"3202:5:160","valueSize":1},{"declaration":24904,"isOffset":false,"isSlot":false,"src":"3215:5:160","valueSize":1},{"declaration":24923,"isOffset":false,"isSlot":false,"src":"3082:9:160","valueSize":1},{"declaration":24923,"isOffset":false,"isSlot":false,"src":"3225:9:160","valueSize":1},{"declaration":24923,"isOffset":false,"isSlot":false,"src":"3280:9:160","valueSize":1},{"declaration":24891,"isOffset":false,"isSlot":false,"src":"3102:1:160","valueSize":1},{"declaration":24893,"isOffset":false,"isSlot":false,"src":"3105:1:160","valueSize":1}],"id":24925,"nodeType":"InlineAssembly","src":"3004:300:160"},{"assignments":[24927],"declarations":[{"constant":false,"id":24927,"mutability":"mutable","name":"twos","nameLocation":"3619:4:160","nodeType":"VariableDeclaration","scope":25008,"src":"3611:12:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24926,"name":"uint256","nodeType":"ElementaryTypeName","src":"3611:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24935,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24928,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"3626:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3641:12:160","subExpression":{"id":24929,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"3642:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":24931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3656:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3641:16:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24933,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3640:18:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3626:32:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3611:47:160"},{"AST":{"nodeType":"YulBlock","src":"3681:362:160","statements":[{"nodeType":"YulAssignment","src":"3746:37:160","value":{"arguments":[{"name":"denominator","nodeType":"YulIdentifier","src":"3765:11:160"},{"name":"twos","nodeType":"YulIdentifier","src":"3778:4:160"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"3761:3:160"},"nodeType":"YulFunctionCall","src":"3761:22:160"},"variableNames":[{"name":"denominator","nodeType":"YulIdentifier","src":"3746:11:160"}]},{"nodeType":"YulAssignment","src":"3850:25:160","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"3863:5:160"},{"name":"twos","nodeType":"YulIdentifier","src":"3870:4:160"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"3859:3:160"},"nodeType":"YulFunctionCall","src":"3859:16:160"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"3850:5:160"}]},{"nodeType":"YulAssignment","src":"3990:39:160","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4010:1:160","type":"","value":"0"},{"name":"twos","nodeType":"YulIdentifier","src":"4013:4:160"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4006:3:160"},"nodeType":"YulFunctionCall","src":"4006:12:160"},{"name":"twos","nodeType":"YulIdentifier","src":"4020:4:160"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4002:3:160"},"nodeType":"YulFunctionCall","src":"4002:23:160"},{"kind":"number","nodeType":"YulLiteral","src":"4027:1:160","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3998:3:160"},"nodeType":"YulFunctionCall","src":"3998:31:160"},"variableNames":[{"name":"twos","nodeType":"YulIdentifier","src":"3990:4:160"}]}]},"evmVersion":"london","externalReferences":[{"declaration":24895,"isOffset":false,"isSlot":false,"src":"3746:11:160","valueSize":1},{"declaration":24895,"isOffset":false,"isSlot":false,"src":"3765:11:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"3850:5:160","valueSize":1},{"declaration":24901,"isOffset":false,"isSlot":false,"src":"3863:5:160","valueSize":1},{"declaration":24927,"isOffset":false,"isSlot":false,"src":"3778:4:160","valueSize":1},{"declaration":24927,"isOffset":false,"isSlot":false,"src":"3870:4:160","valueSize":1},{"declaration":24927,"isOffset":false,"isSlot":false,"src":"3990:4:160","valueSize":1},{"declaration":24927,"isOffset":false,"isSlot":false,"src":"4013:4:160","valueSize":1},{"declaration":24927,"isOffset":false,"isSlot":false,"src":"4020:4:160","valueSize":1}],"id":24936,"nodeType":"InlineAssembly","src":"3672:371:160"},{"expression":{"id":24941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24937,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24901,"src":"4109:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24938,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24904,"src":"4118:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24939,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24927,"src":"4126:4:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4118:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4109:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24942,"nodeType":"ExpressionStatement","src":"4109:21:160"},{"assignments":[24944],"declarations":[{"constant":false,"id":24944,"mutability":"mutable","name":"inverse","nameLocation":"4456:7:160","nodeType":"VariableDeclaration","scope":25008,"src":"4448:15:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4448:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24951,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":24945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4467:1:160","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24946,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4471:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4467:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24948,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4466:17:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":24949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4486:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4466:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4448:39:160"},{"expression":{"id":24958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24952,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4704:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4715:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24954,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4719:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24955,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4733:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4719:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4715:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4704:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24959,"nodeType":"ExpressionStatement","src":"4704:36:160"},{"expression":{"id":24966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24960,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4773:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4784:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24962,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4788:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24963,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4802:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4788:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4784:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4773:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24967,"nodeType":"ExpressionStatement","src":"4773:36:160"},{"expression":{"id":24974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24968,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4843:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4854:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24970,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4858:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24971,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4872:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4858:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4854:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4843:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24975,"nodeType":"ExpressionStatement","src":"4843:36:160"},{"expression":{"id":24982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24976,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4913:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4924:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24978,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4928:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24979,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4942:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4928:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4924:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4913:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24983,"nodeType":"ExpressionStatement","src":"4913:36:160"},{"expression":{"id":24990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24984,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"4983:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4994:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24986,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"4998:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24987,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"5012:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4998:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4994:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4983:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24991,"nodeType":"ExpressionStatement","src":"4983:36:160"},{"expression":{"id":24998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24992,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"5054:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5065:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24994,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24895,"src":"5069:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":24995,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"5083:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5069:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5065:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5054:36:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24999,"nodeType":"ExpressionStatement","src":"5054:36:160"},{"expression":{"id":25004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25000,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24898,"src":"5524:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25001,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24901,"src":"5533:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":25002,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"5541:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5533:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5524:24:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25005,"nodeType":"ExpressionStatement","src":"5524:24:160"},{"expression":{"id":25006,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24898,"src":"5569:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24899,"id":25007,"nodeType":"Return","src":"5562:13:160"}]}]},"documentation":{"id":24889,"nodeType":"StructuredDocumentation","src":"1357:305:160","text":" @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license."},"id":25010,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"1676:6:160","nodeType":"FunctionDefinition","parameters":{"id":24896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24891,"mutability":"mutable","name":"x","nameLocation":"1700:1:160","nodeType":"VariableDeclaration","scope":25010,"src":"1692:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24890,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24893,"mutability":"mutable","name":"y","nameLocation":"1719:1:160","nodeType":"VariableDeclaration","scope":25010,"src":"1711:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24892,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24895,"mutability":"mutable","name":"denominator","nameLocation":"1738:11:160","nodeType":"VariableDeclaration","scope":25010,"src":"1730:19:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1730:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:73:160"},"returnParameters":{"id":24899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24898,"mutability":"mutable","name":"result","nameLocation":"1787:6:160","nodeType":"VariableDeclaration","scope":25010,"src":"1779:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1779:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1778:16:160"},"scope":25662,"src":"1667:3925:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25053,"nodeType":"Block","src":"5872:189:160","statements":[{"assignments":[25026],"declarations":[{"constant":false,"id":25026,"mutability":"mutable","name":"result","nameLocation":"5890:6:160","nodeType":"VariableDeclaration","scope":25053,"src":"5882:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25025,"name":"uint256","nodeType":"ElementaryTypeName","src":"5882:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25032,"initialValue":{"arguments":[{"id":25028,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25013,"src":"5906:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25029,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25015,"src":"5909:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25030,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25017,"src":"5912:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25027,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[25010,25054],"referencedDeclaration":25010,"src":"5899:6:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":25031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5899:25:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5882:42:160"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":25044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"id":25036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25033,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25020,"src":"5938:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":25034,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"5950:8:160","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":25035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"5950:11:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"src":"5938:23:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25038,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25013,"src":"5972:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25039,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25015,"src":"5975:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25040,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25017,"src":"5978:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25037,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"5965:6:160","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":25041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5965:25:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5993:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5965:29:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5938:56:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25050,"nodeType":"IfStatement","src":"5934:98:160","trueBody":{"id":25049,"nodeType":"Block","src":"5996:36:160","statements":[{"expression":{"id":25047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25045,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25026,"src":"6010:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":25046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6020:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6010:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25048,"nodeType":"ExpressionStatement","src":"6010:11:160"}]}},{"expression":{"id":25051,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25026,"src":"6048:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25024,"id":25052,"nodeType":"Return","src":"6041:13:160"}]},"documentation":{"id":25011,"nodeType":"StructuredDocumentation","src":"5598:121:160","text":" @notice Calculates x * y / denominator with full precision, following the selected rounding direction."},"id":25054,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"5733:6:160","nodeType":"FunctionDefinition","parameters":{"id":25021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25013,"mutability":"mutable","name":"x","nameLocation":"5757:1:160","nodeType":"VariableDeclaration","scope":25054,"src":"5749:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25012,"name":"uint256","nodeType":"ElementaryTypeName","src":"5749:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25015,"mutability":"mutable","name":"y","nameLocation":"5776:1:160","nodeType":"VariableDeclaration","scope":25054,"src":"5768:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25014,"name":"uint256","nodeType":"ElementaryTypeName","src":"5768:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25017,"mutability":"mutable","name":"denominator","nameLocation":"5795:11:160","nodeType":"VariableDeclaration","scope":25054,"src":"5787:19:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25016,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25020,"mutability":"mutable","name":"rounding","nameLocation":"5825:8:160","nodeType":"VariableDeclaration","scope":25054,"src":"5816:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":25019,"nodeType":"UserDefinedTypeName","pathNode":{"id":25018,"name":"Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"5816:8:160"},"referencedDeclaration":24804,"src":"5816:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"5739:100:160"},"returnParameters":{"id":25024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25054,"src":"5863:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25022,"name":"uint256","nodeType":"ElementaryTypeName","src":"5863:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5862:9:160"},"scope":25662,"src":"5724:337:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25165,"nodeType":"Block","src":"6337:1585:160","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25062,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"6351:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":25063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6356:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6351:6:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25068,"nodeType":"IfStatement","src":"6347:45:160","trueBody":{"id":25067,"nodeType":"Block","src":"6359:33:160","statements":[{"expression":{"hexValue":"30","id":25065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6380:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":25061,"id":25066,"nodeType":"Return","src":"6373:8:160"}]}},{"assignments":[25070],"declarations":[{"constant":false,"id":25070,"mutability":"mutable","name":"result","nameLocation":"7079:6:160","nodeType":"VariableDeclaration","scope":25165,"src":"7071:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25069,"name":"uint256","nodeType":"ElementaryTypeName","src":"7071:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25079,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":25071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7088:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25073,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7099:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25072,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[25334,25370],"referencedDeclaration":25334,"src":"7094:4:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7094:7:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7105:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7094:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7093:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7088:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7071:36:160"},{"id":25164,"nodeType":"UncheckedBlock","src":"7508:408:160","statements":[{"expression":{"id":25089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25080,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7532:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25081,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7542:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25082,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7551:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25083,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7555:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7551:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7542:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7541:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7566:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7541:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7532:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25090,"nodeType":"ExpressionStatement","src":"7532:35:160"},{"expression":{"id":25100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25091,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7581:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25092,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7591:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25093,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7600:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25094,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7604:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7600:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7591:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7590:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7615:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7590:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7581:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25101,"nodeType":"ExpressionStatement","src":"7581:35:160"},{"expression":{"id":25111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25102,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7630:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25103,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7640:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25104,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7649:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25105,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7653:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7649:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7640:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25108,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7639:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7664:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7639:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7630:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25112,"nodeType":"ExpressionStatement","src":"7630:35:160"},{"expression":{"id":25122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25113,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7679:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7689:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25115,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7698:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25116,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7702:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7698:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7689:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25119,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7688:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7713:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7688:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7679:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25123,"nodeType":"ExpressionStatement","src":"7679:35:160"},{"expression":{"id":25133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25124,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7728:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25125,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7738:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25126,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7747:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25127,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7751:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7747:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7738:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25130,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7737:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7762:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7737:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7728:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25134,"nodeType":"ExpressionStatement","src":"7728:35:160"},{"expression":{"id":25144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25135,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7777:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25136,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7787:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25137,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7796:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25138,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7800:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7796:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7787:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7786:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7811:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7786:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7777:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25145,"nodeType":"ExpressionStatement","src":"7777:35:160"},{"expression":{"id":25155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25146,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7826:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25147,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7836:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25148,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7845:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25149,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7849:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7845:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7836:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7835:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7860:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7835:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7826:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25156,"nodeType":"ExpressionStatement","src":"7826:35:160"},{"expression":{"arguments":[{"id":25158,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7886:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25159,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25057,"src":"7894:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":25160,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"7898:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7894:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25157,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24840,"src":"7882:3:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":25162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7882:23:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25061,"id":25163,"nodeType":"Return","src":"7875:30:160"}]}]},"documentation":{"id":25055,"nodeType":"StructuredDocumentation","src":"6067:208:160","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)."},"id":25166,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"6289:4:160","nodeType":"FunctionDefinition","parameters":{"id":25058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25057,"mutability":"mutable","name":"a","nameLocation":"6302:1:160","nodeType":"VariableDeclaration","scope":25166,"src":"6294:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25056,"name":"uint256","nodeType":"ElementaryTypeName","src":"6294:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6293:11:160"},"returnParameters":{"id":25061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25166,"src":"6328:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25059,"name":"uint256","nodeType":"ElementaryTypeName","src":"6328:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6327:9:160"},"scope":25662,"src":"6280:1642:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25201,"nodeType":"Block","src":"8098:161:160","statements":[{"id":25200,"nodeType":"UncheckedBlock","src":"8108:145:160","statements":[{"assignments":[25178],"declarations":[{"constant":false,"id":25178,"mutability":"mutable","name":"result","nameLocation":"8140:6:160","nodeType":"VariableDeclaration","scope":25200,"src":"8132:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25177,"name":"uint256","nodeType":"ElementaryTypeName","src":"8132:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25182,"initialValue":{"arguments":[{"id":25180,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25169,"src":"8154:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25179,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[25166,25202],"referencedDeclaration":25166,"src":"8149:4:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8149:7:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8132:24:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25183,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25178,"src":"8177:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":25193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"id":25187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25184,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25172,"src":"8187:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":25185,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"8199:8:160","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":25186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"8199:11:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"src":"8187:23:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25188,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25178,"src":"8214:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":25189,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25178,"src":"8223:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8214:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25191,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25169,"src":"8232:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8214:19:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8187:46:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":25195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8240:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":25196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8187:54:160","trueExpression":{"hexValue":"31","id":25194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8236:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":25197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8186:56:160","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8177:65:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25176,"id":25199,"nodeType":"Return","src":"8170:72:160"}]}]},"documentation":{"id":25167,"nodeType":"StructuredDocumentation","src":"7928:89:160","text":" @notice Calculates sqrt(a), following the selected rounding direction."},"id":25202,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"8031:4:160","nodeType":"FunctionDefinition","parameters":{"id":25173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25169,"mutability":"mutable","name":"a","nameLocation":"8044:1:160","nodeType":"VariableDeclaration","scope":25202,"src":"8036:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25168,"name":"uint256","nodeType":"ElementaryTypeName","src":"8036:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25172,"mutability":"mutable","name":"rounding","nameLocation":"8056:8:160","nodeType":"VariableDeclaration","scope":25202,"src":"8047:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":25171,"nodeType":"UserDefinedTypeName","pathNode":{"id":25170,"name":"Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"8047:8:160"},"referencedDeclaration":24804,"src":"8047:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8035:30:160"},"returnParameters":{"id":25176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25202,"src":"8089:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25174,"name":"uint256","nodeType":"ElementaryTypeName","src":"8089:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8088:9:160"},"scope":25662,"src":"8022:237:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25333,"nodeType":"Block","src":"8444:922:160","statements":[{"assignments":[25211],"declarations":[{"constant":false,"id":25211,"mutability":"mutable","name":"result","nameLocation":"8462:6:160","nodeType":"VariableDeclaration","scope":25333,"src":"8454:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25210,"name":"uint256","nodeType":"ElementaryTypeName","src":"8454:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25213,"initialValue":{"hexValue":"30","id":25212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8471:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8454:18:160"},{"id":25330,"nodeType":"UncheckedBlock","src":"8482:855:160","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25214,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8510:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":25215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8519:3:160","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8510:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8525:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8510:16:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25228,"nodeType":"IfStatement","src":"8506:99:160","trueBody":{"id":25227,"nodeType":"Block","src":"8528:77:160","statements":[{"expression":{"id":25221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25219,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8546:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":25220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8556:3:160","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8546:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25222,"nodeType":"ExpressionStatement","src":"8546:13:160"},{"expression":{"id":25225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25223,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"8577:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":25224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8587:3:160","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8577:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25226,"nodeType":"ExpressionStatement","src":"8577:13:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25229,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8622:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":25230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8631:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8622:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8636:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8622:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25243,"nodeType":"IfStatement","src":"8618:96:160","trueBody":{"id":25242,"nodeType":"Block","src":"8639:75:160","statements":[{"expression":{"id":25236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25234,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8657:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":25235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8667:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8657:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25237,"nodeType":"ExpressionStatement","src":"8657:12:160"},{"expression":{"id":25240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25238,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"8687:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":25239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8697:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8687:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25241,"nodeType":"ExpressionStatement","src":"8687:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25244,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8731:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":25245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8740:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8731:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8745:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8731:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25258,"nodeType":"IfStatement","src":"8727:96:160","trueBody":{"id":25257,"nodeType":"Block","src":"8748:75:160","statements":[{"expression":{"id":25251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8766:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":25250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8776:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8766:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25252,"nodeType":"ExpressionStatement","src":"8766:12:160"},{"expression":{"id":25255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25253,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"8796:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":25254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8806:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8796:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25256,"nodeType":"ExpressionStatement","src":"8796:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25259,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8840:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":25260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8849:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"8840:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8854:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8840:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25273,"nodeType":"IfStatement","src":"8836:96:160","trueBody":{"id":25272,"nodeType":"Block","src":"8857:75:160","statements":[{"expression":{"id":25266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25264,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8875:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":25265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8885:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"8875:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25267,"nodeType":"ExpressionStatement","src":"8875:12:160"},{"expression":{"id":25270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25268,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"8905:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":25269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8915:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"8905:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25271,"nodeType":"ExpressionStatement","src":"8905:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25274,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8949:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":25275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8958:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"8949:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8962:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8949:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25288,"nodeType":"IfStatement","src":"8945:93:160","trueBody":{"id":25287,"nodeType":"Block","src":"8965:73:160","statements":[{"expression":{"id":25281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"8983:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":25280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8993:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"8983:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25282,"nodeType":"ExpressionStatement","src":"8983:11:160"},{"expression":{"id":25285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25283,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"9012:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":25284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9022:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9012:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25286,"nodeType":"ExpressionStatement","src":"9012:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25289,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"9055:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":25290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9064:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9055:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9068:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9055:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25303,"nodeType":"IfStatement","src":"9051:93:160","trueBody":{"id":25302,"nodeType":"Block","src":"9071:73:160","statements":[{"expression":{"id":25296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25294,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"9089:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":25295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9099:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9089:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25297,"nodeType":"ExpressionStatement","src":"9089:11:160"},{"expression":{"id":25300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25298,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"9118:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":25299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9128:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9118:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25301,"nodeType":"ExpressionStatement","src":"9118:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25304,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"9161:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":25305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9161:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9174:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9161:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25318,"nodeType":"IfStatement","src":"9157:93:160","trueBody":{"id":25317,"nodeType":"Block","src":"9177:73:160","statements":[{"expression":{"id":25311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"9195:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":25310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9195:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25312,"nodeType":"ExpressionStatement","src":"9195:11:160"},{"expression":{"id":25315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25313,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"9224:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":25314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9234:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9224:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25316,"nodeType":"ExpressionStatement","src":"9224:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25319,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25205,"src":"9267:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":25320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9276:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9267:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9280:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9267:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25329,"nodeType":"IfStatement","src":"9263:64:160","trueBody":{"id":25328,"nodeType":"Block","src":"9283:44:160","statements":[{"expression":{"id":25326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25324,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"9301:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":25325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9311:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9301:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25327,"nodeType":"ExpressionStatement","src":"9301:11:160"}]}}]},{"expression":{"id":25331,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"9353:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25209,"id":25332,"nodeType":"Return","src":"9346:13:160"}]},"documentation":{"id":25203,"nodeType":"StructuredDocumentation","src":"8265:113:160","text":" @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0."},"id":25334,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"8392:4:160","nodeType":"FunctionDefinition","parameters":{"id":25206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25205,"mutability":"mutable","name":"value","nameLocation":"8405:5:160","nodeType":"VariableDeclaration","scope":25334,"src":"8397:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25204,"name":"uint256","nodeType":"ElementaryTypeName","src":"8397:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8396:15:160"},"returnParameters":{"id":25209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25334,"src":"8435:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25207,"name":"uint256","nodeType":"ElementaryTypeName","src":"8435:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8434:9:160"},"scope":25662,"src":"8383:983:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25369,"nodeType":"Block","src":"9599:165:160","statements":[{"id":25368,"nodeType":"UncheckedBlock","src":"9609:149:160","statements":[{"assignments":[25346],"declarations":[{"constant":false,"id":25346,"mutability":"mutable","name":"result","nameLocation":"9641:6:160","nodeType":"VariableDeclaration","scope":25368,"src":"9633:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25345,"name":"uint256","nodeType":"ElementaryTypeName","src":"9633:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25350,"initialValue":{"arguments":[{"id":25348,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25337,"src":"9655:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25347,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[25334,25370],"referencedDeclaration":25334,"src":"9650:4:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9650:11:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9633:28:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25351,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25346,"src":"9682:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":25361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"id":25355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25352,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25340,"src":"9692:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":25353,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"9704:8:160","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":25354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"9704:11:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"src":"9692:23:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":25356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9719:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":25357,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25346,"src":"9724:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9719:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25359,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25337,"src":"9733:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9719:19:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9692:46:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":25363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9745:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":25364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9692:54:160","trueExpression":{"hexValue":"31","id":25362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9741:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":25365,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9691:56:160","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9682:65:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25344,"id":25367,"nodeType":"Return","src":"9675:72:160"}]}]},"documentation":{"id":25335,"nodeType":"StructuredDocumentation","src":"9372:142:160","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":25370,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"9528:4:160","nodeType":"FunctionDefinition","parameters":{"id":25341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25337,"mutability":"mutable","name":"value","nameLocation":"9541:5:160","nodeType":"VariableDeclaration","scope":25370,"src":"9533:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25336,"name":"uint256","nodeType":"ElementaryTypeName","src":"9533:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25340,"mutability":"mutable","name":"rounding","nameLocation":"9557:8:160","nodeType":"VariableDeclaration","scope":25370,"src":"9548:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":25339,"nodeType":"UserDefinedTypeName","pathNode":{"id":25338,"name":"Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"9548:8:160"},"referencedDeclaration":24804,"src":"9548:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"9532:34:160"},"returnParameters":{"id":25344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25370,"src":"9590:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25342,"name":"uint256","nodeType":"ElementaryTypeName","src":"9590:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9589:9:160"},"scope":25662,"src":"9519:245:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25498,"nodeType":"Block","src":"9951:828:160","statements":[{"assignments":[25379],"declarations":[{"constant":false,"id":25379,"mutability":"mutable","name":"result","nameLocation":"9969:6:160","nodeType":"VariableDeclaration","scope":25498,"src":"9961:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25378,"name":"uint256","nodeType":"ElementaryTypeName","src":"9961:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25381,"initialValue":{"hexValue":"30","id":25380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9978:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9961:18:160"},{"id":25495,"nodeType":"UncheckedBlock","src":"9989:761:160","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25382,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10017:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":25385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10026:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":25384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10030:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10026:6:160","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10017:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25398,"nodeType":"IfStatement","src":"10013:99:160","trueBody":{"id":25397,"nodeType":"Block","src":"10034:78:160","statements":[{"expression":{"id":25391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25387,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10052:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":25390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10061:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":25389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10065:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10061:6:160","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10052:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25392,"nodeType":"ExpressionStatement","src":"10052:15:160"},{"expression":{"id":25395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25393,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10085:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":25394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10095:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10085:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25396,"nodeType":"ExpressionStatement","src":"10085:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25399,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10129:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":25402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10138:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":25401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10142:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10138:6:160","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10129:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25415,"nodeType":"IfStatement","src":"10125:99:160","trueBody":{"id":25414,"nodeType":"Block","src":"10146:78:160","statements":[{"expression":{"id":25408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25404,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10164:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":25407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10173:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":25406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10177:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10173:6:160","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10164:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25409,"nodeType":"ExpressionStatement","src":"10164:15:160"},{"expression":{"id":25412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25410,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10197:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":25411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10207:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10197:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25413,"nodeType":"ExpressionStatement","src":"10197:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25416,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10241:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":25419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10250:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":25418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10254:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10250:6:160","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10241:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25432,"nodeType":"IfStatement","src":"10237:99:160","trueBody":{"id":25431,"nodeType":"Block","src":"10258:78:160","statements":[{"expression":{"id":25425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10276:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":25424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10285:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":25423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10289:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10285:6:160","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10276:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25426,"nodeType":"ExpressionStatement","src":"10276:15:160"},{"expression":{"id":25429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25427,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10309:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":25428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10319:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10309:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25430,"nodeType":"ExpressionStatement","src":"10309:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25433,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10353:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":25436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10362:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":25435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10366:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10362:5:160","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10353:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25449,"nodeType":"IfStatement","src":"10349:96:160","trueBody":{"id":25448,"nodeType":"Block","src":"10369:76:160","statements":[{"expression":{"id":25442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25438,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10387:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":25441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10396:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":25440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10400:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10396:5:160","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10387:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25443,"nodeType":"ExpressionStatement","src":"10387:14:160"},{"expression":{"id":25446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25444,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10419:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":25445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10429:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10419:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25447,"nodeType":"ExpressionStatement","src":"10419:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25450,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10462:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":25453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10471:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":25452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10475:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10471:5:160","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10462:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25466,"nodeType":"IfStatement","src":"10458:96:160","trueBody":{"id":25465,"nodeType":"Block","src":"10478:76:160","statements":[{"expression":{"id":25459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25455,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10496:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":25458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10505:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":25457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10509:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10505:5:160","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10496:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25460,"nodeType":"ExpressionStatement","src":"10496:14:160"},{"expression":{"id":25463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25461,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10528:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":25462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10538:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10528:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25464,"nodeType":"ExpressionStatement","src":"10528:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25467,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10571:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":25470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10580:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":25469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10584:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10580:5:160","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10571:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25483,"nodeType":"IfStatement","src":"10567:96:160","trueBody":{"id":25482,"nodeType":"Block","src":"10587:76:160","statements":[{"expression":{"id":25476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25472,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10605:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":25475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10614:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":25474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10618:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10614:5:160","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10605:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25477,"nodeType":"ExpressionStatement","src":"10605:14:160"},{"expression":{"id":25480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25478,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10637:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":25479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10647:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10637:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25481,"nodeType":"ExpressionStatement","src":"10637:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25484,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"10680:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":25487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10689:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":25486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10693:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10689:5:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"10680:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25494,"nodeType":"IfStatement","src":"10676:64:160","trueBody":{"id":25493,"nodeType":"Block","src":"10696:44:160","statements":[{"expression":{"id":25491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25489,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10714:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":25490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10724:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10714:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25492,"nodeType":"ExpressionStatement","src":"10714:11:160"}]}}]},{"expression":{"id":25496,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25379,"src":"10766:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25377,"id":25497,"nodeType":"Return","src":"10759:13:160"}]},"documentation":{"id":25371,"nodeType":"StructuredDocumentation","src":"9770:114:160","text":" @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0."},"id":25499,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"9898:5:160","nodeType":"FunctionDefinition","parameters":{"id":25374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25373,"mutability":"mutable","name":"value","nameLocation":"9912:5:160","nodeType":"VariableDeclaration","scope":25499,"src":"9904:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25372,"name":"uint256","nodeType":"ElementaryTypeName","src":"9904:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9903:15:160"},"returnParameters":{"id":25377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25376,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25499,"src":"9942:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25375,"name":"uint256","nodeType":"ElementaryTypeName","src":"9942:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9941:9:160"},"scope":25662,"src":"9889:890:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25534,"nodeType":"Block","src":"11014:165:160","statements":[{"id":25533,"nodeType":"UncheckedBlock","src":"11024:149:160","statements":[{"assignments":[25511],"declarations":[{"constant":false,"id":25511,"mutability":"mutable","name":"result","nameLocation":"11056:6:160","nodeType":"VariableDeclaration","scope":25533,"src":"11048:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25510,"name":"uint256","nodeType":"ElementaryTypeName","src":"11048:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25515,"initialValue":{"arguments":[{"id":25513,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25502,"src":"11071:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25512,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[25499,25535],"referencedDeclaration":25499,"src":"11065:5:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11065:12:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11048:29:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25516,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"11098:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":25526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"id":25520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25517,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25505,"src":"11108:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":25518,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"11120:8:160","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":25519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"11120:11:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"src":"11108:23:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11135:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":25522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"11139:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11135:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25524,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25502,"src":"11148:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11135:18:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11108:45:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":25528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11160:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":25529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11108:53:160","trueExpression":{"hexValue":"31","id":25527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11156:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":25530,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11107:55:160","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11098:64:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25509,"id":25532,"nodeType":"Return","src":"11091:71:160"}]}]},"documentation":{"id":25500,"nodeType":"StructuredDocumentation","src":"10785:143:160","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":25535,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"10942:5:160","nodeType":"FunctionDefinition","parameters":{"id":25506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25502,"mutability":"mutable","name":"value","nameLocation":"10956:5:160","nodeType":"VariableDeclaration","scope":25535,"src":"10948:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25501,"name":"uint256","nodeType":"ElementaryTypeName","src":"10948:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25505,"mutability":"mutable","name":"rounding","nameLocation":"10972:8:160","nodeType":"VariableDeclaration","scope":25535,"src":"10963:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":25504,"nodeType":"UserDefinedTypeName","pathNode":{"id":25503,"name":"Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"10963:8:160"},"referencedDeclaration":24804,"src":"10963:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"10947:34:160"},"returnParameters":{"id":25509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25508,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25535,"src":"11005:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25507,"name":"uint256","nodeType":"ElementaryTypeName","src":"11005:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11004:9:160"},"scope":25662,"src":"10933:246:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25621,"nodeType":"Block","src":"11493:600:160","statements":[{"assignments":[25544],"declarations":[{"constant":false,"id":25544,"mutability":"mutable","name":"result","nameLocation":"11511:6:160","nodeType":"VariableDeclaration","scope":25621,"src":"11503:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25543,"name":"uint256","nodeType":"ElementaryTypeName","src":"11503:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25546,"initialValue":{"hexValue":"30","id":25545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11520:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11503:18:160"},{"id":25618,"nodeType":"UncheckedBlock","src":"11531:533:160","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25547,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11559:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":25548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11568:3:160","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11559:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11574:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11559:16:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25561,"nodeType":"IfStatement","src":"11555:98:160","trueBody":{"id":25560,"nodeType":"Block","src":"11577:76:160","statements":[{"expression":{"id":25554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25552,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11595:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":25553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11605:3:160","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11595:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25555,"nodeType":"ExpressionStatement","src":"11595:13:160"},{"expression":{"id":25558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25556,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"11626:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":25557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11636:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11626:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25559,"nodeType":"ExpressionStatement","src":"11626:12:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25562,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11670:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":25563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11679:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11670:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11684:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11670:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25576,"nodeType":"IfStatement","src":"11666:95:160","trueBody":{"id":25575,"nodeType":"Block","src":"11687:74:160","statements":[{"expression":{"id":25569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25567,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11705:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":25568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11715:2:160","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11705:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25570,"nodeType":"ExpressionStatement","src":"11705:12:160"},{"expression":{"id":25573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25571,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"11735:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":25572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11745:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11735:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25574,"nodeType":"ExpressionStatement","src":"11735:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25577,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11778:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":25578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11787:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11778:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11792:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11778:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25591,"nodeType":"IfStatement","src":"11774:95:160","trueBody":{"id":25590,"nodeType":"Block","src":"11795:74:160","statements":[{"expression":{"id":25584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25582,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11813:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":25583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11823:2:160","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11813:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25585,"nodeType":"ExpressionStatement","src":"11813:12:160"},{"expression":{"id":25588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25586,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"11843:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":25587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11853:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"11843:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25589,"nodeType":"ExpressionStatement","src":"11843:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25592,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11886:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":25593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11895:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11886:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11900:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11886:15:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25606,"nodeType":"IfStatement","src":"11882:95:160","trueBody":{"id":25605,"nodeType":"Block","src":"11903:74:160","statements":[{"expression":{"id":25599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25597,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11921:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":25598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11931:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11921:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25600,"nodeType":"ExpressionStatement","src":"11921:12:160"},{"expression":{"id":25603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25601,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"11951:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":25602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11961:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11951:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25604,"nodeType":"ExpressionStatement","src":"11951:11:160"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25607,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25538,"src":"11994:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":25608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12003:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11994:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":25610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12007:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11994:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25617,"nodeType":"IfStatement","src":"11990:64:160","trueBody":{"id":25616,"nodeType":"Block","src":"12010:44:160","statements":[{"expression":{"id":25614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25612,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"12028:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":25613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12038:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12028:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25615,"nodeType":"ExpressionStatement","src":"12028:11:160"}]}}]},{"expression":{"id":25619,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25544,"src":"12080:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25542,"id":25620,"nodeType":"Return","src":"12073:13:160"}]},"documentation":{"id":25536,"nodeType":"StructuredDocumentation","src":"11185:240:160","text":" @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"id":25622,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"11439:6:160","nodeType":"FunctionDefinition","parameters":{"id":25539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25538,"mutability":"mutable","name":"value","nameLocation":"11454:5:160","nodeType":"VariableDeclaration","scope":25622,"src":"11446:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25537,"name":"uint256","nodeType":"ElementaryTypeName","src":"11446:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11445:15:160"},"returnParameters":{"id":25542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25622,"src":"11484:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25540,"name":"uint256","nodeType":"ElementaryTypeName","src":"11484:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11483:9:160"},"scope":25662,"src":"11430:663:160","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25660,"nodeType":"Block","src":"12329:173:160","statements":[{"id":25659,"nodeType":"UncheckedBlock","src":"12339:157:160","statements":[{"assignments":[25634],"declarations":[{"constant":false,"id":25634,"mutability":"mutable","name":"result","nameLocation":"12371:6:160","nodeType":"VariableDeclaration","scope":25659,"src":"12363:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25633,"name":"uint256","nodeType":"ElementaryTypeName","src":"12363:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25638,"initialValue":{"arguments":[{"id":25636,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25625,"src":"12387:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25635,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[25622,25661],"referencedDeclaration":25622,"src":"12380:6:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12380:13:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12363:30:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25639,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25634,"src":"12414:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":25652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"id":25643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25640,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25628,"src":"12424:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":25641,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"12436:8:160","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$24804_$","typeString":"type(enum Math.Rounding)"}},"id":25642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":24802,"src":"12436:11:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"src":"12424:23:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":25644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12451:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25645,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25634,"src":"12457:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":25646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12466:1:160","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12457:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12456:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12451:17:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25650,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25625,"src":"12471:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12451:25:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12424:52:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":25654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12483:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":25655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12424:60:160","trueExpression":{"hexValue":"31","id":25653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12479:1:160","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":25656,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12423:62:160","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12414:71:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25632,"id":25658,"nodeType":"Return","src":"12407:78:160"}]}]},"documentation":{"id":25623,"nodeType":"StructuredDocumentation","src":"12099:143:160","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":25661,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"12256:6:160","nodeType":"FunctionDefinition","parameters":{"id":25629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25625,"mutability":"mutable","name":"value","nameLocation":"12271:5:160","nodeType":"VariableDeclaration","scope":25661,"src":"12263:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25624,"name":"uint256","nodeType":"ElementaryTypeName","src":"12263:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25628,"mutability":"mutable","name":"rounding","nameLocation":"12287:8:160","nodeType":"VariableDeclaration","scope":25661,"src":"12278:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"},"typeName":{"id":25627,"nodeType":"UserDefinedTypeName","pathNode":{"id":25626,"name":"Rounding","nodeType":"IdentifierPath","referencedDeclaration":24804,"src":"12278:8:160"},"referencedDeclaration":24804,"src":"12278:8:160","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$24804","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"12262:34:160"},"returnParameters":{"id":25632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25661,"src":"12320:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25630,"name":"uint256","nodeType":"ElementaryTypeName","src":"12320:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12319:9:160"},"scope":25662,"src":"12247:255:160","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":25663,"src":"202:12302:160","usedErrors":[]}],"src":"103:12402:160"},"id":160},"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","exportedSymbols":{"SafeCast":[27203]},"id":27204,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":25664,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"192:23:161"},{"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":25665,"nodeType":"StructuredDocumentation","src":"217:709:161","text":" @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always.\n Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing\n all math on `uint256` and `int256` and then downcasting."},"fullyImplemented":true,"id":27203,"linearizedBaseContracts":[27203],"name":"SafeCast","nameLocation":"935:8:161","nodeType":"ContractDefinition","nodes":[{"body":{"id":25689,"nodeType":"Block","src":"1339:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25674,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25668,"src":"1357:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1371:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":25676,"name":"uint248","nodeType":"ElementaryTypeName","src":"1371:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"}],"id":25675,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1366:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1366:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint248","typeString":"type(uint248)"}},"id":25679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"1366:17:161","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"src":"1357:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473","id":25681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1385:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""},"value":"SafeCast: value doesn't fit in 248 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""}],"id":25673,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1349:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1349:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25683,"nodeType":"ExpressionStatement","src":"1349:78:161"},{"expression":{"arguments":[{"id":25686,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25668,"src":"1452:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1444:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":25684,"name":"uint248","nodeType":"ElementaryTypeName","src":"1444:7:161","typeDescriptions":{}}},"id":25687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1444:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"functionReturnParameters":25672,"id":25688,"nodeType":"Return","src":"1437:21:161"}]},"documentation":{"id":25666,"nodeType":"StructuredDocumentation","src":"950:318:161","text":" @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._"},"id":25690,"implemented":true,"kind":"function","modifiers":[],"name":"toUint248","nameLocation":"1282:9:161","nodeType":"FunctionDefinition","parameters":{"id":25669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25668,"mutability":"mutable","name":"value","nameLocation":"1300:5:161","nodeType":"VariableDeclaration","scope":25690,"src":"1292:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25667,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1291:15:161"},"returnParameters":{"id":25672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25690,"src":"1330:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{"id":25670,"name":"uint248","nodeType":"ElementaryTypeName","src":"1330:7:161","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"visibility":"internal"}],"src":"1329:9:161"},"scope":27203,"src":"1273:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25714,"nodeType":"Block","src":"1860:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25699,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25693,"src":"1878:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1892:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":25701,"name":"uint240","nodeType":"ElementaryTypeName","src":"1892:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"}],"id":25700,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1887:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1887:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint240","typeString":"type(uint240)"}},"id":25704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"1887:17:161","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"src":"1878:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473","id":25706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1906:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""},"value":"SafeCast: value doesn't fit in 240 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""}],"id":25698,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1870:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1870:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25708,"nodeType":"ExpressionStatement","src":"1870:78:161"},{"expression":{"arguments":[{"id":25711,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25693,"src":"1973:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1965:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":25709,"name":"uint240","nodeType":"ElementaryTypeName","src":"1965:7:161","typeDescriptions":{}}},"id":25712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1965:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"functionReturnParameters":25697,"id":25713,"nodeType":"Return","src":"1958:21:161"}]},"documentation":{"id":25691,"nodeType":"StructuredDocumentation","src":"1471:318:161","text":" @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._"},"id":25715,"implemented":true,"kind":"function","modifiers":[],"name":"toUint240","nameLocation":"1803:9:161","nodeType":"FunctionDefinition","parameters":{"id":25694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25693,"mutability":"mutable","name":"value","nameLocation":"1821:5:161","nodeType":"VariableDeclaration","scope":25715,"src":"1813:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25692,"name":"uint256","nodeType":"ElementaryTypeName","src":"1813:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1812:15:161"},"returnParameters":{"id":25697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25715,"src":"1851:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"},"typeName":{"id":25695,"name":"uint240","nodeType":"ElementaryTypeName","src":"1851:7:161","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"visibility":"internal"}],"src":"1850:9:161"},"scope":27203,"src":"1794:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25739,"nodeType":"Block","src":"2381:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25718,"src":"2399:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2413:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":25726,"name":"uint232","nodeType":"ElementaryTypeName","src":"2413:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"}],"id":25725,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2408:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2408:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint232","typeString":"type(uint232)"}},"id":25729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"2408:17:161","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"src":"2399:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473","id":25731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2427:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""},"value":"SafeCast: value doesn't fit in 232 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""}],"id":25723,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2391:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2391:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25733,"nodeType":"ExpressionStatement","src":"2391:78:161"},{"expression":{"arguments":[{"id":25736,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25718,"src":"2494:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2486:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":25734,"name":"uint232","nodeType":"ElementaryTypeName","src":"2486:7:161","typeDescriptions":{}}},"id":25737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2486:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"functionReturnParameters":25722,"id":25738,"nodeType":"Return","src":"2479:21:161"}]},"documentation":{"id":25716,"nodeType":"StructuredDocumentation","src":"1992:318:161","text":" @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._"},"id":25740,"implemented":true,"kind":"function","modifiers":[],"name":"toUint232","nameLocation":"2324:9:161","nodeType":"FunctionDefinition","parameters":{"id":25719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25718,"mutability":"mutable","name":"value","nameLocation":"2342:5:161","nodeType":"VariableDeclaration","scope":25740,"src":"2334:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25717,"name":"uint256","nodeType":"ElementaryTypeName","src":"2334:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2333:15:161"},"returnParameters":{"id":25722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25740,"src":"2372:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"},"typeName":{"id":25720,"name":"uint232","nodeType":"ElementaryTypeName","src":"2372:7:161","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"visibility":"internal"}],"src":"2371:9:161"},"scope":27203,"src":"2315:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25764,"nodeType":"Block","src":"2902:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25749,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25743,"src":"2920:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2934:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":25751,"name":"uint224","nodeType":"ElementaryTypeName","src":"2934:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":25750,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2929:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2929:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":25754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"2929:17:161","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"2920:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473","id":25756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2948:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""},"value":"SafeCast: value doesn't fit in 224 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""}],"id":25748,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2912:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2912:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25758,"nodeType":"ExpressionStatement","src":"2912:78:161"},{"expression":{"arguments":[{"id":25761,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25743,"src":"3015:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3007:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":25759,"name":"uint224","nodeType":"ElementaryTypeName","src":"3007:7:161","typeDescriptions":{}}},"id":25762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3007:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":25747,"id":25763,"nodeType":"Return","src":"3000:21:161"}]},"documentation":{"id":25741,"nodeType":"StructuredDocumentation","src":"2513:318:161","text":" @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.2._"},"id":25765,"implemented":true,"kind":"function","modifiers":[],"name":"toUint224","nameLocation":"2845:9:161","nodeType":"FunctionDefinition","parameters":{"id":25744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25743,"mutability":"mutable","name":"value","nameLocation":"2863:5:161","nodeType":"VariableDeclaration","scope":25765,"src":"2855:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25742,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:15:161"},"returnParameters":{"id":25747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25765,"src":"2893:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":25745,"name":"uint224","nodeType":"ElementaryTypeName","src":"2893:7:161","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"2892:9:161"},"scope":27203,"src":"2836:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25789,"nodeType":"Block","src":"3423:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25774,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25768,"src":"3441:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3455:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":25776,"name":"uint216","nodeType":"ElementaryTypeName","src":"3455:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"}],"id":25775,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3450:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3450:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint216","typeString":"type(uint216)"}},"id":25779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"3450:17:161","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"src":"3441:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473","id":25781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3469:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""},"value":"SafeCast: value doesn't fit in 216 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""}],"id":25773,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3433:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3433:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25783,"nodeType":"ExpressionStatement","src":"3433:78:161"},{"expression":{"arguments":[{"id":25786,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25768,"src":"3536:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3528:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":25784,"name":"uint216","nodeType":"ElementaryTypeName","src":"3528:7:161","typeDescriptions":{}}},"id":25787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3528:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"functionReturnParameters":25772,"id":25788,"nodeType":"Return","src":"3521:21:161"}]},"documentation":{"id":25766,"nodeType":"StructuredDocumentation","src":"3034:318:161","text":" @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._"},"id":25790,"implemented":true,"kind":"function","modifiers":[],"name":"toUint216","nameLocation":"3366:9:161","nodeType":"FunctionDefinition","parameters":{"id":25769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25768,"mutability":"mutable","name":"value","nameLocation":"3384:5:161","nodeType":"VariableDeclaration","scope":25790,"src":"3376:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25767,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3375:15:161"},"returnParameters":{"id":25772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25790,"src":"3414:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"},"typeName":{"id":25770,"name":"uint216","nodeType":"ElementaryTypeName","src":"3414:7:161","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"visibility":"internal"}],"src":"3413:9:161"},"scope":27203,"src":"3357:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25814,"nodeType":"Block","src":"3944:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25799,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25793,"src":"3962:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3976:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":25801,"name":"uint208","nodeType":"ElementaryTypeName","src":"3976:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"}],"id":25800,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3971:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3971:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint208","typeString":"type(uint208)"}},"id":25804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"3971:17:161","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"3962:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473","id":25806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3990:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""},"value":"SafeCast: value doesn't fit in 208 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""}],"id":25798,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3954:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3954:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25808,"nodeType":"ExpressionStatement","src":"3954:78:161"},{"expression":{"arguments":[{"id":25811,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25793,"src":"4057:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":25809,"name":"uint208","nodeType":"ElementaryTypeName","src":"4049:7:161","typeDescriptions":{}}},"id":25812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4049:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":25797,"id":25813,"nodeType":"Return","src":"4042:21:161"}]},"documentation":{"id":25791,"nodeType":"StructuredDocumentation","src":"3555:318:161","text":" @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._"},"id":25815,"implemented":true,"kind":"function","modifiers":[],"name":"toUint208","nameLocation":"3887:9:161","nodeType":"FunctionDefinition","parameters":{"id":25794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25793,"mutability":"mutable","name":"value","nameLocation":"3905:5:161","nodeType":"VariableDeclaration","scope":25815,"src":"3897:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25792,"name":"uint256","nodeType":"ElementaryTypeName","src":"3897:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3896:15:161"},"returnParameters":{"id":25797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25815,"src":"3935:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":25795,"name":"uint208","nodeType":"ElementaryTypeName","src":"3935:7:161","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"3934:9:161"},"scope":27203,"src":"3878:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25839,"nodeType":"Block","src":"4465:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25824,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25818,"src":"4483:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4497:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":25826,"name":"uint200","nodeType":"ElementaryTypeName","src":"4497:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"}],"id":25825,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4492:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4492:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint200","typeString":"type(uint200)"}},"id":25829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"4492:17:161","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"src":"4483:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473","id":25831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4511:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""},"value":"SafeCast: value doesn't fit in 200 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""}],"id":25823,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4475:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4475:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25833,"nodeType":"ExpressionStatement","src":"4475:78:161"},{"expression":{"arguments":[{"id":25836,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25818,"src":"4578:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4570:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":25834,"name":"uint200","nodeType":"ElementaryTypeName","src":"4570:7:161","typeDescriptions":{}}},"id":25837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4570:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"functionReturnParameters":25822,"id":25838,"nodeType":"Return","src":"4563:21:161"}]},"documentation":{"id":25816,"nodeType":"StructuredDocumentation","src":"4076:318:161","text":" @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._"},"id":25840,"implemented":true,"kind":"function","modifiers":[],"name":"toUint200","nameLocation":"4408:9:161","nodeType":"FunctionDefinition","parameters":{"id":25819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25818,"mutability":"mutable","name":"value","nameLocation":"4426:5:161","nodeType":"VariableDeclaration","scope":25840,"src":"4418:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25817,"name":"uint256","nodeType":"ElementaryTypeName","src":"4418:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4417:15:161"},"returnParameters":{"id":25822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25840,"src":"4456:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"},"typeName":{"id":25820,"name":"uint200","nodeType":"ElementaryTypeName","src":"4456:7:161","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"visibility":"internal"}],"src":"4455:9:161"},"scope":27203,"src":"4399:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25864,"nodeType":"Block","src":"4986:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25849,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25843,"src":"5004:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5018:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":25851,"name":"uint192","nodeType":"ElementaryTypeName","src":"5018:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":25850,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5013:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5013:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":25854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"5013:17:161","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5004:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473","id":25856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5032:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""},"value":"SafeCast: value doesn't fit in 192 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""}],"id":25848,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4996:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4996:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25858,"nodeType":"ExpressionStatement","src":"4996:78:161"},{"expression":{"arguments":[{"id":25861,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25843,"src":"5099:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5091:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":25859,"name":"uint192","nodeType":"ElementaryTypeName","src":"5091:7:161","typeDescriptions":{}}},"id":25862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5091:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"functionReturnParameters":25847,"id":25863,"nodeType":"Return","src":"5084:21:161"}]},"documentation":{"id":25841,"nodeType":"StructuredDocumentation","src":"4597:318:161","text":" @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._"},"id":25865,"implemented":true,"kind":"function","modifiers":[],"name":"toUint192","nameLocation":"4929:9:161","nodeType":"FunctionDefinition","parameters":{"id":25844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25843,"mutability":"mutable","name":"value","nameLocation":"4947:5:161","nodeType":"VariableDeclaration","scope":25865,"src":"4939:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25842,"name":"uint256","nodeType":"ElementaryTypeName","src":"4939:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4938:15:161"},"returnParameters":{"id":25847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25865,"src":"4977:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":25845,"name":"uint192","nodeType":"ElementaryTypeName","src":"4977:7:161","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"src":"4976:9:161"},"scope":27203,"src":"4920:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25889,"nodeType":"Block","src":"5507:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25874,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25868,"src":"5525:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5539:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":25876,"name":"uint184","nodeType":"ElementaryTypeName","src":"5539:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"}],"id":25875,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5534:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5534:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint184","typeString":"type(uint184)"}},"id":25879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"5534:17:161","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"src":"5525:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473","id":25881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5553:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""},"value":"SafeCast: value doesn't fit in 184 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""}],"id":25873,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5517:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25883,"nodeType":"ExpressionStatement","src":"5517:78:161"},{"expression":{"arguments":[{"id":25886,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25868,"src":"5620:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5612:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":25884,"name":"uint184","nodeType":"ElementaryTypeName","src":"5612:7:161","typeDescriptions":{}}},"id":25887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5612:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"functionReturnParameters":25872,"id":25888,"nodeType":"Return","src":"5605:21:161"}]},"documentation":{"id":25866,"nodeType":"StructuredDocumentation","src":"5118:318:161","text":" @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._"},"id":25890,"implemented":true,"kind":"function","modifiers":[],"name":"toUint184","nameLocation":"5450:9:161","nodeType":"FunctionDefinition","parameters":{"id":25869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25868,"mutability":"mutable","name":"value","nameLocation":"5468:5:161","nodeType":"VariableDeclaration","scope":25890,"src":"5460:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5460:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5459:15:161"},"returnParameters":{"id":25872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25890,"src":"5498:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"},"typeName":{"id":25870,"name":"uint184","nodeType":"ElementaryTypeName","src":"5498:7:161","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"visibility":"internal"}],"src":"5497:9:161"},"scope":27203,"src":"5441:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25914,"nodeType":"Block","src":"6028:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25899,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25893,"src":"6046:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6060:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":25901,"name":"uint176","nodeType":"ElementaryTypeName","src":"6060:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"}],"id":25900,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6055:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6055:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint176","typeString":"type(uint176)"}},"id":25904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6055:17:161","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"src":"6046:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473","id":25906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6074:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""},"value":"SafeCast: value doesn't fit in 176 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""}],"id":25898,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6038:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6038:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25908,"nodeType":"ExpressionStatement","src":"6038:78:161"},{"expression":{"arguments":[{"id":25911,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25893,"src":"6141:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6133:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":25909,"name":"uint176","nodeType":"ElementaryTypeName","src":"6133:7:161","typeDescriptions":{}}},"id":25912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6133:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"functionReturnParameters":25897,"id":25913,"nodeType":"Return","src":"6126:21:161"}]},"documentation":{"id":25891,"nodeType":"StructuredDocumentation","src":"5639:318:161","text":" @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._"},"id":25915,"implemented":true,"kind":"function","modifiers":[],"name":"toUint176","nameLocation":"5971:9:161","nodeType":"FunctionDefinition","parameters":{"id":25894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25893,"mutability":"mutable","name":"value","nameLocation":"5989:5:161","nodeType":"VariableDeclaration","scope":25915,"src":"5981:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25892,"name":"uint256","nodeType":"ElementaryTypeName","src":"5981:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5980:15:161"},"returnParameters":{"id":25897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25915,"src":"6019:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"},"typeName":{"id":25895,"name":"uint176","nodeType":"ElementaryTypeName","src":"6019:7:161","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"visibility":"internal"}],"src":"6018:9:161"},"scope":27203,"src":"5962:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25939,"nodeType":"Block","src":"6549:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25924,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25918,"src":"6567:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6581:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":25926,"name":"uint168","nodeType":"ElementaryTypeName","src":"6581:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"}],"id":25925,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6576:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6576:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint168","typeString":"type(uint168)"}},"id":25929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"6576:17:161","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"src":"6567:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473","id":25931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""},"value":"SafeCast: value doesn't fit in 168 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""}],"id":25923,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6559:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6559:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25933,"nodeType":"ExpressionStatement","src":"6559:78:161"},{"expression":{"arguments":[{"id":25936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25918,"src":"6662:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6654:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":25934,"name":"uint168","nodeType":"ElementaryTypeName","src":"6654:7:161","typeDescriptions":{}}},"id":25937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6654:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"functionReturnParameters":25922,"id":25938,"nodeType":"Return","src":"6647:21:161"}]},"documentation":{"id":25916,"nodeType":"StructuredDocumentation","src":"6160:318:161","text":" @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._"},"id":25940,"implemented":true,"kind":"function","modifiers":[],"name":"toUint168","nameLocation":"6492:9:161","nodeType":"FunctionDefinition","parameters":{"id":25919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25918,"mutability":"mutable","name":"value","nameLocation":"6510:5:161","nodeType":"VariableDeclaration","scope":25940,"src":"6502:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6502:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6501:15:161"},"returnParameters":{"id":25922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25940,"src":"6540:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"},"typeName":{"id":25920,"name":"uint168","nodeType":"ElementaryTypeName","src":"6540:7:161","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"visibility":"internal"}],"src":"6539:9:161"},"scope":27203,"src":"6483:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25964,"nodeType":"Block","src":"7070:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25949,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25943,"src":"7088:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7102:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":25951,"name":"uint160","nodeType":"ElementaryTypeName","src":"7102:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":25950,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7097:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7097:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":25954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"7097:17:161","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"7088:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473","id":25956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7116:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""},"value":"SafeCast: value doesn't fit in 160 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""}],"id":25948,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7080:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7080:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25958,"nodeType":"ExpressionStatement","src":"7080:78:161"},{"expression":{"arguments":[{"id":25961,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25943,"src":"7183:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7175:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":25959,"name":"uint160","nodeType":"ElementaryTypeName","src":"7175:7:161","typeDescriptions":{}}},"id":25962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7175:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":25947,"id":25963,"nodeType":"Return","src":"7168:21:161"}]},"documentation":{"id":25941,"nodeType":"StructuredDocumentation","src":"6681:318:161","text":" @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._"},"id":25965,"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"7013:9:161","nodeType":"FunctionDefinition","parameters":{"id":25944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25943,"mutability":"mutable","name":"value","nameLocation":"7031:5:161","nodeType":"VariableDeclaration","scope":25965,"src":"7023:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25942,"name":"uint256","nodeType":"ElementaryTypeName","src":"7023:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7022:15:161"},"returnParameters":{"id":25947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25965,"src":"7061:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":25945,"name":"uint160","nodeType":"ElementaryTypeName","src":"7061:7:161","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7060:9:161"},"scope":27203,"src":"7004:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25989,"nodeType":"Block","src":"7591:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25974,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25968,"src":"7609:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":25977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7623:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":25976,"name":"uint152","nodeType":"ElementaryTypeName","src":"7623:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"}],"id":25975,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7618:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":25978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7618:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint152","typeString":"type(uint152)"}},"id":25979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"7618:17:161","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"src":"7609:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473","id":25981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7637:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""},"value":"SafeCast: value doesn't fit in 152 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""}],"id":25973,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7601:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7601:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25983,"nodeType":"ExpressionStatement","src":"7601:78:161"},{"expression":{"arguments":[{"id":25986,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25968,"src":"7704:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7696:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":25984,"name":"uint152","nodeType":"ElementaryTypeName","src":"7696:7:161","typeDescriptions":{}}},"id":25987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7696:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"functionReturnParameters":25972,"id":25988,"nodeType":"Return","src":"7689:21:161"}]},"documentation":{"id":25966,"nodeType":"StructuredDocumentation","src":"7202:318:161","text":" @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._"},"id":25990,"implemented":true,"kind":"function","modifiers":[],"name":"toUint152","nameLocation":"7534:9:161","nodeType":"FunctionDefinition","parameters":{"id":25969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25968,"mutability":"mutable","name":"value","nameLocation":"7552:5:161","nodeType":"VariableDeclaration","scope":25990,"src":"7544:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25967,"name":"uint256","nodeType":"ElementaryTypeName","src":"7544:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7543:15:161"},"returnParameters":{"id":25972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25990,"src":"7582:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"},"typeName":{"id":25970,"name":"uint152","nodeType":"ElementaryTypeName","src":"7582:7:161","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"visibility":"internal"}],"src":"7581:9:161"},"scope":27203,"src":"7525:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26014,"nodeType":"Block","src":"8112:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25999,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25993,"src":"8130:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8144:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":26001,"name":"uint144","nodeType":"ElementaryTypeName","src":"8144:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"}],"id":26000,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8139:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8139:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint144","typeString":"type(uint144)"}},"id":26004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"8139:17:161","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"src":"8130:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473","id":26006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8158:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""},"value":"SafeCast: value doesn't fit in 144 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""}],"id":25998,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8122:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8122:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26008,"nodeType":"ExpressionStatement","src":"8122:78:161"},{"expression":{"arguments":[{"id":26011,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25993,"src":"8225:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8217:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":26009,"name":"uint144","nodeType":"ElementaryTypeName","src":"8217:7:161","typeDescriptions":{}}},"id":26012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8217:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"functionReturnParameters":25997,"id":26013,"nodeType":"Return","src":"8210:21:161"}]},"documentation":{"id":25991,"nodeType":"StructuredDocumentation","src":"7723:318:161","text":" @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._"},"id":26015,"implemented":true,"kind":"function","modifiers":[],"name":"toUint144","nameLocation":"8055:9:161","nodeType":"FunctionDefinition","parameters":{"id":25994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25993,"mutability":"mutable","name":"value","nameLocation":"8073:5:161","nodeType":"VariableDeclaration","scope":26015,"src":"8065:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25992,"name":"uint256","nodeType":"ElementaryTypeName","src":"8065:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8064:15:161"},"returnParameters":{"id":25997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26015,"src":"8103:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"},"typeName":{"id":25995,"name":"uint144","nodeType":"ElementaryTypeName","src":"8103:7:161","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"visibility":"internal"}],"src":"8102:9:161"},"scope":27203,"src":"8046:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26039,"nodeType":"Block","src":"8633:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26024,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26018,"src":"8651:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8665:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":26026,"name":"uint136","nodeType":"ElementaryTypeName","src":"8665:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"}],"id":26025,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8660:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8660:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint136","typeString":"type(uint136)"}},"id":26029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"8660:17:161","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"src":"8651:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473","id":26031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8679:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""},"value":"SafeCast: value doesn't fit in 136 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""}],"id":26023,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8643:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8643:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26033,"nodeType":"ExpressionStatement","src":"8643:78:161"},{"expression":{"arguments":[{"id":26036,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26018,"src":"8746:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8738:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":26034,"name":"uint136","nodeType":"ElementaryTypeName","src":"8738:7:161","typeDescriptions":{}}},"id":26037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8738:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"functionReturnParameters":26022,"id":26038,"nodeType":"Return","src":"8731:21:161"}]},"documentation":{"id":26016,"nodeType":"StructuredDocumentation","src":"8244:318:161","text":" @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._"},"id":26040,"implemented":true,"kind":"function","modifiers":[],"name":"toUint136","nameLocation":"8576:9:161","nodeType":"FunctionDefinition","parameters":{"id":26019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26018,"mutability":"mutable","name":"value","nameLocation":"8594:5:161","nodeType":"VariableDeclaration","scope":26040,"src":"8586:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26017,"name":"uint256","nodeType":"ElementaryTypeName","src":"8586:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8585:15:161"},"returnParameters":{"id":26022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26040,"src":"8624:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"},"typeName":{"id":26020,"name":"uint136","nodeType":"ElementaryTypeName","src":"8624:7:161","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"visibility":"internal"}],"src":"8623:9:161"},"scope":27203,"src":"8567:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26064,"nodeType":"Block","src":"9154:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26049,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26043,"src":"9172:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9186:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":26051,"name":"uint128","nodeType":"ElementaryTypeName","src":"9186:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":26050,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9181:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9181:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":26054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"9181:17:161","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9172:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473","id":26056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9200:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""},"value":"SafeCast: value doesn't fit in 128 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""}],"id":26048,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9164:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9164:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26058,"nodeType":"ExpressionStatement","src":"9164:78:161"},{"expression":{"arguments":[{"id":26061,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26043,"src":"9267:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9259:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":26059,"name":"uint128","nodeType":"ElementaryTypeName","src":"9259:7:161","typeDescriptions":{}}},"id":26062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9259:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":26047,"id":26063,"nodeType":"Return","src":"9252:21:161"}]},"documentation":{"id":26041,"nodeType":"StructuredDocumentation","src":"8765:318:161","text":" @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v2.5._"},"id":26065,"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"9097:9:161","nodeType":"FunctionDefinition","parameters":{"id":26044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26043,"mutability":"mutable","name":"value","nameLocation":"9115:5:161","nodeType":"VariableDeclaration","scope":26065,"src":"9107:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26042,"name":"uint256","nodeType":"ElementaryTypeName","src":"9107:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9106:15:161"},"returnParameters":{"id":26047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26046,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26065,"src":"9145:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":26045,"name":"uint128","nodeType":"ElementaryTypeName","src":"9145:7:161","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9144:9:161"},"scope":27203,"src":"9088:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26089,"nodeType":"Block","src":"9675:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26074,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26068,"src":"9693:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9707:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":26076,"name":"uint120","nodeType":"ElementaryTypeName","src":"9707:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"}],"id":26075,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9702:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9702:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint120","typeString":"type(uint120)"}},"id":26079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"9702:17:161","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"src":"9693:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473","id":26081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9721:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""},"value":"SafeCast: value doesn't fit in 120 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""}],"id":26073,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9685:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9685:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26083,"nodeType":"ExpressionStatement","src":"9685:78:161"},{"expression":{"arguments":[{"id":26086,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26068,"src":"9788:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9780:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":26084,"name":"uint120","nodeType":"ElementaryTypeName","src":"9780:7:161","typeDescriptions":{}}},"id":26087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9780:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"functionReturnParameters":26072,"id":26088,"nodeType":"Return","src":"9773:21:161"}]},"documentation":{"id":26066,"nodeType":"StructuredDocumentation","src":"9286:318:161","text":" @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._"},"id":26090,"implemented":true,"kind":"function","modifiers":[],"name":"toUint120","nameLocation":"9618:9:161","nodeType":"FunctionDefinition","parameters":{"id":26069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26068,"mutability":"mutable","name":"value","nameLocation":"9636:5:161","nodeType":"VariableDeclaration","scope":26090,"src":"9628:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26067,"name":"uint256","nodeType":"ElementaryTypeName","src":"9628:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9627:15:161"},"returnParameters":{"id":26072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26090,"src":"9666:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"},"typeName":{"id":26070,"name":"uint120","nodeType":"ElementaryTypeName","src":"9666:7:161","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"visibility":"internal"}],"src":"9665:9:161"},"scope":27203,"src":"9609:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26114,"nodeType":"Block","src":"10196:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26099,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26093,"src":"10214:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10228:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":26101,"name":"uint112","nodeType":"ElementaryTypeName","src":"10228:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"}],"id":26100,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10223:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10223:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint112","typeString":"type(uint112)"}},"id":26104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"10223:17:161","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"10214:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473","id":26106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10242:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""},"value":"SafeCast: value doesn't fit in 112 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""}],"id":26098,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10206:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10206:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26108,"nodeType":"ExpressionStatement","src":"10206:78:161"},{"expression":{"arguments":[{"id":26111,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26093,"src":"10309:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10301:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":26109,"name":"uint112","nodeType":"ElementaryTypeName","src":"10301:7:161","typeDescriptions":{}}},"id":26112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10301:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"functionReturnParameters":26097,"id":26113,"nodeType":"Return","src":"10294:21:161"}]},"documentation":{"id":26091,"nodeType":"StructuredDocumentation","src":"9807:318:161","text":" @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._"},"id":26115,"implemented":true,"kind":"function","modifiers":[],"name":"toUint112","nameLocation":"10139:9:161","nodeType":"FunctionDefinition","parameters":{"id":26094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26093,"mutability":"mutable","name":"value","nameLocation":"10157:5:161","nodeType":"VariableDeclaration","scope":26115,"src":"10149:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26092,"name":"uint256","nodeType":"ElementaryTypeName","src":"10149:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10148:15:161"},"returnParameters":{"id":26097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26115,"src":"10187:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":26095,"name":"uint112","nodeType":"ElementaryTypeName","src":"10187:7:161","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"src":"10186:9:161"},"scope":27203,"src":"10130:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26139,"nodeType":"Block","src":"10717:126:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26124,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26118,"src":"10735:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10749:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":26126,"name":"uint104","nodeType":"ElementaryTypeName","src":"10749:7:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"}],"id":26125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10744:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10744:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint104","typeString":"type(uint104)"}},"id":26129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"10744:17:161","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"10735:26:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473","id":26131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10763:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""},"value":"SafeCast: value doesn't fit in 104 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""}],"id":26123,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10727:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10727:78:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26133,"nodeType":"ExpressionStatement","src":"10727:78:161"},{"expression":{"arguments":[{"id":26136,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26118,"src":"10830:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10822:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":26134,"name":"uint104","nodeType":"ElementaryTypeName","src":"10822:7:161","typeDescriptions":{}}},"id":26137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10822:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"functionReturnParameters":26122,"id":26138,"nodeType":"Return","src":"10815:21:161"}]},"documentation":{"id":26116,"nodeType":"StructuredDocumentation","src":"10328:318:161","text":" @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._"},"id":26140,"implemented":true,"kind":"function","modifiers":[],"name":"toUint104","nameLocation":"10660:9:161","nodeType":"FunctionDefinition","parameters":{"id":26119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26118,"mutability":"mutable","name":"value","nameLocation":"10678:5:161","nodeType":"VariableDeclaration","scope":26140,"src":"10670:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26117,"name":"uint256","nodeType":"ElementaryTypeName","src":"10670:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10669:15:161"},"returnParameters":{"id":26122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26140,"src":"10708:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"},"typeName":{"id":26120,"name":"uint104","nodeType":"ElementaryTypeName","src":"10708:7:161","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"visibility":"internal"}],"src":"10707:9:161"},"scope":27203,"src":"10651:192:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26164,"nodeType":"Block","src":"11232:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26149,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26143,"src":"11250:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11264:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":26151,"name":"uint96","nodeType":"ElementaryTypeName","src":"11264:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":26150,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11259:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11259:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":26154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"11259:16:161","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"11250:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473","id":26156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11277:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""},"value":"SafeCast: value doesn't fit in 96 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""}],"id":26148,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11242:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11242:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26158,"nodeType":"ExpressionStatement","src":"11242:76:161"},{"expression":{"arguments":[{"id":26161,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26143,"src":"11342:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11335:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":26159,"name":"uint96","nodeType":"ElementaryTypeName","src":"11335:6:161","typeDescriptions":{}}},"id":26162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11335:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":26147,"id":26163,"nodeType":"Return","src":"11328:20:161"}]},"documentation":{"id":26141,"nodeType":"StructuredDocumentation","src":"10849:314:161","text":" @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.2._"},"id":26165,"implemented":true,"kind":"function","modifiers":[],"name":"toUint96","nameLocation":"11177:8:161","nodeType":"FunctionDefinition","parameters":{"id":26144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26143,"mutability":"mutable","name":"value","nameLocation":"11194:5:161","nodeType":"VariableDeclaration","scope":26165,"src":"11186:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26142,"name":"uint256","nodeType":"ElementaryTypeName","src":"11186:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11185:15:161"},"returnParameters":{"id":26147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26165,"src":"11224:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":26145,"name":"uint96","nodeType":"ElementaryTypeName","src":"11224:6:161","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"11223:8:161"},"scope":27203,"src":"11168:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26189,"nodeType":"Block","src":"11744:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26168,"src":"11762:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11776:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":26176,"name":"uint88","nodeType":"ElementaryTypeName","src":"11776:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":26175,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11771:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11771:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":26179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"11771:16:161","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"11762:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473","id":26181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11789:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""},"value":"SafeCast: value doesn't fit in 88 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""}],"id":26173,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11754:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11754:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26183,"nodeType":"ExpressionStatement","src":"11754:76:161"},{"expression":{"arguments":[{"id":26186,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26168,"src":"11854:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11847:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":26184,"name":"uint88","nodeType":"ElementaryTypeName","src":"11847:6:161","typeDescriptions":{}}},"id":26187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11847:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"functionReturnParameters":26172,"id":26188,"nodeType":"Return","src":"11840:20:161"}]},"documentation":{"id":26166,"nodeType":"StructuredDocumentation","src":"11361:314:161","text":" @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._"},"id":26190,"implemented":true,"kind":"function","modifiers":[],"name":"toUint88","nameLocation":"11689:8:161","nodeType":"FunctionDefinition","parameters":{"id":26169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26168,"mutability":"mutable","name":"value","nameLocation":"11706:5:161","nodeType":"VariableDeclaration","scope":26190,"src":"11698:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26167,"name":"uint256","nodeType":"ElementaryTypeName","src":"11698:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11697:15:161"},"returnParameters":{"id":26172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26190,"src":"11736:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"},"typeName":{"id":26170,"name":"uint88","nodeType":"ElementaryTypeName","src":"11736:6:161","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"visibility":"internal"}],"src":"11735:8:161"},"scope":27203,"src":"11680:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26214,"nodeType":"Block","src":"12256:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26199,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26193,"src":"12274:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12288:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":26201,"name":"uint80","nodeType":"ElementaryTypeName","src":"12288:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"}],"id":26200,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12283:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12283:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint80","typeString":"type(uint80)"}},"id":26204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"12283:16:161","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"12274:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473","id":26206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12301:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""},"value":"SafeCast: value doesn't fit in 80 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""}],"id":26198,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12266:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12266:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26208,"nodeType":"ExpressionStatement","src":"12266:76:161"},{"expression":{"arguments":[{"id":26211,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26193,"src":"12366:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12359:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":26209,"name":"uint80","nodeType":"ElementaryTypeName","src":"12359:6:161","typeDescriptions":{}}},"id":26212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12359:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"functionReturnParameters":26197,"id":26213,"nodeType":"Return","src":"12352:20:161"}]},"documentation":{"id":26191,"nodeType":"StructuredDocumentation","src":"11873:314:161","text":" @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._"},"id":26215,"implemented":true,"kind":"function","modifiers":[],"name":"toUint80","nameLocation":"12201:8:161","nodeType":"FunctionDefinition","parameters":{"id":26194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26193,"mutability":"mutable","name":"value","nameLocation":"12218:5:161","nodeType":"VariableDeclaration","scope":26215,"src":"12210:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26192,"name":"uint256","nodeType":"ElementaryTypeName","src":"12210:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12209:15:161"},"returnParameters":{"id":26197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26215,"src":"12248:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":26195,"name":"uint80","nodeType":"ElementaryTypeName","src":"12248:6:161","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"12247:8:161"},"scope":27203,"src":"12192:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26239,"nodeType":"Block","src":"12768:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26224,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26218,"src":"12786:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12800:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":26226,"name":"uint72","nodeType":"ElementaryTypeName","src":"12800:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"}],"id":26225,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12795:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12795:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint72","typeString":"type(uint72)"}},"id":26229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"12795:16:161","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"src":"12786:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473","id":26231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12813:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""},"value":"SafeCast: value doesn't fit in 72 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""}],"id":26223,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12778:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12778:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26233,"nodeType":"ExpressionStatement","src":"12778:76:161"},{"expression":{"arguments":[{"id":26236,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26218,"src":"12878:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12871:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":26234,"name":"uint72","nodeType":"ElementaryTypeName","src":"12871:6:161","typeDescriptions":{}}},"id":26237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12871:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"functionReturnParameters":26222,"id":26238,"nodeType":"Return","src":"12864:20:161"}]},"documentation":{"id":26216,"nodeType":"StructuredDocumentation","src":"12385:314:161","text":" @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._"},"id":26240,"implemented":true,"kind":"function","modifiers":[],"name":"toUint72","nameLocation":"12713:8:161","nodeType":"FunctionDefinition","parameters":{"id":26219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26218,"mutability":"mutable","name":"value","nameLocation":"12730:5:161","nodeType":"VariableDeclaration","scope":26240,"src":"12722:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26217,"name":"uint256","nodeType":"ElementaryTypeName","src":"12722:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12721:15:161"},"returnParameters":{"id":26222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26240,"src":"12760:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"},"typeName":{"id":26220,"name":"uint72","nodeType":"ElementaryTypeName","src":"12760:6:161","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"visibility":"internal"}],"src":"12759:8:161"},"scope":27203,"src":"12704:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26264,"nodeType":"Block","src":"13280:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26243,"src":"13298:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13312:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":26251,"name":"uint64","nodeType":"ElementaryTypeName","src":"13312:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":26250,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13307:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13307:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":26254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"13307:16:161","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13298:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473","id":26256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13325:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""},"value":"SafeCast: value doesn't fit in 64 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""}],"id":26248,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13290:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13290:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26258,"nodeType":"ExpressionStatement","src":"13290:76:161"},{"expression":{"arguments":[{"id":26261,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26243,"src":"13390:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13383:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":26259,"name":"uint64","nodeType":"ElementaryTypeName","src":"13383:6:161","typeDescriptions":{}}},"id":26262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13383:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":26247,"id":26263,"nodeType":"Return","src":"13376:20:161"}]},"documentation":{"id":26241,"nodeType":"StructuredDocumentation","src":"12897:314:161","text":" @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v2.5._"},"id":26265,"implemented":true,"kind":"function","modifiers":[],"name":"toUint64","nameLocation":"13225:8:161","nodeType":"FunctionDefinition","parameters":{"id":26244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26243,"mutability":"mutable","name":"value","nameLocation":"13242:5:161","nodeType":"VariableDeclaration","scope":26265,"src":"13234:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26242,"name":"uint256","nodeType":"ElementaryTypeName","src":"13234:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13233:15:161"},"returnParameters":{"id":26247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26265,"src":"13272:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":26245,"name":"uint64","nodeType":"ElementaryTypeName","src":"13272:6:161","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13271:8:161"},"scope":27203,"src":"13216:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26289,"nodeType":"Block","src":"13792:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26274,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26268,"src":"13810:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13824:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":26276,"name":"uint56","nodeType":"ElementaryTypeName","src":"13824:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":26275,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13819:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13819:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":26279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"13819:16:161","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"13810:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473","id":26281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13837:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""},"value":"SafeCast: value doesn't fit in 56 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""}],"id":26273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13802:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13802:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26283,"nodeType":"ExpressionStatement","src":"13802:76:161"},{"expression":{"arguments":[{"id":26286,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26268,"src":"13902:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13895:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":26284,"name":"uint56","nodeType":"ElementaryTypeName","src":"13895:6:161","typeDescriptions":{}}},"id":26287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13895:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":26272,"id":26288,"nodeType":"Return","src":"13888:20:161"}]},"documentation":{"id":26266,"nodeType":"StructuredDocumentation","src":"13409:314:161","text":" @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._"},"id":26290,"implemented":true,"kind":"function","modifiers":[],"name":"toUint56","nameLocation":"13737:8:161","nodeType":"FunctionDefinition","parameters":{"id":26269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26268,"mutability":"mutable","name":"value","nameLocation":"13754:5:161","nodeType":"VariableDeclaration","scope":26290,"src":"13746:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26267,"name":"uint256","nodeType":"ElementaryTypeName","src":"13746:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13745:15:161"},"returnParameters":{"id":26272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26290,"src":"13784:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"},"typeName":{"id":26270,"name":"uint56","nodeType":"ElementaryTypeName","src":"13784:6:161","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"visibility":"internal"}],"src":"13783:8:161"},"scope":27203,"src":"13728:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26314,"nodeType":"Block","src":"14304:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26299,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26293,"src":"14322:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14336:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":26301,"name":"uint48","nodeType":"ElementaryTypeName","src":"14336:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":26300,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14331:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14331:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":26304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"14331:16:161","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14322:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473","id":26306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14349:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""},"value":"SafeCast: value doesn't fit in 48 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""}],"id":26298,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14314:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14314:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26308,"nodeType":"ExpressionStatement","src":"14314:76:161"},{"expression":{"arguments":[{"id":26311,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26293,"src":"14414:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14407:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":26309,"name":"uint48","nodeType":"ElementaryTypeName","src":"14407:6:161","typeDescriptions":{}}},"id":26312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14407:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":26297,"id":26313,"nodeType":"Return","src":"14400:20:161"}]},"documentation":{"id":26291,"nodeType":"StructuredDocumentation","src":"13921:314:161","text":" @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._"},"id":26315,"implemented":true,"kind":"function","modifiers":[],"name":"toUint48","nameLocation":"14249:8:161","nodeType":"FunctionDefinition","parameters":{"id":26294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26293,"mutability":"mutable","name":"value","nameLocation":"14266:5:161","nodeType":"VariableDeclaration","scope":26315,"src":"14258:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26292,"name":"uint256","nodeType":"ElementaryTypeName","src":"14258:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14257:15:161"},"returnParameters":{"id":26297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26315,"src":"14296:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":26295,"name":"uint48","nodeType":"ElementaryTypeName","src":"14296:6:161","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14295:8:161"},"scope":27203,"src":"14240:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26339,"nodeType":"Block","src":"14816:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26324,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26318,"src":"14834:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14848:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":26326,"name":"uint40","nodeType":"ElementaryTypeName","src":"14848:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":26325,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14843:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14843:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":26329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"14843:16:161","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"14834:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473","id":26331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14861:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""},"value":"SafeCast: value doesn't fit in 40 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""}],"id":26323,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14826:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14826:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26333,"nodeType":"ExpressionStatement","src":"14826:76:161"},{"expression":{"arguments":[{"id":26336,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26318,"src":"14926:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14919:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":26334,"name":"uint40","nodeType":"ElementaryTypeName","src":"14919:6:161","typeDescriptions":{}}},"id":26337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14919:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":26322,"id":26338,"nodeType":"Return","src":"14912:20:161"}]},"documentation":{"id":26316,"nodeType":"StructuredDocumentation","src":"14433:314:161","text":" @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._"},"id":26340,"implemented":true,"kind":"function","modifiers":[],"name":"toUint40","nameLocation":"14761:8:161","nodeType":"FunctionDefinition","parameters":{"id":26319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26318,"mutability":"mutable","name":"value","nameLocation":"14778:5:161","nodeType":"VariableDeclaration","scope":26340,"src":"14770:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26317,"name":"uint256","nodeType":"ElementaryTypeName","src":"14770:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14769:15:161"},"returnParameters":{"id":26322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26340,"src":"14808:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":26320,"name":"uint40","nodeType":"ElementaryTypeName","src":"14808:6:161","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"src":"14807:8:161"},"scope":27203,"src":"14752:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26364,"nodeType":"Block","src":"15328:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26349,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26343,"src":"15346:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15360:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":26351,"name":"uint32","nodeType":"ElementaryTypeName","src":"15360:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":26350,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15355:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15355:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":26354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"15355:16:161","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"15346:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473","id":26356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15373:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""},"value":"SafeCast: value doesn't fit in 32 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""}],"id":26348,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15338:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15338:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26358,"nodeType":"ExpressionStatement","src":"15338:76:161"},{"expression":{"arguments":[{"id":26361,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26343,"src":"15438:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15431:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":26359,"name":"uint32","nodeType":"ElementaryTypeName","src":"15431:6:161","typeDescriptions":{}}},"id":26362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15431:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":26347,"id":26363,"nodeType":"Return","src":"15424:20:161"}]},"documentation":{"id":26341,"nodeType":"StructuredDocumentation","src":"14945:314:161","text":" @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v2.5._"},"id":26365,"implemented":true,"kind":"function","modifiers":[],"name":"toUint32","nameLocation":"15273:8:161","nodeType":"FunctionDefinition","parameters":{"id":26344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26343,"mutability":"mutable","name":"value","nameLocation":"15290:5:161","nodeType":"VariableDeclaration","scope":26365,"src":"15282:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26342,"name":"uint256","nodeType":"ElementaryTypeName","src":"15282:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15281:15:161"},"returnParameters":{"id":26347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26365,"src":"15320:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":26345,"name":"uint32","nodeType":"ElementaryTypeName","src":"15320:6:161","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15319:8:161"},"scope":27203,"src":"15264:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26389,"nodeType":"Block","src":"15840:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26374,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26368,"src":"15858:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15872:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":26376,"name":"uint24","nodeType":"ElementaryTypeName","src":"15872:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"}],"id":26375,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15867:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15867:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint24","typeString":"type(uint24)"}},"id":26379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"15867:16:161","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"15858:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473","id":26381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15885:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""},"value":"SafeCast: value doesn't fit in 24 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""}],"id":26373,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15850:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15850:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26383,"nodeType":"ExpressionStatement","src":"15850:76:161"},{"expression":{"arguments":[{"id":26386,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26368,"src":"15950:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15943:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":26384,"name":"uint24","nodeType":"ElementaryTypeName","src":"15943:6:161","typeDescriptions":{}}},"id":26387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15943:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":26372,"id":26388,"nodeType":"Return","src":"15936:20:161"}]},"documentation":{"id":26366,"nodeType":"StructuredDocumentation","src":"15457:314:161","text":" @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._"},"id":26390,"implemented":true,"kind":"function","modifiers":[],"name":"toUint24","nameLocation":"15785:8:161","nodeType":"FunctionDefinition","parameters":{"id":26369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26368,"mutability":"mutable","name":"value","nameLocation":"15802:5:161","nodeType":"VariableDeclaration","scope":26390,"src":"15794:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26367,"name":"uint256","nodeType":"ElementaryTypeName","src":"15794:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15793:15:161"},"returnParameters":{"id":26372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26390,"src":"15832:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":26370,"name":"uint24","nodeType":"ElementaryTypeName","src":"15832:6:161","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15831:8:161"},"scope":27203,"src":"15776:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26414,"nodeType":"Block","src":"16352:123:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26399,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26393,"src":"16370:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16384:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":26401,"name":"uint16","nodeType":"ElementaryTypeName","src":"16384:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":26400,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16379:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16379:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":26404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"16379:16:161","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"16370:25:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473","id":26406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16397:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""},"value":"SafeCast: value doesn't fit in 16 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""}],"id":26398,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16362:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16362:76:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26408,"nodeType":"ExpressionStatement","src":"16362:76:161"},{"expression":{"arguments":[{"id":26411,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26393,"src":"16462:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16455:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":26409,"name":"uint16","nodeType":"ElementaryTypeName","src":"16455:6:161","typeDescriptions":{}}},"id":26412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16455:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":26397,"id":26413,"nodeType":"Return","src":"16448:20:161"}]},"documentation":{"id":26391,"nodeType":"StructuredDocumentation","src":"15969:314:161","text":" @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v2.5._"},"id":26415,"implemented":true,"kind":"function","modifiers":[],"name":"toUint16","nameLocation":"16297:8:161","nodeType":"FunctionDefinition","parameters":{"id":26394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26393,"mutability":"mutable","name":"value","nameLocation":"16314:5:161","nodeType":"VariableDeclaration","scope":26415,"src":"16306:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26392,"name":"uint256","nodeType":"ElementaryTypeName","src":"16306:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16305:15:161"},"returnParameters":{"id":26397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26415,"src":"16344:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":26395,"name":"uint16","nodeType":"ElementaryTypeName","src":"16344:6:161","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"16343:8:161"},"scope":27203,"src":"16288:187:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26439,"nodeType":"Block","src":"16858:120:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26424,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26418,"src":"16876:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":26427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16890:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":26426,"name":"uint8","nodeType":"ElementaryTypeName","src":"16890:5:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":26425,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16885:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":26428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16885:11:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":26429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"16885:15:161","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16876:24:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473","id":26431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16902:39:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""},"value":"SafeCast: value doesn't fit in 8 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""}],"id":26423,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16868:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16868:74:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26433,"nodeType":"ExpressionStatement","src":"16868:74:161"},{"expression":{"arguments":[{"id":26436,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26418,"src":"16965:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16959:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":26434,"name":"uint8","nodeType":"ElementaryTypeName","src":"16959:5:161","typeDescriptions":{}}},"id":26437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16959:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":26422,"id":26438,"nodeType":"Return","src":"16952:19:161"}]},"documentation":{"id":26416,"nodeType":"StructuredDocumentation","src":"16481:310:161","text":" @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v2.5._"},"id":26440,"implemented":true,"kind":"function","modifiers":[],"name":"toUint8","nameLocation":"16805:7:161","nodeType":"FunctionDefinition","parameters":{"id":26419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26418,"mutability":"mutable","name":"value","nameLocation":"16821:5:161","nodeType":"VariableDeclaration","scope":26440,"src":"16813:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26417,"name":"uint256","nodeType":"ElementaryTypeName","src":"16813:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16812:15:161"},"returnParameters":{"id":26422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26440,"src":"16851:5:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":26420,"name":"uint8","nodeType":"ElementaryTypeName","src":"16851:5:161","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16850:7:161"},"scope":27203,"src":"16796:182:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26460,"nodeType":"Block","src":"17252:103:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26449,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26443,"src":"17270:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":26450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17279:1:161","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17270:10:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c7565206d75737420626520706f736974697665","id":26452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17282:34:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807","typeString":"literal_string \"SafeCast: value must be positive\""},"value":"SafeCast: value must be positive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807","typeString":"literal_string \"SafeCast: value must be positive\""}],"id":26448,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17262:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17262:55:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26454,"nodeType":"ExpressionStatement","src":"17262:55:161"},{"expression":{"arguments":[{"id":26457,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26443,"src":"17342:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17334:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":26455,"name":"uint256","nodeType":"ElementaryTypeName","src":"17334:7:161","typeDescriptions":{}}},"id":26458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17334:14:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":26447,"id":26459,"nodeType":"Return","src":"17327:21:161"}]},"documentation":{"id":26441,"nodeType":"StructuredDocumentation","src":"16984:198:161","text":" @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0.\n _Available since v3.0._"},"id":26461,"implemented":true,"kind":"function","modifiers":[],"name":"toUint256","nameLocation":"17196:9:161","nodeType":"FunctionDefinition","parameters":{"id":26444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26443,"mutability":"mutable","name":"value","nameLocation":"17213:5:161","nodeType":"VariableDeclaration","scope":26461,"src":"17206:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26442,"name":"int256","nodeType":"ElementaryTypeName","src":"17206:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17205:14:161"},"returnParameters":{"id":26447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26461,"src":"17243:7:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26445,"name":"uint256","nodeType":"ElementaryTypeName","src":"17243:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17242:9:161"},"scope":27203,"src":"17187:168:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26483,"nodeType":"Block","src":"17790:124:161","statements":[{"expression":{"id":26474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26469,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26467,"src":"17800:10:161","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26472,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26464,"src":"17820:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17813:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int248_$","typeString":"type(int248)"},"typeName":{"id":26470,"name":"int248","nodeType":"ElementaryTypeName","src":"17813:6:161","typeDescriptions":{}}},"id":26473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17813:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"src":"17800:26:161","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":26475,"nodeType":"ExpressionStatement","src":"17800:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26477,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26467,"src":"17844:10:161","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26478,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26464,"src":"17858:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17844:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473","id":26480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17865:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""},"value":"SafeCast: value doesn't fit in 248 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""}],"id":26476,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17836:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17836:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26482,"nodeType":"ExpressionStatement","src":"17836:71:161"}]},"documentation":{"id":26462,"nodeType":"StructuredDocumentation","src":"17361:350:161","text":" @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._"},"id":26484,"implemented":true,"kind":"function","modifiers":[],"name":"toInt248","nameLocation":"17725:8:161","nodeType":"FunctionDefinition","parameters":{"id":26465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26464,"mutability":"mutable","name":"value","nameLocation":"17741:5:161","nodeType":"VariableDeclaration","scope":26484,"src":"17734:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26463,"name":"int256","nodeType":"ElementaryTypeName","src":"17734:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17733:14:161"},"returnParameters":{"id":26468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26467,"mutability":"mutable","name":"downcasted","nameLocation":"17778:10:161","nodeType":"VariableDeclaration","scope":26484,"src":"17771:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"},"typeName":{"id":26466,"name":"int248","nodeType":"ElementaryTypeName","src":"17771:6:161","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"visibility":"internal"}],"src":"17770:19:161"},"scope":27203,"src":"17716:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26506,"nodeType":"Block","src":"18349:124:161","statements":[{"expression":{"id":26497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26492,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26490,"src":"18359:10:161","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26495,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26487,"src":"18379:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18372:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int240_$","typeString":"type(int240)"},"typeName":{"id":26493,"name":"int240","nodeType":"ElementaryTypeName","src":"18372:6:161","typeDescriptions":{}}},"id":26496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18372:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"src":"18359:26:161","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":26498,"nodeType":"ExpressionStatement","src":"18359:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26500,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26490,"src":"18403:10:161","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26501,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26487,"src":"18417:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18403:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473","id":26503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18424:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""},"value":"SafeCast: value doesn't fit in 240 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""}],"id":26499,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18395:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18395:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26505,"nodeType":"ExpressionStatement","src":"18395:71:161"}]},"documentation":{"id":26485,"nodeType":"StructuredDocumentation","src":"17920:350:161","text":" @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._"},"id":26507,"implemented":true,"kind":"function","modifiers":[],"name":"toInt240","nameLocation":"18284:8:161","nodeType":"FunctionDefinition","parameters":{"id":26488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26487,"mutability":"mutable","name":"value","nameLocation":"18300:5:161","nodeType":"VariableDeclaration","scope":26507,"src":"18293:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26486,"name":"int256","nodeType":"ElementaryTypeName","src":"18293:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18292:14:161"},"returnParameters":{"id":26491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26490,"mutability":"mutable","name":"downcasted","nameLocation":"18337:10:161","nodeType":"VariableDeclaration","scope":26507,"src":"18330:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"},"typeName":{"id":26489,"name":"int240","nodeType":"ElementaryTypeName","src":"18330:6:161","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"visibility":"internal"}],"src":"18329:19:161"},"scope":27203,"src":"18275:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26529,"nodeType":"Block","src":"18908:124:161","statements":[{"expression":{"id":26520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26515,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26513,"src":"18918:10:161","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26518,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26510,"src":"18938:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18931:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int232_$","typeString":"type(int232)"},"typeName":{"id":26516,"name":"int232","nodeType":"ElementaryTypeName","src":"18931:6:161","typeDescriptions":{}}},"id":26519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18931:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"src":"18918:26:161","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":26521,"nodeType":"ExpressionStatement","src":"18918:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26523,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26513,"src":"18962:10:161","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26524,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26510,"src":"18976:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18962:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473","id":26526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18983:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""},"value":"SafeCast: value doesn't fit in 232 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""}],"id":26522,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18954:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18954:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26528,"nodeType":"ExpressionStatement","src":"18954:71:161"}]},"documentation":{"id":26508,"nodeType":"StructuredDocumentation","src":"18479:350:161","text":" @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._"},"id":26530,"implemented":true,"kind":"function","modifiers":[],"name":"toInt232","nameLocation":"18843:8:161","nodeType":"FunctionDefinition","parameters":{"id":26511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26510,"mutability":"mutable","name":"value","nameLocation":"18859:5:161","nodeType":"VariableDeclaration","scope":26530,"src":"18852:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26509,"name":"int256","nodeType":"ElementaryTypeName","src":"18852:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18851:14:161"},"returnParameters":{"id":26514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26513,"mutability":"mutable","name":"downcasted","nameLocation":"18896:10:161","nodeType":"VariableDeclaration","scope":26530,"src":"18889:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"},"typeName":{"id":26512,"name":"int232","nodeType":"ElementaryTypeName","src":"18889:6:161","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"visibility":"internal"}],"src":"18888:19:161"},"scope":27203,"src":"18834:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26552,"nodeType":"Block","src":"19467:124:161","statements":[{"expression":{"id":26543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26538,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26536,"src":"19477:10:161","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26541,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26533,"src":"19497:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19490:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int224_$","typeString":"type(int224)"},"typeName":{"id":26539,"name":"int224","nodeType":"ElementaryTypeName","src":"19490:6:161","typeDescriptions":{}}},"id":26542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19490:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"src":"19477:26:161","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":26544,"nodeType":"ExpressionStatement","src":"19477:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26546,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26536,"src":"19521:10:161","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26547,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26533,"src":"19535:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19521:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473","id":26549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19542:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""},"value":"SafeCast: value doesn't fit in 224 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""}],"id":26545,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19513:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19513:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26551,"nodeType":"ExpressionStatement","src":"19513:71:161"}]},"documentation":{"id":26531,"nodeType":"StructuredDocumentation","src":"19038:350:161","text":" @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.7._"},"id":26553,"implemented":true,"kind":"function","modifiers":[],"name":"toInt224","nameLocation":"19402:8:161","nodeType":"FunctionDefinition","parameters":{"id":26534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26533,"mutability":"mutable","name":"value","nameLocation":"19418:5:161","nodeType":"VariableDeclaration","scope":26553,"src":"19411:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26532,"name":"int256","nodeType":"ElementaryTypeName","src":"19411:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19410:14:161"},"returnParameters":{"id":26537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26536,"mutability":"mutable","name":"downcasted","nameLocation":"19455:10:161","nodeType":"VariableDeclaration","scope":26553,"src":"19448:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"},"typeName":{"id":26535,"name":"int224","nodeType":"ElementaryTypeName","src":"19448:6:161","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"visibility":"internal"}],"src":"19447:19:161"},"scope":27203,"src":"19393:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26575,"nodeType":"Block","src":"20026:124:161","statements":[{"expression":{"id":26566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26561,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26559,"src":"20036:10:161","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26564,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26556,"src":"20056:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20049:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int216_$","typeString":"type(int216)"},"typeName":{"id":26562,"name":"int216","nodeType":"ElementaryTypeName","src":"20049:6:161","typeDescriptions":{}}},"id":26565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20049:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"src":"20036:26:161","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":26567,"nodeType":"ExpressionStatement","src":"20036:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26569,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26559,"src":"20080:10:161","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26570,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26556,"src":"20094:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20080:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473","id":26572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20101:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""},"value":"SafeCast: value doesn't fit in 216 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""}],"id":26568,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20072:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20072:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26574,"nodeType":"ExpressionStatement","src":"20072:71:161"}]},"documentation":{"id":26554,"nodeType":"StructuredDocumentation","src":"19597:350:161","text":" @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._"},"id":26576,"implemented":true,"kind":"function","modifiers":[],"name":"toInt216","nameLocation":"19961:8:161","nodeType":"FunctionDefinition","parameters":{"id":26557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26556,"mutability":"mutable","name":"value","nameLocation":"19977:5:161","nodeType":"VariableDeclaration","scope":26576,"src":"19970:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26555,"name":"int256","nodeType":"ElementaryTypeName","src":"19970:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19969:14:161"},"returnParameters":{"id":26560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26559,"mutability":"mutable","name":"downcasted","nameLocation":"20014:10:161","nodeType":"VariableDeclaration","scope":26576,"src":"20007:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"},"typeName":{"id":26558,"name":"int216","nodeType":"ElementaryTypeName","src":"20007:6:161","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"visibility":"internal"}],"src":"20006:19:161"},"scope":27203,"src":"19952:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26598,"nodeType":"Block","src":"20585:124:161","statements":[{"expression":{"id":26589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26584,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26582,"src":"20595:10:161","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26587,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26579,"src":"20615:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20608:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int208_$","typeString":"type(int208)"},"typeName":{"id":26585,"name":"int208","nodeType":"ElementaryTypeName","src":"20608:6:161","typeDescriptions":{}}},"id":26588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20608:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"src":"20595:26:161","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":26590,"nodeType":"ExpressionStatement","src":"20595:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26592,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26582,"src":"20639:10:161","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26593,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26579,"src":"20653:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20639:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473","id":26595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20660:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""},"value":"SafeCast: value doesn't fit in 208 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""}],"id":26591,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20631:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20631:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26597,"nodeType":"ExpressionStatement","src":"20631:71:161"}]},"documentation":{"id":26577,"nodeType":"StructuredDocumentation","src":"20156:350:161","text":" @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._"},"id":26599,"implemented":true,"kind":"function","modifiers":[],"name":"toInt208","nameLocation":"20520:8:161","nodeType":"FunctionDefinition","parameters":{"id":26580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26579,"mutability":"mutable","name":"value","nameLocation":"20536:5:161","nodeType":"VariableDeclaration","scope":26599,"src":"20529:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26578,"name":"int256","nodeType":"ElementaryTypeName","src":"20529:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20528:14:161"},"returnParameters":{"id":26583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26582,"mutability":"mutable","name":"downcasted","nameLocation":"20573:10:161","nodeType":"VariableDeclaration","scope":26599,"src":"20566:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"},"typeName":{"id":26581,"name":"int208","nodeType":"ElementaryTypeName","src":"20566:6:161","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"visibility":"internal"}],"src":"20565:19:161"},"scope":27203,"src":"20511:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26621,"nodeType":"Block","src":"21144:124:161","statements":[{"expression":{"id":26612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26607,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26605,"src":"21154:10:161","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26610,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26602,"src":"21174:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21167:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int200_$","typeString":"type(int200)"},"typeName":{"id":26608,"name":"int200","nodeType":"ElementaryTypeName","src":"21167:6:161","typeDescriptions":{}}},"id":26611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21167:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"src":"21154:26:161","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":26613,"nodeType":"ExpressionStatement","src":"21154:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26615,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26605,"src":"21198:10:161","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26616,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26602,"src":"21212:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21198:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473","id":26618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21219:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""},"value":"SafeCast: value doesn't fit in 200 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""}],"id":26614,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21190:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21190:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26620,"nodeType":"ExpressionStatement","src":"21190:71:161"}]},"documentation":{"id":26600,"nodeType":"StructuredDocumentation","src":"20715:350:161","text":" @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._"},"id":26622,"implemented":true,"kind":"function","modifiers":[],"name":"toInt200","nameLocation":"21079:8:161","nodeType":"FunctionDefinition","parameters":{"id":26603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26602,"mutability":"mutable","name":"value","nameLocation":"21095:5:161","nodeType":"VariableDeclaration","scope":26622,"src":"21088:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26601,"name":"int256","nodeType":"ElementaryTypeName","src":"21088:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21087:14:161"},"returnParameters":{"id":26606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26605,"mutability":"mutable","name":"downcasted","nameLocation":"21132:10:161","nodeType":"VariableDeclaration","scope":26622,"src":"21125:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"},"typeName":{"id":26604,"name":"int200","nodeType":"ElementaryTypeName","src":"21125:6:161","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"visibility":"internal"}],"src":"21124:19:161"},"scope":27203,"src":"21070:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26644,"nodeType":"Block","src":"21703:124:161","statements":[{"expression":{"id":26635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26630,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26628,"src":"21713:10:161","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26633,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26625,"src":"21733:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21726:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int192_$","typeString":"type(int192)"},"typeName":{"id":26631,"name":"int192","nodeType":"ElementaryTypeName","src":"21726:6:161","typeDescriptions":{}}},"id":26634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21726:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"src":"21713:26:161","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":26636,"nodeType":"ExpressionStatement","src":"21713:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26638,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26628,"src":"21757:10:161","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26639,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26625,"src":"21771:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21757:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473","id":26641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21778:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""},"value":"SafeCast: value doesn't fit in 192 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""}],"id":26637,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21749:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21749:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26643,"nodeType":"ExpressionStatement","src":"21749:71:161"}]},"documentation":{"id":26623,"nodeType":"StructuredDocumentation","src":"21274:350:161","text":" @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._"},"id":26645,"implemented":true,"kind":"function","modifiers":[],"name":"toInt192","nameLocation":"21638:8:161","nodeType":"FunctionDefinition","parameters":{"id":26626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26625,"mutability":"mutable","name":"value","nameLocation":"21654:5:161","nodeType":"VariableDeclaration","scope":26645,"src":"21647:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26624,"name":"int256","nodeType":"ElementaryTypeName","src":"21647:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21646:14:161"},"returnParameters":{"id":26629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26628,"mutability":"mutable","name":"downcasted","nameLocation":"21691:10:161","nodeType":"VariableDeclaration","scope":26645,"src":"21684:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"},"typeName":{"id":26627,"name":"int192","nodeType":"ElementaryTypeName","src":"21684:6:161","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"visibility":"internal"}],"src":"21683:19:161"},"scope":27203,"src":"21629:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26667,"nodeType":"Block","src":"22262:124:161","statements":[{"expression":{"id":26658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26653,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26651,"src":"22272:10:161","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26656,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26648,"src":"22292:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22285:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int184_$","typeString":"type(int184)"},"typeName":{"id":26654,"name":"int184","nodeType":"ElementaryTypeName","src":"22285:6:161","typeDescriptions":{}}},"id":26657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22285:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"src":"22272:26:161","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":26659,"nodeType":"ExpressionStatement","src":"22272:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26661,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26651,"src":"22316:10:161","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26662,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26648,"src":"22330:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22316:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473","id":26664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22337:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""},"value":"SafeCast: value doesn't fit in 184 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""}],"id":26660,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22308:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22308:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26666,"nodeType":"ExpressionStatement","src":"22308:71:161"}]},"documentation":{"id":26646,"nodeType":"StructuredDocumentation","src":"21833:350:161","text":" @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._"},"id":26668,"implemented":true,"kind":"function","modifiers":[],"name":"toInt184","nameLocation":"22197:8:161","nodeType":"FunctionDefinition","parameters":{"id":26649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26648,"mutability":"mutable","name":"value","nameLocation":"22213:5:161","nodeType":"VariableDeclaration","scope":26668,"src":"22206:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26647,"name":"int256","nodeType":"ElementaryTypeName","src":"22206:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22205:14:161"},"returnParameters":{"id":26652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26651,"mutability":"mutable","name":"downcasted","nameLocation":"22250:10:161","nodeType":"VariableDeclaration","scope":26668,"src":"22243:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"},"typeName":{"id":26650,"name":"int184","nodeType":"ElementaryTypeName","src":"22243:6:161","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"visibility":"internal"}],"src":"22242:19:161"},"scope":27203,"src":"22188:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26690,"nodeType":"Block","src":"22821:124:161","statements":[{"expression":{"id":26681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26676,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26674,"src":"22831:10:161","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26679,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26671,"src":"22851:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22844:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int176_$","typeString":"type(int176)"},"typeName":{"id":26677,"name":"int176","nodeType":"ElementaryTypeName","src":"22844:6:161","typeDescriptions":{}}},"id":26680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22844:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"src":"22831:26:161","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":26682,"nodeType":"ExpressionStatement","src":"22831:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26684,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26674,"src":"22875:10:161","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26685,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26671,"src":"22889:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22875:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473","id":26687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22896:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""},"value":"SafeCast: value doesn't fit in 176 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""}],"id":26683,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22867:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22867:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26689,"nodeType":"ExpressionStatement","src":"22867:71:161"}]},"documentation":{"id":26669,"nodeType":"StructuredDocumentation","src":"22392:350:161","text":" @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._"},"id":26691,"implemented":true,"kind":"function","modifiers":[],"name":"toInt176","nameLocation":"22756:8:161","nodeType":"FunctionDefinition","parameters":{"id":26672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26671,"mutability":"mutable","name":"value","nameLocation":"22772:5:161","nodeType":"VariableDeclaration","scope":26691,"src":"22765:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26670,"name":"int256","nodeType":"ElementaryTypeName","src":"22765:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22764:14:161"},"returnParameters":{"id":26675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26674,"mutability":"mutable","name":"downcasted","nameLocation":"22809:10:161","nodeType":"VariableDeclaration","scope":26691,"src":"22802:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"},"typeName":{"id":26673,"name":"int176","nodeType":"ElementaryTypeName","src":"22802:6:161","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"visibility":"internal"}],"src":"22801:19:161"},"scope":27203,"src":"22747:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26713,"nodeType":"Block","src":"23380:124:161","statements":[{"expression":{"id":26704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26699,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26697,"src":"23390:10:161","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26702,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26694,"src":"23410:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23403:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int168_$","typeString":"type(int168)"},"typeName":{"id":26700,"name":"int168","nodeType":"ElementaryTypeName","src":"23403:6:161","typeDescriptions":{}}},"id":26703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23403:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"src":"23390:26:161","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":26705,"nodeType":"ExpressionStatement","src":"23390:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26707,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26697,"src":"23434:10:161","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26708,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26694,"src":"23448:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23434:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473","id":26710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23455:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""},"value":"SafeCast: value doesn't fit in 168 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""}],"id":26706,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23426:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23426:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26712,"nodeType":"ExpressionStatement","src":"23426:71:161"}]},"documentation":{"id":26692,"nodeType":"StructuredDocumentation","src":"22951:350:161","text":" @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._"},"id":26714,"implemented":true,"kind":"function","modifiers":[],"name":"toInt168","nameLocation":"23315:8:161","nodeType":"FunctionDefinition","parameters":{"id":26695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26694,"mutability":"mutable","name":"value","nameLocation":"23331:5:161","nodeType":"VariableDeclaration","scope":26714,"src":"23324:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26693,"name":"int256","nodeType":"ElementaryTypeName","src":"23324:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23323:14:161"},"returnParameters":{"id":26698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26697,"mutability":"mutable","name":"downcasted","nameLocation":"23368:10:161","nodeType":"VariableDeclaration","scope":26714,"src":"23361:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"},"typeName":{"id":26696,"name":"int168","nodeType":"ElementaryTypeName","src":"23361:6:161","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"visibility":"internal"}],"src":"23360:19:161"},"scope":27203,"src":"23306:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26736,"nodeType":"Block","src":"23939:124:161","statements":[{"expression":{"id":26727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26722,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26720,"src":"23949:10:161","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26725,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26717,"src":"23969:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23962:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int160_$","typeString":"type(int160)"},"typeName":{"id":26723,"name":"int160","nodeType":"ElementaryTypeName","src":"23962:6:161","typeDescriptions":{}}},"id":26726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23962:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"src":"23949:26:161","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":26728,"nodeType":"ExpressionStatement","src":"23949:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26730,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26720,"src":"23993:10:161","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26731,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26717,"src":"24007:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23993:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473","id":26733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24014:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""},"value":"SafeCast: value doesn't fit in 160 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""}],"id":26729,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23985:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23985:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26735,"nodeType":"ExpressionStatement","src":"23985:71:161"}]},"documentation":{"id":26715,"nodeType":"StructuredDocumentation","src":"23510:350:161","text":" @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._"},"id":26737,"implemented":true,"kind":"function","modifiers":[],"name":"toInt160","nameLocation":"23874:8:161","nodeType":"FunctionDefinition","parameters":{"id":26718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26717,"mutability":"mutable","name":"value","nameLocation":"23890:5:161","nodeType":"VariableDeclaration","scope":26737,"src":"23883:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26716,"name":"int256","nodeType":"ElementaryTypeName","src":"23883:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23882:14:161"},"returnParameters":{"id":26721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26720,"mutability":"mutable","name":"downcasted","nameLocation":"23927:10:161","nodeType":"VariableDeclaration","scope":26737,"src":"23920:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"},"typeName":{"id":26719,"name":"int160","nodeType":"ElementaryTypeName","src":"23920:6:161","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"visibility":"internal"}],"src":"23919:19:161"},"scope":27203,"src":"23865:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26759,"nodeType":"Block","src":"24498:124:161","statements":[{"expression":{"id":26750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26745,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26743,"src":"24508:10:161","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26748,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26740,"src":"24528:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24521:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int152_$","typeString":"type(int152)"},"typeName":{"id":26746,"name":"int152","nodeType":"ElementaryTypeName","src":"24521:6:161","typeDescriptions":{}}},"id":26749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24521:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"src":"24508:26:161","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":26751,"nodeType":"ExpressionStatement","src":"24508:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26753,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26743,"src":"24552:10:161","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26754,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26740,"src":"24566:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24552:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473","id":26756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24573:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""},"value":"SafeCast: value doesn't fit in 152 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""}],"id":26752,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24544:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24544:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26758,"nodeType":"ExpressionStatement","src":"24544:71:161"}]},"documentation":{"id":26738,"nodeType":"StructuredDocumentation","src":"24069:350:161","text":" @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._"},"id":26760,"implemented":true,"kind":"function","modifiers":[],"name":"toInt152","nameLocation":"24433:8:161","nodeType":"FunctionDefinition","parameters":{"id":26741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26740,"mutability":"mutable","name":"value","nameLocation":"24449:5:161","nodeType":"VariableDeclaration","scope":26760,"src":"24442:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26739,"name":"int256","nodeType":"ElementaryTypeName","src":"24442:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24441:14:161"},"returnParameters":{"id":26744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26743,"mutability":"mutable","name":"downcasted","nameLocation":"24486:10:161","nodeType":"VariableDeclaration","scope":26760,"src":"24479:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"},"typeName":{"id":26742,"name":"int152","nodeType":"ElementaryTypeName","src":"24479:6:161","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"visibility":"internal"}],"src":"24478:19:161"},"scope":27203,"src":"24424:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26782,"nodeType":"Block","src":"25057:124:161","statements":[{"expression":{"id":26773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26768,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26766,"src":"25067:10:161","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26771,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26763,"src":"25087:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25080:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int144_$","typeString":"type(int144)"},"typeName":{"id":26769,"name":"int144","nodeType":"ElementaryTypeName","src":"25080:6:161","typeDescriptions":{}}},"id":26772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25080:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"src":"25067:26:161","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":26774,"nodeType":"ExpressionStatement","src":"25067:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26776,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26766,"src":"25111:10:161","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26777,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26763,"src":"25125:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25111:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473","id":26779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25132:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""},"value":"SafeCast: value doesn't fit in 144 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""}],"id":26775,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"25103:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25103:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26781,"nodeType":"ExpressionStatement","src":"25103:71:161"}]},"documentation":{"id":26761,"nodeType":"StructuredDocumentation","src":"24628:350:161","text":" @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._"},"id":26783,"implemented":true,"kind":"function","modifiers":[],"name":"toInt144","nameLocation":"24992:8:161","nodeType":"FunctionDefinition","parameters":{"id":26764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26763,"mutability":"mutable","name":"value","nameLocation":"25008:5:161","nodeType":"VariableDeclaration","scope":26783,"src":"25001:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26762,"name":"int256","nodeType":"ElementaryTypeName","src":"25001:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25000:14:161"},"returnParameters":{"id":26767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26766,"mutability":"mutable","name":"downcasted","nameLocation":"25045:10:161","nodeType":"VariableDeclaration","scope":26783,"src":"25038:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"},"typeName":{"id":26765,"name":"int144","nodeType":"ElementaryTypeName","src":"25038:6:161","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"visibility":"internal"}],"src":"25037:19:161"},"scope":27203,"src":"24983:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26805,"nodeType":"Block","src":"25616:124:161","statements":[{"expression":{"id":26796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26791,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26789,"src":"25626:10:161","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26794,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26786,"src":"25646:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25639:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int136_$","typeString":"type(int136)"},"typeName":{"id":26792,"name":"int136","nodeType":"ElementaryTypeName","src":"25639:6:161","typeDescriptions":{}}},"id":26795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25639:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"src":"25626:26:161","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":26797,"nodeType":"ExpressionStatement","src":"25626:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26799,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26789,"src":"25670:10:161","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26800,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26786,"src":"25684:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25670:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473","id":26802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25691:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""},"value":"SafeCast: value doesn't fit in 136 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""}],"id":26798,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"25662:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25662:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26804,"nodeType":"ExpressionStatement","src":"25662:71:161"}]},"documentation":{"id":26784,"nodeType":"StructuredDocumentation","src":"25187:350:161","text":" @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._"},"id":26806,"implemented":true,"kind":"function","modifiers":[],"name":"toInt136","nameLocation":"25551:8:161","nodeType":"FunctionDefinition","parameters":{"id":26787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26786,"mutability":"mutable","name":"value","nameLocation":"25567:5:161","nodeType":"VariableDeclaration","scope":26806,"src":"25560:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26785,"name":"int256","nodeType":"ElementaryTypeName","src":"25560:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25559:14:161"},"returnParameters":{"id":26790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26789,"mutability":"mutable","name":"downcasted","nameLocation":"25604:10:161","nodeType":"VariableDeclaration","scope":26806,"src":"25597:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"},"typeName":{"id":26788,"name":"int136","nodeType":"ElementaryTypeName","src":"25597:6:161","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"visibility":"internal"}],"src":"25596:19:161"},"scope":27203,"src":"25542:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26828,"nodeType":"Block","src":"26175:124:161","statements":[{"expression":{"id":26819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26814,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26812,"src":"26185:10:161","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26817,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26809,"src":"26205:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26198:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":26815,"name":"int128","nodeType":"ElementaryTypeName","src":"26198:6:161","typeDescriptions":{}}},"id":26818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26198:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"26185:26:161","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":26820,"nodeType":"ExpressionStatement","src":"26185:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26822,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26812,"src":"26229:10:161","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26823,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26809,"src":"26243:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26229:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473","id":26825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26250:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""},"value":"SafeCast: value doesn't fit in 128 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""}],"id":26821,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"26221:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26221:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26827,"nodeType":"ExpressionStatement","src":"26221:71:161"}]},"documentation":{"id":26807,"nodeType":"StructuredDocumentation","src":"25746:350:161","text":" @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v3.1._"},"id":26829,"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"26110:8:161","nodeType":"FunctionDefinition","parameters":{"id":26810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26809,"mutability":"mutable","name":"value","nameLocation":"26126:5:161","nodeType":"VariableDeclaration","scope":26829,"src":"26119:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26808,"name":"int256","nodeType":"ElementaryTypeName","src":"26119:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26118:14:161"},"returnParameters":{"id":26813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26812,"mutability":"mutable","name":"downcasted","nameLocation":"26163:10:161","nodeType":"VariableDeclaration","scope":26829,"src":"26156:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":26811,"name":"int128","nodeType":"ElementaryTypeName","src":"26156:6:161","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"26155:19:161"},"scope":27203,"src":"26101:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26851,"nodeType":"Block","src":"26734:124:161","statements":[{"expression":{"id":26842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26837,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26835,"src":"26744:10:161","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26840,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26832,"src":"26764:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26757:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int120_$","typeString":"type(int120)"},"typeName":{"id":26838,"name":"int120","nodeType":"ElementaryTypeName","src":"26757:6:161","typeDescriptions":{}}},"id":26841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26757:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"src":"26744:26:161","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":26843,"nodeType":"ExpressionStatement","src":"26744:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26845,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26835,"src":"26788:10:161","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26846,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26832,"src":"26802:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26788:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473","id":26848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26809:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""},"value":"SafeCast: value doesn't fit in 120 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""}],"id":26844,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"26780:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26780:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26850,"nodeType":"ExpressionStatement","src":"26780:71:161"}]},"documentation":{"id":26830,"nodeType":"StructuredDocumentation","src":"26305:350:161","text":" @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._"},"id":26852,"implemented":true,"kind":"function","modifiers":[],"name":"toInt120","nameLocation":"26669:8:161","nodeType":"FunctionDefinition","parameters":{"id":26833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26832,"mutability":"mutable","name":"value","nameLocation":"26685:5:161","nodeType":"VariableDeclaration","scope":26852,"src":"26678:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26831,"name":"int256","nodeType":"ElementaryTypeName","src":"26678:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26677:14:161"},"returnParameters":{"id":26836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26835,"mutability":"mutable","name":"downcasted","nameLocation":"26722:10:161","nodeType":"VariableDeclaration","scope":26852,"src":"26715:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"},"typeName":{"id":26834,"name":"int120","nodeType":"ElementaryTypeName","src":"26715:6:161","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"visibility":"internal"}],"src":"26714:19:161"},"scope":27203,"src":"26660:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26874,"nodeType":"Block","src":"27293:124:161","statements":[{"expression":{"id":26865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26860,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26858,"src":"27303:10:161","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26863,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26855,"src":"27323:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27316:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int112_$","typeString":"type(int112)"},"typeName":{"id":26861,"name":"int112","nodeType":"ElementaryTypeName","src":"27316:6:161","typeDescriptions":{}}},"id":26864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27316:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"src":"27303:26:161","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":26866,"nodeType":"ExpressionStatement","src":"27303:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26868,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26858,"src":"27347:10:161","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26869,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26855,"src":"27361:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27347:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473","id":26871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27368:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""},"value":"SafeCast: value doesn't fit in 112 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""}],"id":26867,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27339:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27339:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26873,"nodeType":"ExpressionStatement","src":"27339:71:161"}]},"documentation":{"id":26853,"nodeType":"StructuredDocumentation","src":"26864:350:161","text":" @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._"},"id":26875,"implemented":true,"kind":"function","modifiers":[],"name":"toInt112","nameLocation":"27228:8:161","nodeType":"FunctionDefinition","parameters":{"id":26856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26855,"mutability":"mutable","name":"value","nameLocation":"27244:5:161","nodeType":"VariableDeclaration","scope":26875,"src":"27237:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26854,"name":"int256","nodeType":"ElementaryTypeName","src":"27237:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27236:14:161"},"returnParameters":{"id":26859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26858,"mutability":"mutable","name":"downcasted","nameLocation":"27281:10:161","nodeType":"VariableDeclaration","scope":26875,"src":"27274:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"},"typeName":{"id":26857,"name":"int112","nodeType":"ElementaryTypeName","src":"27274:6:161","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"visibility":"internal"}],"src":"27273:19:161"},"scope":27203,"src":"27219:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26897,"nodeType":"Block","src":"27852:124:161","statements":[{"expression":{"id":26888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26883,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26881,"src":"27862:10:161","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26886,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26878,"src":"27882:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27875:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int104_$","typeString":"type(int104)"},"typeName":{"id":26884,"name":"int104","nodeType":"ElementaryTypeName","src":"27875:6:161","typeDescriptions":{}}},"id":26887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27875:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"src":"27862:26:161","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":26889,"nodeType":"ExpressionStatement","src":"27862:26:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26891,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26881,"src":"27906:10:161","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26892,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26878,"src":"27920:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27906:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473","id":26894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27927:41:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""},"value":"SafeCast: value doesn't fit in 104 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""}],"id":26890,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27898:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27898:71:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26896,"nodeType":"ExpressionStatement","src":"27898:71:161"}]},"documentation":{"id":26876,"nodeType":"StructuredDocumentation","src":"27423:350:161","text":" @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._"},"id":26898,"implemented":true,"kind":"function","modifiers":[],"name":"toInt104","nameLocation":"27787:8:161","nodeType":"FunctionDefinition","parameters":{"id":26879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26878,"mutability":"mutable","name":"value","nameLocation":"27803:5:161","nodeType":"VariableDeclaration","scope":26898,"src":"27796:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26877,"name":"int256","nodeType":"ElementaryTypeName","src":"27796:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27795:14:161"},"returnParameters":{"id":26882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26881,"mutability":"mutable","name":"downcasted","nameLocation":"27840:10:161","nodeType":"VariableDeclaration","scope":26898,"src":"27833:17:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"},"typeName":{"id":26880,"name":"int104","nodeType":"ElementaryTypeName","src":"27833:6:161","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"visibility":"internal"}],"src":"27832:19:161"},"scope":27203,"src":"27778:198:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26920,"nodeType":"Block","src":"28404:122:161","statements":[{"expression":{"id":26911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26906,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26904,"src":"28414:10:161","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26909,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26901,"src":"28433:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28427:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int96_$","typeString":"type(int96)"},"typeName":{"id":26907,"name":"int96","nodeType":"ElementaryTypeName","src":"28427:5:161","typeDescriptions":{}}},"id":26910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28427:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"src":"28414:25:161","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":26912,"nodeType":"ExpressionStatement","src":"28414:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26914,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26904,"src":"28457:10:161","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26915,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26901,"src":"28471:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28457:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473","id":26917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28478:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""},"value":"SafeCast: value doesn't fit in 96 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""}],"id":26913,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28449:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28449:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26919,"nodeType":"ExpressionStatement","src":"28449:70:161"}]},"documentation":{"id":26899,"nodeType":"StructuredDocumentation","src":"27982:345:161","text":" @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.7._"},"id":26921,"implemented":true,"kind":"function","modifiers":[],"name":"toInt96","nameLocation":"28341:7:161","nodeType":"FunctionDefinition","parameters":{"id":26902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26901,"mutability":"mutable","name":"value","nameLocation":"28356:5:161","nodeType":"VariableDeclaration","scope":26921,"src":"28349:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26900,"name":"int256","nodeType":"ElementaryTypeName","src":"28349:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28348:14:161"},"returnParameters":{"id":26905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26904,"mutability":"mutable","name":"downcasted","nameLocation":"28392:10:161","nodeType":"VariableDeclaration","scope":26921,"src":"28386:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"},"typeName":{"id":26903,"name":"int96","nodeType":"ElementaryTypeName","src":"28386:5:161","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"visibility":"internal"}],"src":"28385:18:161"},"scope":27203,"src":"28332:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26943,"nodeType":"Block","src":"28954:122:161","statements":[{"expression":{"id":26934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26929,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26927,"src":"28964:10:161","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26932,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26924,"src":"28983:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28977:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int88_$","typeString":"type(int88)"},"typeName":{"id":26930,"name":"int88","nodeType":"ElementaryTypeName","src":"28977:5:161","typeDescriptions":{}}},"id":26933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28977:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"src":"28964:25:161","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":26935,"nodeType":"ExpressionStatement","src":"28964:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26937,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26927,"src":"29007:10:161","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26938,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26924,"src":"29021:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29007:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473","id":26940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29028:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""},"value":"SafeCast: value doesn't fit in 88 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""}],"id":26936,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28999:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28999:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26942,"nodeType":"ExpressionStatement","src":"28999:70:161"}]},"documentation":{"id":26922,"nodeType":"StructuredDocumentation","src":"28532:345:161","text":" @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._"},"id":26944,"implemented":true,"kind":"function","modifiers":[],"name":"toInt88","nameLocation":"28891:7:161","nodeType":"FunctionDefinition","parameters":{"id":26925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26924,"mutability":"mutable","name":"value","nameLocation":"28906:5:161","nodeType":"VariableDeclaration","scope":26944,"src":"28899:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26923,"name":"int256","nodeType":"ElementaryTypeName","src":"28899:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28898:14:161"},"returnParameters":{"id":26928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26927,"mutability":"mutable","name":"downcasted","nameLocation":"28942:10:161","nodeType":"VariableDeclaration","scope":26944,"src":"28936:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"},"typeName":{"id":26926,"name":"int88","nodeType":"ElementaryTypeName","src":"28936:5:161","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"visibility":"internal"}],"src":"28935:18:161"},"scope":27203,"src":"28882:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26966,"nodeType":"Block","src":"29504:122:161","statements":[{"expression":{"id":26957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26952,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26950,"src":"29514:10:161","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26955,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26947,"src":"29533:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29527:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int80_$","typeString":"type(int80)"},"typeName":{"id":26953,"name":"int80","nodeType":"ElementaryTypeName","src":"29527:5:161","typeDescriptions":{}}},"id":26956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29527:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"src":"29514:25:161","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":26958,"nodeType":"ExpressionStatement","src":"29514:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26960,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26950,"src":"29557:10:161","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26961,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26947,"src":"29571:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29557:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473","id":26963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29578:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""},"value":"SafeCast: value doesn't fit in 80 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""}],"id":26959,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"29549:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29549:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26965,"nodeType":"ExpressionStatement","src":"29549:70:161"}]},"documentation":{"id":26945,"nodeType":"StructuredDocumentation","src":"29082:345:161","text":" @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._"},"id":26967,"implemented":true,"kind":"function","modifiers":[],"name":"toInt80","nameLocation":"29441:7:161","nodeType":"FunctionDefinition","parameters":{"id":26948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26947,"mutability":"mutable","name":"value","nameLocation":"29456:5:161","nodeType":"VariableDeclaration","scope":26967,"src":"29449:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26946,"name":"int256","nodeType":"ElementaryTypeName","src":"29449:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29448:14:161"},"returnParameters":{"id":26951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26950,"mutability":"mutable","name":"downcasted","nameLocation":"29492:10:161","nodeType":"VariableDeclaration","scope":26967,"src":"29486:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"},"typeName":{"id":26949,"name":"int80","nodeType":"ElementaryTypeName","src":"29486:5:161","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"visibility":"internal"}],"src":"29485:18:161"},"scope":27203,"src":"29432:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26989,"nodeType":"Block","src":"30054:122:161","statements":[{"expression":{"id":26980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26975,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26973,"src":"30064:10:161","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":26978,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26970,"src":"30083:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":26977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30077:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int72_$","typeString":"type(int72)"},"typeName":{"id":26976,"name":"int72","nodeType":"ElementaryTypeName","src":"30077:5:161","typeDescriptions":{}}},"id":26979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30077:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"src":"30064:25:161","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":26981,"nodeType":"ExpressionStatement","src":"30064:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":26985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26983,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26973,"src":"30107:10:161","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":26984,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26970,"src":"30121:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30107:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473","id":26986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30128:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""},"value":"SafeCast: value doesn't fit in 72 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""}],"id":26982,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30099:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":26987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30099:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26988,"nodeType":"ExpressionStatement","src":"30099:70:161"}]},"documentation":{"id":26968,"nodeType":"StructuredDocumentation","src":"29632:345:161","text":" @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._"},"id":26990,"implemented":true,"kind":"function","modifiers":[],"name":"toInt72","nameLocation":"29991:7:161","nodeType":"FunctionDefinition","parameters":{"id":26971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26970,"mutability":"mutable","name":"value","nameLocation":"30006:5:161","nodeType":"VariableDeclaration","scope":26990,"src":"29999:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26969,"name":"int256","nodeType":"ElementaryTypeName","src":"29999:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29998:14:161"},"returnParameters":{"id":26974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26973,"mutability":"mutable","name":"downcasted","nameLocation":"30042:10:161","nodeType":"VariableDeclaration","scope":26990,"src":"30036:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"},"typeName":{"id":26972,"name":"int72","nodeType":"ElementaryTypeName","src":"30036:5:161","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"visibility":"internal"}],"src":"30035:18:161"},"scope":27203,"src":"29982:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27012,"nodeType":"Block","src":"30604:122:161","statements":[{"expression":{"id":27003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26998,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26996,"src":"30614:10:161","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26993,"src":"30633:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30627:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":26999,"name":"int64","nodeType":"ElementaryTypeName","src":"30627:5:161","typeDescriptions":{}}},"id":27002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30627:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"30614:25:161","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":27004,"nodeType":"ExpressionStatement","src":"30614:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27006,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26996,"src":"30657:10:161","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27007,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26993,"src":"30671:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30657:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473","id":27009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30678:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""},"value":"SafeCast: value doesn't fit in 64 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""}],"id":27005,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30649:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30649:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27011,"nodeType":"ExpressionStatement","src":"30649:70:161"}]},"documentation":{"id":26991,"nodeType":"StructuredDocumentation","src":"30182:345:161","text":" @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v3.1._"},"id":27013,"implemented":true,"kind":"function","modifiers":[],"name":"toInt64","nameLocation":"30541:7:161","nodeType":"FunctionDefinition","parameters":{"id":26994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26993,"mutability":"mutable","name":"value","nameLocation":"30556:5:161","nodeType":"VariableDeclaration","scope":27013,"src":"30549:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":26992,"name":"int256","nodeType":"ElementaryTypeName","src":"30549:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30548:14:161"},"returnParameters":{"id":26997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26996,"mutability":"mutable","name":"downcasted","nameLocation":"30592:10:161","nodeType":"VariableDeclaration","scope":27013,"src":"30586:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":26995,"name":"int64","nodeType":"ElementaryTypeName","src":"30586:5:161","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30585:18:161"},"scope":27203,"src":"30532:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27035,"nodeType":"Block","src":"31154:122:161","statements":[{"expression":{"id":27026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27021,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27019,"src":"31164:10:161","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27024,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27016,"src":"31183:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31177:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int56_$","typeString":"type(int56)"},"typeName":{"id":27022,"name":"int56","nodeType":"ElementaryTypeName","src":"31177:5:161","typeDescriptions":{}}},"id":27025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31177:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"31164:25:161","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":27027,"nodeType":"ExpressionStatement","src":"31164:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27029,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27019,"src":"31207:10:161","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27030,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27016,"src":"31221:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31207:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473","id":27032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31228:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""},"value":"SafeCast: value doesn't fit in 56 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""}],"id":27028,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"31199:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31199:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27034,"nodeType":"ExpressionStatement","src":"31199:70:161"}]},"documentation":{"id":27014,"nodeType":"StructuredDocumentation","src":"30732:345:161","text":" @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._"},"id":27036,"implemented":true,"kind":"function","modifiers":[],"name":"toInt56","nameLocation":"31091:7:161","nodeType":"FunctionDefinition","parameters":{"id":27017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27016,"mutability":"mutable","name":"value","nameLocation":"31106:5:161","nodeType":"VariableDeclaration","scope":27036,"src":"31099:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27015,"name":"int256","nodeType":"ElementaryTypeName","src":"31099:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31098:14:161"},"returnParameters":{"id":27020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27019,"mutability":"mutable","name":"downcasted","nameLocation":"31142:10:161","nodeType":"VariableDeclaration","scope":27036,"src":"31136:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":27018,"name":"int56","nodeType":"ElementaryTypeName","src":"31136:5:161","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"}],"src":"31135:18:161"},"scope":27203,"src":"31082:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27058,"nodeType":"Block","src":"31704:122:161","statements":[{"expression":{"id":27049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27044,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27042,"src":"31714:10:161","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27047,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27039,"src":"31733:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31727:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int48_$","typeString":"type(int48)"},"typeName":{"id":27045,"name":"int48","nodeType":"ElementaryTypeName","src":"31727:5:161","typeDescriptions":{}}},"id":27048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31727:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"src":"31714:25:161","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":27050,"nodeType":"ExpressionStatement","src":"31714:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27052,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27042,"src":"31757:10:161","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27053,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27039,"src":"31771:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31757:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473","id":27055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31778:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""},"value":"SafeCast: value doesn't fit in 48 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""}],"id":27051,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"31749:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31749:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27057,"nodeType":"ExpressionStatement","src":"31749:70:161"}]},"documentation":{"id":27037,"nodeType":"StructuredDocumentation","src":"31282:345:161","text":" @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._"},"id":27059,"implemented":true,"kind":"function","modifiers":[],"name":"toInt48","nameLocation":"31641:7:161","nodeType":"FunctionDefinition","parameters":{"id":27040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27039,"mutability":"mutable","name":"value","nameLocation":"31656:5:161","nodeType":"VariableDeclaration","scope":27059,"src":"31649:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27038,"name":"int256","nodeType":"ElementaryTypeName","src":"31649:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31648:14:161"},"returnParameters":{"id":27043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27042,"mutability":"mutable","name":"downcasted","nameLocation":"31692:10:161","nodeType":"VariableDeclaration","scope":27059,"src":"31686:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"},"typeName":{"id":27041,"name":"int48","nodeType":"ElementaryTypeName","src":"31686:5:161","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"visibility":"internal"}],"src":"31685:18:161"},"scope":27203,"src":"31632:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27081,"nodeType":"Block","src":"32254:122:161","statements":[{"expression":{"id":27072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27067,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"32264:10:161","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27070,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27062,"src":"32283:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32277:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int40_$","typeString":"type(int40)"},"typeName":{"id":27068,"name":"int40","nodeType":"ElementaryTypeName","src":"32277:5:161","typeDescriptions":{}}},"id":27071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32277:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"src":"32264:25:161","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":27073,"nodeType":"ExpressionStatement","src":"32264:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27075,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"32307:10:161","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27076,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27062,"src":"32321:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32307:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473","id":27078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32328:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""},"value":"SafeCast: value doesn't fit in 40 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""}],"id":27074,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"32299:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32299:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27080,"nodeType":"ExpressionStatement","src":"32299:70:161"}]},"documentation":{"id":27060,"nodeType":"StructuredDocumentation","src":"31832:345:161","text":" @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._"},"id":27082,"implemented":true,"kind":"function","modifiers":[],"name":"toInt40","nameLocation":"32191:7:161","nodeType":"FunctionDefinition","parameters":{"id":27063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27062,"mutability":"mutable","name":"value","nameLocation":"32206:5:161","nodeType":"VariableDeclaration","scope":27082,"src":"32199:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27061,"name":"int256","nodeType":"ElementaryTypeName","src":"32199:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32198:14:161"},"returnParameters":{"id":27066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27065,"mutability":"mutable","name":"downcasted","nameLocation":"32242:10:161","nodeType":"VariableDeclaration","scope":27082,"src":"32236:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"},"typeName":{"id":27064,"name":"int40","nodeType":"ElementaryTypeName","src":"32236:5:161","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"visibility":"internal"}],"src":"32235:18:161"},"scope":27203,"src":"32182:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27104,"nodeType":"Block","src":"32804:122:161","statements":[{"expression":{"id":27095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27090,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27088,"src":"32814:10:161","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27093,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27085,"src":"32833:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32827:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":27091,"name":"int32","nodeType":"ElementaryTypeName","src":"32827:5:161","typeDescriptions":{}}},"id":27094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32827:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32814:25:161","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":27096,"nodeType":"ExpressionStatement","src":"32814:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27098,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27088,"src":"32857:10:161","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27099,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27085,"src":"32871:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32857:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473","id":27101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32878:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""},"value":"SafeCast: value doesn't fit in 32 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""}],"id":27097,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"32849:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32849:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27103,"nodeType":"ExpressionStatement","src":"32849:70:161"}]},"documentation":{"id":27083,"nodeType":"StructuredDocumentation","src":"32382:345:161","text":" @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v3.1._"},"id":27105,"implemented":true,"kind":"function","modifiers":[],"name":"toInt32","nameLocation":"32741:7:161","nodeType":"FunctionDefinition","parameters":{"id":27086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27085,"mutability":"mutable","name":"value","nameLocation":"32756:5:161","nodeType":"VariableDeclaration","scope":27105,"src":"32749:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27084,"name":"int256","nodeType":"ElementaryTypeName","src":"32749:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32748:14:161"},"returnParameters":{"id":27089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27088,"mutability":"mutable","name":"downcasted","nameLocation":"32792:10:161","nodeType":"VariableDeclaration","scope":27105,"src":"32786:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":27087,"name":"int32","nodeType":"ElementaryTypeName","src":"32786:5:161","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"32785:18:161"},"scope":27203,"src":"32732:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27127,"nodeType":"Block","src":"33354:122:161","statements":[{"expression":{"id":27118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27113,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27111,"src":"33364:10:161","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27116,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27108,"src":"33383:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33377:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":27114,"name":"int24","nodeType":"ElementaryTypeName","src":"33377:5:161","typeDescriptions":{}}},"id":27117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33377:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"33364:25:161","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":27119,"nodeType":"ExpressionStatement","src":"33364:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27121,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27111,"src":"33407:10:161","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27122,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27108,"src":"33421:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33407:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473","id":27124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33428:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""},"value":"SafeCast: value doesn't fit in 24 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""}],"id":27120,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"33399:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33399:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27126,"nodeType":"ExpressionStatement","src":"33399:70:161"}]},"documentation":{"id":27106,"nodeType":"StructuredDocumentation","src":"32932:345:161","text":" @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._"},"id":27128,"implemented":true,"kind":"function","modifiers":[],"name":"toInt24","nameLocation":"33291:7:161","nodeType":"FunctionDefinition","parameters":{"id":27109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27108,"mutability":"mutable","name":"value","nameLocation":"33306:5:161","nodeType":"VariableDeclaration","scope":27128,"src":"33299:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27107,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33298:14:161"},"returnParameters":{"id":27112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27111,"mutability":"mutable","name":"downcasted","nameLocation":"33342:10:161","nodeType":"VariableDeclaration","scope":27128,"src":"33336:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":27110,"name":"int24","nodeType":"ElementaryTypeName","src":"33336:5:161","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"33335:18:161"},"scope":27203,"src":"33282:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27150,"nodeType":"Block","src":"33904:122:161","statements":[{"expression":{"id":27141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27136,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27134,"src":"33914:10:161","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27139,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27131,"src":"33933:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33927:5:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":27137,"name":"int16","nodeType":"ElementaryTypeName","src":"33927:5:161","typeDescriptions":{}}},"id":27140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33927:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"src":"33914:25:161","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":27142,"nodeType":"ExpressionStatement","src":"33914:25:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27144,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27134,"src":"33957:10:161","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27145,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27131,"src":"33971:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33957:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473","id":27147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33978:40:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""},"value":"SafeCast: value doesn't fit in 16 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""}],"id":27143,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"33949:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33949:70:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27149,"nodeType":"ExpressionStatement","src":"33949:70:161"}]},"documentation":{"id":27129,"nodeType":"StructuredDocumentation","src":"33482:345:161","text":" @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v3.1._"},"id":27151,"implemented":true,"kind":"function","modifiers":[],"name":"toInt16","nameLocation":"33841:7:161","nodeType":"FunctionDefinition","parameters":{"id":27132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27131,"mutability":"mutable","name":"value","nameLocation":"33856:5:161","nodeType":"VariableDeclaration","scope":27151,"src":"33849:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27130,"name":"int256","nodeType":"ElementaryTypeName","src":"33849:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33848:14:161"},"returnParameters":{"id":27135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27134,"mutability":"mutable","name":"downcasted","nameLocation":"33892:10:161","nodeType":"VariableDeclaration","scope":27151,"src":"33886:16:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":27133,"name":"int16","nodeType":"ElementaryTypeName","src":"33886:5:161","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"33885:18:161"},"scope":27203,"src":"33832:194:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27173,"nodeType":"Block","src":"34447:120:161","statements":[{"expression":{"id":27164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27159,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27157,"src":"34457:10:161","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27162,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27154,"src":"34475:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34470:4:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int8_$","typeString":"type(int8)"},"typeName":{"id":27160,"name":"int8","nodeType":"ElementaryTypeName","src":"34470:4:161","typeDescriptions":{}}},"id":27163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34470:11:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"src":"34457:24:161","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":27165,"nodeType":"ExpressionStatement","src":"34457:24:161"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27167,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27157,"src":"34499:10:161","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27168,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27154,"src":"34513:5:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34499:19:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473","id":27170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34520:39:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""},"value":"SafeCast: value doesn't fit in 8 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""}],"id":27166,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34491:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34491:69:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27172,"nodeType":"ExpressionStatement","src":"34491:69:161"}]},"documentation":{"id":27152,"nodeType":"StructuredDocumentation","src":"34032:340:161","text":" @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v3.1._"},"id":27174,"implemented":true,"kind":"function","modifiers":[],"name":"toInt8","nameLocation":"34386:6:161","nodeType":"FunctionDefinition","parameters":{"id":27155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27154,"mutability":"mutable","name":"value","nameLocation":"34400:5:161","nodeType":"VariableDeclaration","scope":27174,"src":"34393:12:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27153,"name":"int256","nodeType":"ElementaryTypeName","src":"34393:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34392:14:161"},"returnParameters":{"id":27158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27157,"mutability":"mutable","name":"downcasted","nameLocation":"34435:10:161","nodeType":"VariableDeclaration","scope":27174,"src":"34430:15:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"},"typeName":{"id":27156,"name":"int8","nodeType":"ElementaryTypeName","src":"34430:4:161","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"visibility":"internal"}],"src":"34429:17:161"},"scope":27203,"src":"34377:190:161","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27201,"nodeType":"Block","src":"34845:233:161","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27183,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27177,"src":"34962:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":27188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34984:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":27187,"name":"int256","nodeType":"ElementaryTypeName","src":"34984:6:161","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":27186,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"34979:4:161","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":27189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34979:12:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":27190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"34979:16:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34971:7:161","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":27184,"name":"uint256","nodeType":"ElementaryTypeName","src":"34971:7:161","typeDescriptions":{}}},"id":27191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34971:25:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34962:34:161","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e74323536","id":27193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34998:42:161","typeDescriptions":{"typeIdentifier":"t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227","typeString":"literal_string \"SafeCast: value doesn't fit in an int256\""},"value":"SafeCast: value doesn't fit in an int256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227","typeString":"literal_string \"SafeCast: value doesn't fit in an int256\""}],"id":27182,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34954:7:161","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34954:87:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27195,"nodeType":"ExpressionStatement","src":"34954:87:161"},{"expression":{"arguments":[{"id":27198,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27177,"src":"35065:5:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35058:6:161","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":27196,"name":"int256","nodeType":"ElementaryTypeName","src":"35058:6:161","typeDescriptions":{}}},"id":27199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35058:13:161","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27181,"id":27200,"nodeType":"Return","src":"35051:20:161"}]},"documentation":{"id":27175,"nodeType":"StructuredDocumentation","src":"34573:203:161","text":" @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256.\n _Available since v3.0._"},"id":27202,"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"34790:8:161","nodeType":"FunctionDefinition","parameters":{"id":27178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27177,"mutability":"mutable","name":"value","nameLocation":"34807:5:161","nodeType":"VariableDeclaration","scope":27202,"src":"34799:13:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27176,"name":"uint256","nodeType":"ElementaryTypeName","src":"34799:7:161","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34798:15:161"},"returnParameters":{"id":27181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27202,"src":"34837:6:161","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27179,"name":"int256","nodeType":"ElementaryTypeName","src":"34837:6:161","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34836:8:161"},"scope":27203,"src":"34781:297:161","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":27204,"src":"927:34153:161","usedErrors":[]}],"src":"192:34889:161"},"id":161},"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol","exportedSymbols":{"SafeMath":[27515]},"id":27516,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27205,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:162"},{"abstract":false,"baseContracts":[],"canonicalName":"SafeMath","contractDependencies":[],"contractKind":"library","documentation":{"id":27206,"nodeType":"StructuredDocumentation","src":"285:196:162","text":" @dev Wrappers over Solidity's arithmetic operations.\n NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\n now has built in overflow checking."},"fullyImplemented":true,"id":27515,"linearizedBaseContracts":[27515],"name":"SafeMath","nameLocation":"490:8:162","nodeType":"ContractDefinition","nodes":[{"body":{"id":27237,"nodeType":"Block","src":"717:140:162","statements":[{"id":27236,"nodeType":"UncheckedBlock","src":"727:124:162","statements":[{"assignments":[27219],"declarations":[{"constant":false,"id":27219,"mutability":"mutable","name":"c","nameLocation":"759:1:162","nodeType":"VariableDeclaration","scope":27236,"src":"751:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27218,"name":"uint256","nodeType":"ElementaryTypeName","src":"751:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27223,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27220,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27209,"src":"763:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":27221,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27211,"src":"767:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"763:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"751:17:162"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27224,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27219,"src":"786:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":27225,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27209,"src":"790:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"786:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27231,"nodeType":"IfStatement","src":"782:28:162","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":27227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"801:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":27228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"808:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"800:10:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27217,"id":27230,"nodeType":"Return","src":"793:17:162"}},{"expression":{"components":[{"hexValue":"74727565","id":27232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"832:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":27233,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27219,"src":"838:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27234,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"831:9:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":27217,"id":27235,"nodeType":"Return","src":"824:16:162"}]}]},"documentation":{"id":27207,"nodeType":"StructuredDocumentation","src":"505:131:162","text":" @dev Returns the addition of two unsigned integers, with an overflow flag.\n _Available since v3.4._"},"id":27238,"implemented":true,"kind":"function","modifiers":[],"name":"tryAdd","nameLocation":"650:6:162","nodeType":"FunctionDefinition","parameters":{"id":27212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27209,"mutability":"mutable","name":"a","nameLocation":"665:1:162","nodeType":"VariableDeclaration","scope":27238,"src":"657:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27208,"name":"uint256","nodeType":"ElementaryTypeName","src":"657:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27211,"mutability":"mutable","name":"b","nameLocation":"676:1:162","nodeType":"VariableDeclaration","scope":27238,"src":"668:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27210,"name":"uint256","nodeType":"ElementaryTypeName","src":"668:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"656:22:162"},"returnParameters":{"id":27217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27238,"src":"702:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27213,"name":"bool","nodeType":"ElementaryTypeName","src":"702:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27216,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27238,"src":"708:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27215,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"701:15:162"},"scope":27515,"src":"641:216:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27265,"nodeType":"Block","src":"1078:113:162","statements":[{"id":27264,"nodeType":"UncheckedBlock","src":"1088:97:162","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27250,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27243,"src":"1116:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":27251,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27241,"src":"1120:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1116:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27257,"nodeType":"IfStatement","src":"1112:28:162","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":27253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1131:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":27254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1138:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1130:10:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27249,"id":27256,"nodeType":"Return","src":"1123:17:162"}},{"expression":{"components":[{"hexValue":"74727565","id":27258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1162:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27259,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27241,"src":"1168:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":27260,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27243,"src":"1172:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1168:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27262,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1161:13:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":27249,"id":27263,"nodeType":"Return","src":"1154:20:162"}]}]},"documentation":{"id":27239,"nodeType":"StructuredDocumentation","src":"863:134:162","text":" @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n _Available since v3.4._"},"id":27266,"implemented":true,"kind":"function","modifiers":[],"name":"trySub","nameLocation":"1011:6:162","nodeType":"FunctionDefinition","parameters":{"id":27244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27241,"mutability":"mutable","name":"a","nameLocation":"1026:1:162","nodeType":"VariableDeclaration","scope":27266,"src":"1018:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27240,"name":"uint256","nodeType":"ElementaryTypeName","src":"1018:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27243,"mutability":"mutable","name":"b","nameLocation":"1037:1:162","nodeType":"VariableDeclaration","scope":27266,"src":"1029:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27242,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1017:22:162"},"returnParameters":{"id":27249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27266,"src":"1063:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27245,"name":"bool","nodeType":"ElementaryTypeName","src":"1063:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27266,"src":"1069:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27247,"name":"uint256","nodeType":"ElementaryTypeName","src":"1069:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1062:15:162"},"scope":27515,"src":"1002:189:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27307,"nodeType":"Block","src":"1415:417:162","statements":[{"id":27306,"nodeType":"UncheckedBlock","src":"1425:401:162","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27278,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27269,"src":"1683:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1688:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1683:6:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27285,"nodeType":"IfStatement","src":"1679:28:162","trueBody":{"expression":{"components":[{"hexValue":"74727565","id":27281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1699:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":27282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27283,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1698:9:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27277,"id":27284,"nodeType":"Return","src":"1691:16:162"}},{"assignments":[27287],"declarations":[{"constant":false,"id":27287,"mutability":"mutable","name":"c","nameLocation":"1729:1:162","nodeType":"VariableDeclaration","scope":27306,"src":"1721:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27286,"name":"uint256","nodeType":"ElementaryTypeName","src":"1721:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27291,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27288,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27269,"src":"1733:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":27289,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27271,"src":"1737:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1733:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1721:17:162"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27292,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27287,"src":"1756:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":27293,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27269,"src":"1760:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1756:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":27295,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27271,"src":"1765:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1756:10:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27301,"nodeType":"IfStatement","src":"1752:33:162","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":27297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1776:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":27298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1783:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27299,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1775:10:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27277,"id":27300,"nodeType":"Return","src":"1768:17:162"}},{"expression":{"components":[{"hexValue":"74727565","id":27302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1807:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":27303,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27287,"src":"1813:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27304,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1806:9:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":27277,"id":27305,"nodeType":"Return","src":"1799:16:162"}]}]},"documentation":{"id":27267,"nodeType":"StructuredDocumentation","src":"1197:137:162","text":" @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n _Available since v3.4._"},"id":27308,"implemented":true,"kind":"function","modifiers":[],"name":"tryMul","nameLocation":"1348:6:162","nodeType":"FunctionDefinition","parameters":{"id":27272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27269,"mutability":"mutable","name":"a","nameLocation":"1363:1:162","nodeType":"VariableDeclaration","scope":27308,"src":"1355:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27268,"name":"uint256","nodeType":"ElementaryTypeName","src":"1355:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27271,"mutability":"mutable","name":"b","nameLocation":"1374:1:162","nodeType":"VariableDeclaration","scope":27308,"src":"1366:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1366:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1354:22:162"},"returnParameters":{"id":27277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27308,"src":"1400:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27273,"name":"bool","nodeType":"ElementaryTypeName","src":"1400:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27308,"src":"1406:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27275,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1399:15:162"},"scope":27515,"src":"1339:493:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27335,"nodeType":"Block","src":"2057:114:162","statements":[{"id":27334,"nodeType":"UncheckedBlock","src":"2067:98:162","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27320,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27313,"src":"2095:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2100:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2095:6:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27327,"nodeType":"IfStatement","src":"2091:29:162","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":27323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2111:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":27324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2118:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27325,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2110:10:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27319,"id":27326,"nodeType":"Return","src":"2103:17:162"}},{"expression":{"components":[{"hexValue":"74727565","id":27328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2142:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27329,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27311,"src":"2148:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":27330,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27313,"src":"2152:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2148:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27332,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2141:13:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":27319,"id":27333,"nodeType":"Return","src":"2134:20:162"}]}]},"documentation":{"id":27309,"nodeType":"StructuredDocumentation","src":"1838:138:162","text":" @dev Returns the division of two unsigned integers, with a division by zero flag.\n _Available since v3.4._"},"id":27336,"implemented":true,"kind":"function","modifiers":[],"name":"tryDiv","nameLocation":"1990:6:162","nodeType":"FunctionDefinition","parameters":{"id":27314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27311,"mutability":"mutable","name":"a","nameLocation":"2005:1:162","nodeType":"VariableDeclaration","scope":27336,"src":"1997:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27310,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27313,"mutability":"mutable","name":"b","nameLocation":"2016:1:162","nodeType":"VariableDeclaration","scope":27336,"src":"2008:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27312,"name":"uint256","nodeType":"ElementaryTypeName","src":"2008:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:22:162"},"returnParameters":{"id":27319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27336,"src":"2042:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27315,"name":"bool","nodeType":"ElementaryTypeName","src":"2042:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27336,"src":"2048:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27317,"name":"uint256","nodeType":"ElementaryTypeName","src":"2048:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2041:15:162"},"scope":27515,"src":"1981:190:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27363,"nodeType":"Block","src":"2406:114:162","statements":[{"id":27362,"nodeType":"UncheckedBlock","src":"2416:98:162","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27341,"src":"2444:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2449:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2444:6:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27355,"nodeType":"IfStatement","src":"2440:29:162","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":27351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2460:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":27352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2467:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":27353,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2459:10:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":27347,"id":27354,"nodeType":"Return","src":"2452:17:162"}},{"expression":{"components":[{"hexValue":"74727565","id":27356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2491:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27357,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27339,"src":"2497:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":27358,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27341,"src":"2501:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2497:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27360,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2490:13:162","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":27347,"id":27361,"nodeType":"Return","src":"2483:20:162"}]}]},"documentation":{"id":27337,"nodeType":"StructuredDocumentation","src":"2177:148:162","text":" @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n _Available since v3.4._"},"id":27364,"implemented":true,"kind":"function","modifiers":[],"name":"tryMod","nameLocation":"2339:6:162","nodeType":"FunctionDefinition","parameters":{"id":27342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27339,"mutability":"mutable","name":"a","nameLocation":"2354:1:162","nodeType":"VariableDeclaration","scope":27364,"src":"2346:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27338,"name":"uint256","nodeType":"ElementaryTypeName","src":"2346:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27341,"mutability":"mutable","name":"b","nameLocation":"2365:1:162","nodeType":"VariableDeclaration","scope":27364,"src":"2357:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27340,"name":"uint256","nodeType":"ElementaryTypeName","src":"2357:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2345:22:162"},"returnParameters":{"id":27347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27364,"src":"2391:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27343,"name":"bool","nodeType":"ElementaryTypeName","src":"2391:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27364,"src":"2397:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27345,"name":"uint256","nodeType":"ElementaryTypeName","src":"2397:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2390:15:162"},"scope":27515,"src":"2330:190:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27378,"nodeType":"Block","src":"2822:29:162","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27374,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27367,"src":"2839:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":27375,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27369,"src":"2843:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2839:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27373,"id":27377,"nodeType":"Return","src":"2832:12:162"}]},"documentation":{"id":27365,"nodeType":"StructuredDocumentation","src":"2526:224:162","text":" @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow."},"id":27379,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"2764:3:162","nodeType":"FunctionDefinition","parameters":{"id":27370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27367,"mutability":"mutable","name":"a","nameLocation":"2776:1:162","nodeType":"VariableDeclaration","scope":27379,"src":"2768:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27366,"name":"uint256","nodeType":"ElementaryTypeName","src":"2768:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27369,"mutability":"mutable","name":"b","nameLocation":"2787:1:162","nodeType":"VariableDeclaration","scope":27379,"src":"2779:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27368,"name":"uint256","nodeType":"ElementaryTypeName","src":"2779:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2767:22:162"},"returnParameters":{"id":27373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27379,"src":"2813:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27371,"name":"uint256","nodeType":"ElementaryTypeName","src":"2813:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2812:9:162"},"scope":27515,"src":"2755:96:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27393,"nodeType":"Block","src":"3189:29:162","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27389,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27382,"src":"3206:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":27390,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27384,"src":"3210:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3206:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27388,"id":27392,"nodeType":"Return","src":"3199:12:162"}]},"documentation":{"id":27380,"nodeType":"StructuredDocumentation","src":"2857:260:162","text":" @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow."},"id":27394,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"3131:3:162","nodeType":"FunctionDefinition","parameters":{"id":27385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27382,"mutability":"mutable","name":"a","nameLocation":"3143:1:162","nodeType":"VariableDeclaration","scope":27394,"src":"3135:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27381,"name":"uint256","nodeType":"ElementaryTypeName","src":"3135:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27384,"mutability":"mutable","name":"b","nameLocation":"3154:1:162","nodeType":"VariableDeclaration","scope":27394,"src":"3146:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27383,"name":"uint256","nodeType":"ElementaryTypeName","src":"3146:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3134:22:162"},"returnParameters":{"id":27388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27394,"src":"3180:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27386,"name":"uint256","nodeType":"ElementaryTypeName","src":"3180:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3179:9:162"},"scope":27515,"src":"3122:96:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27408,"nodeType":"Block","src":"3532:29:162","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27404,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27397,"src":"3549:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":27405,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27399,"src":"3553:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3549:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27403,"id":27407,"nodeType":"Return","src":"3542:12:162"}]},"documentation":{"id":27395,"nodeType":"StructuredDocumentation","src":"3224:236:162","text":" @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow."},"id":27409,"implemented":true,"kind":"function","modifiers":[],"name":"mul","nameLocation":"3474:3:162","nodeType":"FunctionDefinition","parameters":{"id":27400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27397,"mutability":"mutable","name":"a","nameLocation":"3486:1:162","nodeType":"VariableDeclaration","scope":27409,"src":"3478:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27396,"name":"uint256","nodeType":"ElementaryTypeName","src":"3478:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27399,"mutability":"mutable","name":"b","nameLocation":"3497:1:162","nodeType":"VariableDeclaration","scope":27409,"src":"3489:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27398,"name":"uint256","nodeType":"ElementaryTypeName","src":"3489:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3477:22:162"},"returnParameters":{"id":27403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27409,"src":"3523:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27401,"name":"uint256","nodeType":"ElementaryTypeName","src":"3523:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3522:9:162"},"scope":27515,"src":"3465:96:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27423,"nodeType":"Block","src":"3917:29:162","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27419,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27412,"src":"3934:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":27420,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27414,"src":"3938:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27418,"id":27422,"nodeType":"Return","src":"3927:12:162"}]},"documentation":{"id":27410,"nodeType":"StructuredDocumentation","src":"3567:278:162","text":" @dev Returns the integer division of two unsigned integers, reverting on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator.\n Requirements:\n - The divisor cannot be zero."},"id":27424,"implemented":true,"kind":"function","modifiers":[],"name":"div","nameLocation":"3859:3:162","nodeType":"FunctionDefinition","parameters":{"id":27415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27412,"mutability":"mutable","name":"a","nameLocation":"3871:1:162","nodeType":"VariableDeclaration","scope":27424,"src":"3863:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27411,"name":"uint256","nodeType":"ElementaryTypeName","src":"3863:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27414,"mutability":"mutable","name":"b","nameLocation":"3882:1:162","nodeType":"VariableDeclaration","scope":27424,"src":"3874:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27413,"name":"uint256","nodeType":"ElementaryTypeName","src":"3874:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3862:22:162"},"returnParameters":{"id":27418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27424,"src":"3908:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27416,"name":"uint256","nodeType":"ElementaryTypeName","src":"3908:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3907:9:162"},"scope":27515,"src":"3850:96:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27438,"nodeType":"Block","src":"4466:29:162","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27434,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27427,"src":"4483:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":27435,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27429,"src":"4487:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4483:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27433,"id":27437,"nodeType":"Return","src":"4476:12:162"}]},"documentation":{"id":27425,"nodeType":"StructuredDocumentation","src":"3952:442:162","text":" @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":27439,"implemented":true,"kind":"function","modifiers":[],"name":"mod","nameLocation":"4408:3:162","nodeType":"FunctionDefinition","parameters":{"id":27430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27427,"mutability":"mutable","name":"a","nameLocation":"4420:1:162","nodeType":"VariableDeclaration","scope":27439,"src":"4412:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27426,"name":"uint256","nodeType":"ElementaryTypeName","src":"4412:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27429,"mutability":"mutable","name":"b","nameLocation":"4431:1:162","nodeType":"VariableDeclaration","scope":27439,"src":"4423:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27428,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4411:22:162"},"returnParameters":{"id":27433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27439,"src":"4457:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27431,"name":"uint256","nodeType":"ElementaryTypeName","src":"4457:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4456:9:162"},"scope":27515,"src":"4399:96:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27463,"nodeType":"Block","src":"5084:106:162","statements":[{"id":27462,"nodeType":"UncheckedBlock","src":"5094:90:162","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27452,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27444,"src":"5126:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":27453,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27442,"src":"5131:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5126:6:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27455,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27446,"src":"5134:12:162","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":27451,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5118:7:162","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5118:29:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27457,"nodeType":"ExpressionStatement","src":"5118:29:162"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27458,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27442,"src":"5168:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":27459,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27444,"src":"5172:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5168:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27450,"id":27461,"nodeType":"Return","src":"5161:12:162"}]}]},"documentation":{"id":27440,"nodeType":"StructuredDocumentation","src":"4501:453:162","text":" @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {trySub}.\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow."},"id":27464,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"4968:3:162","nodeType":"FunctionDefinition","parameters":{"id":27447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27442,"mutability":"mutable","name":"a","nameLocation":"4989:1:162","nodeType":"VariableDeclaration","scope":27464,"src":"4981:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27441,"name":"uint256","nodeType":"ElementaryTypeName","src":"4981:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27444,"mutability":"mutable","name":"b","nameLocation":"5008:1:162","nodeType":"VariableDeclaration","scope":27464,"src":"5000:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27443,"name":"uint256","nodeType":"ElementaryTypeName","src":"5000:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27446,"mutability":"mutable","name":"errorMessage","nameLocation":"5033:12:162","nodeType":"VariableDeclaration","scope":27464,"src":"5019:26:162","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27445,"name":"string","nodeType":"ElementaryTypeName","src":"5019:6:162","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4971:80:162"},"returnParameters":{"id":27450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27464,"src":"5075:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27448,"name":"uint256","nodeType":"ElementaryTypeName","src":"5075:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5074:9:162"},"scope":27515,"src":"4959:231:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27488,"nodeType":"Block","src":"5799:105:162","statements":[{"id":27487,"nodeType":"UncheckedBlock","src":"5809:89:162","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27477,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27469,"src":"5841:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":27478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5845:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5841:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27480,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27471,"src":"5848:12:162","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":27476,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5833:7:162","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5833:28:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27482,"nodeType":"ExpressionStatement","src":"5833:28:162"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27483,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27467,"src":"5882:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":27484,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27469,"src":"5886:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5882:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27475,"id":27486,"nodeType":"Return","src":"5875:12:162"}]}]},"documentation":{"id":27465,"nodeType":"StructuredDocumentation","src":"5196:473:162","text":" @dev Returns the integer division of two unsigned integers, reverting with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":27489,"implemented":true,"kind":"function","modifiers":[],"name":"div","nameLocation":"5683:3:162","nodeType":"FunctionDefinition","parameters":{"id":27472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27467,"mutability":"mutable","name":"a","nameLocation":"5704:1:162","nodeType":"VariableDeclaration","scope":27489,"src":"5696:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27466,"name":"uint256","nodeType":"ElementaryTypeName","src":"5696:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27469,"mutability":"mutable","name":"b","nameLocation":"5723:1:162","nodeType":"VariableDeclaration","scope":27489,"src":"5715:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27468,"name":"uint256","nodeType":"ElementaryTypeName","src":"5715:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27471,"mutability":"mutable","name":"errorMessage","nameLocation":"5748:12:162","nodeType":"VariableDeclaration","scope":27489,"src":"5734:26:162","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27470,"name":"string","nodeType":"ElementaryTypeName","src":"5734:6:162","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5686:80:162"},"returnParameters":{"id":27475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27489,"src":"5790:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27473,"name":"uint256","nodeType":"ElementaryTypeName","src":"5790:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5789:9:162"},"scope":27515,"src":"5674:230:162","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27513,"nodeType":"Block","src":"6675:105:162","statements":[{"id":27512,"nodeType":"UncheckedBlock","src":"6685:89:162","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27502,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27494,"src":"6717:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":27503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6721:1:162","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6717:5:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27505,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27496,"src":"6724:12:162","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":27501,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6709:7:162","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6709:28:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27507,"nodeType":"ExpressionStatement","src":"6709:28:162"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27508,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27492,"src":"6758:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":27509,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27494,"src":"6762:1:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6758:5:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27500,"id":27511,"nodeType":"Return","src":"6751:12:162"}]}]},"documentation":{"id":27490,"nodeType":"StructuredDocumentation","src":"5910:635:162","text":" @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting with custom message when dividing by zero.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryMod}.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":27514,"implemented":true,"kind":"function","modifiers":[],"name":"mod","nameLocation":"6559:3:162","nodeType":"FunctionDefinition","parameters":{"id":27497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27492,"mutability":"mutable","name":"a","nameLocation":"6580:1:162","nodeType":"VariableDeclaration","scope":27514,"src":"6572:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27491,"name":"uint256","nodeType":"ElementaryTypeName","src":"6572:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27494,"mutability":"mutable","name":"b","nameLocation":"6599:1:162","nodeType":"VariableDeclaration","scope":27514,"src":"6591:9:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27493,"name":"uint256","nodeType":"ElementaryTypeName","src":"6591:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27496,"mutability":"mutable","name":"errorMessage","nameLocation":"6624:12:162","nodeType":"VariableDeclaration","scope":27514,"src":"6610:26:162","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27495,"name":"string","nodeType":"ElementaryTypeName","src":"6610:6:162","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6562:80:162"},"returnParameters":{"id":27500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27514,"src":"6666:7:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27498,"name":"uint256","nodeType":"ElementaryTypeName","src":"6666:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6665:9:162"},"scope":27515,"src":"6550:230:162","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":27516,"src":"482:6300:162","usedErrors":[]}],"src":"107:6676:162"},"id":162},"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol","exportedSymbols":{"SignedMath":[27620]},"id":27621,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27517,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:163"},{"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":27518,"nodeType":"StructuredDocumentation","src":"134:80:163","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"id":27620,"linearizedBaseContracts":[27620],"name":"SignedMath","nameLocation":"223:10:163","nodeType":"ContractDefinition","nodes":[{"body":{"id":27535,"nodeType":"Block","src":"375:37:163","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27528,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27521,"src":"392:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":27529,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27523,"src":"396:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"392:5:163","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":27532,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27523,"src":"404:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":27533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"392:13:163","trueExpression":{"id":27531,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27521,"src":"400:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27527,"id":27534,"nodeType":"Return","src":"385:20:163"}]},"documentation":{"id":27519,"nodeType":"StructuredDocumentation","src":"240:66:163","text":" @dev Returns the largest of two signed numbers."},"id":27536,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"320:3:163","nodeType":"FunctionDefinition","parameters":{"id":27524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27521,"mutability":"mutable","name":"a","nameLocation":"331:1:163","nodeType":"VariableDeclaration","scope":27536,"src":"324:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27520,"name":"int256","nodeType":"ElementaryTypeName","src":"324:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27523,"mutability":"mutable","name":"b","nameLocation":"341:1:163","nodeType":"VariableDeclaration","scope":27536,"src":"334:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27522,"name":"int256","nodeType":"ElementaryTypeName","src":"334:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"323:20:163"},"returnParameters":{"id":27527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27526,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27536,"src":"367:6:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27525,"name":"int256","nodeType":"ElementaryTypeName","src":"367:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"366:8:163"},"scope":27620,"src":"311:101:163","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27553,"nodeType":"Block","src":"554:37:163","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27539,"src":"571:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":27547,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27541,"src":"575:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"571:5:163","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":27550,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27541,"src":"583:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":27551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"571:13:163","trueExpression":{"id":27549,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27539,"src":"579:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27545,"id":27552,"nodeType":"Return","src":"564:20:163"}]},"documentation":{"id":27537,"nodeType":"StructuredDocumentation","src":"418:67:163","text":" @dev Returns the smallest of two signed numbers."},"id":27554,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"499:3:163","nodeType":"FunctionDefinition","parameters":{"id":27542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27539,"mutability":"mutable","name":"a","nameLocation":"510:1:163","nodeType":"VariableDeclaration","scope":27554,"src":"503:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27538,"name":"int256","nodeType":"ElementaryTypeName","src":"503:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27541,"mutability":"mutable","name":"b","nameLocation":"520:1:163","nodeType":"VariableDeclaration","scope":27554,"src":"513:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27540,"name":"int256","nodeType":"ElementaryTypeName","src":"513:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"502:20:163"},"returnParameters":{"id":27545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27554,"src":"546:6:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27543,"name":"int256","nodeType":"ElementaryTypeName","src":"546:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"545:8:163"},"scope":27620,"src":"490:101:163","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27597,"nodeType":"Block","src":"796:162:163","statements":[{"assignments":[27565],"declarations":[{"constant":false,"id":27565,"mutability":"mutable","name":"x","nameLocation":"865:1:163","nodeType":"VariableDeclaration","scope":27597,"src":"858:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27564,"name":"int256","nodeType":"ElementaryTypeName","src":"858:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":27578,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27566,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27557,"src":"870:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":27567,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"874:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:5:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":27569,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"869:7:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27570,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27557,"src":"881:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":27571,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"885:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"881:5:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":27573,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:7:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":27574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"891:1:163","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"880:12:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":27576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"879:14:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"869:24:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"858:35:163"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27579,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27565,"src":"910:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27584,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27565,"src":"930:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"922:7:163","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":27582,"name":"uint256","nodeType":"ElementaryTypeName","src":"922:7:163","typeDescriptions":{}}},"id":27585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"922:10:163","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":27586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"936:3:163","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"922:17:163","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"915:6:163","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":27580,"name":"int256","nodeType":"ElementaryTypeName","src":"915:6:163","typeDescriptions":{}}},"id":27588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"915:25:163","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27589,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27557,"src":"944:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":27590,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"948:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"944:5:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":27592,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"943:7:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"915:35:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":27594,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"914:37:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"910:41:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27563,"id":27596,"nodeType":"Return","src":"903:48:163"}]},"documentation":{"id":27555,"nodeType":"StructuredDocumentation","src":"597:126:163","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"id":27598,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"737:7:163","nodeType":"FunctionDefinition","parameters":{"id":27560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27557,"mutability":"mutable","name":"a","nameLocation":"752:1:163","nodeType":"VariableDeclaration","scope":27598,"src":"745:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27556,"name":"int256","nodeType":"ElementaryTypeName","src":"745:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27559,"mutability":"mutable","name":"b","nameLocation":"762:1:163","nodeType":"VariableDeclaration","scope":27598,"src":"755:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27558,"name":"int256","nodeType":"ElementaryTypeName","src":"755:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"744:20:163"},"returnParameters":{"id":27563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27598,"src":"788:6:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27561,"name":"int256","nodeType":"ElementaryTypeName","src":"788:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"787:8:163"},"scope":27620,"src":"728:230:163","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27618,"nodeType":"Block","src":"1102:158:163","statements":[{"id":27617,"nodeType":"UncheckedBlock","src":"1112:142:163","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27608,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27601,"src":"1227:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":27609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:1:163","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1227:6:163","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":27613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1240:2:163","subExpression":{"id":27612,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27601,"src":"1241:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":27614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1227:15:163","trueExpression":{"id":27611,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27601,"src":"1236:1:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":27607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1219:7:163","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":27606,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:163","typeDescriptions":{}}},"id":27615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1219:24:163","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":27605,"id":27616,"nodeType":"Return","src":"1212:31:163"}]}]},"documentation":{"id":27599,"nodeType":"StructuredDocumentation","src":"964:78:163","text":" @dev Returns the absolute unsigned value of a signed value."},"id":27619,"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1056:3:163","nodeType":"FunctionDefinition","parameters":{"id":27602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27601,"mutability":"mutable","name":"n","nameLocation":"1067:1:163","nodeType":"VariableDeclaration","scope":27619,"src":"1060:8:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27600,"name":"int256","nodeType":"ElementaryTypeName","src":"1060:6:163","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1059:10:163"},"returnParameters":{"id":27605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27619,"src":"1093:7:163","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27603,"name":"uint256","nodeType":"ElementaryTypeName","src":"1093:7:163","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1092:9:163"},"scope":27620,"src":"1047:213:163","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":27621,"src":"215:1047:163","usedErrors":[]}],"src":"109:1154:163"},"id":163},"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol","exportedSymbols":{"SignedSafeMath":[27684]},"id":27685,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27622,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"98:23:164"},{"abstract":false,"baseContracts":[],"canonicalName":"SignedSafeMath","contractDependencies":[],"contractKind":"library","documentation":{"id":27623,"nodeType":"StructuredDocumentation","src":"123:192:164","text":" @dev Wrappers over Solidity's arithmetic operations.\n NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler\n now has built in overflow checking."},"fullyImplemented":true,"id":27684,"linearizedBaseContracts":[27684],"name":"SignedSafeMath","nameLocation":"324:14:164","nodeType":"ContractDefinition","nodes":[{"body":{"id":27637,"nodeType":"Block","src":"648:29:164","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27633,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27626,"src":"665:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":27634,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27628,"src":"669:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"665:5:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27632,"id":27636,"nodeType":"Return","src":"658:12:164"}]},"documentation":{"id":27624,"nodeType":"StructuredDocumentation","src":"345:234:164","text":" @dev Returns the multiplication of two signed integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow."},"id":27638,"implemented":true,"kind":"function","modifiers":[],"name":"mul","nameLocation":"593:3:164","nodeType":"FunctionDefinition","parameters":{"id":27629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27626,"mutability":"mutable","name":"a","nameLocation":"604:1:164","nodeType":"VariableDeclaration","scope":27638,"src":"597:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27625,"name":"int256","nodeType":"ElementaryTypeName","src":"597:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27628,"mutability":"mutable","name":"b","nameLocation":"614:1:164","nodeType":"VariableDeclaration","scope":27638,"src":"607:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27627,"name":"int256","nodeType":"ElementaryTypeName","src":"607:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"596:20:164"},"returnParameters":{"id":27632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27638,"src":"640:6:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27630,"name":"int256","nodeType":"ElementaryTypeName","src":"640:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"639:8:164"},"scope":27684,"src":"584:93:164","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27652,"nodeType":"Block","src":"1026:29:164","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27648,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27641,"src":"1043:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":27649,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27643,"src":"1047:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1043:5:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27647,"id":27651,"nodeType":"Return","src":"1036:12:164"}]},"documentation":{"id":27639,"nodeType":"StructuredDocumentation","src":"683:274:164","text":" @dev Returns the integer division of two signed integers. Reverts on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator.\n Requirements:\n - The divisor cannot be zero."},"id":27653,"implemented":true,"kind":"function","modifiers":[],"name":"div","nameLocation":"971:3:164","nodeType":"FunctionDefinition","parameters":{"id":27644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27641,"mutability":"mutable","name":"a","nameLocation":"982:1:164","nodeType":"VariableDeclaration","scope":27653,"src":"975:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27640,"name":"int256","nodeType":"ElementaryTypeName","src":"975:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27643,"mutability":"mutable","name":"b","nameLocation":"992:1:164","nodeType":"VariableDeclaration","scope":27653,"src":"985:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27642,"name":"int256","nodeType":"ElementaryTypeName","src":"985:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"974:20:164"},"returnParameters":{"id":27647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27653,"src":"1018:6:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27645,"name":"int256","nodeType":"ElementaryTypeName","src":"1018:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1017:8:164"},"scope":27684,"src":"962:93:164","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27667,"nodeType":"Block","src":"1358:29:164","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27663,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27656,"src":"1375:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":27664,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27658,"src":"1379:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1375:5:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27662,"id":27666,"nodeType":"Return","src":"1368:12:164"}]},"documentation":{"id":27654,"nodeType":"StructuredDocumentation","src":"1061:228:164","text":" @dev Returns the subtraction of two signed integers, reverting on\n overflow.\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow."},"id":27668,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"1303:3:164","nodeType":"FunctionDefinition","parameters":{"id":27659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27656,"mutability":"mutable","name":"a","nameLocation":"1314:1:164","nodeType":"VariableDeclaration","scope":27668,"src":"1307:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27655,"name":"int256","nodeType":"ElementaryTypeName","src":"1307:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27658,"mutability":"mutable","name":"b","nameLocation":"1324:1:164","nodeType":"VariableDeclaration","scope":27668,"src":"1317:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27657,"name":"int256","nodeType":"ElementaryTypeName","src":"1317:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1306:20:164"},"returnParameters":{"id":27662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27668,"src":"1350:6:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27660,"name":"int256","nodeType":"ElementaryTypeName","src":"1350:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1349:8:164"},"scope":27684,"src":"1294:93:164","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27682,"nodeType":"Block","src":"1684:29:164","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":27680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27678,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27671,"src":"1701:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":27679,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27673,"src":"1705:1:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1701:5:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":27677,"id":27681,"nodeType":"Return","src":"1694:12:164"}]},"documentation":{"id":27669,"nodeType":"StructuredDocumentation","src":"1393:222:164","text":" @dev Returns the addition of two signed integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow."},"id":27683,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"1629:3:164","nodeType":"FunctionDefinition","parameters":{"id":27674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27671,"mutability":"mutable","name":"a","nameLocation":"1640:1:164","nodeType":"VariableDeclaration","scope":27683,"src":"1633:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27670,"name":"int256","nodeType":"ElementaryTypeName","src":"1633:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":27673,"mutability":"mutable","name":"b","nameLocation":"1650:1:164","nodeType":"VariableDeclaration","scope":27683,"src":"1643:8:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27672,"name":"int256","nodeType":"ElementaryTypeName","src":"1643:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1632:20:164"},"returnParameters":{"id":27677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27683,"src":"1676:6:164","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":27675,"name":"int256","nodeType":"ElementaryTypeName","src":"1676:6:164","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1675:8:164"},"scope":27684,"src":"1620:93:164","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":27685,"src":"316:1399:164","usedErrors":[]}],"src":"98:1618:164"},"id":164},"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol","exportedSymbols":{"BitMaps":[27822]},"id":27823,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27686,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:165"},{"abstract":false,"baseContracts":[],"canonicalName":"BitMaps","contractDependencies":[],"contractKind":"library","documentation":{"id":27687,"nodeType":"StructuredDocumentation","src":"133:271:165","text":" @dev Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential.\n Largely inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor]."},"fullyImplemented":true,"id":27822,"linearizedBaseContracts":[27822],"name":"BitMaps","nameLocation":"413:7:165","nodeType":"ContractDefinition","nodes":[{"canonicalName":"BitMaps.BitMap","id":27692,"members":[{"constant":false,"id":27691,"mutability":"mutable","name":"_data","nameLocation":"479:5:165","nodeType":"VariableDeclaration","scope":27692,"src":"451:33:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27690,"keyType":{"id":27688,"name":"uint256","nodeType":"ElementaryTypeName","src":"459:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"451:27:165","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueType":{"id":27689,"name":"uint256","nodeType":"ElementaryTypeName","src":"470:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"BitMap","nameLocation":"434:6:165","nodeType":"StructDefinition","scope":27822,"src":"427:64:165","visibility":"public"},{"body":{"id":27727,"nodeType":"Block","src":"648:137:165","statements":[{"assignments":[27704],"declarations":[{"constant":false,"id":27704,"mutability":"mutable","name":"bucket","nameLocation":"666:6:165","nodeType":"VariableDeclaration","scope":27727,"src":"658:14:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27703,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27708,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27705,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27698,"src":"675:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":27706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"684:1:165","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"675:10:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"658:27:165"},{"assignments":[27710],"declarations":[{"constant":false,"id":27710,"mutability":"mutable","name":"mask","nameLocation":"703:4:165","nodeType":"VariableDeclaration","scope":27727,"src":"695:12:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27709,"name":"uint256","nodeType":"ElementaryTypeName","src":"695:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27717,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":27711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"710:1:165","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27712,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27698,"src":"716:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30786666","id":27713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"724:4:165","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"716:12:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"715:14:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"710:19:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"695:34:165"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":27718,"name":"bitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27696,"src":"746:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"}},"id":27719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27691,"src":"746:12:165","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27721,"indexExpression":{"id":27720,"name":"bucket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27704,"src":"759:6:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"746:20:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":27722,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27710,"src":"769:4:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"746:27:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":27724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"777:1:165","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"746:32:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":27702,"id":27726,"nodeType":"Return","src":"739:39:165"}]},"documentation":{"id":27693,"nodeType":"StructuredDocumentation","src":"497:66:165","text":" @dev Returns whether the bit at `index` is set."},"id":27728,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"577:3:165","nodeType":"FunctionDefinition","parameters":{"id":27699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27696,"mutability":"mutable","name":"bitmap","nameLocation":"596:6:165","nodeType":"VariableDeclaration","scope":27728,"src":"581:21:165","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"},"typeName":{"id":27695,"nodeType":"UserDefinedTypeName","pathNode":{"id":27694,"name":"BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"581:6:165"},"referencedDeclaration":27692,"src":"581:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}},"visibility":"internal"},{"constant":false,"id":27698,"mutability":"mutable","name":"index","nameLocation":"612:5:165","nodeType":"VariableDeclaration","scope":27728,"src":"604:13:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27697,"name":"uint256","nodeType":"ElementaryTypeName","src":"604:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:38:165"},"returnParameters":{"id":27702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27728,"src":"642:4:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27700,"name":"bool","nodeType":"ElementaryTypeName","src":"642:4:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"641:6:165"},"scope":27822,"src":"568:217:165","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":27753,"nodeType":"Block","src":"971:121:165","statements":[{"condition":{"id":27739,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27736,"src":"985:5:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":27751,"nodeType":"Block","src":"1041:45:165","statements":[{"expression":{"arguments":[{"id":27747,"name":"bitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27732,"src":"1061:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"}},{"id":27748,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27734,"src":"1069:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27746,"name":"unset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27821,"src":"1055:5:165","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BitMap_$27692_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BitMaps.BitMap storage pointer,uint256)"}},"id":27749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1055:20:165","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27750,"nodeType":"ExpressionStatement","src":"1055:20:165"}]},"id":27752,"nodeType":"IfStatement","src":"981:105:165","trueBody":{"id":27745,"nodeType":"Block","src":"992:43:165","statements":[{"expression":{"arguments":[{"id":27741,"name":"bitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27732,"src":"1010:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"}},{"id":27742,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27734,"src":"1018:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27740,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27787,"src":"1006:3:165","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_BitMap_$27692_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct BitMaps.BitMap storage pointer,uint256)"}},"id":27743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1006:18:165","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27744,"nodeType":"ExpressionStatement","src":"1006:18:165"}]}}]},"documentation":{"id":27729,"nodeType":"StructuredDocumentation","src":"791:71:165","text":" @dev Sets the bit at `index` to the boolean `value`."},"id":27754,"implemented":true,"kind":"function","modifiers":[],"name":"setTo","nameLocation":"876:5:165","nodeType":"FunctionDefinition","parameters":{"id":27737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27732,"mutability":"mutable","name":"bitmap","nameLocation":"906:6:165","nodeType":"VariableDeclaration","scope":27754,"src":"891:21:165","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"},"typeName":{"id":27731,"nodeType":"UserDefinedTypeName","pathNode":{"id":27730,"name":"BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"891:6:165"},"referencedDeclaration":27692,"src":"891:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}},"visibility":"internal"},{"constant":false,"id":27734,"mutability":"mutable","name":"index","nameLocation":"930:5:165","nodeType":"VariableDeclaration","scope":27754,"src":"922:13:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27733,"name":"uint256","nodeType":"ElementaryTypeName","src":"922:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27736,"mutability":"mutable","name":"value","nameLocation":"950:5:165","nodeType":"VariableDeclaration","scope":27754,"src":"945:10:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27735,"name":"bool","nodeType":"ElementaryTypeName","src":"945:4:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"881:80:165"},"returnParameters":{"id":27738,"nodeType":"ParameterList","parameters":[],"src":"971:0:165"},"scope":27822,"src":"867:225:165","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27786,"nodeType":"Block","src":"1211:126:165","statements":[{"assignments":[27764],"declarations":[{"constant":false,"id":27764,"mutability":"mutable","name":"bucket","nameLocation":"1229:6:165","nodeType":"VariableDeclaration","scope":27786,"src":"1221:14:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27763,"name":"uint256","nodeType":"ElementaryTypeName","src":"1221:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27768,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27765,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27760,"src":"1238:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":27766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1247:1:165","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1238:10:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1221:27:165"},{"assignments":[27770],"declarations":[{"constant":false,"id":27770,"mutability":"mutable","name":"mask","nameLocation":"1266:4:165","nodeType":"VariableDeclaration","scope":27786,"src":"1258:12:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27769,"name":"uint256","nodeType":"ElementaryTypeName","src":"1258:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27777,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":27771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1273:1:165","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27772,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27760,"src":"1279:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30786666","id":27773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1287:4:165","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"1279:12:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27775,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1278:14:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1273:19:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1258:34:165"},{"expression":{"id":27784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27778,"name":"bitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27758,"src":"1302:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"}},"id":27781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27691,"src":"1302:12:165","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27782,"indexExpression":{"id":27780,"name":"bucket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27764,"src":"1315:6:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1302:20:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"id":27783,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27770,"src":"1326:4:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1302:28:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27785,"nodeType":"ExpressionStatement","src":"1302:28:165"}]},"documentation":{"id":27755,"nodeType":"StructuredDocumentation","src":"1098:48:165","text":" @dev Sets the bit at `index`."},"id":27787,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"1160:3:165","nodeType":"FunctionDefinition","parameters":{"id":27761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27758,"mutability":"mutable","name":"bitmap","nameLocation":"1179:6:165","nodeType":"VariableDeclaration","scope":27787,"src":"1164:21:165","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"},"typeName":{"id":27757,"nodeType":"UserDefinedTypeName","pathNode":{"id":27756,"name":"BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"1164:6:165"},"referencedDeclaration":27692,"src":"1164:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}},"visibility":"internal"},{"constant":false,"id":27760,"mutability":"mutable","name":"index","nameLocation":"1195:5:165","nodeType":"VariableDeclaration","scope":27787,"src":"1187:13:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27759,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1163:38:165"},"returnParameters":{"id":27762,"nodeType":"ParameterList","parameters":[],"src":"1211:0:165"},"scope":27822,"src":"1151:186:165","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27820,"nodeType":"Block","src":"1460:127:165","statements":[{"assignments":[27797],"declarations":[{"constant":false,"id":27797,"mutability":"mutable","name":"bucket","nameLocation":"1478:6:165","nodeType":"VariableDeclaration","scope":27820,"src":"1470:14:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27796,"name":"uint256","nodeType":"ElementaryTypeName","src":"1470:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27801,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27798,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27793,"src":"1487:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":27799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1496:1:165","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1487:10:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1470:27:165"},{"assignments":[27803],"declarations":[{"constant":false,"id":27803,"mutability":"mutable","name":"mask","nameLocation":"1515:4:165","nodeType":"VariableDeclaration","scope":27820,"src":"1507:12:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27802,"name":"uint256","nodeType":"ElementaryTypeName","src":"1507:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27810,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":27804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1522:1:165","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27805,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27793,"src":"1528:5:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30786666","id":27806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1536:4:165","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"1528:12:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":27808,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1527:14:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1522:19:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1507:34:165"},{"expression":{"id":27818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27811,"name":"bitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27791,"src":"1551:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap storage pointer"}},"id":27814,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27691,"src":"1551:12:165","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27815,"indexExpression":{"id":27813,"name":"bucket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27797,"src":"1564:6:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1551:20:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"&=","rightHandSide":{"id":27817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"1575:5:165","subExpression":{"id":27816,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"1576:4:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1551:29:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27819,"nodeType":"ExpressionStatement","src":"1551:29:165"}]},"documentation":{"id":27788,"nodeType":"StructuredDocumentation","src":"1343:50:165","text":" @dev Unsets the bit at `index`."},"id":27821,"implemented":true,"kind":"function","modifiers":[],"name":"unset","nameLocation":"1407:5:165","nodeType":"FunctionDefinition","parameters":{"id":27794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27791,"mutability":"mutable","name":"bitmap","nameLocation":"1428:6:165","nodeType":"VariableDeclaration","scope":27821,"src":"1413:21:165","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"},"typeName":{"id":27790,"nodeType":"UserDefinedTypeName","pathNode":{"id":27789,"name":"BitMap","nodeType":"IdentifierPath","referencedDeclaration":27692,"src":"1413:6:165"},"referencedDeclaration":27692,"src":"1413:6:165","typeDescriptions":{"typeIdentifier":"t_struct$_BitMap_$27692_storage_ptr","typeString":"struct BitMaps.BitMap"}},"visibility":"internal"},{"constant":false,"id":27793,"mutability":"mutable","name":"index","nameLocation":"1444:5:165","nodeType":"VariableDeclaration","scope":27821,"src":"1436:13:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27792,"name":"uint256","nodeType":"ElementaryTypeName","src":"1436:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1412:38:165"},"returnParameters":{"id":27795,"nodeType":"ParameterList","parameters":[],"src":"1460:0:165"},"scope":27822,"src":"1398:189:165","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":27823,"src":"405:1184:165","usedErrors":[]}],"src":"108:1482:165"},"id":165},"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","exportedSymbols":{"DoubleEndedQueue":[28163],"SafeCast":[27203]},"id":28164,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27824,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"117:23:166"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../math/SafeCast.sol","id":27825,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":28164,"sourceUnit":27204,"src":"142:30:166","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"DoubleEndedQueue","contractDependencies":[],"contractKind":"library","documentation":{"id":27826,"nodeType":"StructuredDocumentation","src":"174:660:166","text":" @dev A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of\n the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and\n FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that\n the existing queue contents are left in storage.\n The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be\n used in storage, and not in memory.\n ```\n DoubleEndedQueue.Bytes32Deque queue;\n ```\n _Available since v4.6._"},"fullyImplemented":true,"id":28163,"linearizedBaseContracts":[28163],"name":"DoubleEndedQueue","nameLocation":"843:16:166","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":27827,"nodeType":"StructuredDocumentation","src":"866:103:166","text":" @dev An operation (e.g. {front}) couldn't be completed due to the queue being empty."},"id":27829,"name":"Empty","nameLocation":"980:5:166","nodeType":"ErrorDefinition","parameters":{"id":27828,"nodeType":"ParameterList","parameters":[],"src":"985:2:166"},"src":"974:14:166"},{"documentation":{"id":27830,"nodeType":"StructuredDocumentation","src":"994:107:166","text":" @dev An operation (e.g. {at}) couldn't be completed due to an index being out of bounds."},"id":27832,"name":"OutOfBounds","nameLocation":"1112:11:166","nodeType":"ErrorDefinition","parameters":{"id":27831,"nodeType":"ParameterList","parameters":[],"src":"1123:2:166"},"src":"1106:20:166"},{"canonicalName":"DoubleEndedQueue.Bytes32Deque","id":27841,"members":[{"constant":false,"id":27834,"mutability":"mutable","name":"_begin","nameLocation":"1937:6:166","nodeType":"VariableDeclaration","scope":27841,"src":"1930:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27833,"name":"int128","nodeType":"ElementaryTypeName","src":"1930:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":27836,"mutability":"mutable","name":"_end","nameLocation":"1960:4:166","nodeType":"VariableDeclaration","scope":27841,"src":"1953:11:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27835,"name":"int128","nodeType":"ElementaryTypeName","src":"1953:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":27840,"mutability":"mutable","name":"_data","nameLocation":"2001:5:166","nodeType":"VariableDeclaration","scope":27841,"src":"1974:32:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"},"typeName":{"id":27839,"keyType":{"id":27837,"name":"int128","nodeType":"ElementaryTypeName","src":"1982:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Mapping","src":"1974:26:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"},"valueType":{"id":27838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1992:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"}],"name":"Bytes32Deque","nameLocation":"1907:12:166","nodeType":"StructDefinition","scope":28163,"src":"1900:113:166","visibility":"public"},{"body":{"id":27872,"nodeType":"Block","src":"2158:156:166","statements":[{"assignments":[27851],"declarations":[{"constant":false,"id":27851,"mutability":"mutable","name":"backIndex","nameLocation":"2175:9:166","nodeType":"VariableDeclaration","scope":27872,"src":"2168:16:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27850,"name":"int128","nodeType":"ElementaryTypeName","src":"2168:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":27854,"initialValue":{"expression":{"id":27852,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27845,"src":"2187:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"2187:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"2168:29:166"},{"expression":{"id":27861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27855,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27845,"src":"2207:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"2207:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27859,"indexExpression":{"id":27857,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27851,"src":"2219:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2207:22:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27860,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27847,"src":"2232:5:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2207:30:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":27862,"nodeType":"ExpressionStatement","src":"2207:30:166"},{"id":27871,"nodeType":"UncheckedBlock","src":"2247:61:166","statements":[{"expression":{"id":27869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27863,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27845,"src":"2271:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"2271:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":27868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27866,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27851,"src":"2284:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":27867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:1:166","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2284:13:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"2271:26:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27870,"nodeType":"ExpressionStatement","src":"2271:26:166"}]}]},"documentation":{"id":27842,"nodeType":"StructuredDocumentation","src":"2019:64:166","text":" @dev Inserts an item at the end of the queue."},"id":27873,"implemented":true,"kind":"function","modifiers":[],"name":"pushBack","nameLocation":"2097:8:166","nodeType":"FunctionDefinition","parameters":{"id":27848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27845,"mutability":"mutable","name":"deque","nameLocation":"2127:5:166","nodeType":"VariableDeclaration","scope":27873,"src":"2106:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":27844,"nodeType":"UserDefinedTypeName","pathNode":{"id":27843,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"2106:12:166"},"referencedDeclaration":27841,"src":"2106:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":27847,"mutability":"mutable","name":"value","nameLocation":"2142:5:166","nodeType":"VariableDeclaration","scope":27873,"src":"2134:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2134:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2105:43:166"},"returnParameters":{"id":27849,"nodeType":"ParameterList","parameters":[],"src":"2158:0:166"},"scope":28163,"src":"2088:226:166","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27919,"nodeType":"Block","src":"2541:256:166","statements":[{"condition":{"arguments":[{"id":27883,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"2561:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":27882,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28162,"src":"2555:5:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":27884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2555:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27888,"nodeType":"IfStatement","src":"2551:32:166","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":27885,"name":"Empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27829,"src":"2576:5:166","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":27886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2576:7:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27887,"nodeType":"RevertStatement","src":"2569:14:166"}},{"assignments":[27890],"declarations":[{"constant":false,"id":27890,"mutability":"mutable","name":"backIndex","nameLocation":"2600:9:166","nodeType":"VariableDeclaration","scope":27919,"src":"2593:16:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27889,"name":"int128","nodeType":"ElementaryTypeName","src":"2593:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":27891,"nodeType":"VariableDeclarationStatement","src":"2593:16:166"},{"id":27899,"nodeType":"UncheckedBlock","src":"2619:61:166","statements":[{"expression":{"id":27897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27892,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27890,"src":"2643:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":27896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27893,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"2655:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"2655:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":27895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:1:166","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2655:14:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"2643:26:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27898,"nodeType":"ExpressionStatement","src":"2643:26:166"}]},{"expression":{"id":27905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27900,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27880,"src":"2689:5:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":27901,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"2697:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"2697:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27904,"indexExpression":{"id":27903,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27890,"src":"2709:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2697:22:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2689:30:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":27906,"nodeType":"ExpressionStatement","src":"2689:30:166"},{"expression":{"id":27911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2729:29:166","subExpression":{"baseExpression":{"expression":{"id":27907,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"2736:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"2736:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27910,"indexExpression":{"id":27909,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27890,"src":"2748:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2736:22:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27912,"nodeType":"ExpressionStatement","src":"2729:29:166"},{"expression":{"id":27917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27913,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"2768:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"2768:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27916,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27890,"src":"2781:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"2768:22:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27918,"nodeType":"ExpressionStatement","src":"2768:22:166"}]},"documentation":{"id":27874,"nodeType":"StructuredDocumentation","src":"2320:138:166","text":" @dev Removes the item at the end of the queue and returns it.\n Reverts with `Empty` if the queue is empty."},"id":27920,"implemented":true,"kind":"function","modifiers":[],"name":"popBack","nameLocation":"2472:7:166","nodeType":"FunctionDefinition","parameters":{"id":27878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27877,"mutability":"mutable","name":"deque","nameLocation":"2501:5:166","nodeType":"VariableDeclaration","scope":27920,"src":"2480:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":27876,"nodeType":"UserDefinedTypeName","pathNode":{"id":27875,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"2480:12:166"},"referencedDeclaration":27841,"src":"2480:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"2479:28:166"},"returnParameters":{"id":27881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27880,"mutability":"mutable","name":"value","nameLocation":"2534:5:166","nodeType":"VariableDeclaration","scope":27920,"src":"2526:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2526:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2525:15:166"},"scope":28163,"src":"2463:334:166","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27954,"nodeType":"Block","src":"2949:183:166","statements":[{"assignments":[27930],"declarations":[{"constant":false,"id":27930,"mutability":"mutable","name":"frontIndex","nameLocation":"2966:10:166","nodeType":"VariableDeclaration","scope":27954,"src":"2959:17:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27929,"name":"int128","nodeType":"ElementaryTypeName","src":"2959:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":27931,"nodeType":"VariableDeclarationStatement","src":"2959:17:166"},{"id":27939,"nodeType":"UncheckedBlock","src":"2986:64:166","statements":[{"expression":{"id":27937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27932,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27930,"src":"3010:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":27936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27933,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27924,"src":"3023:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"3023:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":27935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3038:1:166","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3023:16:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"3010:29:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27938,"nodeType":"ExpressionStatement","src":"3010:29:166"}]},{"expression":{"id":27946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27940,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27924,"src":"3059:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"3059:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27944,"indexExpression":{"id":27942,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27930,"src":"3071:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3059:23:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27945,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27926,"src":"3085:5:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3059:31:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":27947,"nodeType":"ExpressionStatement","src":"3059:31:166"},{"expression":{"id":27952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27948,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27924,"src":"3100:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"3100:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27951,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27930,"src":"3115:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"3100:25:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27953,"nodeType":"ExpressionStatement","src":"3100:25:166"}]},"documentation":{"id":27921,"nodeType":"StructuredDocumentation","src":"2803:70:166","text":" @dev Inserts an item at the beginning of the queue."},"id":27955,"implemented":true,"kind":"function","modifiers":[],"name":"pushFront","nameLocation":"2887:9:166","nodeType":"FunctionDefinition","parameters":{"id":27927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27924,"mutability":"mutable","name":"deque","nameLocation":"2918:5:166","nodeType":"VariableDeclaration","scope":27955,"src":"2897:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":27923,"nodeType":"UserDefinedTypeName","pathNode":{"id":27922,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"2897:12:166"},"referencedDeclaration":27841,"src":"2897:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":27926,"mutability":"mutable","name":"value","nameLocation":"2933:5:166","nodeType":"VariableDeclaration","scope":27955,"src":"2925:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2925:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2896:43:166"},"returnParameters":{"id":27928,"nodeType":"ParameterList","parameters":[],"src":"2949:0:166"},"scope":28163,"src":"2878:254:166","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27998,"nodeType":"Block","src":"3366:245:166","statements":[{"condition":{"arguments":[{"id":27965,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27959,"src":"3386:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":27964,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28162,"src":"3380:5:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":27966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3380:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27970,"nodeType":"IfStatement","src":"3376:32:166","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":27967,"name":"Empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27829,"src":"3401:5:166","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":27968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3401:7:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27969,"nodeType":"RevertStatement","src":"3394:14:166"}},{"assignments":[27972],"declarations":[{"constant":false,"id":27972,"mutability":"mutable","name":"frontIndex","nameLocation":"3425:10:166","nodeType":"VariableDeclaration","scope":27998,"src":"3418:17:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":27971,"name":"int128","nodeType":"ElementaryTypeName","src":"3418:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":27975,"initialValue":{"expression":{"id":27973,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27959,"src":"3438:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"3438:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"3418:32:166"},{"expression":{"id":27981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":27976,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27962,"src":"3460:5:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":27977,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27959,"src":"3468:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"3468:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27980,"indexExpression":{"id":27979,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27972,"src":"3480:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3468:23:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3460:31:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":27982,"nodeType":"ExpressionStatement","src":"3460:31:166"},{"expression":{"id":27987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3501:30:166","subExpression":{"baseExpression":{"expression":{"id":27983,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27959,"src":"3508:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"3508:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":27986,"indexExpression":{"id":27985,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27972,"src":"3520:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3508:23:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27988,"nodeType":"ExpressionStatement","src":"3501:30:166"},{"id":27997,"nodeType":"UncheckedBlock","src":"3541:64:166","statements":[{"expression":{"id":27995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27989,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27959,"src":"3565:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":27991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"3565:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":27994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27992,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27972,"src":"3580:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":27993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3593:1:166","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3580:14:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"3565:29:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":27996,"nodeType":"ExpressionStatement","src":"3565:29:166"}]}]},"documentation":{"id":27956,"nodeType":"StructuredDocumentation","src":"3138:144:166","text":" @dev Removes the item at the beginning of the queue and returns it.\n Reverts with `Empty` if the queue is empty."},"id":27999,"implemented":true,"kind":"function","modifiers":[],"name":"popFront","nameLocation":"3296:8:166","nodeType":"FunctionDefinition","parameters":{"id":27960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27959,"mutability":"mutable","name":"deque","nameLocation":"3326:5:166","nodeType":"VariableDeclaration","scope":27999,"src":"3305:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":27958,"nodeType":"UserDefinedTypeName","pathNode":{"id":27957,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"3305:12:166"},"referencedDeclaration":27841,"src":"3305:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"3304:28:166"},"returnParameters":{"id":27963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27962,"mutability":"mutable","name":"value","nameLocation":"3359:5:166","nodeType":"VariableDeclaration","scope":27999,"src":"3351:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3351:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3350:15:166"},"scope":28163,"src":"3287:324:166","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28025,"nodeType":"Block","src":"3832:131:166","statements":[{"condition":{"arguments":[{"id":28009,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28003,"src":"3852:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":28008,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28162,"src":"3846:5:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":28010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3846:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28014,"nodeType":"IfStatement","src":"3842:32:166","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":28011,"name":"Empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27829,"src":"3867:5:166","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":28012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3867:7:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28013,"nodeType":"RevertStatement","src":"3860:14:166"}},{"assignments":[28016],"declarations":[{"constant":false,"id":28016,"mutability":"mutable","name":"frontIndex","nameLocation":"3891:10:166","nodeType":"VariableDeclaration","scope":28025,"src":"3884:17:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":28015,"name":"int128","nodeType":"ElementaryTypeName","src":"3884:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":28019,"initialValue":{"expression":{"id":28017,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28003,"src":"3904:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"3904:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"3884:32:166"},{"expression":{"baseExpression":{"expression":{"id":28020,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28003,"src":"3933:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"3933:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":28023,"indexExpression":{"id":28022,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28016,"src":"3945:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3933:23:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":28007,"id":28024,"nodeType":"Return","src":"3926:30:166"}]},"documentation":{"id":28000,"nodeType":"StructuredDocumentation","src":"3617:129:166","text":" @dev Returns the item at the beginning of the queue.\n Reverts with `Empty` if the queue is empty."},"id":28026,"implemented":true,"kind":"function","modifiers":[],"name":"front","nameLocation":"3760:5:166","nodeType":"FunctionDefinition","parameters":{"id":28004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28003,"mutability":"mutable","name":"deque","nameLocation":"3787:5:166","nodeType":"VariableDeclaration","scope":28026,"src":"3766:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28002,"nodeType":"UserDefinedTypeName","pathNode":{"id":28001,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"3766:12:166"},"referencedDeclaration":27841,"src":"3766:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"3765:28:166"},"returnParameters":{"id":28007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28006,"mutability":"mutable","name":"value","nameLocation":"3825:5:166","nodeType":"VariableDeclaration","scope":28026,"src":"3817:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3817:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3816:15:166"},"scope":28163,"src":"3751:212:166","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28058,"nodeType":"Block","src":"4177:184:166","statements":[{"condition":{"arguments":[{"id":28036,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28030,"src":"4197:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":28035,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28162,"src":"4191:5:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$27841_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":28037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4191:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28041,"nodeType":"IfStatement","src":"4187:32:166","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":28038,"name":"Empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27829,"src":"4212:5:166","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":28039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4212:7:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28040,"nodeType":"RevertStatement","src":"4205:14:166"}},{"assignments":[28043],"declarations":[{"constant":false,"id":28043,"mutability":"mutable","name":"backIndex","nameLocation":"4236:9:166","nodeType":"VariableDeclaration","scope":28058,"src":"4229:16:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":28042,"name":"int128","nodeType":"ElementaryTypeName","src":"4229:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":28044,"nodeType":"VariableDeclarationStatement","src":"4229:16:166"},{"id":28052,"nodeType":"UncheckedBlock","src":"4255:61:166","statements":[{"expression":{"id":28050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28045,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28043,"src":"4279:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":28049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28046,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28030,"src":"4291:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"4291:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4304:1:166","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4291:14:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"4279:26:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":28051,"nodeType":"ExpressionStatement","src":"4279:26:166"}]},{"expression":{"baseExpression":{"expression":{"id":28053,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28030,"src":"4332:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"4332:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":28056,"indexExpression":{"id":28055,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28043,"src":"4344:9:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4332:22:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":28034,"id":28057,"nodeType":"Return","src":"4325:29:166"}]},"documentation":{"id":28027,"nodeType":"StructuredDocumentation","src":"3969:123:166","text":" @dev Returns the item at the end of the queue.\n Reverts with `Empty` if the queue is empty."},"id":28059,"implemented":true,"kind":"function","modifiers":[],"name":"back","nameLocation":"4106:4:166","nodeType":"FunctionDefinition","parameters":{"id":28031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28030,"mutability":"mutable","name":"deque","nameLocation":"4132:5:166","nodeType":"VariableDeclaration","scope":28059,"src":"4111:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28029,"nodeType":"UserDefinedTypeName","pathNode":{"id":28028,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"4111:12:166"},"referencedDeclaration":27841,"src":"4111:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"4110:28:166"},"returnParameters":{"id":28034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28033,"mutability":"mutable","name":"value","nameLocation":"4170:5:166","nodeType":"VariableDeclaration","scope":28059,"src":"4162:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4162:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4161:15:166"},"scope":28163,"src":"4097:264:166","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28099,"nodeType":"Block","src":"4691:231:166","statements":[{"assignments":[28071],"declarations":[{"constant":false,"id":28071,"mutability":"mutable","name":"idx","nameLocation":"4757:3:166","nodeType":"VariableDeclaration","scope":28099,"src":"4750:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":28070,"name":"int128","nodeType":"ElementaryTypeName","src":"4750:6:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":28085,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":28083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":28076,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28063,"src":"4788:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"4788:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":28075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4781:6:166","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":28074,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:166","typeDescriptions":{}}},"id":28078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4781:20:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":28081,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28065,"src":"4822:5:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28079,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"4804:8:166","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":28080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":27202,"src":"4804:17:166","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$","typeString":"function (uint256) pure returns (int256)"}},"id":28082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4804:24:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4781:47:166","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":28072,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27203,"src":"4763:8:166","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$27203_$","typeString":"type(library SafeCast)"}},"id":28073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":26829,"src":"4763:17:166","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$","typeString":"function (int256) pure returns (int128)"}},"id":28084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4763:66:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"4750:79:166"},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":28089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28086,"name":"idx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28071,"src":"4843:3:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":28087,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28063,"src":"4850:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"4850:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"4843:17:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28093,"nodeType":"IfStatement","src":"4839:43:166","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":28090,"name":"OutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27832,"src":"4869:11:166","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":28091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4869:13:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28092,"nodeType":"RevertStatement","src":"4862:20:166"}},{"expression":{"baseExpression":{"expression":{"id":28094,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28063,"src":"4899:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":27840,"src":"4899:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int128_$_t_bytes32_$","typeString":"mapping(int128 => bytes32)"}},"id":28097,"indexExpression":{"id":28096,"name":"idx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28071,"src":"4911:3:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4899:16:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":28069,"id":28098,"nodeType":"Return","src":"4892:23:166"}]},"documentation":{"id":28060,"nodeType":"StructuredDocumentation","src":"4367:226:166","text":" @dev Return the item at a position in the queue given by `index`, with the first item at 0 and last item at\n `length(deque) - 1`.\n Reverts with `OutOfBounds` if the index is out of bounds."},"id":28100,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"4607:2:166","nodeType":"FunctionDefinition","parameters":{"id":28066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28063,"mutability":"mutable","name":"deque","nameLocation":"4631:5:166","nodeType":"VariableDeclaration","scope":28100,"src":"4610:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28062,"nodeType":"UserDefinedTypeName","pathNode":{"id":28061,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"4610:12:166"},"referencedDeclaration":27841,"src":"4610:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":28065,"mutability":"mutable","name":"index","nameLocation":"4646:5:166","nodeType":"VariableDeclaration","scope":28100,"src":"4638:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28064,"name":"uint256","nodeType":"ElementaryTypeName","src":"4638:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4609:43:166"},"returnParameters":{"id":28069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28068,"mutability":"mutable","name":"value","nameLocation":"4684:5:166","nodeType":"VariableDeclaration","scope":28100,"src":"4676:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4676:7:166","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4675:15:166"},"scope":28163,"src":"4598:324:166","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28119,"nodeType":"Block","src":"5211:57:166","statements":[{"expression":{"id":28111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28107,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28104,"src":"5221:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"5221:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":28110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5236:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5221:16:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":28112,"nodeType":"ExpressionStatement","src":"5221:16:166"},{"expression":{"id":28117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28113,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28104,"src":"5247:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"5247:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":28116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5260:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5247:14:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":28118,"nodeType":"ExpressionStatement","src":"5247:14:166"}]},"documentation":{"id":28101,"nodeType":"StructuredDocumentation","src":"4928:226:166","text":" @dev Resets the queue back to being empty.\n NOTE: The current items are left behind in storage. This does not affect the functioning of the queue, but misses\n out on potential gas refunds."},"id":28120,"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"5168:5:166","nodeType":"FunctionDefinition","parameters":{"id":28105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28104,"mutability":"mutable","name":"deque","nameLocation":"5195:5:166","nodeType":"VariableDeclaration","scope":28120,"src":"5174:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28103,"nodeType":"UserDefinedTypeName","pathNode":{"id":28102,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"5174:12:166"},"referencedDeclaration":27841,"src":"5174:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5173:28:166"},"returnParameters":{"id":28106,"nodeType":"ParameterList","parameters":[],"src":"5211:0:166"},"scope":28163,"src":"5159:109:166","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28145,"nodeType":"Block","src":"5420:287:166","statements":[{"id":28144,"nodeType":"UncheckedBlock","src":"5609:92:166","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":28141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":28133,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28124,"src":"5655:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"5655:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":28132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5648:6:166","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":28131,"name":"int256","nodeType":"ElementaryTypeName","src":"5648:6:166","typeDescriptions":{}}},"id":28135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5648:18:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"expression":{"id":28138,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28124,"src":"5676:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"5676:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":28137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5669:6:166","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":28136,"name":"int256","nodeType":"ElementaryTypeName","src":"5669:6:166","typeDescriptions":{}}},"id":28140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5669:20:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5648:41:166","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":28130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5640:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28129,"name":"uint256","nodeType":"ElementaryTypeName","src":"5640:7:166","typeDescriptions":{}}},"id":28142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5640:50:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28128,"id":28143,"nodeType":"Return","src":"5633:57:166"}]}]},"documentation":{"id":28121,"nodeType":"StructuredDocumentation","src":"5274:65:166","text":" @dev Returns the number of items in the queue."},"id":28146,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"5353:6:166","nodeType":"FunctionDefinition","parameters":{"id":28125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28124,"mutability":"mutable","name":"deque","nameLocation":"5381:5:166","nodeType":"VariableDeclaration","scope":28146,"src":"5360:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28123,"nodeType":"UserDefinedTypeName","pathNode":{"id":28122,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"5360:12:166"},"referencedDeclaration":27841,"src":"5360:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5359:28:166"},"returnParameters":{"id":28128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28146,"src":"5411:7:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28126,"name":"uint256","nodeType":"ElementaryTypeName","src":"5411:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5410:9:166"},"scope":28163,"src":"5344:363:166","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28161,"nodeType":"Block","src":"5849:50:166","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":28159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28155,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28150,"src":"5866:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":27836,"src":"5866:10:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":28157,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28150,"src":"5880:5:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":28158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":27834,"src":"5880:12:166","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"5866:26:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28154,"id":28160,"nodeType":"Return","src":"5859:33:166"}]},"documentation":{"id":28147,"nodeType":"StructuredDocumentation","src":"5713:59:166","text":" @dev Returns true if the queue is empty."},"id":28162,"implemented":true,"kind":"function","modifiers":[],"name":"empty","nameLocation":"5786:5:166","nodeType":"FunctionDefinition","parameters":{"id":28151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28150,"mutability":"mutable","name":"deque","nameLocation":"5813:5:166","nodeType":"VariableDeclaration","scope":28162,"src":"5792:26:166","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":28149,"nodeType":"UserDefinedTypeName","pathNode":{"id":28148,"name":"Bytes32Deque","nodeType":"IdentifierPath","referencedDeclaration":27841,"src":"5792:12:166"},"referencedDeclaration":27841,"src":"5792:12:166","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$27841_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5791:28:166"},"returnParameters":{"id":28154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28162,"src":"5843:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28152,"name":"bool","nodeType":"ElementaryTypeName","src":"5843:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5842:6:166"},"scope":28163,"src":"5777:122:166","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":28164,"src":"835:5066:166","usedErrors":[27829,27832]}],"src":"117:5785:166"},"id":166},"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol","exportedSymbols":{"EnumerableMap":[29285],"EnumerableSet":[29898]},"id":29286,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":28165,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"205:23:167"},{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol","file":"./EnumerableSet.sol","id":28166,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29286,"sourceUnit":29899,"src":"230:29:167","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"EnumerableMap","contractDependencies":[],"contractKind":"library","documentation":{"id":28167,"nodeType":"StructuredDocumentation","src":"261:1359:167","text":" @dev Library for managing an enumerable variant of Solidity's\n https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\n type.\n Maps have the following properties:\n - Entries are added, removed, and checked for existence in constant time\n (O(1)).\n - Entries are enumerated in O(n). No guarantees are made on the ordering.\n ```\n contract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n }\n ```\n The following map types are supported:\n - `uint256 -> address` (`UintToAddressMap`) since v3.0.0\n - `address -> uint256` (`AddressToUintMap`) since v4.6.0\n - `bytes32 -> bytes32` (`Bytes32ToBytes32Map`) since v4.6.0\n - `uint256 -> uint256` (`UintToUintMap`) since v4.7.0\n - `bytes32 -> uint256` (`Bytes32ToUintMap`) since v4.7.0\n [WARNING]\n ====\n Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n unusable.\n See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n In order to clean an EnumerableMap, you can either remove all elements one by one or create a fresh instance using an\n array of EnumerableMap.\n ===="},"fullyImplemented":true,"id":29285,"linearizedBaseContracts":[29285],"name":"EnumerableMap","nameLocation":"1629:13:167","nodeType":"ContractDefinition","nodes":[{"id":28171,"libraryName":{"id":28168,"name":"EnumerableSet","nodeType":"IdentifierPath","referencedDeclaration":29898,"src":"1655:13:167"},"nodeType":"UsingForDirective","src":"1649:49:167","typeName":{"id":28170,"nodeType":"UserDefinedTypeName","pathNode":{"id":28169,"name":"EnumerableSet.Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"1673:24:167"},"referencedDeclaration":29490,"src":"1673:24:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}}},{"canonicalName":"EnumerableMap.Bytes32ToBytes32Map","id":28179,"members":[{"constant":false,"id":28174,"mutability":"mutable","name":"_keys","nameLocation":"2251:5:167","nodeType":"VariableDeclaration","scope":28179,"src":"2226:30:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":28173,"nodeType":"UserDefinedTypeName","pathNode":{"id":28172,"name":"EnumerableSet.Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"2226:24:167"},"referencedDeclaration":29490,"src":"2226:24:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":28178,"mutability":"mutable","name":"_values","nameLocation":"2294:7:167","nodeType":"VariableDeclaration","scope":28179,"src":"2266:35:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"},"typeName":{"id":28177,"keyType":{"id":28175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2274:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2266:27:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"},"valueType":{"id":28176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2285:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"}],"name":"Bytes32ToBytes32Map","nameLocation":"2169:19:167","nodeType":"StructDefinition","scope":29285,"src":"2162:146:167","visibility":"public"},{"body":{"id":28206,"nodeType":"Block","src":"2663:76:167","statements":[{"expression":{"id":28198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":28192,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28183,"src":"2673:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"2673:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28196,"indexExpression":{"id":28194,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28185,"src":"2685:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2673:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28197,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28187,"src":"2692:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2673:24:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28199,"nodeType":"ExpressionStatement","src":"2673:24:167"},{"expression":{"arguments":[{"id":28203,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28185,"src":"2728:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":28200,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28183,"src":"2714:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":28174,"src":"2714:9:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage","typeString":"struct EnumerableSet.Bytes32Set storage ref"}},"id":28202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":29508,"src":"2714:13:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Set_$29490_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Set_$29490_storage_ptr_$","typeString":"function (struct EnumerableSet.Bytes32Set storage pointer,bytes32) returns (bool)"}},"id":28204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2714:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28191,"id":28205,"nodeType":"Return","src":"2707:25:167"}]},"documentation":{"id":28180,"nodeType":"StructuredDocumentation","src":"2314:216:167","text":" @dev Adds a key-value pair to a map, or updates the value for an existing\n key. O(1).\n Returns true if the key was added to the map, that is if it was not\n already present."},"id":28207,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"2544:3:167","nodeType":"FunctionDefinition","parameters":{"id":28188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28183,"mutability":"mutable","name":"map","nameLocation":"2585:3:167","nodeType":"VariableDeclaration","scope":28207,"src":"2557:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28182,"nodeType":"UserDefinedTypeName","pathNode":{"id":28181,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"2557:19:167"},"referencedDeclaration":28179,"src":"2557:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28185,"mutability":"mutable","name":"key","nameLocation":"2606:3:167","nodeType":"VariableDeclaration","scope":28207,"src":"2598:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2598:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28187,"mutability":"mutable","name":"value","nameLocation":"2627:5:167","nodeType":"VariableDeclaration","scope":28207,"src":"2619:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2619:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2547:91:167"},"returnParameters":{"id":28191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28207,"src":"2657:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28189,"name":"bool","nodeType":"ElementaryTypeName","src":"2657:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2656:6:167"},"scope":29285,"src":"2535:204:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28230,"nodeType":"Block","src":"2993:78:167","statements":[{"expression":{"id":28222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3003:23:167","subExpression":{"baseExpression":{"expression":{"id":28218,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28211,"src":"3010:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"3010:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28221,"indexExpression":{"id":28220,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28213,"src":"3022:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3010:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28223,"nodeType":"ExpressionStatement","src":"3003:23:167"},{"expression":{"arguments":[{"id":28227,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28213,"src":"3060:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":28224,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28211,"src":"3043:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":28174,"src":"3043:9:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage","typeString":"struct EnumerableSet.Bytes32Set storage ref"}},"id":28226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":29526,"src":"3043:16:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Set_$29490_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Set_$29490_storage_ptr_$","typeString":"function (struct EnumerableSet.Bytes32Set storage pointer,bytes32) returns (bool)"}},"id":28228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3043:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28217,"id":28229,"nodeType":"Return","src":"3036:28:167"}]},"documentation":{"id":28208,"nodeType":"StructuredDocumentation","src":"2745:157:167","text":" @dev Removes a key-value pair from a map. O(1).\n Returns true if the key was removed from the map, that is if it was present."},"id":28231,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"2916:6:167","nodeType":"FunctionDefinition","parameters":{"id":28214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28211,"mutability":"mutable","name":"map","nameLocation":"2951:3:167","nodeType":"VariableDeclaration","scope":28231,"src":"2923:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28210,"nodeType":"UserDefinedTypeName","pathNode":{"id":28209,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"2923:19:167"},"referencedDeclaration":28179,"src":"2923:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28213,"mutability":"mutable","name":"key","nameLocation":"2964:3:167","nodeType":"VariableDeclaration","scope":28231,"src":"2956:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2956:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2922:46:167"},"returnParameters":{"id":28217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28216,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28231,"src":"2987:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28215,"name":"bool","nodeType":"ElementaryTypeName","src":"2987:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2986:6:167"},"scope":29285,"src":"2907:164:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28248,"nodeType":"Block","src":"3243:47:167","statements":[{"expression":{"arguments":[{"id":28245,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28237,"src":"3279:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":28242,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28235,"src":"3260:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":28174,"src":"3260:9:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage","typeString":"struct EnumerableSet.Bytes32Set storage ref"}},"id":28244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":29544,"src":"3260:18:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Set_$29490_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Set_$29490_storage_ptr_$","typeString":"function (struct EnumerableSet.Bytes32Set storage pointer,bytes32) view returns (bool)"}},"id":28246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3260:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28241,"id":28247,"nodeType":"Return","src":"3253:30:167"}]},"documentation":{"id":28232,"nodeType":"StructuredDocumentation","src":"3077:68:167","text":" @dev Returns true if the key is in the map. O(1)."},"id":28249,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"3159:8:167","nodeType":"FunctionDefinition","parameters":{"id":28238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28235,"mutability":"mutable","name":"map","nameLocation":"3196:3:167","nodeType":"VariableDeclaration","scope":28249,"src":"3168:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28234,"nodeType":"UserDefinedTypeName","pathNode":{"id":28233,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"3168:19:167"},"referencedDeclaration":28179,"src":"3168:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28237,"mutability":"mutable","name":"key","nameLocation":"3209:3:167","nodeType":"VariableDeclaration","scope":28249,"src":"3201:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3201:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3167:46:167"},"returnParameters":{"id":28241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28249,"src":"3237:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28239,"name":"bool","nodeType":"ElementaryTypeName","src":"3237:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3236:6:167"},"scope":29285,"src":"3150:140:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28263,"nodeType":"Block","src":"3461:42:167","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":28258,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28253,"src":"3478:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":28174,"src":"3478:9:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage","typeString":"struct EnumerableSet.Bytes32Set storage ref"}},"id":28260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":29559,"src":"3478:16:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Set_$29490_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Bytes32Set_$29490_storage_ptr_$","typeString":"function (struct EnumerableSet.Bytes32Set storage pointer) view returns (uint256)"}},"id":28261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3478:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28257,"id":28262,"nodeType":"Return","src":"3471:25:167"}]},"documentation":{"id":28250,"nodeType":"StructuredDocumentation","src":"3296:79:167","text":" @dev Returns the number of key-value pairs in the map. O(1)."},"id":28264,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"3389:6:167","nodeType":"FunctionDefinition","parameters":{"id":28254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28253,"mutability":"mutable","name":"map","nameLocation":"3424:3:167","nodeType":"VariableDeclaration","scope":28264,"src":"3396:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28252,"nodeType":"UserDefinedTypeName","pathNode":{"id":28251,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"3396:19:167"},"referencedDeclaration":28179,"src":"3396:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"}],"src":"3395:33:167"},"returnParameters":{"id":28257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28256,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28264,"src":"3452:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28255,"name":"uint256","nodeType":"ElementaryTypeName","src":"3452:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3451:9:167"},"scope":29285,"src":"3380:123:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28292,"nodeType":"Block","src":"3957:90:167","statements":[{"assignments":[28278],"declarations":[{"constant":false,"id":28278,"mutability":"mutable","name":"key","nameLocation":"3975:3:167","nodeType":"VariableDeclaration","scope":28292,"src":"3967:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3967:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28284,"initialValue":{"arguments":[{"id":28282,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28270,"src":"3994:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":28279,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28268,"src":"3981:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":28174,"src":"3981:9:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage","typeString":"struct EnumerableSet.Bytes32Set storage ref"}},"id":28281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"at","nodeType":"MemberAccess","referencedDeclaration":29577,"src":"3981:12:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Set_$29490_storage_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes32Set_$29490_storage_ptr_$","typeString":"function (struct EnumerableSet.Bytes32Set storage pointer,uint256) view returns (bytes32)"}},"id":28283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3981:19:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3967:33:167"},{"expression":{"components":[{"id":28285,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28278,"src":"4018:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":28286,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28268,"src":"4023:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"4023:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28289,"indexExpression":{"id":28288,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28278,"src":"4035:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4023:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28290,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4017:23:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bytes32,bytes32)"}},"functionReturnParameters":28276,"id":28291,"nodeType":"Return","src":"4010:30:167"}]},"documentation":{"id":28265,"nodeType":"StructuredDocumentation","src":"3509:342:167","text":" @dev Returns the key-value pair stored at position `index` in the map. O(1).\n Note that there are no guarantees on the ordering of entries inside the\n array, and it may change when more entries are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":28293,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"3865:2:167","nodeType":"FunctionDefinition","parameters":{"id":28271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28268,"mutability":"mutable","name":"map","nameLocation":"3896:3:167","nodeType":"VariableDeclaration","scope":28293,"src":"3868:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28267,"nodeType":"UserDefinedTypeName","pathNode":{"id":28266,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"3868:19:167"},"referencedDeclaration":28179,"src":"3868:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28270,"mutability":"mutable","name":"index","nameLocation":"3909:5:167","nodeType":"VariableDeclaration","scope":28293,"src":"3901:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28269,"name":"uint256","nodeType":"ElementaryTypeName","src":"3901:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3867:48:167"},"returnParameters":{"id":28276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28293,"src":"3939:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3939:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28275,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28293,"src":"3948:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3948:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3938:18:167"},"scope":29285,"src":"3856:191:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28336,"nodeType":"Block","src":"4288:198:167","statements":[{"assignments":[28307],"declarations":[{"constant":false,"id":28307,"mutability":"mutable","name":"value","nameLocation":"4306:5:167","nodeType":"VariableDeclaration","scope":28336,"src":"4298:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4298:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28312,"initialValue":{"baseExpression":{"expression":{"id":28308,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28297,"src":"4314:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"4314:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28311,"indexExpression":{"id":28310,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28299,"src":"4326:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4314:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4298:32:167"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":28318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28313,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28307,"src":"4344:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":28316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4361:1:167","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":28315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4353:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4353:7:167","typeDescriptions":{}}},"id":28317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4353:10:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4344:19:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":28334,"nodeType":"Block","src":"4435:45:167","statements":[{"expression":{"components":[{"hexValue":"74727565","id":28330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4457:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":28331,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28307,"src":"4463:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28332,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4456:13:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":28305,"id":28333,"nodeType":"Return","src":"4449:20:167"}]},"id":28335,"nodeType":"IfStatement","src":"4340:140:167","trueBody":{"id":28329,"nodeType":"Block","src":"4365:64:167","statements":[{"expression":{"components":[{"arguments":[{"id":28320,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28297,"src":"4396:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},{"id":28321,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28299,"src":"4401:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28319,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"4387:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4387:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"hexValue":"30","id":28325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4415:1:167","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":28324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4407:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4407:7:167","typeDescriptions":{}}},"id":28326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4407:10:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28327,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4386:32:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":28305,"id":28328,"nodeType":"Return","src":"4379:39:167"}]}}]},"documentation":{"id":28294,"nodeType":"StructuredDocumentation","src":"4053:130:167","text":" @dev Tries to returns the value associated with `key`. O(1).\n Does not revert if `key` is not in the map."},"id":28337,"implemented":true,"kind":"function","modifiers":[],"name":"tryGet","nameLocation":"4197:6:167","nodeType":"FunctionDefinition","parameters":{"id":28300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28297,"mutability":"mutable","name":"map","nameLocation":"4232:3:167","nodeType":"VariableDeclaration","scope":28337,"src":"4204:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28296,"nodeType":"UserDefinedTypeName","pathNode":{"id":28295,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"4204:19:167"},"referencedDeclaration":28179,"src":"4204:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28299,"mutability":"mutable","name":"key","nameLocation":"4245:3:167","nodeType":"VariableDeclaration","scope":28337,"src":"4237:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4237:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4203:46:167"},"returnParameters":{"id":28305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28337,"src":"4273:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28301,"name":"bool","nodeType":"ElementaryTypeName","src":"4273:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28337,"src":"4279:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4279:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4272:15:167"},"scope":29285,"src":"4188:298:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28369,"nodeType":"Block","src":"4728:156:167","statements":[{"assignments":[28349],"declarations":[{"constant":false,"id":28349,"mutability":"mutable","name":"value","nameLocation":"4746:5:167","nodeType":"VariableDeclaration","scope":28369,"src":"4738:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28354,"initialValue":{"baseExpression":{"expression":{"id":28350,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28341,"src":"4754:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"4754:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28353,"indexExpression":{"id":28352,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28343,"src":"4766:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4754:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4738:32:167"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":28358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28356,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28349,"src":"4788:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":28357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4797:1:167","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4788:10:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":28360,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28341,"src":"4811:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},{"id":28361,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28343,"src":"4816:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28359,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"4802:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4802:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4788:32:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579","id":28364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4822:32:167","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072","typeString":"literal_string \"EnumerableMap: nonexistent key\""},"value":"EnumerableMap: nonexistent key"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072","typeString":"literal_string \"EnumerableMap: nonexistent key\""}],"id":28355,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4780:7:167","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4780:75:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28366,"nodeType":"ExpressionStatement","src":"4780:75:167"},{"expression":{"id":28367,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28349,"src":"4872:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":28347,"id":28368,"nodeType":"Return","src":"4865:12:167"}]},"documentation":{"id":28338,"nodeType":"StructuredDocumentation","src":"4492:140:167","text":" @dev Returns the value associated with `key`. O(1).\n Requirements:\n - `key` must be in the map."},"id":28370,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"4646:3:167","nodeType":"FunctionDefinition","parameters":{"id":28344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28341,"mutability":"mutable","name":"map","nameLocation":"4678:3:167","nodeType":"VariableDeclaration","scope":28370,"src":"4650:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28340,"nodeType":"UserDefinedTypeName","pathNode":{"id":28339,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"4650:19:167"},"referencedDeclaration":28179,"src":"4650:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28343,"mutability":"mutable","name":"key","nameLocation":"4691:3:167","nodeType":"VariableDeclaration","scope":28370,"src":"4683:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4683:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4649:46:167"},"returnParameters":{"id":28347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28370,"src":"4719:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4719:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4718:9:167"},"scope":29285,"src":"4637:247:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28404,"nodeType":"Block","src":"5313:136:167","statements":[{"assignments":[28384],"declarations":[{"constant":false,"id":28384,"mutability":"mutable","name":"value","nameLocation":"5331:5:167","nodeType":"VariableDeclaration","scope":28404,"src":"5323:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5323:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28389,"initialValue":{"baseExpression":{"expression":{"id":28385,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28374,"src":"5339:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},"id":28386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":28178,"src":"5339:11:167","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":28388,"indexExpression":{"id":28387,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28376,"src":"5351:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5339:16:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5323:32:167"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":28393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28391,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28384,"src":"5373:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":28392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5382:1:167","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5373:10:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":28395,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28374,"src":"5396:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"}},{"id":28396,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28376,"src":"5401:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28394,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"5387:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5387:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5373:32:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28399,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28378,"src":"5407:12:167","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":28390,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5365:7:167","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5365:55:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28401,"nodeType":"ExpressionStatement","src":"5365:55:167"},{"expression":{"id":28402,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28384,"src":"5437:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":28382,"id":28403,"nodeType":"Return","src":"5430:12:167"}]},"documentation":{"id":28371,"nodeType":"StructuredDocumentation","src":"4890:269:167","text":" @dev Same as {get}, with a custom error message when `key` is not in the map.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryGet}."},"id":28405,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"5173:3:167","nodeType":"FunctionDefinition","parameters":{"id":28379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28374,"mutability":"mutable","name":"map","nameLocation":"5214:3:167","nodeType":"VariableDeclaration","scope":28405,"src":"5186:31:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28373,"nodeType":"UserDefinedTypeName","pathNode":{"id":28372,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"5186:19:167"},"referencedDeclaration":28179,"src":"5186:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"},{"constant":false,"id":28376,"mutability":"mutable","name":"key","nameLocation":"5235:3:167","nodeType":"VariableDeclaration","scope":28405,"src":"5227:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5227:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28378,"mutability":"mutable","name":"errorMessage","nameLocation":"5262:12:167","nodeType":"VariableDeclaration","scope":28405,"src":"5248:26:167","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28377,"name":"string","nodeType":"ElementaryTypeName","src":"5248:6:167","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5176:104:167"},"returnParameters":{"id":28382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28405,"src":"5304:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5304:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5303:9:167"},"scope":29285,"src":"5164:285:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableMap.UintToUintMap","id":28409,"members":[{"constant":false,"id":28408,"mutability":"mutable","name":"_inner","nameLocation":"5528:6:167","nodeType":"VariableDeclaration","scope":28409,"src":"5508:26:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28407,"nodeType":"UserDefinedTypeName","pathNode":{"id":28406,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"5508:19:167"},"referencedDeclaration":28179,"src":"5508:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"}],"name":"UintToUintMap","nameLocation":"5484:13:167","nodeType":"StructDefinition","scope":29285,"src":"5477:64:167","visibility":"public"},{"body":{"id":28435,"nodeType":"Block","src":"5890:69:167","statements":[{"expression":{"arguments":[{"expression":{"id":28423,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28413,"src":"5911:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"5911:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28427,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28415,"src":"5931:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5923:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5923:7:167","typeDescriptions":{}}},"id":28428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5923:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":28431,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28417,"src":"5945:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5937:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5937:7:167","typeDescriptions":{}}},"id":28432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5937:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28422,"name":"set","nodeType":"Identifier","overloadedDeclarations":[28207,28436,28649,28886,29126],"referencedDeclaration":28207,"src":"5907:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,bytes32) returns (bool)"}},"id":28433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5907:45:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28421,"id":28434,"nodeType":"Return","src":"5900:52:167"}]},"documentation":{"id":28410,"nodeType":"StructuredDocumentation","src":"5547:216:167","text":" @dev Adds a key-value pair to a map, or updates the value for an existing\n key. O(1).\n Returns true if the key was added to the map, that is if it was not\n already present."},"id":28436,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"5777:3:167","nodeType":"FunctionDefinition","parameters":{"id":28418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28413,"mutability":"mutable","name":"map","nameLocation":"5812:3:167","nodeType":"VariableDeclaration","scope":28436,"src":"5790:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28412,"nodeType":"UserDefinedTypeName","pathNode":{"id":28411,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"5790:13:167"},"referencedDeclaration":28409,"src":"5790:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28415,"mutability":"mutable","name":"key","nameLocation":"5833:3:167","nodeType":"VariableDeclaration","scope":28436,"src":"5825:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28414,"name":"uint256","nodeType":"ElementaryTypeName","src":"5825:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28417,"mutability":"mutable","name":"value","nameLocation":"5854:5:167","nodeType":"VariableDeclaration","scope":28436,"src":"5846:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28416,"name":"uint256","nodeType":"ElementaryTypeName","src":"5846:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5780:85:167"},"returnParameters":{"id":28421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28436,"src":"5884:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28419,"name":"bool","nodeType":"ElementaryTypeName","src":"5884:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5883:6:167"},"scope":29285,"src":"5768:191:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28456,"nodeType":"Block","src":"6198:56:167","statements":[{"expression":{"arguments":[{"expression":{"id":28448,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28440,"src":"6222:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"6222:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28452,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28442,"src":"6242:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6234:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6234:7:167","typeDescriptions":{}}},"id":28453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6234:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28447,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[28231,28457,28670,28913,29144],"referencedDeclaration":28231,"src":"6215:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) returns (bool)"}},"id":28454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6215:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28446,"id":28455,"nodeType":"Return","src":"6208:39:167"}]},"documentation":{"id":28437,"nodeType":"StructuredDocumentation","src":"5965:148:167","text":" @dev Removes a value from a set. O(1).\n Returns true if the key was removed from the map, that is if it was present."},"id":28457,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"6127:6:167","nodeType":"FunctionDefinition","parameters":{"id":28443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28440,"mutability":"mutable","name":"map","nameLocation":"6156:3:167","nodeType":"VariableDeclaration","scope":28457,"src":"6134:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28439,"nodeType":"UserDefinedTypeName","pathNode":{"id":28438,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"6134:13:167"},"referencedDeclaration":28409,"src":"6134:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28442,"mutability":"mutable","name":"key","nameLocation":"6169:3:167","nodeType":"VariableDeclaration","scope":28457,"src":"6161:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28441,"name":"uint256","nodeType":"ElementaryTypeName","src":"6161:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6133:40:167"},"returnParameters":{"id":28446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28457,"src":"6192:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28444,"name":"bool","nodeType":"ElementaryTypeName","src":"6192:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6191:6:167"},"scope":29285,"src":"6118:136:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28477,"nodeType":"Block","src":"6420:58:167","statements":[{"expression":{"arguments":[{"expression":{"id":28469,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28461,"src":"6446:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"6446:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28473,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28463,"src":"6466:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6458:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6458:7:167","typeDescriptions":{}}},"id":28474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6458:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28468,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"6437:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6437:34:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28467,"id":28476,"nodeType":"Return","src":"6430:41:167"}]},"documentation":{"id":28458,"nodeType":"StructuredDocumentation","src":"6260:68:167","text":" @dev Returns true if the key is in the map. O(1)."},"id":28478,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"6342:8:167","nodeType":"FunctionDefinition","parameters":{"id":28464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28461,"mutability":"mutable","name":"map","nameLocation":"6373:3:167","nodeType":"VariableDeclaration","scope":28478,"src":"6351:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28460,"nodeType":"UserDefinedTypeName","pathNode":{"id":28459,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"6351:13:167"},"referencedDeclaration":28409,"src":"6351:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28463,"mutability":"mutable","name":"key","nameLocation":"6386:3:167","nodeType":"VariableDeclaration","scope":28478,"src":"6378:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28462,"name":"uint256","nodeType":"ElementaryTypeName","src":"6378:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6350:40:167"},"returnParameters":{"id":28467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28478,"src":"6414:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28465,"name":"bool","nodeType":"ElementaryTypeName","src":"6414:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6413:6:167"},"scope":29285,"src":"6333:145:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28492,"nodeType":"Block","src":"6636:42:167","statements":[{"expression":{"arguments":[{"expression":{"id":28488,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28482,"src":"6660:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"6660:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}],"id":28487,"name":"length","nodeType":"Identifier","overloadedDeclarations":[28264,28493,28706,28955,29177],"referencedDeclaration":28264,"src":"6653:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer) view returns (uint256)"}},"id":28490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6653:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28486,"id":28491,"nodeType":"Return","src":"6646:25:167"}]},"documentation":{"id":28479,"nodeType":"StructuredDocumentation","src":"6484:72:167","text":" @dev Returns the number of elements in the map. O(1)."},"id":28493,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"6570:6:167","nodeType":"FunctionDefinition","parameters":{"id":28483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28482,"mutability":"mutable","name":"map","nameLocation":"6599:3:167","nodeType":"VariableDeclaration","scope":28493,"src":"6577:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28481,"nodeType":"UserDefinedTypeName","pathNode":{"id":28480,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"6577:13:167"},"referencedDeclaration":28409,"src":"6577:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"}],"src":"6576:27:167"},"returnParameters":{"id":28486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28493,"src":"6627:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28484,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:9:167"},"scope":29285,"src":"6561:117:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28526,"nodeType":"Block","src":"7110:116:167","statements":[{"assignments":[28507,28509],"declarations":[{"constant":false,"id":28507,"mutability":"mutable","name":"key","nameLocation":"7129:3:167","nodeType":"VariableDeclaration","scope":28526,"src":"7121:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7121:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28509,"mutability":"mutable","name":"value","nameLocation":"7142:5:167","nodeType":"VariableDeclaration","scope":28526,"src":"7134:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7134:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28515,"initialValue":{"arguments":[{"expression":{"id":28511,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28497,"src":"7154:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"7154:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":28513,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28499,"src":"7166:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28510,"name":"at","nodeType":"Identifier","overloadedDeclarations":[28293,28527,28746,28995,29208],"referencedDeclaration":28293,"src":"7151:2:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,uint256) view returns (bytes32,bytes32)"}},"id":28514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7151:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7120:52:167"},{"expression":{"components":[{"arguments":[{"id":28518,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28507,"src":"7198:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7190:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28516,"name":"uint256","nodeType":"ElementaryTypeName","src":"7190:7:167","typeDescriptions":{}}},"id":28519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7190:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":28522,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28509,"src":"7212:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7204:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28520,"name":"uint256","nodeType":"ElementaryTypeName","src":"7204:7:167","typeDescriptions":{}}},"id":28523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7204:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28524,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7189:30:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":28505,"id":28525,"nodeType":"Return","src":"7182:37:167"}]},"documentation":{"id":28494,"nodeType":"StructuredDocumentation","src":"6684:326:167","text":" @dev Returns the element stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":28527,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"7024:2:167","nodeType":"FunctionDefinition","parameters":{"id":28500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28497,"mutability":"mutable","name":"map","nameLocation":"7049:3:167","nodeType":"VariableDeclaration","scope":28527,"src":"7027:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28496,"nodeType":"UserDefinedTypeName","pathNode":{"id":28495,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"7027:13:167"},"referencedDeclaration":28409,"src":"7027:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28499,"mutability":"mutable","name":"index","nameLocation":"7062:5:167","nodeType":"VariableDeclaration","scope":28527,"src":"7054:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28498,"name":"uint256","nodeType":"ElementaryTypeName","src":"7054:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7026:42:167"},"returnParameters":{"id":28505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28527,"src":"7092:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28501,"name":"uint256","nodeType":"ElementaryTypeName","src":"7092:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28527,"src":"7101:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28503,"name":"uint256","nodeType":"ElementaryTypeName","src":"7101:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7091:18:167"},"scope":29285,"src":"7015:211:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28560,"nodeType":"Block","src":"7461:123:167","statements":[{"assignments":[28541,28543],"declarations":[{"constant":false,"id":28541,"mutability":"mutable","name":"success","nameLocation":"7477:7:167","nodeType":"VariableDeclaration","scope":28560,"src":"7472:12:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28540,"name":"bool","nodeType":"ElementaryTypeName","src":"7472:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28543,"mutability":"mutable","name":"value","nameLocation":"7494:5:167","nodeType":"VariableDeclaration","scope":28560,"src":"7486:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7486:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28552,"initialValue":{"arguments":[{"expression":{"id":28545,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28531,"src":"7510:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"7510:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28549,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28533,"src":"7530:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7522:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7522:7:167","typeDescriptions":{}}},"id":28550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7522:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28544,"name":"tryGet","nodeType":"Identifier","overloadedDeclarations":[28337,28561,28786,29035,29239],"referencedDeclaration":28337,"src":"7503:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool,bytes32)"}},"id":28551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7503:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7471:64:167"},{"expression":{"components":[{"id":28553,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28541,"src":"7553:7:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":28556,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28543,"src":"7570:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7562:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28554,"name":"uint256","nodeType":"ElementaryTypeName","src":"7562:7:167","typeDescriptions":{}}},"id":28557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7562:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7552:25:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":28539,"id":28559,"nodeType":"Return","src":"7545:32:167"}]},"documentation":{"id":28528,"nodeType":"StructuredDocumentation","src":"7232:130:167","text":" @dev Tries to returns the value associated with `key`. O(1).\n Does not revert if `key` is not in the map."},"id":28561,"implemented":true,"kind":"function","modifiers":[],"name":"tryGet","nameLocation":"7376:6:167","nodeType":"FunctionDefinition","parameters":{"id":28534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28531,"mutability":"mutable","name":"map","nameLocation":"7405:3:167","nodeType":"VariableDeclaration","scope":28561,"src":"7383:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28530,"nodeType":"UserDefinedTypeName","pathNode":{"id":28529,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"7383:13:167"},"referencedDeclaration":28409,"src":"7383:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28533,"mutability":"mutable","name":"key","nameLocation":"7418:3:167","nodeType":"VariableDeclaration","scope":28561,"src":"7410:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28532,"name":"uint256","nodeType":"ElementaryTypeName","src":"7410:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7382:40:167"},"returnParameters":{"id":28539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28561,"src":"7446:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28535,"name":"bool","nodeType":"ElementaryTypeName","src":"7446:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28561,"src":"7452:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28537,"name":"uint256","nodeType":"ElementaryTypeName","src":"7452:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7445:15:167"},"scope":29285,"src":"7367:217:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28584,"nodeType":"Block","src":"7820:62:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":28575,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28565,"src":"7849:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"7849:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28579,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28567,"src":"7869:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7861:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7861:7:167","typeDescriptions":{}}},"id":28580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7861:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28574,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28370,"src":"7845:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bytes32)"}},"id":28581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7845:29:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7837:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28572,"name":"uint256","nodeType":"ElementaryTypeName","src":"7837:7:167","typeDescriptions":{}}},"id":28582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7837:38:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28571,"id":28583,"nodeType":"Return","src":"7830:45:167"}]},"documentation":{"id":28562,"nodeType":"StructuredDocumentation","src":"7590:140:167","text":" @dev Returns the value associated with `key`. O(1).\n Requirements:\n - `key` must be in the map."},"id":28585,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"7744:3:167","nodeType":"FunctionDefinition","parameters":{"id":28568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28565,"mutability":"mutable","name":"map","nameLocation":"7770:3:167","nodeType":"VariableDeclaration","scope":28585,"src":"7748:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28564,"nodeType":"UserDefinedTypeName","pathNode":{"id":28563,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"7748:13:167"},"referencedDeclaration":28409,"src":"7748:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28567,"mutability":"mutable","name":"key","nameLocation":"7783:3:167","nodeType":"VariableDeclaration","scope":28585,"src":"7775:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28566,"name":"uint256","nodeType":"ElementaryTypeName","src":"7775:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7747:40:167"},"returnParameters":{"id":28571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28585,"src":"7811:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28569,"name":"uint256","nodeType":"ElementaryTypeName","src":"7811:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7810:9:167"},"scope":29285,"src":"7735:147:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28611,"nodeType":"Block","src":"8305:76:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":28601,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28589,"src":"8334:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap storage pointer"}},"id":28602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28408,"src":"8334:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28605,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28591,"src":"8354:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8346:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8346:7:167","typeDescriptions":{}}},"id":28606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8346:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":28607,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28593,"src":"8360:12:167","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":28600,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28405,"src":"8330:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,string memory) view returns (bytes32)"}},"id":28608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8330:43:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8322:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28598,"name":"uint256","nodeType":"ElementaryTypeName","src":"8322:7:167","typeDescriptions":{}}},"id":28609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8322:52:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28597,"id":28610,"nodeType":"Return","src":"8315:59:167"}]},"documentation":{"id":28586,"nodeType":"StructuredDocumentation","src":"7888:269:167","text":" @dev Same as {get}, with a custom error message when `key` is not in the map.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryGet}."},"id":28612,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"8171:3:167","nodeType":"FunctionDefinition","parameters":{"id":28594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28589,"mutability":"mutable","name":"map","nameLocation":"8206:3:167","nodeType":"VariableDeclaration","scope":28612,"src":"8184:25:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"},"typeName":{"id":28588,"nodeType":"UserDefinedTypeName","pathNode":{"id":28587,"name":"UintToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28409,"src":"8184:13:167"},"referencedDeclaration":28409,"src":"8184:13:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToUintMap_$28409_storage_ptr","typeString":"struct EnumerableMap.UintToUintMap"}},"visibility":"internal"},{"constant":false,"id":28591,"mutability":"mutable","name":"key","nameLocation":"8227:3:167","nodeType":"VariableDeclaration","scope":28612,"src":"8219:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28590,"name":"uint256","nodeType":"ElementaryTypeName","src":"8219:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28593,"mutability":"mutable","name":"errorMessage","nameLocation":"8254:12:167","nodeType":"VariableDeclaration","scope":28612,"src":"8240:26:167","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28592,"name":"string","nodeType":"ElementaryTypeName","src":"8240:6:167","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8174:98:167"},"returnParameters":{"id":28597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28612,"src":"8296:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28595,"name":"uint256","nodeType":"ElementaryTypeName","src":"8296:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8295:9:167"},"scope":29285,"src":"8162:219:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableMap.UintToAddressMap","id":28616,"members":[{"constant":false,"id":28615,"mutability":"mutable","name":"_inner","nameLocation":"8466:6:167","nodeType":"VariableDeclaration","scope":28616,"src":"8446:26:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28614,"nodeType":"UserDefinedTypeName","pathNode":{"id":28613,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"8446:19:167"},"referencedDeclaration":28179,"src":"8446:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"}],"name":"UintToAddressMap","nameLocation":"8419:16:167","nodeType":"StructDefinition","scope":29285,"src":"8412:67:167","visibility":"public"},{"body":{"id":28648,"nodeType":"Block","src":"8831:87:167","statements":[{"expression":{"arguments":[{"expression":{"id":28630,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"8852:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"8852:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28634,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28622,"src":"8872:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8864:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8864:7:167","typeDescriptions":{}}},"id":28635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8864:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"id":28642,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28624,"src":"8902:5:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8894:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28640,"name":"uint160","nodeType":"ElementaryTypeName","src":"8894:7:167","typeDescriptions":{}}},"id":28643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8894:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8886:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28638,"name":"uint256","nodeType":"ElementaryTypeName","src":"8886:7:167","typeDescriptions":{}}},"id":28644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8886:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8878:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8878:7:167","typeDescriptions":{}}},"id":28645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8878:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28629,"name":"set","nodeType":"Identifier","overloadedDeclarations":[28207,28436,28649,28886,29126],"referencedDeclaration":28207,"src":"8848:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,bytes32) returns (bool)"}},"id":28646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8848:63:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28628,"id":28647,"nodeType":"Return","src":"8841:70:167"}]},"documentation":{"id":28617,"nodeType":"StructuredDocumentation","src":"8485:216:167","text":" @dev Adds a key-value pair to a map, or updates the value for an existing\n key. O(1).\n Returns true if the key was added to the map, that is if it was not\n already present."},"id":28649,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"8715:3:167","nodeType":"FunctionDefinition","parameters":{"id":28625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28620,"mutability":"mutable","name":"map","nameLocation":"8753:3:167","nodeType":"VariableDeclaration","scope":28649,"src":"8728:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28619,"nodeType":"UserDefinedTypeName","pathNode":{"id":28618,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"8728:16:167"},"referencedDeclaration":28616,"src":"8728:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28622,"mutability":"mutable","name":"key","nameLocation":"8774:3:167","nodeType":"VariableDeclaration","scope":28649,"src":"8766:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28621,"name":"uint256","nodeType":"ElementaryTypeName","src":"8766:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28624,"mutability":"mutable","name":"value","nameLocation":"8795:5:167","nodeType":"VariableDeclaration","scope":28649,"src":"8787:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28623,"name":"address","nodeType":"ElementaryTypeName","src":"8787:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8718:88:167"},"returnParameters":{"id":28628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28649,"src":"8825:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28626,"name":"bool","nodeType":"ElementaryTypeName","src":"8825:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8824:6:167"},"scope":29285,"src":"8706:212:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28669,"nodeType":"Block","src":"9160:56:167","statements":[{"expression":{"arguments":[{"expression":{"id":28661,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28653,"src":"9184:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"9184:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28665,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28655,"src":"9204:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9196:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9196:7:167","typeDescriptions":{}}},"id":28666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9196:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28660,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[28231,28457,28670,28913,29144],"referencedDeclaration":28231,"src":"9177:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) returns (bool)"}},"id":28667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9177:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28659,"id":28668,"nodeType":"Return","src":"9170:39:167"}]},"documentation":{"id":28650,"nodeType":"StructuredDocumentation","src":"8924:148:167","text":" @dev Removes a value from a set. O(1).\n Returns true if the key was removed from the map, that is if it was present."},"id":28670,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"9086:6:167","nodeType":"FunctionDefinition","parameters":{"id":28656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28653,"mutability":"mutable","name":"map","nameLocation":"9118:3:167","nodeType":"VariableDeclaration","scope":28670,"src":"9093:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28652,"nodeType":"UserDefinedTypeName","pathNode":{"id":28651,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"9093:16:167"},"referencedDeclaration":28616,"src":"9093:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28655,"mutability":"mutable","name":"key","nameLocation":"9131:3:167","nodeType":"VariableDeclaration","scope":28670,"src":"9123:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28654,"name":"uint256","nodeType":"ElementaryTypeName","src":"9123:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9092:43:167"},"returnParameters":{"id":28659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28670,"src":"9154:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28657,"name":"bool","nodeType":"ElementaryTypeName","src":"9154:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9153:6:167"},"scope":29285,"src":"9077:139:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28690,"nodeType":"Block","src":"9385:58:167","statements":[{"expression":{"arguments":[{"expression":{"id":28682,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28674,"src":"9411:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"9411:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28686,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28676,"src":"9431:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9423:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9423:7:167","typeDescriptions":{}}},"id":28687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9423:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28681,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"9402:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9402:34:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28680,"id":28689,"nodeType":"Return","src":"9395:41:167"}]},"documentation":{"id":28671,"nodeType":"StructuredDocumentation","src":"9222:68:167","text":" @dev Returns true if the key is in the map. O(1)."},"id":28691,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"9304:8:167","nodeType":"FunctionDefinition","parameters":{"id":28677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28674,"mutability":"mutable","name":"map","nameLocation":"9338:3:167","nodeType":"VariableDeclaration","scope":28691,"src":"9313:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28673,"nodeType":"UserDefinedTypeName","pathNode":{"id":28672,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"9313:16:167"},"referencedDeclaration":28616,"src":"9313:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28676,"mutability":"mutable","name":"key","nameLocation":"9351:3:167","nodeType":"VariableDeclaration","scope":28691,"src":"9343:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28675,"name":"uint256","nodeType":"ElementaryTypeName","src":"9343:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9312:43:167"},"returnParameters":{"id":28680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28691,"src":"9379:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28678,"name":"bool","nodeType":"ElementaryTypeName","src":"9379:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9378:6:167"},"scope":29285,"src":"9295:148:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28705,"nodeType":"Block","src":"9604:42:167","statements":[{"expression":{"arguments":[{"expression":{"id":28701,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28695,"src":"9628:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"9628:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}],"id":28700,"name":"length","nodeType":"Identifier","overloadedDeclarations":[28264,28493,28706,28955,29177],"referencedDeclaration":28264,"src":"9621:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer) view returns (uint256)"}},"id":28703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9621:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28699,"id":28704,"nodeType":"Return","src":"9614:25:167"}]},"documentation":{"id":28692,"nodeType":"StructuredDocumentation","src":"9449:72:167","text":" @dev Returns the number of elements in the map. O(1)."},"id":28706,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"9535:6:167","nodeType":"FunctionDefinition","parameters":{"id":28696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28695,"mutability":"mutable","name":"map","nameLocation":"9567:3:167","nodeType":"VariableDeclaration","scope":28706,"src":"9542:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28694,"nodeType":"UserDefinedTypeName","pathNode":{"id":28693,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"9542:16:167"},"referencedDeclaration":28616,"src":"9542:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"}],"src":"9541:30:167"},"returnParameters":{"id":28699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28706,"src":"9595:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28697,"name":"uint256","nodeType":"ElementaryTypeName","src":"9595:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9594:9:167"},"scope":29285,"src":"9526:120:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28745,"nodeType":"Block","src":"10081:134:167","statements":[{"assignments":[28720,28722],"declarations":[{"constant":false,"id":28720,"mutability":"mutable","name":"key","nameLocation":"10100:3:167","nodeType":"VariableDeclaration","scope":28745,"src":"10092:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10092:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28722,"mutability":"mutable","name":"value","nameLocation":"10113:5:167","nodeType":"VariableDeclaration","scope":28745,"src":"10105:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10105:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28728,"initialValue":{"arguments":[{"expression":{"id":28724,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28710,"src":"10125:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"10125:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":28726,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28712,"src":"10137:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28723,"name":"at","nodeType":"Identifier","overloadedDeclarations":[28293,28527,28746,28995,29208],"referencedDeclaration":28293,"src":"10122:2:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,uint256) view returns (bytes32,bytes32)"}},"id":28727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10122:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"10091:52:167"},{"expression":{"components":[{"arguments":[{"id":28731,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28720,"src":"10169:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10161:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28729,"name":"uint256","nodeType":"ElementaryTypeName","src":"10161:7:167","typeDescriptions":{}}},"id":28732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10161:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"arguments":[{"id":28739,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28722,"src":"10199:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10191:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28737,"name":"uint256","nodeType":"ElementaryTypeName","src":"10191:7:167","typeDescriptions":{}}},"id":28740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10191:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10183:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28735,"name":"uint160","nodeType":"ElementaryTypeName","src":"10183:7:167","typeDescriptions":{}}},"id":28741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10183:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10175:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28733,"name":"address","nodeType":"ElementaryTypeName","src":"10175:7:167","typeDescriptions":{}}},"id":28742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10175:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":28743,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10160:48:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":28718,"id":28744,"nodeType":"Return","src":"10153:55:167"}]},"documentation":{"id":28707,"nodeType":"StructuredDocumentation","src":"9652:326:167","text":" @dev Returns the element stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":28746,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"9992:2:167","nodeType":"FunctionDefinition","parameters":{"id":28713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28710,"mutability":"mutable","name":"map","nameLocation":"10020:3:167","nodeType":"VariableDeclaration","scope":28746,"src":"9995:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28709,"nodeType":"UserDefinedTypeName","pathNode":{"id":28708,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"9995:16:167"},"referencedDeclaration":28616,"src":"9995:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28712,"mutability":"mutable","name":"index","nameLocation":"10033:5:167","nodeType":"VariableDeclaration","scope":28746,"src":"10025:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28711,"name":"uint256","nodeType":"ElementaryTypeName","src":"10025:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9994:45:167"},"returnParameters":{"id":28718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28746,"src":"10063:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28714,"name":"uint256","nodeType":"ElementaryTypeName","src":"10063:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28746,"src":"10072:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28716,"name":"address","nodeType":"ElementaryTypeName","src":"10072:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10062:18:167"},"scope":29285,"src":"9983:232:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28785,"nodeType":"Block","src":"10453:141:167","statements":[{"assignments":[28760,28762],"declarations":[{"constant":false,"id":28760,"mutability":"mutable","name":"success","nameLocation":"10469:7:167","nodeType":"VariableDeclaration","scope":28785,"src":"10464:12:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28759,"name":"bool","nodeType":"ElementaryTypeName","src":"10464:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28762,"mutability":"mutable","name":"value","nameLocation":"10486:5:167","nodeType":"VariableDeclaration","scope":28785,"src":"10478:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10478:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28771,"initialValue":{"arguments":[{"expression":{"id":28764,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28750,"src":"10502:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"10502:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28768,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28752,"src":"10522:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10514:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10514:7:167","typeDescriptions":{}}},"id":28769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10514:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28763,"name":"tryGet","nodeType":"Identifier","overloadedDeclarations":[28337,28561,28786,29035,29239],"referencedDeclaration":28337,"src":"10495:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool,bytes32)"}},"id":28770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10495:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"10463:64:167"},{"expression":{"components":[{"id":28772,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28760,"src":"10545:7:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"arguments":[{"id":28779,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28762,"src":"10578:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10570:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28777,"name":"uint256","nodeType":"ElementaryTypeName","src":"10570:7:167","typeDescriptions":{}}},"id":28780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10570:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10562:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28775,"name":"uint160","nodeType":"ElementaryTypeName","src":"10562:7:167","typeDescriptions":{}}},"id":28781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10562:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10554:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28773,"name":"address","nodeType":"ElementaryTypeName","src":"10554:7:167","typeDescriptions":{}}},"id":28782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10554:32:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":28783,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10544:43:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":28758,"id":28784,"nodeType":"Return","src":"10537:50:167"}]},"documentation":{"id":28747,"nodeType":"StructuredDocumentation","src":"10221:130:167","text":" @dev Tries to returns the value associated with `key`. O(1).\n Does not revert if `key` is not in the map."},"id":28786,"implemented":true,"kind":"function","modifiers":[],"name":"tryGet","nameLocation":"10365:6:167","nodeType":"FunctionDefinition","parameters":{"id":28753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28750,"mutability":"mutable","name":"map","nameLocation":"10397:3:167","nodeType":"VariableDeclaration","scope":28786,"src":"10372:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28749,"nodeType":"UserDefinedTypeName","pathNode":{"id":28748,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"10372:16:167"},"referencedDeclaration":28616,"src":"10372:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28752,"mutability":"mutable","name":"key","nameLocation":"10410:3:167","nodeType":"VariableDeclaration","scope":28786,"src":"10402:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28751,"name":"uint256","nodeType":"ElementaryTypeName","src":"10402:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10371:43:167"},"returnParameters":{"id":28758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28755,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28786,"src":"10438:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28754,"name":"bool","nodeType":"ElementaryTypeName","src":"10438:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28786,"src":"10444:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28756,"name":"address","nodeType":"ElementaryTypeName","src":"10444:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10437:15:167"},"scope":29285,"src":"10356:238:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28815,"nodeType":"Block","src":"10833:80:167","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":28804,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28790,"src":"10878:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28805,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"10878:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28808,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28792,"src":"10898:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10890:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10890:7:167","typeDescriptions":{}}},"id":28809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10890:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28803,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28370,"src":"10874:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bytes32)"}},"id":28810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10874:29:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10866:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28801,"name":"uint256","nodeType":"ElementaryTypeName","src":"10866:7:167","typeDescriptions":{}}},"id":28811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10866:38:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10858:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28799,"name":"uint160","nodeType":"ElementaryTypeName","src":"10858:7:167","typeDescriptions":{}}},"id":28812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10858:47:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10850:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28797,"name":"address","nodeType":"ElementaryTypeName","src":"10850:7:167","typeDescriptions":{}}},"id":28813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10850:56:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":28796,"id":28814,"nodeType":"Return","src":"10843:63:167"}]},"documentation":{"id":28787,"nodeType":"StructuredDocumentation","src":"10600:140:167","text":" @dev Returns the value associated with `key`. O(1).\n Requirements:\n - `key` must be in the map."},"id":28816,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"10754:3:167","nodeType":"FunctionDefinition","parameters":{"id":28793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28790,"mutability":"mutable","name":"map","nameLocation":"10783:3:167","nodeType":"VariableDeclaration","scope":28816,"src":"10758:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28789,"nodeType":"UserDefinedTypeName","pathNode":{"id":28788,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"10758:16:167"},"referencedDeclaration":28616,"src":"10758:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28792,"mutability":"mutable","name":"key","nameLocation":"10796:3:167","nodeType":"VariableDeclaration","scope":28816,"src":"10788:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28791,"name":"uint256","nodeType":"ElementaryTypeName","src":"10788:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10757:43:167"},"returnParameters":{"id":28796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28816,"src":"10824:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28794,"name":"address","nodeType":"ElementaryTypeName","src":"10824:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10823:9:167"},"scope":29285,"src":"10745:168:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28848,"nodeType":"Block","src":"11339:94:167","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":28836,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28820,"src":"11384:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap storage pointer"}},"id":28837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28615,"src":"11384:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"id":28840,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28822,"src":"11404:3:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11396:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11396:7:167","typeDescriptions":{}}},"id":28841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11396:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":28842,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28824,"src":"11410:12:167","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":28835,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28405,"src":"11380:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,string memory) view returns (bytes32)"}},"id":28843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11380:43:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11372:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28833,"name":"uint256","nodeType":"ElementaryTypeName","src":"11372:7:167","typeDescriptions":{}}},"id":28844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11372:52:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11364:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28831,"name":"uint160","nodeType":"ElementaryTypeName","src":"11364:7:167","typeDescriptions":{}}},"id":28845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11364:61:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11356:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28829,"name":"address","nodeType":"ElementaryTypeName","src":"11356:7:167","typeDescriptions":{}}},"id":28846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11356:70:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":28828,"id":28847,"nodeType":"Return","src":"11349:77:167"}]},"documentation":{"id":28817,"nodeType":"StructuredDocumentation","src":"10919:269:167","text":" @dev Same as {get}, with a custom error message when `key` is not in the map.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryGet}."},"id":28849,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"11202:3:167","nodeType":"FunctionDefinition","parameters":{"id":28825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28820,"mutability":"mutable","name":"map","nameLocation":"11240:3:167","nodeType":"VariableDeclaration","scope":28849,"src":"11215:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"},"typeName":{"id":28819,"nodeType":"UserDefinedTypeName","pathNode":{"id":28818,"name":"UintToAddressMap","nodeType":"IdentifierPath","referencedDeclaration":28616,"src":"11215:16:167"},"referencedDeclaration":28616,"src":"11215:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_UintToAddressMap_$28616_storage_ptr","typeString":"struct EnumerableMap.UintToAddressMap"}},"visibility":"internal"},{"constant":false,"id":28822,"mutability":"mutable","name":"key","nameLocation":"11261:3:167","nodeType":"VariableDeclaration","scope":28849,"src":"11253:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28821,"name":"uint256","nodeType":"ElementaryTypeName","src":"11253:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28824,"mutability":"mutable","name":"errorMessage","nameLocation":"11288:12:167","nodeType":"VariableDeclaration","scope":28849,"src":"11274:26:167","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28823,"name":"string","nodeType":"ElementaryTypeName","src":"11274:6:167","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11205:101:167"},"returnParameters":{"id":28828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28849,"src":"11330:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28826,"name":"address","nodeType":"ElementaryTypeName","src":"11330:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11329:9:167"},"scope":29285,"src":"11193:240:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableMap.AddressToUintMap","id":28853,"members":[{"constant":false,"id":28852,"mutability":"mutable","name":"_inner","nameLocation":"11518:6:167","nodeType":"VariableDeclaration","scope":28853,"src":"11498:26:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":28851,"nodeType":"UserDefinedTypeName","pathNode":{"id":28850,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"11498:19:167"},"referencedDeclaration":28179,"src":"11498:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"}],"name":"AddressToUintMap","nameLocation":"11471:16:167","nodeType":"StructDefinition","scope":29285,"src":"11464:67:167","visibility":"public"},{"body":{"id":28885,"nodeType":"Block","src":"11883:87:167","statements":[{"expression":{"arguments":[{"expression":{"id":28867,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28857,"src":"11904:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":28868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"11904:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":28875,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28859,"src":"11940:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11932:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28873,"name":"uint160","nodeType":"ElementaryTypeName","src":"11932:7:167","typeDescriptions":{}}},"id":28876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11932:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11924:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28871,"name":"uint256","nodeType":"ElementaryTypeName","src":"11924:7:167","typeDescriptions":{}}},"id":28877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11924:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11916:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11916:7:167","typeDescriptions":{}}},"id":28878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11916:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":28881,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28861,"src":"11956:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11948:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11948:7:167","typeDescriptions":{}}},"id":28882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11948:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28866,"name":"set","nodeType":"Identifier","overloadedDeclarations":[28207,28436,28649,28886,29126],"referencedDeclaration":28207,"src":"11900:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,bytes32) returns (bool)"}},"id":28883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11900:63:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28865,"id":28884,"nodeType":"Return","src":"11893:70:167"}]},"documentation":{"id":28854,"nodeType":"StructuredDocumentation","src":"11537:216:167","text":" @dev Adds a key-value pair to a map, or updates the value for an existing\n key. O(1).\n Returns true if the key was added to the map, that is if it was not\n already present."},"id":28886,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"11767:3:167","nodeType":"FunctionDefinition","parameters":{"id":28862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28857,"mutability":"mutable","name":"map","nameLocation":"11805:3:167","nodeType":"VariableDeclaration","scope":28886,"src":"11780:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28856,"nodeType":"UserDefinedTypeName","pathNode":{"id":28855,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"11780:16:167"},"referencedDeclaration":28853,"src":"11780:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":28859,"mutability":"mutable","name":"key","nameLocation":"11826:3:167","nodeType":"VariableDeclaration","scope":28886,"src":"11818:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28858,"name":"address","nodeType":"ElementaryTypeName","src":"11818:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28861,"mutability":"mutable","name":"value","nameLocation":"11847:5:167","nodeType":"VariableDeclaration","scope":28886,"src":"11839:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28860,"name":"uint256","nodeType":"ElementaryTypeName","src":"11839:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11770:88:167"},"returnParameters":{"id":28865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28864,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28886,"src":"11877:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28863,"name":"bool","nodeType":"ElementaryTypeName","src":"11877:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11876:6:167"},"scope":29285,"src":"11758:212:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28912,"nodeType":"Block","src":"12212:74:167","statements":[{"expression":{"arguments":[{"expression":{"id":28898,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28890,"src":"12236:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":28899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"12236:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":28906,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28892,"src":"12272:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12264:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28904,"name":"uint160","nodeType":"ElementaryTypeName","src":"12264:7:167","typeDescriptions":{}}},"id":28907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12264:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12256:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28902,"name":"uint256","nodeType":"ElementaryTypeName","src":"12256:7:167","typeDescriptions":{}}},"id":28908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12256:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12248:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12248:7:167","typeDescriptions":{}}},"id":28909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12248:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28897,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[28231,28457,28670,28913,29144],"referencedDeclaration":28231,"src":"12229:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) returns (bool)"}},"id":28910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12229:50:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28896,"id":28911,"nodeType":"Return","src":"12222:57:167"}]},"documentation":{"id":28887,"nodeType":"StructuredDocumentation","src":"11976:148:167","text":" @dev Removes a value from a set. O(1).\n Returns true if the key was removed from the map, that is if it was present."},"id":28913,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"12138:6:167","nodeType":"FunctionDefinition","parameters":{"id":28893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28890,"mutability":"mutable","name":"map","nameLocation":"12170:3:167","nodeType":"VariableDeclaration","scope":28913,"src":"12145:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28889,"nodeType":"UserDefinedTypeName","pathNode":{"id":28888,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"12145:16:167"},"referencedDeclaration":28853,"src":"12145:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":28892,"mutability":"mutable","name":"key","nameLocation":"12183:3:167","nodeType":"VariableDeclaration","scope":28913,"src":"12175:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28891,"name":"address","nodeType":"ElementaryTypeName","src":"12175:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12144:43:167"},"returnParameters":{"id":28896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28913,"src":"12206:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28894,"name":"bool","nodeType":"ElementaryTypeName","src":"12206:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12205:6:167"},"scope":29285,"src":"12129:157:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":28939,"nodeType":"Block","src":"12455:76:167","statements":[{"expression":{"arguments":[{"expression":{"id":28925,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28917,"src":"12481:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":28926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"12481:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":28933,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28919,"src":"12517:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12509:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28931,"name":"uint160","nodeType":"ElementaryTypeName","src":"12509:7:167","typeDescriptions":{}}},"id":28934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12509:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12501:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28929,"name":"uint256","nodeType":"ElementaryTypeName","src":"12501:7:167","typeDescriptions":{}}},"id":28935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12501:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12493:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":28927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12493:7:167","typeDescriptions":{}}},"id":28936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12493:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28924,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"12472:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":28937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12472:52:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28923,"id":28938,"nodeType":"Return","src":"12465:59:167"}]},"documentation":{"id":28914,"nodeType":"StructuredDocumentation","src":"12292:68:167","text":" @dev Returns true if the key is in the map. O(1)."},"id":28940,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"12374:8:167","nodeType":"FunctionDefinition","parameters":{"id":28920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28917,"mutability":"mutable","name":"map","nameLocation":"12408:3:167","nodeType":"VariableDeclaration","scope":28940,"src":"12383:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28916,"nodeType":"UserDefinedTypeName","pathNode":{"id":28915,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"12383:16:167"},"referencedDeclaration":28853,"src":"12383:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":28919,"mutability":"mutable","name":"key","nameLocation":"12421:3:167","nodeType":"VariableDeclaration","scope":28940,"src":"12413:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28918,"name":"address","nodeType":"ElementaryTypeName","src":"12413:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12382:43:167"},"returnParameters":{"id":28923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28940,"src":"12449:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28921,"name":"bool","nodeType":"ElementaryTypeName","src":"12449:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12448:6:167"},"scope":29285,"src":"12365:166:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28954,"nodeType":"Block","src":"12692:42:167","statements":[{"expression":{"arguments":[{"expression":{"id":28950,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28944,"src":"12716:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":28951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"12716:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}],"id":28949,"name":"length","nodeType":"Identifier","overloadedDeclarations":[28264,28493,28706,28955,29177],"referencedDeclaration":28264,"src":"12709:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer) view returns (uint256)"}},"id":28952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12709:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28948,"id":28953,"nodeType":"Return","src":"12702:25:167"}]},"documentation":{"id":28941,"nodeType":"StructuredDocumentation","src":"12537:72:167","text":" @dev Returns the number of elements in the map. O(1)."},"id":28955,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"12623:6:167","nodeType":"FunctionDefinition","parameters":{"id":28945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28944,"mutability":"mutable","name":"map","nameLocation":"12655:3:167","nodeType":"VariableDeclaration","scope":28955,"src":"12630:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28943,"nodeType":"UserDefinedTypeName","pathNode":{"id":28942,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"12630:16:167"},"referencedDeclaration":28853,"src":"12630:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"}],"src":"12629:30:167"},"returnParameters":{"id":28948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28947,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28955,"src":"12683:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28946,"name":"uint256","nodeType":"ElementaryTypeName","src":"12683:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12682:9:167"},"scope":29285,"src":"12614:120:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":28994,"nodeType":"Block","src":"13169:134:167","statements":[{"assignments":[28969,28971],"declarations":[{"constant":false,"id":28969,"mutability":"mutable","name":"key","nameLocation":"13188:3:167","nodeType":"VariableDeclaration","scope":28994,"src":"13180:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13180:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28971,"mutability":"mutable","name":"value","nameLocation":"13201:5:167","nodeType":"VariableDeclaration","scope":28994,"src":"13193:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13193:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28977,"initialValue":{"arguments":[{"expression":{"id":28973,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28959,"src":"13213:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":28974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"13213:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":28975,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28961,"src":"13225:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28972,"name":"at","nodeType":"Identifier","overloadedDeclarations":[28293,28527,28746,28995,29208],"referencedDeclaration":28293,"src":"13210:2:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,uint256) view returns (bytes32,bytes32)"}},"id":28976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13210:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"13179:52:167"},{"expression":{"components":[{"arguments":[{"arguments":[{"arguments":[{"id":28984,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28969,"src":"13273:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13265:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28982,"name":"uint256","nodeType":"ElementaryTypeName","src":"13265:7:167","typeDescriptions":{}}},"id":28985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13265:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13257:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":28980,"name":"uint160","nodeType":"ElementaryTypeName","src":"13257:7:167","typeDescriptions":{}}},"id":28986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13257:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":28979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13249:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28978,"name":"address","nodeType":"ElementaryTypeName","src":"13249:7:167","typeDescriptions":{}}},"id":28987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13249:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":28990,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28971,"src":"13289:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":28989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13281:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28988,"name":"uint256","nodeType":"ElementaryTypeName","src":"13281:7:167","typeDescriptions":{}}},"id":28991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13281:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28992,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13248:48:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"functionReturnParameters":28967,"id":28993,"nodeType":"Return","src":"13241:55:167"}]},"documentation":{"id":28956,"nodeType":"StructuredDocumentation","src":"12740:326:167","text":" @dev Returns the element stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":28995,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"13080:2:167","nodeType":"FunctionDefinition","parameters":{"id":28962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28959,"mutability":"mutable","name":"map","nameLocation":"13108:3:167","nodeType":"VariableDeclaration","scope":28995,"src":"13083:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28958,"nodeType":"UserDefinedTypeName","pathNode":{"id":28957,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"13083:16:167"},"referencedDeclaration":28853,"src":"13083:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":28961,"mutability":"mutable","name":"index","nameLocation":"13121:5:167","nodeType":"VariableDeclaration","scope":28995,"src":"13113:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28960,"name":"uint256","nodeType":"ElementaryTypeName","src":"13113:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13082:45:167"},"returnParameters":{"id":28967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28964,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28995,"src":"13151:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28963,"name":"address","nodeType":"ElementaryTypeName","src":"13151:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28995,"src":"13160:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28965,"name":"uint256","nodeType":"ElementaryTypeName","src":"13160:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13150:18:167"},"scope":29285,"src":"13071:232:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29034,"nodeType":"Block","src":"13541:141:167","statements":[{"assignments":[29009,29011],"declarations":[{"constant":false,"id":29009,"mutability":"mutable","name":"success","nameLocation":"13557:7:167","nodeType":"VariableDeclaration","scope":29034,"src":"13552:12:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29008,"name":"bool","nodeType":"ElementaryTypeName","src":"13552:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29011,"mutability":"mutable","name":"value","nameLocation":"13574:5:167","nodeType":"VariableDeclaration","scope":29034,"src":"13566:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13566:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29026,"initialValue":{"arguments":[{"expression":{"id":29013,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28999,"src":"13590:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":29014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"13590:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29021,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29001,"src":"13626:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13618:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29019,"name":"uint160","nodeType":"ElementaryTypeName","src":"13618:7:167","typeDescriptions":{}}},"id":29022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13618:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13610:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29017,"name":"uint256","nodeType":"ElementaryTypeName","src":"13610:7:167","typeDescriptions":{}}},"id":29023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13610:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13602:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13602:7:167","typeDescriptions":{}}},"id":29024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13602:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29012,"name":"tryGet","nodeType":"Identifier","overloadedDeclarations":[28337,28561,28786,29035,29239],"referencedDeclaration":28337,"src":"13583:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool,bytes32)"}},"id":29025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13583:50:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"13551:82:167"},{"expression":{"components":[{"id":29027,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29009,"src":"13651:7:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":29030,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29011,"src":"13668:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13660:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29028,"name":"uint256","nodeType":"ElementaryTypeName","src":"13660:7:167","typeDescriptions":{}}},"id":29031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13660:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":29032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13650:25:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":29007,"id":29033,"nodeType":"Return","src":"13643:32:167"}]},"documentation":{"id":28996,"nodeType":"StructuredDocumentation","src":"13309:130:167","text":" @dev Tries to returns the value associated with `key`. O(1).\n Does not revert if `key` is not in the map."},"id":29035,"implemented":true,"kind":"function","modifiers":[],"name":"tryGet","nameLocation":"13453:6:167","nodeType":"FunctionDefinition","parameters":{"id":29002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28999,"mutability":"mutable","name":"map","nameLocation":"13485:3:167","nodeType":"VariableDeclaration","scope":29035,"src":"13460:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":28998,"nodeType":"UserDefinedTypeName","pathNode":{"id":28997,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"13460:16:167"},"referencedDeclaration":28853,"src":"13460:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":29001,"mutability":"mutable","name":"key","nameLocation":"13498:3:167","nodeType":"VariableDeclaration","scope":29035,"src":"13490:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29000,"name":"address","nodeType":"ElementaryTypeName","src":"13490:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13459:43:167"},"returnParameters":{"id":29007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29035,"src":"13526:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29003,"name":"bool","nodeType":"ElementaryTypeName","src":"13526:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29035,"src":"13532:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29005,"name":"uint256","nodeType":"ElementaryTypeName","src":"13532:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13525:15:167"},"scope":29285,"src":"13444:238:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29064,"nodeType":"Block","src":"13921:80:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":29049,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29039,"src":"13950:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":29050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"13950:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29057,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29041,"src":"13986:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13978:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29055,"name":"uint160","nodeType":"ElementaryTypeName","src":"13978:7:167","typeDescriptions":{}}},"id":29058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13978:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13970:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29053,"name":"uint256","nodeType":"ElementaryTypeName","src":"13970:7:167","typeDescriptions":{}}},"id":29059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13970:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13962:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13962:7:167","typeDescriptions":{}}},"id":29060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13962:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29048,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28370,"src":"13946:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bytes32)"}},"id":29061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13946:47:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13938:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29046,"name":"uint256","nodeType":"ElementaryTypeName","src":"13938:7:167","typeDescriptions":{}}},"id":29062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13938:56:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29045,"id":29063,"nodeType":"Return","src":"13931:63:167"}]},"documentation":{"id":29036,"nodeType":"StructuredDocumentation","src":"13688:140:167","text":" @dev Returns the value associated with `key`. O(1).\n Requirements:\n - `key` must be in the map."},"id":29065,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"13842:3:167","nodeType":"FunctionDefinition","parameters":{"id":29042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29039,"mutability":"mutable","name":"map","nameLocation":"13871:3:167","nodeType":"VariableDeclaration","scope":29065,"src":"13846:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":29038,"nodeType":"UserDefinedTypeName","pathNode":{"id":29037,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"13846:16:167"},"referencedDeclaration":28853,"src":"13846:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":29041,"mutability":"mutable","name":"key","nameLocation":"13884:3:167","nodeType":"VariableDeclaration","scope":29065,"src":"13876:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29040,"name":"address","nodeType":"ElementaryTypeName","src":"13876:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13845:43:167"},"returnParameters":{"id":29045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29065,"src":"13912:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29043,"name":"uint256","nodeType":"ElementaryTypeName","src":"13912:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13911:9:167"},"scope":29285,"src":"13833:168:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29097,"nodeType":"Block","src":"14427:94:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":29081,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29069,"src":"14456:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap storage pointer"}},"id":29082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"14456:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29089,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29071,"src":"14492:3:167","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14484:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29087,"name":"uint160","nodeType":"ElementaryTypeName","src":"14484:7:167","typeDescriptions":{}}},"id":29090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14484:12:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14476:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29085,"name":"uint256","nodeType":"ElementaryTypeName","src":"14476:7:167","typeDescriptions":{}}},"id":29091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14476:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14468:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14468:7:167","typeDescriptions":{}}},"id":29092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14468:30:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29093,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29073,"src":"14500:12:167","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":29080,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28405,"src":"14452:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,string memory) view returns (bytes32)"}},"id":29094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14452:61:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14444:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29078,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:167","typeDescriptions":{}}},"id":29095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14444:70:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29077,"id":29096,"nodeType":"Return","src":"14437:77:167"}]},"documentation":{"id":29066,"nodeType":"StructuredDocumentation","src":"14007:269:167","text":" @dev Same as {get}, with a custom error message when `key` is not in the map.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryGet}."},"id":29098,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"14290:3:167","nodeType":"FunctionDefinition","parameters":{"id":29074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29069,"mutability":"mutable","name":"map","nameLocation":"14328:3:167","nodeType":"VariableDeclaration","scope":29098,"src":"14303:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"},"typeName":{"id":29068,"nodeType":"UserDefinedTypeName","pathNode":{"id":29067,"name":"AddressToUintMap","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"14303:16:167"},"referencedDeclaration":28853,"src":"14303:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_AddressToUintMap_$28853_storage_ptr","typeString":"struct EnumerableMap.AddressToUintMap"}},"visibility":"internal"},{"constant":false,"id":29071,"mutability":"mutable","name":"key","nameLocation":"14349:3:167","nodeType":"VariableDeclaration","scope":29098,"src":"14341:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29070,"name":"address","nodeType":"ElementaryTypeName","src":"14341:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29073,"mutability":"mutable","name":"errorMessage","nameLocation":"14376:12:167","nodeType":"VariableDeclaration","scope":29098,"src":"14362:26:167","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29072,"name":"string","nodeType":"ElementaryTypeName","src":"14362:6:167","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14293:101:167"},"returnParameters":{"id":29077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29098,"src":"14418:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29075,"name":"uint256","nodeType":"ElementaryTypeName","src":"14418:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14417:9:167"},"scope":29285,"src":"14281:240:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableMap.Bytes32ToUintMap","id":29102,"members":[{"constant":false,"id":29101,"mutability":"mutable","name":"_inner","nameLocation":"14606:6:167","nodeType":"VariableDeclaration","scope":29102,"src":"14586:26:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"},"typeName":{"id":29100,"nodeType":"UserDefinedTypeName","pathNode":{"id":29099,"name":"Bytes32ToBytes32Map","nodeType":"IdentifierPath","referencedDeclaration":28179,"src":"14586:19:167"},"referencedDeclaration":28179,"src":"14586:19:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToBytes32Map"}},"visibility":"internal"}],"name":"Bytes32ToUintMap","nameLocation":"14559:16:167","nodeType":"StructDefinition","scope":29285,"src":"14552:67:167","visibility":"public"},{"body":{"id":29125,"nodeType":"Block","src":"14971:60:167","statements":[{"expression":{"arguments":[{"expression":{"id":29116,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29106,"src":"14992:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"14992:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29118,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"15004:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":29121,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29110,"src":"15017:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15009:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15009:7:167","typeDescriptions":{}}},"id":29122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15009:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29115,"name":"set","nodeType":"Identifier","overloadedDeclarations":[28207,28436,28649,28886,29126],"referencedDeclaration":28207,"src":"14988:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,bytes32) returns (bool)"}},"id":29123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14988:36:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29114,"id":29124,"nodeType":"Return","src":"14981:43:167"}]},"documentation":{"id":29103,"nodeType":"StructuredDocumentation","src":"14625:216:167","text":" @dev Adds a key-value pair to a map, or updates the value for an existing\n key. O(1).\n Returns true if the key was added to the map, that is if it was not\n already present."},"id":29126,"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"14855:3:167","nodeType":"FunctionDefinition","parameters":{"id":29111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29106,"mutability":"mutable","name":"map","nameLocation":"14893:3:167","nodeType":"VariableDeclaration","scope":29126,"src":"14868:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29105,"nodeType":"UserDefinedTypeName","pathNode":{"id":29104,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"14868:16:167"},"referencedDeclaration":29102,"src":"14868:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29108,"mutability":"mutable","name":"key","nameLocation":"14914:3:167","nodeType":"VariableDeclaration","scope":29126,"src":"14906:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14906:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29110,"mutability":"mutable","name":"value","nameLocation":"14935:5:167","nodeType":"VariableDeclaration","scope":29126,"src":"14927:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29109,"name":"uint256","nodeType":"ElementaryTypeName","src":"14927:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14858:88:167"},"returnParameters":{"id":29114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29126,"src":"14965:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29112,"name":"bool","nodeType":"ElementaryTypeName","src":"14965:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14964:6:167"},"scope":29285,"src":"14846:185:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29143,"nodeType":"Block","src":"15273:47:167","statements":[{"expression":{"arguments":[{"expression":{"id":29138,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29130,"src":"15297:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"15297:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29140,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29132,"src":"15309:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29137,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[28231,28457,28670,28913,29144],"referencedDeclaration":28231,"src":"15290:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) returns (bool)"}},"id":29141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15290:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29136,"id":29142,"nodeType":"Return","src":"15283:30:167"}]},"documentation":{"id":29127,"nodeType":"StructuredDocumentation","src":"15037:148:167","text":" @dev Removes a value from a set. O(1).\n Returns true if the key was removed from the map, that is if it was present."},"id":29144,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"15199:6:167","nodeType":"FunctionDefinition","parameters":{"id":29133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29130,"mutability":"mutable","name":"map","nameLocation":"15231:3:167","nodeType":"VariableDeclaration","scope":29144,"src":"15206:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29129,"nodeType":"UserDefinedTypeName","pathNode":{"id":29128,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"15206:16:167"},"referencedDeclaration":29102,"src":"15206:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29132,"mutability":"mutable","name":"key","nameLocation":"15244:3:167","nodeType":"VariableDeclaration","scope":29144,"src":"15236:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15236:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15205:43:167"},"returnParameters":{"id":29136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29144,"src":"15267:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29134,"name":"bool","nodeType":"ElementaryTypeName","src":"15267:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15266:6:167"},"scope":29285,"src":"15190:130:167","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29161,"nodeType":"Block","src":"15489:49:167","statements":[{"expression":{"arguments":[{"expression":{"id":29156,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29148,"src":"15515:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"15515:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29158,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29150,"src":"15527:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29155,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[28249,28478,28691,28940,29162],"referencedDeclaration":28249,"src":"15506:8:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool)"}},"id":29159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15506:25:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29154,"id":29160,"nodeType":"Return","src":"15499:32:167"}]},"documentation":{"id":29145,"nodeType":"StructuredDocumentation","src":"15326:68:167","text":" @dev Returns true if the key is in the map. O(1)."},"id":29162,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"15408:8:167","nodeType":"FunctionDefinition","parameters":{"id":29151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29148,"mutability":"mutable","name":"map","nameLocation":"15442:3:167","nodeType":"VariableDeclaration","scope":29162,"src":"15417:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29147,"nodeType":"UserDefinedTypeName","pathNode":{"id":29146,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"15417:16:167"},"referencedDeclaration":29102,"src":"15417:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29150,"mutability":"mutable","name":"key","nameLocation":"15455:3:167","nodeType":"VariableDeclaration","scope":29162,"src":"15447:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15447:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15416:43:167"},"returnParameters":{"id":29154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29162,"src":"15483:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29152,"name":"bool","nodeType":"ElementaryTypeName","src":"15483:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15482:6:167"},"scope":29285,"src":"15399:139:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29176,"nodeType":"Block","src":"15699:42:167","statements":[{"expression":{"arguments":[{"expression":{"id":29172,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29166,"src":"15723:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"15723:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}],"id":29171,"name":"length","nodeType":"Identifier","overloadedDeclarations":[28264,28493,28706,28955,29177],"referencedDeclaration":28264,"src":"15716:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer) view returns (uint256)"}},"id":29174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15716:18:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29170,"id":29175,"nodeType":"Return","src":"15709:25:167"}]},"documentation":{"id":29163,"nodeType":"StructuredDocumentation","src":"15544:72:167","text":" @dev Returns the number of elements in the map. O(1)."},"id":29177,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"15630:6:167","nodeType":"FunctionDefinition","parameters":{"id":29167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29166,"mutability":"mutable","name":"map","nameLocation":"15662:3:167","nodeType":"VariableDeclaration","scope":29177,"src":"15637:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29165,"nodeType":"UserDefinedTypeName","pathNode":{"id":29164,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"15637:16:167"},"referencedDeclaration":29102,"src":"15637:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"}],"src":"15636:30:167"},"returnParameters":{"id":29170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29177,"src":"15690:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29168,"name":"uint256","nodeType":"ElementaryTypeName","src":"15690:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15689:9:167"},"scope":29285,"src":"15621:120:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29207,"nodeType":"Block","src":"16176:107:167","statements":[{"assignments":[29191,29193],"declarations":[{"constant":false,"id":29191,"mutability":"mutable","name":"key","nameLocation":"16195:3:167","nodeType":"VariableDeclaration","scope":29207,"src":"16187:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16187:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29193,"mutability":"mutable","name":"value","nameLocation":"16208:5:167","nodeType":"VariableDeclaration","scope":29207,"src":"16200:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16200:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29199,"initialValue":{"arguments":[{"expression":{"id":29195,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29181,"src":"16220:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"16220:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29197,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"16232:5:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29194,"name":"at","nodeType":"Identifier","overloadedDeclarations":[28293,28527,28746,28995,29208],"referencedDeclaration":28293,"src":"16217:2:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,uint256) view returns (bytes32,bytes32)"}},"id":29198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16217:21:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16186:52:167"},{"expression":{"components":[{"id":29200,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29191,"src":"16256:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":29203,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29193,"src":"16269:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16261:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29201,"name":"uint256","nodeType":"ElementaryTypeName","src":"16261:7:167","typeDescriptions":{}}},"id":29204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16261:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":29205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16255:21:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_uint256_$","typeString":"tuple(bytes32,uint256)"}},"functionReturnParameters":29189,"id":29206,"nodeType":"Return","src":"16248:28:167"}]},"documentation":{"id":29178,"nodeType":"StructuredDocumentation","src":"15747:326:167","text":" @dev Returns the element stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":29208,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"16087:2:167","nodeType":"FunctionDefinition","parameters":{"id":29184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29181,"mutability":"mutable","name":"map","nameLocation":"16115:3:167","nodeType":"VariableDeclaration","scope":29208,"src":"16090:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29180,"nodeType":"UserDefinedTypeName","pathNode":{"id":29179,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"16090:16:167"},"referencedDeclaration":29102,"src":"16090:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29183,"mutability":"mutable","name":"index","nameLocation":"16128:5:167","nodeType":"VariableDeclaration","scope":29208,"src":"16120:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29182,"name":"uint256","nodeType":"ElementaryTypeName","src":"16120:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16089:45:167"},"returnParameters":{"id":29189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29208,"src":"16158:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16158:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29208,"src":"16167:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29187,"name":"uint256","nodeType":"ElementaryTypeName","src":"16167:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16157:18:167"},"scope":29285,"src":"16078:205:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29238,"nodeType":"Block","src":"16521:114:167","statements":[{"assignments":[29222,29224],"declarations":[{"constant":false,"id":29222,"mutability":"mutable","name":"success","nameLocation":"16537:7:167","nodeType":"VariableDeclaration","scope":29238,"src":"16532:12:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29221,"name":"bool","nodeType":"ElementaryTypeName","src":"16532:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29224,"mutability":"mutable","name":"value","nameLocation":"16554:5:167","nodeType":"VariableDeclaration","scope":29238,"src":"16546:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16546:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29230,"initialValue":{"arguments":[{"expression":{"id":29226,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29212,"src":"16570:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"16570:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29228,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29214,"src":"16582:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29225,"name":"tryGet","nodeType":"Identifier","overloadedDeclarations":[28337,28561,28786,29035,29239],"referencedDeclaration":28337,"src":"16563:6:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bool,bytes32)"}},"id":29229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16563:23:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16531:55:167"},{"expression":{"components":[{"id":29231,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29222,"src":"16604:7:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":29234,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29224,"src":"16621:5:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16613:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29232,"name":"uint256","nodeType":"ElementaryTypeName","src":"16613:7:167","typeDescriptions":{}}},"id":29235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16613:14:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":29236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16603:25:167","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":29220,"id":29237,"nodeType":"Return","src":"16596:32:167"}]},"documentation":{"id":29209,"nodeType":"StructuredDocumentation","src":"16289:130:167","text":" @dev Tries to returns the value associated with `key`. O(1).\n Does not revert if `key` is not in the map."},"id":29239,"implemented":true,"kind":"function","modifiers":[],"name":"tryGet","nameLocation":"16433:6:167","nodeType":"FunctionDefinition","parameters":{"id":29215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29212,"mutability":"mutable","name":"map","nameLocation":"16465:3:167","nodeType":"VariableDeclaration","scope":29239,"src":"16440:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29211,"nodeType":"UserDefinedTypeName","pathNode":{"id":29210,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"16440:16:167"},"referencedDeclaration":29102,"src":"16440:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29214,"mutability":"mutable","name":"key","nameLocation":"16478:3:167","nodeType":"VariableDeclaration","scope":29239,"src":"16470:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16470:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16439:43:167"},"returnParameters":{"id":29220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29239,"src":"16506:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29216,"name":"bool","nodeType":"ElementaryTypeName","src":"16506:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29239,"src":"16512:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29218,"name":"uint256","nodeType":"ElementaryTypeName","src":"16512:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16505:15:167"},"scope":29285,"src":"16424:211:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29259,"nodeType":"Block","src":"16874:53:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":29253,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"16903:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"16903:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29255,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29245,"src":"16915:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29252,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28370,"src":"16899:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32) view returns (bytes32)"}},"id":29256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16899:20:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16891:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29250,"name":"uint256","nodeType":"ElementaryTypeName","src":"16891:7:167","typeDescriptions":{}}},"id":29257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16891:29:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29249,"id":29258,"nodeType":"Return","src":"16884:36:167"}]},"documentation":{"id":29240,"nodeType":"StructuredDocumentation","src":"16641:140:167","text":" @dev Returns the value associated with `key`. O(1).\n Requirements:\n - `key` must be in the map."},"id":29260,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"16795:3:167","nodeType":"FunctionDefinition","parameters":{"id":29246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29243,"mutability":"mutable","name":"map","nameLocation":"16824:3:167","nodeType":"VariableDeclaration","scope":29260,"src":"16799:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29242,"nodeType":"UserDefinedTypeName","pathNode":{"id":29241,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"16799:16:167"},"referencedDeclaration":29102,"src":"16799:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29245,"mutability":"mutable","name":"key","nameLocation":"16837:3:167","nodeType":"VariableDeclaration","scope":29260,"src":"16829:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16829:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16798:43:167"},"returnParameters":{"id":29249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29260,"src":"16865:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29247,"name":"uint256","nodeType":"ElementaryTypeName","src":"16865:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16864:9:167"},"scope":29285,"src":"16786:141:167","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29283,"nodeType":"Block","src":"17353:67:167","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":29276,"name":"map","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29264,"src":"17382:3:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap storage pointer"}},"id":29277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29101,"src":"17382:10:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"}},{"id":29278,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29266,"src":"17394:3:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29279,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29268,"src":"17399:12:167","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32ToBytes32Map_$28179_storage","typeString":"struct EnumerableMap.Bytes32ToBytes32Map storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":29275,"name":"get","nodeType":"Identifier","overloadedDeclarations":[28370,28405,28585,28612,28816,28849,29065,29098,29260,29284],"referencedDeclaration":28405,"src":"17378:3:167","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32ToBytes32Map_$28179_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct EnumerableMap.Bytes32ToBytes32Map storage pointer,bytes32,string memory) view returns (bytes32)"}},"id":29280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17378:34:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17370:7:167","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29273,"name":"uint256","nodeType":"ElementaryTypeName","src":"17370:7:167","typeDescriptions":{}}},"id":29281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17370:43:167","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29272,"id":29282,"nodeType":"Return","src":"17363:50:167"}]},"documentation":{"id":29261,"nodeType":"StructuredDocumentation","src":"16933:269:167","text":" @dev Same as {get}, with a custom error message when `key` is not in the map.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryGet}."},"id":29284,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"17216:3:167","nodeType":"FunctionDefinition","parameters":{"id":29269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29264,"mutability":"mutable","name":"map","nameLocation":"17254:3:167","nodeType":"VariableDeclaration","scope":29284,"src":"17229:28:167","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"},"typeName":{"id":29263,"nodeType":"UserDefinedTypeName","pathNode":{"id":29262,"name":"Bytes32ToUintMap","nodeType":"IdentifierPath","referencedDeclaration":29102,"src":"17229:16:167"},"referencedDeclaration":29102,"src":"17229:16:167","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32ToUintMap_$29102_storage_ptr","typeString":"struct EnumerableMap.Bytes32ToUintMap"}},"visibility":"internal"},{"constant":false,"id":29266,"mutability":"mutable","name":"key","nameLocation":"17275:3:167","nodeType":"VariableDeclaration","scope":29284,"src":"17267:11:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17267:7:167","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29268,"mutability":"mutable","name":"errorMessage","nameLocation":"17302:12:167","nodeType":"VariableDeclaration","scope":29284,"src":"17288:26:167","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29267,"name":"string","nodeType":"ElementaryTypeName","src":"17288:6:167","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17219:101:167"},"returnParameters":{"id":29272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29284,"src":"17344:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29270,"name":"uint256","nodeType":"ElementaryTypeName","src":"17344:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17343:9:167"},"scope":29285,"src":"17207:213:167","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":29286,"src":"1621:15801:167","usedErrors":[]}],"src":"205:17218:167"},"id":167},"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol","exportedSymbols":{"EnumerableSet":[29898]},"id":29899,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":29287,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"205:23:168"},{"abstract":false,"baseContracts":[],"canonicalName":"EnumerableSet","contractDependencies":[],"contractKind":"library","documentation":{"id":29288,"nodeType":"StructuredDocumentation","src":"230:1090:168","text":" @dev Library for managing\n https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n types.\n Sets have the following properties:\n - Elements are added, removed, and checked for existence in constant time\n (O(1)).\n - Elements are enumerated in O(n). No guarantees are made on the ordering.\n ```\n contract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n }\n ```\n As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n and `uint256` (`UintSet`) are supported.\n [WARNING]\n ====\n Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n unusable.\n See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n array of EnumerableSet.\n ===="},"fullyImplemented":true,"id":29898,"linearizedBaseContracts":[29898],"name":"EnumerableSet","nameLocation":"1329:13:168","nodeType":"ContractDefinition","nodes":[{"canonicalName":"EnumerableSet.Set","id":29296,"members":[{"constant":false,"id":29291,"mutability":"mutable","name":"_values","nameLocation":"1853:7:168","nodeType":"VariableDeclaration","scope":29296,"src":"1843:17:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1843:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29290,"nodeType":"ArrayTypeName","src":"1843:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":29295,"mutability":"mutable","name":"_indexes","nameLocation":"2021:8:168","nodeType":"VariableDeclaration","scope":29296,"src":"1993:36:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":29294,"keyType":{"id":29292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2001:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1993:27:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":29293,"name":"uint256","nodeType":"ElementaryTypeName","src":"2012:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"Set","nameLocation":"1796:3:168","nodeType":"StructDefinition","scope":29898,"src":"1789:247:168","visibility":"public"},{"body":{"id":29337,"nodeType":"Block","src":"2275:335:168","statements":[{"condition":{"id":29311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2289:22:168","subExpression":{"arguments":[{"id":29308,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29300,"src":"2300:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},{"id":29309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29302,"src":"2305:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29307,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29441,"src":"2290:9:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":29310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2290:21:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":29335,"nodeType":"Block","src":"2567:37:168","statements":[{"expression":{"hexValue":"66616c7365","id":29333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2588:5:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":29306,"id":29334,"nodeType":"Return","src":"2581:12:168"}]},"id":29336,"nodeType":"IfStatement","src":"2285:319:168","trueBody":{"id":29332,"nodeType":"Block","src":"2313:248:168","statements":[{"expression":{"arguments":[{"id":29317,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29302,"src":"2344:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":29312,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29300,"src":"2327:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"2327:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"2327:16:168","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2327:23:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29319,"nodeType":"ExpressionStatement","src":"2327:23:168"},{"expression":{"id":29328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":29320,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29300,"src":"2485:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":29295,"src":"2485:12:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":29324,"indexExpression":{"id":29322,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29302,"src":"2498:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2485:19:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":29325,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29300,"src":"2507:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"2507:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2507:18:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2485:40:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29329,"nodeType":"ExpressionStatement","src":"2485:40:168"},{"expression":{"hexValue":"74727565","id":29330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2546:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":29306,"id":29331,"nodeType":"Return","src":"2539:11:168"}]}}]},"documentation":{"id":29297,"nodeType":"StructuredDocumentation","src":"2042:159:168","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":29338,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"2215:4:168","nodeType":"FunctionDefinition","parameters":{"id":29303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29300,"mutability":"mutable","name":"set","nameLocation":"2232:3:168","nodeType":"VariableDeclaration","scope":29338,"src":"2220:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29299,"nodeType":"UserDefinedTypeName","pathNode":{"id":29298,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"2220:3:168"},"referencedDeclaration":29296,"src":"2220:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":29302,"mutability":"mutable","name":"value","nameLocation":"2245:5:168","nodeType":"VariableDeclaration","scope":29338,"src":"2237:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2237:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2219:32:168"},"returnParameters":{"id":29306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29338,"src":"2269:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29304,"name":"bool","nodeType":"ElementaryTypeName","src":"2269:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2268:6:168"},"scope":29898,"src":"2206:404:168","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":29421,"nodeType":"Block","src":"2850:1316:168","statements":[{"assignments":[29350],"declarations":[{"constant":false,"id":29350,"mutability":"mutable","name":"valueIndex","nameLocation":"2968:10:168","nodeType":"VariableDeclaration","scope":29421,"src":"2960:18:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29349,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29355,"initialValue":{"baseExpression":{"expression":{"id":29351,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"2981:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":29295,"src":"2981:12:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":29354,"indexExpression":{"id":29353,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29344,"src":"2994:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2981:19:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2960:40:168"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29356,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29350,"src":"3015:10:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":29357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3029:1:168","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3015:15:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":29419,"nodeType":"Block","src":"4123:37:168","statements":[{"expression":{"hexValue":"66616c7365","id":29417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4144:5:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":29348,"id":29418,"nodeType":"Return","src":"4137:12:168"}]},"id":29420,"nodeType":"IfStatement","src":"3011:1149:168","trueBody":{"id":29416,"nodeType":"Block","src":"3032:1085:168","statements":[{"assignments":[29360],"declarations":[{"constant":false,"id":29360,"mutability":"mutable","name":"toDeleteIndex","nameLocation":"3392:13:168","nodeType":"VariableDeclaration","scope":29416,"src":"3384:21:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29359,"name":"uint256","nodeType":"ElementaryTypeName","src":"3384:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29364,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29361,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29350,"src":"3408:10:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3421:1:168","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3408:14:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3384:38:168"},{"assignments":[29366],"declarations":[{"constant":false,"id":29366,"mutability":"mutable","name":"lastIndex","nameLocation":"3444:9:168","nodeType":"VariableDeclaration","scope":29416,"src":"3436:17:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29365,"name":"uint256","nodeType":"ElementaryTypeName","src":"3436:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29372,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":29367,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"3456:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"3456:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3456:18:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3477:1:168","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3456:22:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3436:42:168"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29373,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29366,"src":"3497:9:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":29374,"name":"toDeleteIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29360,"src":"3510:13:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3497:26:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29400,"nodeType":"IfStatement","src":"3493:398:168","trueBody":{"id":29399,"nodeType":"Block","src":"3525:366:168","statements":[{"assignments":[29377],"declarations":[{"constant":false,"id":29377,"mutability":"mutable","name":"lastValue","nameLocation":"3551:9:168","nodeType":"VariableDeclaration","scope":29399,"src":"3543:17:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3543:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29382,"initialValue":{"baseExpression":{"expression":{"id":29378,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"3563:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"3563:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29381,"indexExpression":{"id":29380,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29366,"src":"3575:9:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3563:22:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3543:42:168"},{"expression":{"id":29389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":29383,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"3685:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"3685:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29387,"indexExpression":{"id":29385,"name":"toDeleteIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29360,"src":"3697:13:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3685:26:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29388,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29377,"src":"3714:9:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3685:38:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29390,"nodeType":"ExpressionStatement","src":"3685:38:168"},{"expression":{"id":29397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":29391,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"3797:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":29295,"src":"3797:12:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":29395,"indexExpression":{"id":29393,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29377,"src":"3810:9:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3797:23:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29396,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29350,"src":"3823:10:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3797:36:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29398,"nodeType":"ExpressionStatement","src":"3797:36:168"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":29401,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"3969:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"3969:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pop","nodeType":"MemberAccess","src":"3969:15:168","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer)"}},"id":29406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3969:17:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29407,"nodeType":"ExpressionStatement","src":"3969:17:168"},{"expression":{"id":29412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4054:26:168","subExpression":{"baseExpression":{"expression":{"id":29408,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29342,"src":"4061:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":29295,"src":"4061:12:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":29411,"indexExpression":{"id":29410,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29344,"src":"4074:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4061:19:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29413,"nodeType":"ExpressionStatement","src":"4054:26:168"},{"expression":{"hexValue":"74727565","id":29414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4102:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":29348,"id":29415,"nodeType":"Return","src":"4095:11:168"}]}}]},"documentation":{"id":29339,"nodeType":"StructuredDocumentation","src":"2616:157:168","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":29422,"implemented":true,"kind":"function","modifiers":[],"name":"_remove","nameLocation":"2787:7:168","nodeType":"FunctionDefinition","parameters":{"id":29345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29342,"mutability":"mutable","name":"set","nameLocation":"2807:3:168","nodeType":"VariableDeclaration","scope":29422,"src":"2795:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29341,"nodeType":"UserDefinedTypeName","pathNode":{"id":29340,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"2795:3:168"},"referencedDeclaration":29296,"src":"2795:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":29344,"mutability":"mutable","name":"value","nameLocation":"2820:5:168","nodeType":"VariableDeclaration","scope":29422,"src":"2812:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2812:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2794:32:168"},"returnParameters":{"id":29348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29422,"src":"2844:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29346,"name":"bool","nodeType":"ElementaryTypeName","src":"2844:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2843:6:168"},"scope":29898,"src":"2778:1388:168","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":29440,"nodeType":"Block","src":"4326:48:168","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":29433,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29426,"src":"4343:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":29295,"src":"4343:12:168","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":29436,"indexExpression":{"id":29435,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29428,"src":"4356:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4343:19:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":29437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4366:1:168","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4343:24:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29432,"id":29439,"nodeType":"Return","src":"4336:31:168"}]},"documentation":{"id":29423,"nodeType":"StructuredDocumentation","src":"4172:70:168","text":" @dev Returns true if the value is in the set. O(1)."},"id":29441,"implemented":true,"kind":"function","modifiers":[],"name":"_contains","nameLocation":"4256:9:168","nodeType":"FunctionDefinition","parameters":{"id":29429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29426,"mutability":"mutable","name":"set","nameLocation":"4278:3:168","nodeType":"VariableDeclaration","scope":29441,"src":"4266:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29425,"nodeType":"UserDefinedTypeName","pathNode":{"id":29424,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"4266:3:168"},"referencedDeclaration":29296,"src":"4266:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":29428,"mutability":"mutable","name":"value","nameLocation":"4291:5:168","nodeType":"VariableDeclaration","scope":29441,"src":"4283:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4283:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:32:168"},"returnParameters":{"id":29432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29441,"src":"4320:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29430,"name":"bool","nodeType":"ElementaryTypeName","src":"4320:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4319:6:168"},"scope":29898,"src":"4247:127:168","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":29454,"nodeType":"Block","src":"4520:42:168","statements":[{"expression":{"expression":{"expression":{"id":29450,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29445,"src":"4537:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"4537:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4537:18:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29449,"id":29453,"nodeType":"Return","src":"4530:25:168"}]},"documentation":{"id":29442,"nodeType":"StructuredDocumentation","src":"4380:70:168","text":" @dev Returns the number of values on the set. O(1)."},"id":29455,"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"4464:7:168","nodeType":"FunctionDefinition","parameters":{"id":29446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29445,"mutability":"mutable","name":"set","nameLocation":"4484:3:168","nodeType":"VariableDeclaration","scope":29455,"src":"4472:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29444,"nodeType":"UserDefinedTypeName","pathNode":{"id":29443,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"4472:3:168"},"referencedDeclaration":29296,"src":"4472:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"4471:17:168"},"returnParameters":{"id":29449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29455,"src":"4511:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29447,"name":"uint256","nodeType":"ElementaryTypeName","src":"4511:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4510:9:168"},"scope":29898,"src":"4455:107:168","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":29471,"nodeType":"Block","src":"4980:42:168","statements":[{"expression":{"baseExpression":{"expression":{"id":29466,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29459,"src":"4997:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"4997:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":29469,"indexExpression":{"id":29468,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29461,"src":"5009:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4997:18:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":29465,"id":29470,"nodeType":"Return","src":"4990:25:168"}]},"documentation":{"id":29456,"nodeType":"StructuredDocumentation","src":"4568:331:168","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":29472,"implemented":true,"kind":"function","modifiers":[],"name":"_at","nameLocation":"4913:3:168","nodeType":"FunctionDefinition","parameters":{"id":29462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29459,"mutability":"mutable","name":"set","nameLocation":"4929:3:168","nodeType":"VariableDeclaration","scope":29472,"src":"4917:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29458,"nodeType":"UserDefinedTypeName","pathNode":{"id":29457,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"4917:3:168"},"referencedDeclaration":29296,"src":"4917:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":29461,"mutability":"mutable","name":"index","nameLocation":"4942:5:168","nodeType":"VariableDeclaration","scope":29472,"src":"4934:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29460,"name":"uint256","nodeType":"ElementaryTypeName","src":"4934:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4916:32:168"},"returnParameters":{"id":29465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29472,"src":"4971:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4971:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4970:9:168"},"scope":29898,"src":"4904:118:168","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":29485,"nodeType":"Block","src":"5636:35:168","statements":[{"expression":{"expression":{"id":29482,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29476,"src":"5653:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":29483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":29291,"src":"5653:11:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":29481,"id":29484,"nodeType":"Return","src":"5646:18:168"}]},"documentation":{"id":29473,"nodeType":"StructuredDocumentation","src":"5028:529:168","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":29486,"implemented":true,"kind":"function","modifiers":[],"name":"_values","nameLocation":"5571:7:168","nodeType":"FunctionDefinition","parameters":{"id":29477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29476,"mutability":"mutable","name":"set","nameLocation":"5591:3:168","nodeType":"VariableDeclaration","scope":29486,"src":"5579:15:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29475,"nodeType":"UserDefinedTypeName","pathNode":{"id":29474,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"5579:3:168"},"referencedDeclaration":29296,"src":"5579:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"5578:17:168"},"returnParameters":{"id":29481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29486,"src":"5618:16:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5618:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29479,"nodeType":"ArrayTypeName","src":"5618:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5617:18:168"},"scope":29898,"src":"5562:109:168","stateMutability":"view","virtual":false,"visibility":"private"},{"canonicalName":"EnumerableSet.Bytes32Set","id":29490,"members":[{"constant":false,"id":29489,"mutability":"mutable","name":"_inner","nameLocation":"5728:6:168","nodeType":"VariableDeclaration","scope":29490,"src":"5724:10:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29488,"nodeType":"UserDefinedTypeName","pathNode":{"id":29487,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"5724:3:168"},"referencedDeclaration":29296,"src":"5724:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"Bytes32Set","nameLocation":"5703:10:168","nodeType":"StructDefinition","scope":29898,"src":"5696:45:168","visibility":"public"},{"body":{"id":29507,"nodeType":"Block","src":"5987:47:168","statements":[{"expression":{"arguments":[{"expression":{"id":29502,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29494,"src":"6009:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"6009:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29504,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29496,"src":"6021:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29501,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29338,"src":"6004:4:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6004:23:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29500,"id":29506,"nodeType":"Return","src":"5997:30:168"}]},"documentation":{"id":29491,"nodeType":"StructuredDocumentation","src":"5747:159:168","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":29508,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"5920:3:168","nodeType":"FunctionDefinition","parameters":{"id":29497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29494,"mutability":"mutable","name":"set","nameLocation":"5943:3:168","nodeType":"VariableDeclaration","scope":29508,"src":"5924:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29493,"nodeType":"UserDefinedTypeName","pathNode":{"id":29492,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"5924:10:168"},"referencedDeclaration":29490,"src":"5924:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":29496,"mutability":"mutable","name":"value","nameLocation":"5956:5:168","nodeType":"VariableDeclaration","scope":29508,"src":"5948:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5948:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5923:39:168"},"returnParameters":{"id":29500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29508,"src":"5981:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29498,"name":"bool","nodeType":"ElementaryTypeName","src":"5981:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5980:6:168"},"scope":29898,"src":"5911:123:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29525,"nodeType":"Block","src":"6281:50:168","statements":[{"expression":{"arguments":[{"expression":{"id":29520,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29512,"src":"6306:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"6306:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29522,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29514,"src":"6318:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29519,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29422,"src":"6298:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6298:26:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29518,"id":29524,"nodeType":"Return","src":"6291:33:168"}]},"documentation":{"id":29509,"nodeType":"StructuredDocumentation","src":"6040:157:168","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":29526,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"6211:6:168","nodeType":"FunctionDefinition","parameters":{"id":29515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29512,"mutability":"mutable","name":"set","nameLocation":"6237:3:168","nodeType":"VariableDeclaration","scope":29526,"src":"6218:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29511,"nodeType":"UserDefinedTypeName","pathNode":{"id":29510,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"6218:10:168"},"referencedDeclaration":29490,"src":"6218:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":29514,"mutability":"mutable","name":"value","nameLocation":"6250:5:168","nodeType":"VariableDeclaration","scope":29526,"src":"6242:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6242:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6217:39:168"},"returnParameters":{"id":29518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29526,"src":"6275:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29516,"name":"bool","nodeType":"ElementaryTypeName","src":"6275:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6274:6:168"},"scope":29898,"src":"6202:129:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29543,"nodeType":"Block","src":"6498:52:168","statements":[{"expression":{"arguments":[{"expression":{"id":29538,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29530,"src":"6525:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"6525:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29540,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29532,"src":"6537:5:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29537,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29441,"src":"6515:9:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":29541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6515:28:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29536,"id":29542,"nodeType":"Return","src":"6508:35:168"}]},"documentation":{"id":29527,"nodeType":"StructuredDocumentation","src":"6337:70:168","text":" @dev Returns true if the value is in the set. O(1)."},"id":29544,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"6421:8:168","nodeType":"FunctionDefinition","parameters":{"id":29533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29530,"mutability":"mutable","name":"set","nameLocation":"6449:3:168","nodeType":"VariableDeclaration","scope":29544,"src":"6430:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29529,"nodeType":"UserDefinedTypeName","pathNode":{"id":29528,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"6430:10:168"},"referencedDeclaration":29490,"src":"6430:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":29532,"mutability":"mutable","name":"value","nameLocation":"6462:5:168","nodeType":"VariableDeclaration","scope":29544,"src":"6454:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6454:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6429:39:168"},"returnParameters":{"id":29536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29544,"src":"6492:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29534,"name":"bool","nodeType":"ElementaryTypeName","src":"6492:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6491:6:168"},"scope":29898,"src":"6412:138:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29558,"nodeType":"Block","src":"6703:43:168","statements":[{"expression":{"arguments":[{"expression":{"id":29554,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29548,"src":"6728:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"6728:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29553,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29455,"src":"6720:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":29556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6720:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29552,"id":29557,"nodeType":"Return","src":"6713:26:168"}]},"documentation":{"id":29545,"nodeType":"StructuredDocumentation","src":"6556:70:168","text":" @dev Returns the number of values in the set. O(1)."},"id":29559,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"6640:6:168","nodeType":"FunctionDefinition","parameters":{"id":29549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29548,"mutability":"mutable","name":"set","nameLocation":"6666:3:168","nodeType":"VariableDeclaration","scope":29559,"src":"6647:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29547,"nodeType":"UserDefinedTypeName","pathNode":{"id":29546,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"6647:10:168"},"referencedDeclaration":29490,"src":"6647:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"6646:24:168"},"returnParameters":{"id":29552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29559,"src":"6694:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29550,"name":"uint256","nodeType":"ElementaryTypeName","src":"6694:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6693:9:168"},"scope":29898,"src":"6631:115:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29576,"nodeType":"Block","src":"7171:46:168","statements":[{"expression":{"arguments":[{"expression":{"id":29571,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29563,"src":"7192:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"7192:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29573,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29565,"src":"7204:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29570,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29472,"src":"7188:3:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":29574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7188:22:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":29569,"id":29575,"nodeType":"Return","src":"7181:29:168"}]},"documentation":{"id":29560,"nodeType":"StructuredDocumentation","src":"6752:331:168","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":29577,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"7097:2:168","nodeType":"FunctionDefinition","parameters":{"id":29566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29563,"mutability":"mutable","name":"set","nameLocation":"7119:3:168","nodeType":"VariableDeclaration","scope":29577,"src":"7100:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29562,"nodeType":"UserDefinedTypeName","pathNode":{"id":29561,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"7100:10:168"},"referencedDeclaration":29490,"src":"7100:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":29565,"mutability":"mutable","name":"index","nameLocation":"7132:5:168","nodeType":"VariableDeclaration","scope":29577,"src":"7124:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29564,"name":"uint256","nodeType":"ElementaryTypeName","src":"7124:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7099:39:168"},"returnParameters":{"id":29569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29577,"src":"7162:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7162:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7161:9:168"},"scope":29898,"src":"7088:129:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29606,"nodeType":"Block","src":"7838:219:168","statements":[{"assignments":[29591],"declarations":[{"constant":false,"id":29591,"mutability":"mutable","name":"store","nameLocation":"7865:5:168","nodeType":"VariableDeclaration","scope":29606,"src":"7848:22:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7848:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29590,"nodeType":"ArrayTypeName","src":"7848:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":29596,"initialValue":{"arguments":[{"expression":{"id":29593,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29581,"src":"7881:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":29594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29489,"src":"7881:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29592,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"7873:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":29595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7873:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7848:44:168"},{"assignments":[29601],"declarations":[{"constant":false,"id":29601,"mutability":"mutable","name":"result","nameLocation":"7919:6:168","nodeType":"VariableDeclaration","scope":29606,"src":"7902:23:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7902:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29600,"nodeType":"ArrayTypeName","src":"7902:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":29602,"nodeType":"VariableDeclarationStatement","src":"7902:23:168"},{"AST":{"nodeType":"YulBlock","src":"7988:39:168","statements":[{"nodeType":"YulAssignment","src":"8002:15:168","value":{"name":"store","nodeType":"YulIdentifier","src":"8012:5:168"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"8002:6:168"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":29601,"isOffset":false,"isSlot":false,"src":"8002:6:168","valueSize":1},{"declaration":29591,"isOffset":false,"isSlot":false,"src":"8012:5:168","valueSize":1}],"id":29603,"nodeType":"InlineAssembly","src":"7979:48:168"},{"expression":{"id":29604,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29601,"src":"8044:6:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":29586,"id":29605,"nodeType":"Return","src":"8037:13:168"}]},"documentation":{"id":29578,"nodeType":"StructuredDocumentation","src":"7223:529:168","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":29607,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"7766:6:168","nodeType":"FunctionDefinition","parameters":{"id":29582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29581,"mutability":"mutable","name":"set","nameLocation":"7792:3:168","nodeType":"VariableDeclaration","scope":29607,"src":"7773:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":29580,"nodeType":"UserDefinedTypeName","pathNode":{"id":29579,"name":"Bytes32Set","nodeType":"IdentifierPath","referencedDeclaration":29490,"src":"7773:10:168"},"referencedDeclaration":29490,"src":"7773:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$29490_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"7772:24:168"},"returnParameters":{"id":29586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29607,"src":"7820:16:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7820:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29584,"nodeType":"ArrayTypeName","src":"7820:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7819:18:168"},"scope":29898,"src":"7757:300:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableSet.AddressSet","id":29611,"members":[{"constant":false,"id":29610,"mutability":"mutable","name":"_inner","nameLocation":"8114:6:168","nodeType":"VariableDeclaration","scope":29611,"src":"8110:10:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29609,"nodeType":"UserDefinedTypeName","pathNode":{"id":29608,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"8110:3:168"},"referencedDeclaration":29296,"src":"8110:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"AddressSet","nameLocation":"8089:10:168","nodeType":"StructDefinition","scope":29898,"src":"8082:45:168","visibility":"public"},{"body":{"id":29637,"nodeType":"Block","src":"8373:74:168","statements":[{"expression":{"arguments":[{"expression":{"id":29623,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29615,"src":"8395:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"8395:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29631,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29617,"src":"8431:5:168","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8423:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29629,"name":"uint160","nodeType":"ElementaryTypeName","src":"8423:7:168","typeDescriptions":{}}},"id":29632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8423:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8415:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29627,"name":"uint256","nodeType":"ElementaryTypeName","src":"8415:7:168","typeDescriptions":{}}},"id":29633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8415:23:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8407:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8407:7:168","typeDescriptions":{}}},"id":29634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8407:32:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29622,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29338,"src":"8390:4:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8390:50:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29621,"id":29636,"nodeType":"Return","src":"8383:57:168"}]},"documentation":{"id":29612,"nodeType":"StructuredDocumentation","src":"8133:159:168","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":29638,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"8306:3:168","nodeType":"FunctionDefinition","parameters":{"id":29618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29615,"mutability":"mutable","name":"set","nameLocation":"8329:3:168","nodeType":"VariableDeclaration","scope":29638,"src":"8310:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29614,"nodeType":"UserDefinedTypeName","pathNode":{"id":29613,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"8310:10:168"},"referencedDeclaration":29611,"src":"8310:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":29617,"mutability":"mutable","name":"value","nameLocation":"8342:5:168","nodeType":"VariableDeclaration","scope":29638,"src":"8334:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29616,"name":"address","nodeType":"ElementaryTypeName","src":"8334:7:168","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8309:39:168"},"returnParameters":{"id":29621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29638,"src":"8367:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29619,"name":"bool","nodeType":"ElementaryTypeName","src":"8367:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8366:6:168"},"scope":29898,"src":"8297:150:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29664,"nodeType":"Block","src":"8694:77:168","statements":[{"expression":{"arguments":[{"expression":{"id":29650,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29642,"src":"8719:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"8719:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29658,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29644,"src":"8755:5:168","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8747:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29656,"name":"uint160","nodeType":"ElementaryTypeName","src":"8747:7:168","typeDescriptions":{}}},"id":29659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8747:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8739:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29654,"name":"uint256","nodeType":"ElementaryTypeName","src":"8739:7:168","typeDescriptions":{}}},"id":29660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8739:23:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8731:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8731:7:168","typeDescriptions":{}}},"id":29661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8731:32:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29649,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29422,"src":"8711:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8711:53:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29648,"id":29663,"nodeType":"Return","src":"8704:60:168"}]},"documentation":{"id":29639,"nodeType":"StructuredDocumentation","src":"8453:157:168","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":29665,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"8624:6:168","nodeType":"FunctionDefinition","parameters":{"id":29645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29642,"mutability":"mutable","name":"set","nameLocation":"8650:3:168","nodeType":"VariableDeclaration","scope":29665,"src":"8631:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29641,"nodeType":"UserDefinedTypeName","pathNode":{"id":29640,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"8631:10:168"},"referencedDeclaration":29611,"src":"8631:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":29644,"mutability":"mutable","name":"value","nameLocation":"8663:5:168","nodeType":"VariableDeclaration","scope":29665,"src":"8655:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29643,"name":"address","nodeType":"ElementaryTypeName","src":"8655:7:168","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8630:39:168"},"returnParameters":{"id":29648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29665,"src":"8688:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29646,"name":"bool","nodeType":"ElementaryTypeName","src":"8688:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8687:6:168"},"scope":29898,"src":"8615:156:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29691,"nodeType":"Block","src":"8938:79:168","statements":[{"expression":{"arguments":[{"expression":{"id":29677,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29669,"src":"8965:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"8965:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":29685,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29671,"src":"9001:5:168","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8993:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29683,"name":"uint160","nodeType":"ElementaryTypeName","src":"8993:7:168","typeDescriptions":{}}},"id":29686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8993:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8985:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29681,"name":"uint256","nodeType":"ElementaryTypeName","src":"8985:7:168","typeDescriptions":{}}},"id":29687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8985:23:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8977:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8977:7:168","typeDescriptions":{}}},"id":29688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8977:32:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29676,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29441,"src":"8955:9:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":29689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8955:55:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29675,"id":29690,"nodeType":"Return","src":"8948:62:168"}]},"documentation":{"id":29666,"nodeType":"StructuredDocumentation","src":"8777:70:168","text":" @dev Returns true if the value is in the set. O(1)."},"id":29692,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"8861:8:168","nodeType":"FunctionDefinition","parameters":{"id":29672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29669,"mutability":"mutable","name":"set","nameLocation":"8889:3:168","nodeType":"VariableDeclaration","scope":29692,"src":"8870:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29668,"nodeType":"UserDefinedTypeName","pathNode":{"id":29667,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"8870:10:168"},"referencedDeclaration":29611,"src":"8870:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":29671,"mutability":"mutable","name":"value","nameLocation":"8902:5:168","nodeType":"VariableDeclaration","scope":29692,"src":"8894:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29670,"name":"address","nodeType":"ElementaryTypeName","src":"8894:7:168","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8869:39:168"},"returnParameters":{"id":29675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29692,"src":"8932:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29673,"name":"bool","nodeType":"ElementaryTypeName","src":"8932:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8931:6:168"},"scope":29898,"src":"8852:165:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29706,"nodeType":"Block","src":"9170:43:168","statements":[{"expression":{"arguments":[{"expression":{"id":29702,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29696,"src":"9195:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"9195:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29701,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29455,"src":"9187:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":29704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9187:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29700,"id":29705,"nodeType":"Return","src":"9180:26:168"}]},"documentation":{"id":29693,"nodeType":"StructuredDocumentation","src":"9023:70:168","text":" @dev Returns the number of values in the set. O(1)."},"id":29707,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"9107:6:168","nodeType":"FunctionDefinition","parameters":{"id":29697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29696,"mutability":"mutable","name":"set","nameLocation":"9133:3:168","nodeType":"VariableDeclaration","scope":29707,"src":"9114:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29695,"nodeType":"UserDefinedTypeName","pathNode":{"id":29694,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"9114:10:168"},"referencedDeclaration":29611,"src":"9114:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"9113:24:168"},"returnParameters":{"id":29700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29707,"src":"9161:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29698,"name":"uint256","nodeType":"ElementaryTypeName","src":"9161:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9160:9:168"},"scope":29898,"src":"9098:115:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29733,"nodeType":"Block","src":"9638:73:168","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":29725,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29711,"src":"9683:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"9683:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29727,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29713,"src":"9695:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29724,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29472,"src":"9679:3:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":29728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9679:22:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9671:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29722,"name":"uint256","nodeType":"ElementaryTypeName","src":"9671:7:168","typeDescriptions":{}}},"id":29729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9671:31:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9663:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29720,"name":"uint160","nodeType":"ElementaryTypeName","src":"9663:7:168","typeDescriptions":{}}},"id":29730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9663:40:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9655:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29718,"name":"address","nodeType":"ElementaryTypeName","src":"9655:7:168","typeDescriptions":{}}},"id":29731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9655:49:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":29717,"id":29732,"nodeType":"Return","src":"9648:56:168"}]},"documentation":{"id":29708,"nodeType":"StructuredDocumentation","src":"9219:331:168","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":29734,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"9564:2:168","nodeType":"FunctionDefinition","parameters":{"id":29714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29711,"mutability":"mutable","name":"set","nameLocation":"9586:3:168","nodeType":"VariableDeclaration","scope":29734,"src":"9567:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29710,"nodeType":"UserDefinedTypeName","pathNode":{"id":29709,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"9567:10:168"},"referencedDeclaration":29611,"src":"9567:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":29713,"mutability":"mutable","name":"index","nameLocation":"9599:5:168","nodeType":"VariableDeclaration","scope":29734,"src":"9591:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29712,"name":"uint256","nodeType":"ElementaryTypeName","src":"9591:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9566:39:168"},"returnParameters":{"id":29717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29734,"src":"9629:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29715,"name":"address","nodeType":"ElementaryTypeName","src":"9629:7:168","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9628:9:168"},"scope":29898,"src":"9555:156:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29763,"nodeType":"Block","src":"10332:219:168","statements":[{"assignments":[29748],"declarations":[{"constant":false,"id":29748,"mutability":"mutable","name":"store","nameLocation":"10359:5:168","nodeType":"VariableDeclaration","scope":29763,"src":"10342:22:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10342:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29747,"nodeType":"ArrayTypeName","src":"10342:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":29753,"initialValue":{"arguments":[{"expression":{"id":29750,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29738,"src":"10375:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":29751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29610,"src":"10375:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29749,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"10367:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":29752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10367:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10342:44:168"},{"assignments":[29758],"declarations":[{"constant":false,"id":29758,"mutability":"mutable","name":"result","nameLocation":"10413:6:168","nodeType":"VariableDeclaration","scope":29763,"src":"10396:23:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":29756,"name":"address","nodeType":"ElementaryTypeName","src":"10396:7:168","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29757,"nodeType":"ArrayTypeName","src":"10396:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":29759,"nodeType":"VariableDeclarationStatement","src":"10396:23:168"},{"AST":{"nodeType":"YulBlock","src":"10482:39:168","statements":[{"nodeType":"YulAssignment","src":"10496:15:168","value":{"name":"store","nodeType":"YulIdentifier","src":"10506:5:168"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"10496:6:168"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":29758,"isOffset":false,"isSlot":false,"src":"10496:6:168","valueSize":1},{"declaration":29748,"isOffset":false,"isSlot":false,"src":"10506:5:168","valueSize":1}],"id":29760,"nodeType":"InlineAssembly","src":"10473:48:168"},{"expression":{"id":29761,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29758,"src":"10538:6:168","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":29743,"id":29762,"nodeType":"Return","src":"10531:13:168"}]},"documentation":{"id":29735,"nodeType":"StructuredDocumentation","src":"9717:529:168","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":29764,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"10260:6:168","nodeType":"FunctionDefinition","parameters":{"id":29739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29738,"mutability":"mutable","name":"set","nameLocation":"10286:3:168","nodeType":"VariableDeclaration","scope":29764,"src":"10267:22:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":29737,"nodeType":"UserDefinedTypeName","pathNode":{"id":29736,"name":"AddressSet","nodeType":"IdentifierPath","referencedDeclaration":29611,"src":"10267:10:168"},"referencedDeclaration":29611,"src":"10267:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$29611_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"10266:24:168"},"returnParameters":{"id":29743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29764,"src":"10314:16:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":29740,"name":"address","nodeType":"ElementaryTypeName","src":"10314:7:168","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29741,"nodeType":"ArrayTypeName","src":"10314:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10313:18:168"},"scope":29898,"src":"10251:300:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableSet.UintSet","id":29768,"members":[{"constant":false,"id":29767,"mutability":"mutable","name":"_inner","nameLocation":"10602:6:168","nodeType":"VariableDeclaration","scope":29768,"src":"10598:10:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":29766,"nodeType":"UserDefinedTypeName","pathNode":{"id":29765,"name":"Set","nodeType":"IdentifierPath","referencedDeclaration":29296,"src":"10598:3:168"},"referencedDeclaration":29296,"src":"10598:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"UintSet","nameLocation":"10580:7:168","nodeType":"StructDefinition","scope":29898,"src":"10573:42:168","visibility":"public"},{"body":{"id":29788,"nodeType":"Block","src":"10858:56:168","statements":[{"expression":{"arguments":[{"expression":{"id":29780,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29772,"src":"10880:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"10880:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":29784,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29774,"src":"10900:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10892:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10892:7:168","typeDescriptions":{}}},"id":29785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10892:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29779,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29338,"src":"10875:4:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10875:32:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29778,"id":29787,"nodeType":"Return","src":"10868:39:168"}]},"documentation":{"id":29769,"nodeType":"StructuredDocumentation","src":"10621:159:168","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":29789,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"10794:3:168","nodeType":"FunctionDefinition","parameters":{"id":29775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29772,"mutability":"mutable","name":"set","nameLocation":"10814:3:168","nodeType":"VariableDeclaration","scope":29789,"src":"10798:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29771,"nodeType":"UserDefinedTypeName","pathNode":{"id":29770,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"10798:7:168"},"referencedDeclaration":29768,"src":"10798:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":29774,"mutability":"mutable","name":"value","nameLocation":"10827:5:168","nodeType":"VariableDeclaration","scope":29789,"src":"10819:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29773,"name":"uint256","nodeType":"ElementaryTypeName","src":"10819:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10797:36:168"},"returnParameters":{"id":29778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29789,"src":"10852:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29776,"name":"bool","nodeType":"ElementaryTypeName","src":"10852:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10851:6:168"},"scope":29898,"src":"10785:129:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29809,"nodeType":"Block","src":"11158:59:168","statements":[{"expression":{"arguments":[{"expression":{"id":29801,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29793,"src":"11183:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"11183:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":29805,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29795,"src":"11203:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11195:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11195:7:168","typeDescriptions":{}}},"id":29806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11195:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29800,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29422,"src":"11175:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":29807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11175:35:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29799,"id":29808,"nodeType":"Return","src":"11168:42:168"}]},"documentation":{"id":29790,"nodeType":"StructuredDocumentation","src":"10920:157:168","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":29810,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"11091:6:168","nodeType":"FunctionDefinition","parameters":{"id":29796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29793,"mutability":"mutable","name":"set","nameLocation":"11114:3:168","nodeType":"VariableDeclaration","scope":29810,"src":"11098:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29792,"nodeType":"UserDefinedTypeName","pathNode":{"id":29791,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"11098:7:168"},"referencedDeclaration":29768,"src":"11098:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":29795,"mutability":"mutable","name":"value","nameLocation":"11127:5:168","nodeType":"VariableDeclaration","scope":29810,"src":"11119:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29794,"name":"uint256","nodeType":"ElementaryTypeName","src":"11119:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11097:36:168"},"returnParameters":{"id":29799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29810,"src":"11152:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29797,"name":"bool","nodeType":"ElementaryTypeName","src":"11152:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11151:6:168"},"scope":29898,"src":"11082:135:168","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":29830,"nodeType":"Block","src":"11381:61:168","statements":[{"expression":{"arguments":[{"expression":{"id":29822,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29814,"src":"11408:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"11408:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":29826,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29816,"src":"11428:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11420:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11420:7:168","typeDescriptions":{}}},"id":29827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11420:14:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29821,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29441,"src":"11398:9:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":29828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11398:37:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29820,"id":29829,"nodeType":"Return","src":"11391:44:168"}]},"documentation":{"id":29811,"nodeType":"StructuredDocumentation","src":"11223:70:168","text":" @dev Returns true if the value is in the set. O(1)."},"id":29831,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"11307:8:168","nodeType":"FunctionDefinition","parameters":{"id":29817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29814,"mutability":"mutable","name":"set","nameLocation":"11332:3:168","nodeType":"VariableDeclaration","scope":29831,"src":"11316:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29813,"nodeType":"UserDefinedTypeName","pathNode":{"id":29812,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"11316:7:168"},"referencedDeclaration":29768,"src":"11316:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":29816,"mutability":"mutable","name":"value","nameLocation":"11345:5:168","nodeType":"VariableDeclaration","scope":29831,"src":"11337:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29815,"name":"uint256","nodeType":"ElementaryTypeName","src":"11337:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11315:36:168"},"returnParameters":{"id":29820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29831,"src":"11375:4:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29818,"name":"bool","nodeType":"ElementaryTypeName","src":"11375:4:168","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11374:6:168"},"scope":29898,"src":"11298:144:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29845,"nodeType":"Block","src":"11592:43:168","statements":[{"expression":{"arguments":[{"expression":{"id":29841,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29835,"src":"11617:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"11617:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29840,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29455,"src":"11609:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":29843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11609:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29839,"id":29844,"nodeType":"Return","src":"11602:26:168"}]},"documentation":{"id":29832,"nodeType":"StructuredDocumentation","src":"11448:70:168","text":" @dev Returns the number of values in the set. O(1)."},"id":29846,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"11532:6:168","nodeType":"FunctionDefinition","parameters":{"id":29836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29835,"mutability":"mutable","name":"set","nameLocation":"11555:3:168","nodeType":"VariableDeclaration","scope":29846,"src":"11539:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29834,"nodeType":"UserDefinedTypeName","pathNode":{"id":29833,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"11539:7:168"},"referencedDeclaration":29768,"src":"11539:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"11538:21:168"},"returnParameters":{"id":29839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29846,"src":"11583:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29837,"name":"uint256","nodeType":"ElementaryTypeName","src":"11583:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11582:9:168"},"scope":29898,"src":"11523:112:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29866,"nodeType":"Block","src":"12057:55:168","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":29860,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29850,"src":"12086:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"12086:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":29862,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29852,"src":"12098:5:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29859,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29472,"src":"12082:3:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":29863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12082:22:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12074:7:168","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29857,"name":"uint256","nodeType":"ElementaryTypeName","src":"12074:7:168","typeDescriptions":{}}},"id":29864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12074:31:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29856,"id":29865,"nodeType":"Return","src":"12067:38:168"}]},"documentation":{"id":29847,"nodeType":"StructuredDocumentation","src":"11641:331:168","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":29867,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"11986:2:168","nodeType":"FunctionDefinition","parameters":{"id":29853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29850,"mutability":"mutable","name":"set","nameLocation":"12005:3:168","nodeType":"VariableDeclaration","scope":29867,"src":"11989:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29849,"nodeType":"UserDefinedTypeName","pathNode":{"id":29848,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"11989:7:168"},"referencedDeclaration":29768,"src":"11989:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":29852,"mutability":"mutable","name":"index","nameLocation":"12018:5:168","nodeType":"VariableDeclaration","scope":29867,"src":"12010:13:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29851,"name":"uint256","nodeType":"ElementaryTypeName","src":"12010:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11988:36:168"},"returnParameters":{"id":29856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29867,"src":"12048:7:168","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29854,"name":"uint256","nodeType":"ElementaryTypeName","src":"12048:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12047:9:168"},"scope":29898,"src":"11977:135:168","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":29896,"nodeType":"Block","src":"12730:219:168","statements":[{"assignments":[29881],"declarations":[{"constant":false,"id":29881,"mutability":"mutable","name":"store","nameLocation":"12757:5:168","nodeType":"VariableDeclaration","scope":29896,"src":"12740:22:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":29879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12740:7:168","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29880,"nodeType":"ArrayTypeName","src":"12740:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":29886,"initialValue":{"arguments":[{"expression":{"id":29883,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29871,"src":"12773:3:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":29884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":29767,"src":"12773:10:168","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$29296_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":29882,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"12765:7:168","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$29296_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":29885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12765:19:168","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12740:44:168"},{"assignments":[29891],"declarations":[{"constant":false,"id":29891,"mutability":"mutable","name":"result","nameLocation":"12811:6:168","nodeType":"VariableDeclaration","scope":29896,"src":"12794:23:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":29889,"name":"uint256","nodeType":"ElementaryTypeName","src":"12794:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29890,"nodeType":"ArrayTypeName","src":"12794:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":29892,"nodeType":"VariableDeclarationStatement","src":"12794:23:168"},{"AST":{"nodeType":"YulBlock","src":"12880:39:168","statements":[{"nodeType":"YulAssignment","src":"12894:15:168","value":{"name":"store","nodeType":"YulIdentifier","src":"12904:5:168"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"12894:6:168"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":29891,"isOffset":false,"isSlot":false,"src":"12894:6:168","valueSize":1},{"declaration":29881,"isOffset":false,"isSlot":false,"src":"12904:5:168","valueSize":1}],"id":29893,"nodeType":"InlineAssembly","src":"12871:48:168"},{"expression":{"id":29894,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29891,"src":"12936:6:168","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":29876,"id":29895,"nodeType":"Return","src":"12929:13:168"}]},"documentation":{"id":29868,"nodeType":"StructuredDocumentation","src":"12118:529:168","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":29897,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"12661:6:168","nodeType":"FunctionDefinition","parameters":{"id":29872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29871,"mutability":"mutable","name":"set","nameLocation":"12684:3:168","nodeType":"VariableDeclaration","scope":29897,"src":"12668:19:168","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":29870,"nodeType":"UserDefinedTypeName","pathNode":{"id":29869,"name":"UintSet","nodeType":"IdentifierPath","referencedDeclaration":29768,"src":"12668:7:168"},"referencedDeclaration":29768,"src":"12668:7:168","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$29768_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"12667:21:168"},"returnParameters":{"id":29876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29897,"src":"12712:16:168","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":29873,"name":"uint256","nodeType":"ElementaryTypeName","src":"12712:7:168","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29874,"nodeType":"ArrayTypeName","src":"12712:9:168","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12711:18:168"},"scope":29898,"src":"12652:297:168","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":29899,"src":"1321:11630:168","usedErrors":[]}],"src":"205:12747:168"},"id":168},"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol","exportedSymbols":{"IAMB":[30018]},"id":30019,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":29900,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"102:23:169"},{"abstract":false,"baseContracts":[],"canonicalName":"IAMB","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":30018,"linearizedBaseContracts":[30018],"name":"IAMB","nameLocation":"137:4:169","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":29906,"name":"UserRequestForAffirmation","nameLocation":"154:25:169","nodeType":"EventDefinition","parameters":{"id":29905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29902,"indexed":true,"mutability":"mutable","name":"messageId","nameLocation":"196:9:169","nodeType":"VariableDeclaration","scope":29906,"src":"180:25:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29904,"indexed":false,"mutability":"mutable","name":"encodedData","nameLocation":"213:11:169","nodeType":"VariableDeclaration","scope":29906,"src":"207:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29903,"name":"bytes","nodeType":"ElementaryTypeName","src":"207:5:169","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"179:46:169"},"src":"148:78:169"},{"anonymous":false,"id":29912,"name":"UserRequestForSignature","nameLocation":"237:23:169","nodeType":"EventDefinition","parameters":{"id":29911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29908,"indexed":true,"mutability":"mutable","name":"messageId","nameLocation":"277:9:169","nodeType":"VariableDeclaration","scope":29912,"src":"261:25:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29910,"indexed":false,"mutability":"mutable","name":"encodedData","nameLocation":"294:11:169","nodeType":"VariableDeclaration","scope":29912,"src":"288:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29909,"name":"bytes","nodeType":"ElementaryTypeName","src":"288:5:169","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"260:46:169"},"src":"231:76:169"},{"anonymous":false,"id":29922,"name":"AffirmationCompleted","nameLocation":"318:20:169","nodeType":"EventDefinition","parameters":{"id":29921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29914,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"364:6:169","nodeType":"VariableDeclaration","scope":29922,"src":"348:22:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29913,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29916,"indexed":true,"mutability":"mutable","name":"executor","nameLocation":"396:8:169","nodeType":"VariableDeclaration","scope":29922,"src":"380:24:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29915,"name":"address","nodeType":"ElementaryTypeName","src":"380:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29918,"indexed":true,"mutability":"mutable","name":"messageId","nameLocation":"430:9:169","nodeType":"VariableDeclaration","scope":29922,"src":"414:25:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29920,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"454:6:169","nodeType":"VariableDeclaration","scope":29922,"src":"449:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29919,"name":"bool","nodeType":"ElementaryTypeName","src":"449:4:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"338:128:169"},"src":"312:155:169"},{"anonymous":false,"id":29932,"name":"RelayedMessage","nameLocation":"478:14:169","nodeType":"EventDefinition","parameters":{"id":29931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29924,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"509:6:169","nodeType":"VariableDeclaration","scope":29932,"src":"493:22:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29923,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29926,"indexed":true,"mutability":"mutable","name":"executor","nameLocation":"533:8:169","nodeType":"VariableDeclaration","scope":29932,"src":"517:24:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29925,"name":"address","nodeType":"ElementaryTypeName","src":"517:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29928,"indexed":true,"mutability":"mutable","name":"messageId","nameLocation":"559:9:169","nodeType":"VariableDeclaration","scope":29932,"src":"543:25:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"543:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29930,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"575:6:169","nodeType":"VariableDeclaration","scope":29932,"src":"570:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29929,"name":"bool","nodeType":"ElementaryTypeName","src":"570:4:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"492:90:169"},"src":"472:111:169"},{"functionSelector":"d67bdd25","id":29937,"implemented":false,"kind":"function","modifiers":[],"name":"messageSender","nameLocation":"598:13:169","nodeType":"FunctionDefinition","parameters":{"id":29933,"nodeType":"ParameterList","parameters":[],"src":"611:2:169"},"returnParameters":{"id":29936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29937,"src":"637:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29934,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"636:9:169"},"scope":30018,"src":"589:57:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e5789d03","id":29942,"implemented":false,"kind":"function","modifiers":[],"name":"maxGasPerTx","nameLocation":"661:11:169","nodeType":"FunctionDefinition","parameters":{"id":29938,"nodeType":"ParameterList","parameters":[],"src":"672:2:169"},"returnParameters":{"id":29941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29942,"src":"698:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29939,"name":"uint256","nodeType":"ElementaryTypeName","src":"698:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:9:169"},"scope":30018,"src":"652:55:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0ac1c313","id":29947,"implemented":false,"kind":"function","modifiers":[],"name":"transactionHash","nameLocation":"722:15:169","nodeType":"FunctionDefinition","parameters":{"id":29943,"nodeType":"ParameterList","parameters":[],"src":"737:2:169"},"returnParameters":{"id":29946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29947,"src":"763:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"763:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"762:9:169"},"scope":30018,"src":"713:59:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"669f618b","id":29952,"implemented":false,"kind":"function","modifiers":[],"name":"messageId","nameLocation":"787:9:169","nodeType":"FunctionDefinition","parameters":{"id":29948,"nodeType":"ParameterList","parameters":[],"src":"796:2:169"},"returnParameters":{"id":29951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29950,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29952,"src":"822:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"822:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"821:9:169"},"scope":30018,"src":"778:53:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9e307dff","id":29957,"implemented":false,"kind":"function","modifiers":[],"name":"messageSourceChainId","nameLocation":"846:20:169","nodeType":"FunctionDefinition","parameters":{"id":29953,"nodeType":"ParameterList","parameters":[],"src":"866:2:169"},"returnParameters":{"id":29956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29957,"src":"892:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"892:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"891:9:169"},"scope":30018,"src":"837:64:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"cb08a10c","id":29964,"implemented":false,"kind":"function","modifiers":[],"name":"messageCallStatus","nameLocation":"916:17:169","nodeType":"FunctionDefinition","parameters":{"id":29960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29959,"mutability":"mutable","name":"_messageId","nameLocation":"942:10:169","nodeType":"VariableDeclaration","scope":29964,"src":"934:18:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"934:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"933:20:169"},"returnParameters":{"id":29963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29964,"src":"977:4:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29961,"name":"bool","nodeType":"ElementaryTypeName","src":"977:4:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"976:6:169"},"scope":30018,"src":"907:76:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e37c3289","id":29971,"implemented":false,"kind":"function","modifiers":[],"name":"failedMessageDataHash","nameLocation":"998:21:169","nodeType":"FunctionDefinition","parameters":{"id":29967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29966,"mutability":"mutable","name":"_messageId","nameLocation":"1028:10:169","nodeType":"VariableDeclaration","scope":29971,"src":"1020:18:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1020:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1019:20:169"},"returnParameters":{"id":29970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29971,"src":"1063:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1063:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1062:9:169"},"scope":30018,"src":"989:83:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3f9a8e7e","id":29978,"implemented":false,"kind":"function","modifiers":[],"name":"failedMessageReceiver","nameLocation":"1087:21:169","nodeType":"FunctionDefinition","parameters":{"id":29974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29973,"mutability":"mutable","name":"_messageId","nameLocation":"1117:10:169","nodeType":"VariableDeclaration","scope":29978,"src":"1109:18:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1109:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1108:20:169"},"returnParameters":{"id":29977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29978,"src":"1152:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29975,"name":"address","nodeType":"ElementaryTypeName","src":"1152:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1151:9:169"},"scope":30018,"src":"1078:83:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4a610b04","id":29985,"implemented":false,"kind":"function","modifiers":[],"name":"failedMessageSender","nameLocation":"1176:19:169","nodeType":"FunctionDefinition","parameters":{"id":29981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29980,"mutability":"mutable","name":"_messageId","nameLocation":"1204:10:169","nodeType":"VariableDeclaration","scope":29985,"src":"1196:18:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1196:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1195:20:169"},"returnParameters":{"id":29984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29985,"src":"1239:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29982,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1238:9:169"},"scope":30018,"src":"1167:81:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"dc8601b3","id":29996,"implemented":false,"kind":"function","modifiers":[],"name":"requireToPassMessage","nameLocation":"1263:20:169","nodeType":"FunctionDefinition","parameters":{"id":29992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29987,"mutability":"mutable","name":"_contract","nameLocation":"1301:9:169","nodeType":"VariableDeclaration","scope":29996,"src":"1293:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29986,"name":"address","nodeType":"ElementaryTypeName","src":"1293:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29989,"mutability":"mutable","name":"_data","nameLocation":"1335:5:169","nodeType":"VariableDeclaration","scope":29996,"src":"1320:20:169","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":29988,"name":"bytes","nodeType":"ElementaryTypeName","src":"1320:5:169","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":29991,"mutability":"mutable","name":"_gas","nameLocation":"1358:4:169","nodeType":"VariableDeclaration","scope":29996,"src":"1350:12:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29990,"name":"uint256","nodeType":"ElementaryTypeName","src":"1350:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1283:85:169"},"returnParameters":{"id":29995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29996,"src":"1387:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1387:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1386:9:169"},"scope":30018,"src":"1254:142:169","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"94643f71","id":30007,"implemented":false,"kind":"function","modifiers":[],"name":"requireToConfirmMessage","nameLocation":"1411:23:169","nodeType":"FunctionDefinition","parameters":{"id":30003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29998,"mutability":"mutable","name":"_contract","nameLocation":"1452:9:169","nodeType":"VariableDeclaration","scope":30007,"src":"1444:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29997,"name":"address","nodeType":"ElementaryTypeName","src":"1444:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30000,"mutability":"mutable","name":"_data","nameLocation":"1486:5:169","nodeType":"VariableDeclaration","scope":30007,"src":"1471:20:169","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":29999,"name":"bytes","nodeType":"ElementaryTypeName","src":"1471:5:169","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30002,"mutability":"mutable","name":"_gas","nameLocation":"1509:4:169","nodeType":"VariableDeclaration","scope":30007,"src":"1501:12:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30001,"name":"uint256","nodeType":"ElementaryTypeName","src":"1501:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1434:85:169"},"returnParameters":{"id":30006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30007,"src":"1538:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1538:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1537:9:169"},"scope":30018,"src":"1402:145:169","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"1544298e","id":30012,"implemented":false,"kind":"function","modifiers":[],"name":"sourceChainId","nameLocation":"1562:13:169","nodeType":"FunctionDefinition","parameters":{"id":30008,"nodeType":"ParameterList","parameters":[],"src":"1575:2:169"},"returnParameters":{"id":30011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30010,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30012,"src":"1601:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30009,"name":"uint256","nodeType":"ElementaryTypeName","src":"1601:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1600:9:169"},"scope":30018,"src":"1553:57:169","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"b0750611","id":30017,"implemented":false,"kind":"function","modifiers":[],"name":"destinationChainId","nameLocation":"1625:18:169","nodeType":"FunctionDefinition","parameters":{"id":30013,"nodeType":"ParameterList","parameters":[],"src":"1643:2:169"},"returnParameters":{"id":30016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30017,"src":"1669:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30014,"name":"uint256","nodeType":"ElementaryTypeName","src":"1669:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1668:9:169"},"scope":30018,"src":"1616:62:169","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":30019,"src":"127:1553:169","usedErrors":[]}],"src":"102:1579:169"},"id":169},"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol","exportedSymbols":{"IArbSys":[30164]},"id":30165,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":30020,"literals":["solidity",">=","0.4",".21","<","0.9",".0"],"nodeType":"PragmaDirective","src":"250:32:170"},{"abstract":false,"baseContracts":[],"canonicalName":"IArbSys","contractDependencies":[],"contractKind":"interface","documentation":{"id":30021,"nodeType":"StructuredDocumentation","src":"284:246:170","text":" @title System level functionality\n @notice For use by contracts to interact with core L2-specific functionality.\n Precompiled contract that exists in every Arbitrum chain at address(100), 0x0000000000000000000000000000000000000064."},"fullyImplemented":false,"id":30164,"linearizedBaseContracts":[30164],"name":"IArbSys","nameLocation":"541:7:170","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":30022,"nodeType":"StructuredDocumentation","src":"555:162:170","text":" @notice Get Arbitrum block number (distinct from L1 block number; Arbitrum genesis block has block number 0)\n @return block number as int"},"functionSelector":"a3b1b31d","id":30027,"implemented":false,"kind":"function","modifiers":[],"name":"arbBlockNumber","nameLocation":"731:14:170","nodeType":"FunctionDefinition","parameters":{"id":30023,"nodeType":"ParameterList","parameters":[],"src":"745:2:170"},"returnParameters":{"id":30026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30027,"src":"771:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30024,"name":"uint256","nodeType":"ElementaryTypeName","src":"771:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"770:9:170"},"scope":30164,"src":"722:58:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30028,"nodeType":"StructuredDocumentation","src":"786:146:170","text":" @notice Get Arbitrum block hash (reverts unless currentBlockNum-256 <= arbBlockNum < currentBlockNum)\n @return block hash"},"functionSelector":"2b407a82","id":30035,"implemented":false,"kind":"function","modifiers":[],"name":"arbBlockHash","nameLocation":"946:12:170","nodeType":"FunctionDefinition","parameters":{"id":30031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30030,"mutability":"mutable","name":"arbBlockNum","nameLocation":"967:11:170","nodeType":"VariableDeclaration","scope":30035,"src":"959:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30029,"name":"uint256","nodeType":"ElementaryTypeName","src":"959:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"958:21:170"},"returnParameters":{"id":30034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30033,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30035,"src":"1003:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1003:7:170","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1002:9:170"},"scope":30164,"src":"937:75:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30036,"nodeType":"StructuredDocumentation","src":"1018:107:170","text":" @notice Gets the rollup's unique chain identifier\n @return Chain identifier as int"},"functionSelector":"d127f54a","id":30041,"implemented":false,"kind":"function","modifiers":[],"name":"arbChainID","nameLocation":"1139:10:170","nodeType":"FunctionDefinition","parameters":{"id":30037,"nodeType":"ParameterList","parameters":[],"src":"1149:2:170"},"returnParameters":{"id":30040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30041,"src":"1175:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30038,"name":"uint256","nodeType":"ElementaryTypeName","src":"1175:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1174:9:170"},"scope":30164,"src":"1130:54:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30042,"nodeType":"StructuredDocumentation","src":"1190:118:170","text":" @notice Get internal version number identifying an ArbOS build\n @return version number as int"},"functionSelector":"051038f2","id":30047,"implemented":false,"kind":"function","modifiers":[],"name":"arbOSVersion","nameLocation":"1322:12:170","nodeType":"FunctionDefinition","parameters":{"id":30043,"nodeType":"ParameterList","parameters":[],"src":"1334:2:170"},"returnParameters":{"id":30046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30047,"src":"1360:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30044,"name":"uint256","nodeType":"ElementaryTypeName","src":"1360:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1359:9:170"},"scope":30164,"src":"1313:56:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30048,"nodeType":"StructuredDocumentation","src":"1375:100:170","text":" @notice Returns 0 since Nitro has no concept of storage gas\n @return uint 0"},"functionSelector":"a94597ff","id":30053,"implemented":false,"kind":"function","modifiers":[],"name":"getStorageGasAvailable","nameLocation":"1489:22:170","nodeType":"FunctionDefinition","parameters":{"id":30049,"nodeType":"ParameterList","parameters":[],"src":"1511:2:170"},"returnParameters":{"id":30052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30053,"src":"1537:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30050,"name":"uint256","nodeType":"ElementaryTypeName","src":"1537:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1536:9:170"},"scope":30164,"src":"1480:66:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30054,"nodeType":"StructuredDocumentation","src":"1552:293:170","text":" @notice (deprecated) check if current call is top level (meaning it was triggered by an EoA or a L1 contract)\n @dev this call has been deprecated and may be removed in a future release\n @return true if current execution frame is not a call by another L2 contract"},"functionSelector":"08bd624c","id":30059,"implemented":false,"kind":"function","modifiers":[],"name":"isTopLevelCall","nameLocation":"1859:14:170","nodeType":"FunctionDefinition","parameters":{"id":30055,"nodeType":"ParameterList","parameters":[],"src":"1873:2:170"},"returnParameters":{"id":30058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30059,"src":"1899:4:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30056,"name":"bool","nodeType":"ElementaryTypeName","src":"1899:4:170","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1898:6:170"},"scope":30164,"src":"1850:55:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30060,"nodeType":"StructuredDocumentation","src":"1911:192:170","text":" @notice map L1 sender contract address to its L2 alias\n @param sender sender address\n @param unused argument no longer used\n @return aliased sender address"},"functionSelector":"4dbbd506","id":30069,"implemented":false,"kind":"function","modifiers":[],"name":"mapL1SenderContractAddressToL2Alias","nameLocation":"2117:35:170","nodeType":"FunctionDefinition","parameters":{"id":30065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30062,"mutability":"mutable","name":"sender","nameLocation":"2161:6:170","nodeType":"VariableDeclaration","scope":30069,"src":"2153:14:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30061,"name":"address","nodeType":"ElementaryTypeName","src":"2153:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30064,"mutability":"mutable","name":"unused","nameLocation":"2177:6:170","nodeType":"VariableDeclaration","scope":30069,"src":"2169:14:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30063,"name":"address","nodeType":"ElementaryTypeName","src":"2169:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2152:32:170"},"returnParameters":{"id":30068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30069,"src":"2208:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30066,"name":"address","nodeType":"ElementaryTypeName","src":"2208:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2207:9:170"},"scope":30164,"src":"2108:109:170","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":30070,"nodeType":"StructuredDocumentation","src":"2223:189:170","text":" @notice check if the caller (of this caller of this) is an aliased L1 contract address\n @return true iff the caller's address is an alias for an L1 contract address"},"functionSelector":"175a260b","id":30075,"implemented":false,"kind":"function","modifiers":[],"name":"wasMyCallersAddressAliased","nameLocation":"2426:26:170","nodeType":"FunctionDefinition","parameters":{"id":30071,"nodeType":"ParameterList","parameters":[],"src":"2452:2:170"},"returnParameters":{"id":30074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30075,"src":"2478:4:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30072,"name":"bool","nodeType":"ElementaryTypeName","src":"2478:4:170","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2477:6:170"},"scope":30164,"src":"2417:67:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30076,"nodeType":"StructuredDocumentation","src":"2490:224:170","text":" @notice return the address of the caller (of this caller of this), without applying L1 contract address aliasing\n @return address of the caller's caller, without applying L1 contract address aliasing"},"functionSelector":"d74523b3","id":30081,"implemented":false,"kind":"function","modifiers":[],"name":"myCallersAddressWithoutAliasing","nameLocation":"2728:31:170","nodeType":"FunctionDefinition","parameters":{"id":30077,"nodeType":"ParameterList","parameters":[],"src":"2759:2:170"},"returnParameters":{"id":30080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30081,"src":"2785:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30078,"name":"address","nodeType":"ElementaryTypeName","src":"2785:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2784:9:170"},"scope":30164,"src":"2719:75:170","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30082,"nodeType":"StructuredDocumentation","src":"2800:284:170","text":" @notice Send given amount of Eth to dest from sender.\n This is a convenience function, which is equivalent to calling sendTxToL1 with empty data.\n @param destination recipient address on L1\n @return unique identifier for this L2-to-L1 transaction."},"functionSelector":"25e16063","id":30089,"implemented":false,"kind":"function","modifiers":[],"name":"withdrawEth","nameLocation":"3098:11:170","nodeType":"FunctionDefinition","parameters":{"id":30085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30084,"mutability":"mutable","name":"destination","nameLocation":"3118:11:170","nodeType":"VariableDeclaration","scope":30089,"src":"3110:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30083,"name":"address","nodeType":"ElementaryTypeName","src":"3110:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3109:21:170"},"returnParameters":{"id":30088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30089,"src":"3157:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30086,"name":"uint256","nodeType":"ElementaryTypeName","src":"3157:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3156:9:170"},"scope":30164,"src":"3089:77:170","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":30090,"nodeType":"StructuredDocumentation","src":"3172:408:170","text":" @notice Send a transaction to L1\n @dev it is not possible to execute on the L1 any L2-to-L1 transaction which contains data\n to a contract address without any code (as enforced by the Bridge contract).\n @param destination recipient address on L1\n @param data (optional) calldata for L1 contract call\n @return a unique identifier for this L2-to-L1 transaction."},"functionSelector":"928c169a","id":30099,"implemented":false,"kind":"function","modifiers":[],"name":"sendTxToL1","nameLocation":"3594:10:170","nodeType":"FunctionDefinition","parameters":{"id":30095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30092,"mutability":"mutable","name":"destination","nameLocation":"3613:11:170","nodeType":"VariableDeclaration","scope":30099,"src":"3605:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30091,"name":"address","nodeType":"ElementaryTypeName","src":"3605:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30094,"mutability":"mutable","name":"data","nameLocation":"3641:4:170","nodeType":"VariableDeclaration","scope":30099,"src":"3626:19:170","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30093,"name":"bytes","nodeType":"ElementaryTypeName","src":"3626:5:170","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3604:42:170"},"returnParameters":{"id":30098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30099,"src":"3673:7:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30096,"name":"uint256","nodeType":"ElementaryTypeName","src":"3673:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3672:9:170"},"scope":30164,"src":"3585:97:170","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":30100,"nodeType":"StructuredDocumentation","src":"3688:230:170","text":" @notice Get send Merkle tree state\n @return size number of sends in the history\n @return root root hash of the send history\n @return partials hashes of partial subtrees in the send history tree"},"functionSelector":"7aeecd2a","id":30110,"implemented":false,"kind":"function","modifiers":[],"name":"sendMerkleTreeState","nameLocation":"3932:19:170","nodeType":"FunctionDefinition","parameters":{"id":30101,"nodeType":"ParameterList","parameters":[],"src":"3951:2:170"},"returnParameters":{"id":30109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30103,"mutability":"mutable","name":"size","nameLocation":"4022:4:170","nodeType":"VariableDeclaration","scope":30110,"src":"4014:12:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30102,"name":"uint256","nodeType":"ElementaryTypeName","src":"4014:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30105,"mutability":"mutable","name":"root","nameLocation":"4048:4:170","nodeType":"VariableDeclaration","scope":30110,"src":"4040:12:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4040:7:170","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30108,"mutability":"mutable","name":"partials","nameLocation":"4083:8:170","nodeType":"VariableDeclaration","scope":30110,"src":"4066:25:170","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":30106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4066:7:170","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":30107,"nodeType":"ArrayTypeName","src":"4066:9:170","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4000:101:170"},"scope":30164,"src":"3923:179:170","stateMutability":"view","virtual":false,"visibility":"external"},{"anonymous":false,"documentation":{"id":30111,"nodeType":"StructuredDocumentation","src":"4108:133:170","text":" @notice creates a send txn from L2 to L1\n @param position = (level << 192) + leaf = (0 << 192) + leaf = leaf"},"id":30131,"name":"L2ToL1Tx","nameLocation":"4252:8:170","nodeType":"EventDefinition","parameters":{"id":30130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30113,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"4278:6:170","nodeType":"VariableDeclaration","scope":30131,"src":"4270:14:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30112,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30115,"indexed":true,"mutability":"mutable","name":"destination","nameLocation":"4310:11:170","nodeType":"VariableDeclaration","scope":30131,"src":"4294:27:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30114,"name":"address","nodeType":"ElementaryTypeName","src":"4294:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30117,"indexed":true,"mutability":"mutable","name":"hash","nameLocation":"4347:4:170","nodeType":"VariableDeclaration","scope":30131,"src":"4331:20:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30116,"name":"uint256","nodeType":"ElementaryTypeName","src":"4331:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30119,"indexed":true,"mutability":"mutable","name":"position","nameLocation":"4377:8:170","nodeType":"VariableDeclaration","scope":30131,"src":"4361:24:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30118,"name":"uint256","nodeType":"ElementaryTypeName","src":"4361:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30121,"indexed":false,"mutability":"mutable","name":"arbBlockNum","nameLocation":"4403:11:170","nodeType":"VariableDeclaration","scope":30131,"src":"4395:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30120,"name":"uint256","nodeType":"ElementaryTypeName","src":"4395:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30123,"indexed":false,"mutability":"mutable","name":"ethBlockNum","nameLocation":"4432:11:170","nodeType":"VariableDeclaration","scope":30131,"src":"4424:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30122,"name":"uint256","nodeType":"ElementaryTypeName","src":"4424:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30125,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"4461:9:170","nodeType":"VariableDeclaration","scope":30131,"src":"4453:17:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30124,"name":"uint256","nodeType":"ElementaryTypeName","src":"4453:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30127,"indexed":false,"mutability":"mutable","name":"callvalue","nameLocation":"4488:9:170","nodeType":"VariableDeclaration","scope":30131,"src":"4480:17:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30126,"name":"uint256","nodeType":"ElementaryTypeName","src":"4480:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30129,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4513:4:170","nodeType":"VariableDeclaration","scope":30131,"src":"4507:10:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30128,"name":"bytes","nodeType":"ElementaryTypeName","src":"4507:5:170","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4260:263:170"},"src":"4246:278:170"},{"anonymous":false,"documentation":{"id":30132,"nodeType":"StructuredDocumentation","src":"4530:85:170","text":"@dev DEPRECATED in favour of the new L2ToL1Tx event above after the nitro upgrade"},"id":30154,"name":"L2ToL1Transaction","nameLocation":"4626:17:170","nodeType":"EventDefinition","parameters":{"id":30153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30134,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"4661:6:170","nodeType":"VariableDeclaration","scope":30154,"src":"4653:14:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30133,"name":"address","nodeType":"ElementaryTypeName","src":"4653:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30136,"indexed":true,"mutability":"mutable","name":"destination","nameLocation":"4693:11:170","nodeType":"VariableDeclaration","scope":30154,"src":"4677:27:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30135,"name":"address","nodeType":"ElementaryTypeName","src":"4677:7:170","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30138,"indexed":true,"mutability":"mutable","name":"uniqueId","nameLocation":"4730:8:170","nodeType":"VariableDeclaration","scope":30154,"src":"4714:24:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30137,"name":"uint256","nodeType":"ElementaryTypeName","src":"4714:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30140,"indexed":true,"mutability":"mutable","name":"batchNumber","nameLocation":"4764:11:170","nodeType":"VariableDeclaration","scope":30154,"src":"4748:27:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30139,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30142,"indexed":false,"mutability":"mutable","name":"indexInBatch","nameLocation":"4793:12:170","nodeType":"VariableDeclaration","scope":30154,"src":"4785:20:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30141,"name":"uint256","nodeType":"ElementaryTypeName","src":"4785:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30144,"indexed":false,"mutability":"mutable","name":"arbBlockNum","nameLocation":"4823:11:170","nodeType":"VariableDeclaration","scope":30154,"src":"4815:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30143,"name":"uint256","nodeType":"ElementaryTypeName","src":"4815:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30146,"indexed":false,"mutability":"mutable","name":"ethBlockNum","nameLocation":"4852:11:170","nodeType":"VariableDeclaration","scope":30154,"src":"4844:19:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30145,"name":"uint256","nodeType":"ElementaryTypeName","src":"4844:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30148,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"4881:9:170","nodeType":"VariableDeclaration","scope":30154,"src":"4873:17:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30147,"name":"uint256","nodeType":"ElementaryTypeName","src":"4873:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30150,"indexed":false,"mutability":"mutable","name":"callvalue","nameLocation":"4908:9:170","nodeType":"VariableDeclaration","scope":30154,"src":"4900:17:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30149,"name":"uint256","nodeType":"ElementaryTypeName","src":"4900:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30152,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4933:4:170","nodeType":"VariableDeclaration","scope":30154,"src":"4927:10:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30151,"name":"bytes","nodeType":"ElementaryTypeName","src":"4927:5:170","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4643:300:170"},"src":"4620:324:170"},{"anonymous":false,"documentation":{"id":30155,"nodeType":"StructuredDocumentation","src":"4950:250:170","text":" @notice logs a merkle branch for proof synthesis\n @param reserved an index meant only to align the 4th index with L2ToL1Transaction's 4th event\n @param hash the merkle hash\n @param position = (level << 192) + leaf"},"id":30163,"name":"SendMerkleUpdate","nameLocation":"5211:16:170","nodeType":"EventDefinition","parameters":{"id":30162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30157,"indexed":true,"mutability":"mutable","name":"reserved","nameLocation":"5244:8:170","nodeType":"VariableDeclaration","scope":30163,"src":"5228:24:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30156,"name":"uint256","nodeType":"ElementaryTypeName","src":"5228:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30159,"indexed":true,"mutability":"mutable","name":"hash","nameLocation":"5270:4:170","nodeType":"VariableDeclaration","scope":30163,"src":"5254:20:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5254:7:170","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30161,"indexed":true,"mutability":"mutable","name":"position","nameLocation":"5292:8:170","nodeType":"VariableDeclaration","scope":30163,"src":"5276:24:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30160,"name":"uint256","nodeType":"ElementaryTypeName","src":"5276:7:170","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5227:74:170"},"src":"5205:97:170"}],"scope":30165,"src":"531:4773:170","usedErrors":[]}],"src":"250:5055:170"},"id":170},"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol","exportedSymbols":{"IBridge":[30363]},"id":30364,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":30166,"literals":["solidity",">=","0.6",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"283:31:171"},{"abstract":false,"baseContracts":[],"canonicalName":"IBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":30363,"linearizedBaseContracts":[30363],"name":"IBridge","nameLocation":"326:7:171","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":30184,"name":"MessageDelivered","nameLocation":"346:16:171","nodeType":"EventDefinition","parameters":{"id":30183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30168,"indexed":true,"mutability":"mutable","name":"messageIndex","nameLocation":"388:12:171","nodeType":"VariableDeclaration","scope":30184,"src":"372:28:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30167,"name":"uint256","nodeType":"ElementaryTypeName","src":"372:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30170,"indexed":true,"mutability":"mutable","name":"beforeInboxAcc","nameLocation":"426:14:171","nodeType":"VariableDeclaration","scope":30184,"src":"410:30:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30172,"indexed":false,"mutability":"mutable","name":"inbox","nameLocation":"458:5:171","nodeType":"VariableDeclaration","scope":30184,"src":"450:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30171,"name":"address","nodeType":"ElementaryTypeName","src":"450:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30174,"indexed":false,"mutability":"mutable","name":"kind","nameLocation":"479:4:171","nodeType":"VariableDeclaration","scope":30184,"src":"473:10:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":30173,"name":"uint8","nodeType":"ElementaryTypeName","src":"473:5:171","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":30176,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"501:6:171","nodeType":"VariableDeclaration","scope":30184,"src":"493:14:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30175,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30178,"indexed":false,"mutability":"mutable","name":"messageDataHash","nameLocation":"525:15:171","nodeType":"VariableDeclaration","scope":30184,"src":"517:23:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"517:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30180,"indexed":false,"mutability":"mutable","name":"baseFeeL1","nameLocation":"558:9:171","nodeType":"VariableDeclaration","scope":30184,"src":"550:17:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30179,"name":"uint256","nodeType":"ElementaryTypeName","src":"550:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30182,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"584:9:171","nodeType":"VariableDeclaration","scope":30184,"src":"577:16:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":30181,"name":"uint64","nodeType":"ElementaryTypeName","src":"577:6:171","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"362:237:171"},"src":"340:260:171"},{"anonymous":false,"id":30194,"name":"BridgeCallTriggered","nameLocation":"612:19:171","nodeType":"EventDefinition","parameters":{"id":30193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30186,"indexed":true,"mutability":"mutable","name":"outbox","nameLocation":"648:6:171","nodeType":"VariableDeclaration","scope":30194,"src":"632:22:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30185,"name":"address","nodeType":"ElementaryTypeName","src":"632:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30188,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"672:2:171","nodeType":"VariableDeclaration","scope":30194,"src":"656:18:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30187,"name":"address","nodeType":"ElementaryTypeName","src":"656:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30190,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"684:5:171","nodeType":"VariableDeclaration","scope":30194,"src":"676:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30189,"name":"uint256","nodeType":"ElementaryTypeName","src":"676:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30192,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"697:4:171","nodeType":"VariableDeclaration","scope":30194,"src":"691:10:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30191,"name":"bytes","nodeType":"ElementaryTypeName","src":"691:5:171","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"631:71:171"},"src":"606:97:171"},{"anonymous":false,"id":30200,"name":"InboxToggle","nameLocation":"715:11:171","nodeType":"EventDefinition","parameters":{"id":30199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30196,"indexed":true,"mutability":"mutable","name":"inbox","nameLocation":"743:5:171","nodeType":"VariableDeclaration","scope":30200,"src":"727:21:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30195,"name":"address","nodeType":"ElementaryTypeName","src":"727:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30198,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"755:7:171","nodeType":"VariableDeclaration","scope":30200,"src":"750:12:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30197,"name":"bool","nodeType":"ElementaryTypeName","src":"750:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"726:37:171"},"src":"709:55:171"},{"anonymous":false,"id":30206,"name":"OutboxToggle","nameLocation":"776:12:171","nodeType":"EventDefinition","parameters":{"id":30205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30202,"indexed":true,"mutability":"mutable","name":"outbox","nameLocation":"805:6:171","nodeType":"VariableDeclaration","scope":30206,"src":"789:22:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30201,"name":"address","nodeType":"ElementaryTypeName","src":"789:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30204,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"818:7:171","nodeType":"VariableDeclaration","scope":30206,"src":"813:12:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30203,"name":"bool","nodeType":"ElementaryTypeName","src":"813:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"788:38:171"},"src":"770:57:171"},{"anonymous":false,"id":30210,"name":"SequencerInboxUpdated","nameLocation":"839:21:171","nodeType":"EventDefinition","parameters":{"id":30209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30208,"indexed":false,"mutability":"mutable","name":"newSequencerInbox","nameLocation":"869:17:171","nodeType":"VariableDeclaration","scope":30210,"src":"861:25:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30207,"name":"address","nodeType":"ElementaryTypeName","src":"861:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"860:27:171"},"src":"833:55:171"},{"functionSelector":"e76f5c8d","id":30217,"implemented":false,"kind":"function","modifiers":[],"name":"allowedDelayedInboxList","nameLocation":"903:23:171","nodeType":"FunctionDefinition","parameters":{"id":30213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30217,"src":"927:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30211,"name":"uint256","nodeType":"ElementaryTypeName","src":"927:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"926:9:171"},"returnParameters":{"id":30216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30217,"src":"954:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30214,"name":"address","nodeType":"ElementaryTypeName","src":"954:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"953:9:171"},"scope":30363,"src":"894:69:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"945e1147","id":30224,"implemented":false,"kind":"function","modifiers":[],"name":"allowedOutboxList","nameLocation":"978:17:171","nodeType":"FunctionDefinition","parameters":{"id":30220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30224,"src":"996:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30218,"name":"uint256","nodeType":"ElementaryTypeName","src":"996:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"995:9:171"},"returnParameters":{"id":30223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30224,"src":"1023:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30221,"name":"address","nodeType":"ElementaryTypeName","src":"1023:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1022:9:171"},"scope":30363,"src":"969:63:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30225,"nodeType":"StructuredDocumentation","src":"1038:147:171","text":"@dev Accumulator for delayed inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message."},"functionSelector":"d5719dc2","id":30232,"implemented":false,"kind":"function","modifiers":[],"name":"delayedInboxAccs","nameLocation":"1199:16:171","nodeType":"FunctionDefinition","parameters":{"id":30228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30232,"src":"1216:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30226,"name":"uint256","nodeType":"ElementaryTypeName","src":"1216:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1215:9:171"},"returnParameters":{"id":30231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30232,"src":"1248:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1248:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1247:9:171"},"scope":30363,"src":"1190:67:171","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30233,"nodeType":"StructuredDocumentation","src":"1263:149:171","text":"@dev Accumulator for sequencer inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message."},"functionSelector":"16bf5579","id":30240,"implemented":false,"kind":"function","modifiers":[],"name":"sequencerInboxAccs","nameLocation":"1426:18:171","nodeType":"FunctionDefinition","parameters":{"id":30236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30240,"src":"1445:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30234,"name":"uint256","nodeType":"ElementaryTypeName","src":"1445:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1444:9:171"},"returnParameters":{"id":30239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30240,"src":"1477:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1477:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1476:9:171"},"scope":30363,"src":"1417:69:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"cb23bcb5","id":30245,"implemented":false,"kind":"function","modifiers":[],"name":"rollup","nameLocation":"1556:6:171","nodeType":"FunctionDefinition","parameters":{"id":30241,"nodeType":"ParameterList","parameters":[],"src":"1562:2:171"},"returnParameters":{"id":30244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30245,"src":"1588:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30242,"name":"address","nodeType":"ElementaryTypeName","src":"1588:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1587:9:171"},"scope":30363,"src":"1547:50:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ee35f327","id":30250,"implemented":false,"kind":"function","modifiers":[],"name":"sequencerInbox","nameLocation":"1612:14:171","nodeType":"FunctionDefinition","parameters":{"id":30246,"nodeType":"ParameterList","parameters":[],"src":"1626:2:171"},"returnParameters":{"id":30249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30250,"src":"1652:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30247,"name":"address","nodeType":"ElementaryTypeName","src":"1652:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1651:9:171"},"scope":30363,"src":"1603:58:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ab5d8943","id":30255,"implemented":false,"kind":"function","modifiers":[],"name":"activeOutbox","nameLocation":"1676:12:171","nodeType":"FunctionDefinition","parameters":{"id":30251,"nodeType":"ParameterList","parameters":[],"src":"1688:2:171"},"returnParameters":{"id":30254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30255,"src":"1714:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30252,"name":"address","nodeType":"ElementaryTypeName","src":"1714:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1713:9:171"},"scope":30363,"src":"1667:56:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ae60bd13","id":30262,"implemented":false,"kind":"function","modifiers":[],"name":"allowedDelayedInboxes","nameLocation":"1738:21:171","nodeType":"FunctionDefinition","parameters":{"id":30258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30257,"mutability":"mutable","name":"inbox","nameLocation":"1768:5:171","nodeType":"VariableDeclaration","scope":30262,"src":"1760:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30256,"name":"address","nodeType":"ElementaryTypeName","src":"1760:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1759:15:171"},"returnParameters":{"id":30261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30262,"src":"1798:4:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30259,"name":"bool","nodeType":"ElementaryTypeName","src":"1798:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1797:6:171"},"scope":30363,"src":"1729:75:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"413b35bd","id":30269,"implemented":false,"kind":"function","modifiers":[],"name":"allowedOutboxes","nameLocation":"1819:15:171","nodeType":"FunctionDefinition","parameters":{"id":30265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30264,"mutability":"mutable","name":"outbox","nameLocation":"1843:6:171","nodeType":"VariableDeclaration","scope":30269,"src":"1835:14:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30263,"name":"address","nodeType":"ElementaryTypeName","src":"1835:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1834:16:171"},"returnParameters":{"id":30268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30269,"src":"1874:4:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30266,"name":"bool","nodeType":"ElementaryTypeName","src":"1874:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1873:6:171"},"scope":30363,"src":"1810:70:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5fca4a16","id":30274,"implemented":false,"kind":"function","modifiers":[],"name":"sequencerReportedSubMessageCount","nameLocation":"1895:32:171","nodeType":"FunctionDefinition","parameters":{"id":30270,"nodeType":"ParameterList","parameters":[],"src":"1927:2:171"},"returnParameters":{"id":30273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30272,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30274,"src":"1953:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30271,"name":"uint256","nodeType":"ElementaryTypeName","src":"1953:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1952:9:171"},"scope":30363,"src":"1886:76:171","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30275,"nodeType":"StructuredDocumentation","src":"1968:231:171","text":" @dev Enqueue a message in the delayed inbox accumulator.\n These messages are later sequenced in the SequencerInbox, either\n by the sequencer as part of a normal batch, or by force inclusion."},"functionSelector":"8db5993b","id":30286,"implemented":false,"kind":"function","modifiers":[],"name":"enqueueDelayedMessage","nameLocation":"2213:21:171","nodeType":"FunctionDefinition","parameters":{"id":30282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30277,"mutability":"mutable","name":"kind","nameLocation":"2250:4:171","nodeType":"VariableDeclaration","scope":30286,"src":"2244:10:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":30276,"name":"uint8","nodeType":"ElementaryTypeName","src":"2244:5:171","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":30279,"mutability":"mutable","name":"sender","nameLocation":"2272:6:171","nodeType":"VariableDeclaration","scope":30286,"src":"2264:14:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30278,"name":"address","nodeType":"ElementaryTypeName","src":"2264:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30281,"mutability":"mutable","name":"messageDataHash","nameLocation":"2296:15:171","nodeType":"VariableDeclaration","scope":30286,"src":"2288:23:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2288:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2234:83:171"},"returnParameters":{"id":30285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30286,"src":"2344:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30283,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2343:9:171"},"scope":30363,"src":"2204:149:171","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"9e5d4c49","id":30299,"implemented":false,"kind":"function","modifiers":[],"name":"executeCall","nameLocation":"2368:11:171","nodeType":"FunctionDefinition","parameters":{"id":30293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30288,"mutability":"mutable","name":"to","nameLocation":"2397:2:171","nodeType":"VariableDeclaration","scope":30299,"src":"2389:10:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30287,"name":"address","nodeType":"ElementaryTypeName","src":"2389:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30290,"mutability":"mutable","name":"value","nameLocation":"2417:5:171","nodeType":"VariableDeclaration","scope":30299,"src":"2409:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2409:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30292,"mutability":"mutable","name":"data","nameLocation":"2447:4:171","nodeType":"VariableDeclaration","scope":30299,"src":"2432:19:171","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30291,"name":"bytes","nodeType":"ElementaryTypeName","src":"2432:5:171","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2379:78:171"},"returnParameters":{"id":30298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30295,"mutability":"mutable","name":"success","nameLocation":"2481:7:171","nodeType":"VariableDeclaration","scope":30299,"src":"2476:12:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30294,"name":"bool","nodeType":"ElementaryTypeName","src":"2476:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30297,"mutability":"mutable","name":"returnData","nameLocation":"2503:10:171","nodeType":"VariableDeclaration","scope":30299,"src":"2490:23:171","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30296,"name":"bytes","nodeType":"ElementaryTypeName","src":"2490:5:171","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2475:39:171"},"scope":30363,"src":"2359:156:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"eca067ad","id":30304,"implemented":false,"kind":"function","modifiers":[],"name":"delayedMessageCount","nameLocation":"2530:19:171","nodeType":"FunctionDefinition","parameters":{"id":30300,"nodeType":"ParameterList","parameters":[],"src":"2549:2:171"},"returnParameters":{"id":30303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30304,"src":"2575:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30301,"name":"uint256","nodeType":"ElementaryTypeName","src":"2575:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2574:9:171"},"scope":30363,"src":"2521:63:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0084120c","id":30309,"implemented":false,"kind":"function","modifiers":[],"name":"sequencerMessageCount","nameLocation":"2599:21:171","nodeType":"FunctionDefinition","parameters":{"id":30305,"nodeType":"ParameterList","parameters":[],"src":"2620:2:171"},"returnParameters":{"id":30308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30307,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30309,"src":"2646:7:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30306,"name":"uint256","nodeType":"ElementaryTypeName","src":"2646:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2645:9:171"},"scope":30363,"src":"2590:65:171","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"86598a56","id":30328,"implemented":false,"kind":"function","modifiers":[],"name":"enqueueSequencerMessage","nameLocation":"2729:23:171","nodeType":"FunctionDefinition","parameters":{"id":30318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30311,"mutability":"mutable","name":"dataHash","nameLocation":"2770:8:171","nodeType":"VariableDeclaration","scope":30328,"src":"2762:16:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2762:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30313,"mutability":"mutable","name":"afterDelayedMessagesRead","nameLocation":"2796:24:171","nodeType":"VariableDeclaration","scope":30328,"src":"2788:32:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30312,"name":"uint256","nodeType":"ElementaryTypeName","src":"2788:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30315,"mutability":"mutable","name":"prevMessageCount","nameLocation":"2838:16:171","nodeType":"VariableDeclaration","scope":30328,"src":"2830:24:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30314,"name":"uint256","nodeType":"ElementaryTypeName","src":"2830:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30317,"mutability":"mutable","name":"newMessageCount","nameLocation":"2872:15:171","nodeType":"VariableDeclaration","scope":30328,"src":"2864:23:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30316,"name":"uint256","nodeType":"ElementaryTypeName","src":"2864:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2752:141:171"},"returnParameters":{"id":30327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30320,"mutability":"mutable","name":"seqMessageIndex","nameLocation":"2949:15:171","nodeType":"VariableDeclaration","scope":30328,"src":"2941:23:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30319,"name":"uint256","nodeType":"ElementaryTypeName","src":"2941:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30322,"mutability":"mutable","name":"beforeAcc","nameLocation":"2986:9:171","nodeType":"VariableDeclaration","scope":30328,"src":"2978:17:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2978:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30324,"mutability":"mutable","name":"delayedAcc","nameLocation":"3017:10:171","nodeType":"VariableDeclaration","scope":30328,"src":"3009:18:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3009:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30326,"mutability":"mutable","name":"acc","nameLocation":"3049:3:171","nodeType":"VariableDeclaration","scope":30328,"src":"3041:11:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3041:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2927:135:171"},"scope":30363,"src":"2720:343:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30329,"nodeType":"StructuredDocumentation","src":"3069:374:171","text":" @dev Allows the sequencer inbox to submit a delayed message of the batchPostingReport type\n This is done through a separate function entrypoint instead of allowing the sequencer inbox\n to call `enqueueDelayedMessage` to avoid the gas overhead of an extra SLOAD in either\n every delayed inbox or every sequencer inbox call."},"functionSelector":"7a88b107","id":30338,"implemented":false,"kind":"function","modifiers":[],"name":"submitBatchSpendingReport","nameLocation":"3457:25:171","nodeType":"FunctionDefinition","parameters":{"id":30334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30331,"mutability":"mutable","name":"batchPoster","nameLocation":"3491:11:171","nodeType":"VariableDeclaration","scope":30338,"src":"3483:19:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30330,"name":"address","nodeType":"ElementaryTypeName","src":"3483:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30333,"mutability":"mutable","name":"dataHash","nameLocation":"3512:8:171","nodeType":"VariableDeclaration","scope":30338,"src":"3504:16:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3504:7:171","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3482:39:171"},"returnParameters":{"id":30337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30336,"mutability":"mutable","name":"msgNum","nameLocation":"3548:6:171","nodeType":"VariableDeclaration","scope":30338,"src":"3540:14:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30335,"name":"uint256","nodeType":"ElementaryTypeName","src":"3540:7:171","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3539:16:171"},"scope":30363,"src":"3448:108:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4f61f850","id":30343,"implemented":false,"kind":"function","modifiers":[],"name":"setSequencerInbox","nameLocation":"3629:17:171","nodeType":"FunctionDefinition","parameters":{"id":30341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30340,"mutability":"mutable","name":"_sequencerInbox","nameLocation":"3655:15:171","nodeType":"VariableDeclaration","scope":30343,"src":"3647:23:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30339,"name":"address","nodeType":"ElementaryTypeName","src":"3647:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3646:25:171"},"returnParameters":{"id":30342,"nodeType":"ParameterList","parameters":[],"src":"3680:0:171"},"scope":30363,"src":"3620:61:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"47fb24c5","id":30350,"implemented":false,"kind":"function","modifiers":[],"name":"setDelayedInbox","nameLocation":"3696:15:171","nodeType":"FunctionDefinition","parameters":{"id":30348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30345,"mutability":"mutable","name":"inbox","nameLocation":"3720:5:171","nodeType":"VariableDeclaration","scope":30350,"src":"3712:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30344,"name":"address","nodeType":"ElementaryTypeName","src":"3712:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30347,"mutability":"mutable","name":"enabled","nameLocation":"3732:7:171","nodeType":"VariableDeclaration","scope":30350,"src":"3727:12:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30346,"name":"bool","nodeType":"ElementaryTypeName","src":"3727:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3711:29:171"},"returnParameters":{"id":30349,"nodeType":"ParameterList","parameters":[],"src":"3749:0:171"},"scope":30363,"src":"3687:63:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"cee3d728","id":30357,"implemented":false,"kind":"function","modifiers":[],"name":"setOutbox","nameLocation":"3765:9:171","nodeType":"FunctionDefinition","parameters":{"id":30355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30352,"mutability":"mutable","name":"inbox","nameLocation":"3783:5:171","nodeType":"VariableDeclaration","scope":30357,"src":"3775:13:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30351,"name":"address","nodeType":"ElementaryTypeName","src":"3775:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30354,"mutability":"mutable","name":"enabled","nameLocation":"3795:7:171","nodeType":"VariableDeclaration","scope":30357,"src":"3790:12:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30353,"name":"bool","nodeType":"ElementaryTypeName","src":"3790:4:171","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3774:29:171"},"returnParameters":{"id":30356,"nodeType":"ParameterList","parameters":[],"src":"3812:0:171"},"scope":30363,"src":"3756:57:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"c4d66de8","id":30362,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"3926:10:171","nodeType":"FunctionDefinition","parameters":{"id":30360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30359,"mutability":"mutable","name":"rollup_","nameLocation":"3945:7:171","nodeType":"VariableDeclaration","scope":30362,"src":"3937:15:171","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30358,"name":"address","nodeType":"ElementaryTypeName","src":"3937:7:171","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3936:17:171"},"returnParameters":{"id":30361,"nodeType":"ParameterList","parameters":[],"src":"3962:0:171"},"scope":30363,"src":"3917:46:171","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":30364,"src":"316:3649:171","usedErrors":[]}],"src":"283:3683:171"},"id":171},"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol","exportedSymbols":{"IDelayedMessageProvider":[30378]},"id":30379,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":30365,"literals":["solidity",">=","0.6",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"299:31:172"},{"abstract":false,"baseContracts":[],"canonicalName":"IDelayedMessageProvider","contractDependencies":[],"contractKind":"interface","fullyImplemented":true,"id":30378,"linearizedBaseContracts":[30378],"name":"IDelayedMessageProvider","nameLocation":"342:23:172","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":30366,"nodeType":"StructuredDocumentation","src":"372:88:172","text":"@dev event emitted when a inbox message is added to the Bridge's delayed accumulator"},"id":30372,"name":"InboxMessageDelivered","nameLocation":"471:21:172","nodeType":"EventDefinition","parameters":{"id":30371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30368,"indexed":true,"mutability":"mutable","name":"messageNum","nameLocation":"509:10:172","nodeType":"VariableDeclaration","scope":30372,"src":"493:26:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30367,"name":"uint256","nodeType":"ElementaryTypeName","src":"493:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30370,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"527:4:172","nodeType":"VariableDeclaration","scope":30372,"src":"521:10:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30369,"name":"bytes","nodeType":"ElementaryTypeName","src":"521:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"492:40:172"},"src":"465:68:172"},{"anonymous":false,"documentation":{"id":30373,"nodeType":"StructuredDocumentation","src":"539:170:172","text":"@dev event emitted when a inbox message is added to the Bridge's delayed accumulator\n same as InboxMessageDelivered but the batch data is available in tx.input"},"id":30377,"name":"InboxMessageDeliveredFromOrigin","nameLocation":"720:31:172","nodeType":"EventDefinition","parameters":{"id":30376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30375,"indexed":true,"mutability":"mutable","name":"messageNum","nameLocation":"768:10:172","nodeType":"VariableDeclaration","scope":30377,"src":"752:26:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30374,"name":"uint256","nodeType":"ElementaryTypeName","src":"752:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"751:28:172"},"src":"714:66:172"}],"scope":30379,"src":"332:450:172","usedErrors":[]}],"src":"299:484:172"},"id":172},"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol","exportedSymbols":{"IBridge":[30363],"IDelayedMessageProvider":[30378],"IInbox":[30555]},"id":30556,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":30380,"literals":["solidity",">=","0.6",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"282:31:173"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol","file":"./IBridge.sol","id":30381,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":30556,"sourceUnit":30364,"src":"315:23:173","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol","file":"./IDelayedMessageProvider.sol","id":30382,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":30556,"sourceUnit":30379,"src":"339:39:173","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":30383,"name":"IDelayedMessageProvider","nodeType":"IdentifierPath","referencedDeclaration":30378,"src":"400:23:173"},"id":30384,"nodeType":"InheritanceSpecifier","src":"400:23:173"}],"canonicalName":"IInbox","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":30555,"linearizedBaseContracts":[30555,30378],"name":"IInbox","nameLocation":"390:6:173","nodeType":"ContractDefinition","nodes":[{"functionSelector":"e78cea92","id":30390,"implemented":false,"kind":"function","modifiers":[],"name":"bridge","nameLocation":"439:6:173","nodeType":"FunctionDefinition","parameters":{"id":30385,"nodeType":"ParameterList","parameters":[],"src":"445:2:173"},"returnParameters":{"id":30389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30390,"src":"471:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"},"typeName":{"id":30387,"nodeType":"UserDefinedTypeName","pathNode":{"id":30386,"name":"IBridge","nodeType":"IdentifierPath","referencedDeclaration":30363,"src":"471:7:173"},"referencedDeclaration":30363,"src":"471:7:173","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"}},"visibility":"internal"}],"src":"470:9:173"},"scope":30555,"src":"430:50:173","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ee35f327","id":30395,"implemented":false,"kind":"function","modifiers":[],"name":"sequencerInbox","nameLocation":"557:14:173","nodeType":"FunctionDefinition","parameters":{"id":30391,"nodeType":"ParameterList","parameters":[],"src":"571:2:173"},"returnParameters":{"id":30394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30395,"src":"597:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30392,"name":"address","nodeType":"ElementaryTypeName","src":"597:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"596:9:173"},"scope":30555,"src":"548:58:173","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30396,"nodeType":"StructuredDocumentation","src":"612:321:173","text":" @notice Send a generic L2 message to the chain\n @dev This method is an optimization to avoid having to emit the entirety of the messageData in a log. Instead validators are expected to be able to parse the data from the transaction's input\n @param messageData Data of the message being sent"},"functionSelector":"1fe927cf","id":30403,"implemented":false,"kind":"function","modifiers":[],"name":"sendL2MessageFromOrigin","nameLocation":"947:23:173","nodeType":"FunctionDefinition","parameters":{"id":30399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30398,"mutability":"mutable","name":"messageData","nameLocation":"986:11:173","nodeType":"VariableDeclaration","scope":30403,"src":"971:26:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30397,"name":"bytes","nodeType":"ElementaryTypeName","src":"971:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"970:28:173"},"returnParameters":{"id":30402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30403,"src":"1017:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1016:9:173"},"scope":30555,"src":"938:88:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30404,"nodeType":"StructuredDocumentation","src":"1032:221:173","text":" @notice Send a generic L2 message to the chain\n @dev This method can be used to send any type of message that doesn't require L1 validation\n @param messageData Data of the message being sent"},"functionSelector":"b75436bb","id":30411,"implemented":false,"kind":"function","modifiers":[],"name":"sendL2Message","nameLocation":"1267:13:173","nodeType":"FunctionDefinition","parameters":{"id":30407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30406,"mutability":"mutable","name":"messageData","nameLocation":"1296:11:173","nodeType":"VariableDeclaration","scope":30411,"src":"1281:26:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30405,"name":"bytes","nodeType":"ElementaryTypeName","src":"1281:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1280:28:173"},"returnParameters":{"id":30410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30411,"src":"1327:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30408,"name":"uint256","nodeType":"ElementaryTypeName","src":"1327:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1326:9:173"},"scope":30555,"src":"1258:78:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"67ef3ab8","id":30426,"implemented":false,"kind":"function","modifiers":[],"name":"sendL1FundedUnsignedTransaction","nameLocation":"1351:31:173","nodeType":"FunctionDefinition","parameters":{"id":30422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30413,"mutability":"mutable","name":"gasLimit","nameLocation":"1400:8:173","nodeType":"VariableDeclaration","scope":30426,"src":"1392:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30412,"name":"uint256","nodeType":"ElementaryTypeName","src":"1392:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30415,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"1426:12:173","nodeType":"VariableDeclaration","scope":30426,"src":"1418:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30414,"name":"uint256","nodeType":"ElementaryTypeName","src":"1418:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30417,"mutability":"mutable","name":"nonce","nameLocation":"1456:5:173","nodeType":"VariableDeclaration","scope":30426,"src":"1448:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30416,"name":"uint256","nodeType":"ElementaryTypeName","src":"1448:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30419,"mutability":"mutable","name":"to","nameLocation":"1479:2:173","nodeType":"VariableDeclaration","scope":30426,"src":"1471:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30418,"name":"address","nodeType":"ElementaryTypeName","src":"1471:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30421,"mutability":"mutable","name":"data","nameLocation":"1506:4:173","nodeType":"VariableDeclaration","scope":30426,"src":"1491:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30420,"name":"bytes","nodeType":"ElementaryTypeName","src":"1491:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1382:134:173"},"returnParameters":{"id":30425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30426,"src":"1543:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30423,"name":"uint256","nodeType":"ElementaryTypeName","src":"1543:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1542:9:173"},"scope":30555,"src":"1342:210:173","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"5e916758","id":30439,"implemented":false,"kind":"function","modifiers":[],"name":"sendL1FundedContractTransaction","nameLocation":"1567:31:173","nodeType":"FunctionDefinition","parameters":{"id":30435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30428,"mutability":"mutable","name":"gasLimit","nameLocation":"1616:8:173","nodeType":"VariableDeclaration","scope":30439,"src":"1608:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1608:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30430,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"1642:12:173","nodeType":"VariableDeclaration","scope":30439,"src":"1634:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30429,"name":"uint256","nodeType":"ElementaryTypeName","src":"1634:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30432,"mutability":"mutable","name":"to","nameLocation":"1672:2:173","nodeType":"VariableDeclaration","scope":30439,"src":"1664:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30431,"name":"address","nodeType":"ElementaryTypeName","src":"1664:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30434,"mutability":"mutable","name":"data","nameLocation":"1699:4:173","nodeType":"VariableDeclaration","scope":30439,"src":"1684:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30433,"name":"bytes","nodeType":"ElementaryTypeName","src":"1684:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1598:111:173"},"returnParameters":{"id":30438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30439,"src":"1736:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30436,"name":"uint256","nodeType":"ElementaryTypeName","src":"1736:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1735:9:173"},"scope":30555,"src":"1558:187:173","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"5075788b","id":30456,"implemented":false,"kind":"function","modifiers":[],"name":"sendUnsignedTransaction","nameLocation":"1760:23:173","nodeType":"FunctionDefinition","parameters":{"id":30452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30441,"mutability":"mutable","name":"gasLimit","nameLocation":"1801:8:173","nodeType":"VariableDeclaration","scope":30456,"src":"1793:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30440,"name":"uint256","nodeType":"ElementaryTypeName","src":"1793:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30443,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"1827:12:173","nodeType":"VariableDeclaration","scope":30456,"src":"1819:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30442,"name":"uint256","nodeType":"ElementaryTypeName","src":"1819:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30445,"mutability":"mutable","name":"nonce","nameLocation":"1857:5:173","nodeType":"VariableDeclaration","scope":30456,"src":"1849:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1849:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30447,"mutability":"mutable","name":"to","nameLocation":"1880:2:173","nodeType":"VariableDeclaration","scope":30456,"src":"1872:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30446,"name":"address","nodeType":"ElementaryTypeName","src":"1872:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30449,"mutability":"mutable","name":"value","nameLocation":"1900:5:173","nodeType":"VariableDeclaration","scope":30456,"src":"1892:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30448,"name":"uint256","nodeType":"ElementaryTypeName","src":"1892:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30451,"mutability":"mutable","name":"data","nameLocation":"1930:4:173","nodeType":"VariableDeclaration","scope":30456,"src":"1915:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30450,"name":"bytes","nodeType":"ElementaryTypeName","src":"1915:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1783:157:173"},"returnParameters":{"id":30455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30456,"src":"1959:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30453,"name":"uint256","nodeType":"ElementaryTypeName","src":"1959:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1958:9:173"},"scope":30555,"src":"1751:217:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8a631aa6","id":30471,"implemented":false,"kind":"function","modifiers":[],"name":"sendContractTransaction","nameLocation":"1983:23:173","nodeType":"FunctionDefinition","parameters":{"id":30467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30458,"mutability":"mutable","name":"gasLimit","nameLocation":"2024:8:173","nodeType":"VariableDeclaration","scope":30471,"src":"2016:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30457,"name":"uint256","nodeType":"ElementaryTypeName","src":"2016:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30460,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"2050:12:173","nodeType":"VariableDeclaration","scope":30471,"src":"2042:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30459,"name":"uint256","nodeType":"ElementaryTypeName","src":"2042:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30462,"mutability":"mutable","name":"to","nameLocation":"2080:2:173","nodeType":"VariableDeclaration","scope":30471,"src":"2072:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30461,"name":"address","nodeType":"ElementaryTypeName","src":"2072:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30464,"mutability":"mutable","name":"value","nameLocation":"2100:5:173","nodeType":"VariableDeclaration","scope":30471,"src":"2092:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30463,"name":"uint256","nodeType":"ElementaryTypeName","src":"2092:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30466,"mutability":"mutable","name":"data","nameLocation":"2130:4:173","nodeType":"VariableDeclaration","scope":30471,"src":"2115:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30465,"name":"bytes","nodeType":"ElementaryTypeName","src":"2115:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2006:134:173"},"returnParameters":{"id":30470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30471,"src":"2159:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30468,"name":"uint256","nodeType":"ElementaryTypeName","src":"2159:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2158:9:173"},"scope":30555,"src":"1974:194:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30472,"nodeType":"StructuredDocumentation","src":"2174:492:173","text":" @notice Get the L1 fee for submitting a retryable\n @dev This fee can be paid by funds already in the L2 aliased address or by the current message value\n @dev This formula may change in the future, to future proof your code query this method instead of inlining!!\n @param dataLength The length of the retryable's calldata, in bytes\n @param baseFee The block basefee when the retryable is included in the chain, if 0 current block.basefee will be used"},"functionSelector":"a66b327d","id":30481,"implemented":false,"kind":"function","modifiers":[],"name":"calculateRetryableSubmissionFee","nameLocation":"2680:31:173","nodeType":"FunctionDefinition","parameters":{"id":30477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30474,"mutability":"mutable","name":"dataLength","nameLocation":"2720:10:173","nodeType":"VariableDeclaration","scope":30481,"src":"2712:18:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30473,"name":"uint256","nodeType":"ElementaryTypeName","src":"2712:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30476,"mutability":"mutable","name":"baseFee","nameLocation":"2740:7:173","nodeType":"VariableDeclaration","scope":30481,"src":"2732:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30475,"name":"uint256","nodeType":"ElementaryTypeName","src":"2732:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2711:37:173"},"returnParameters":{"id":30480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30481,"src":"2772:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30478,"name":"uint256","nodeType":"ElementaryTypeName","src":"2772:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2771:9:173"},"scope":30555,"src":"2671:110:173","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30482,"nodeType":"StructuredDocumentation","src":"2787:401:173","text":" @notice Deposit eth from L1 to L2 to address of the sender if sender is an EOA, and to its aliased address if the sender is a contract\n @dev This does not trigger the fallback function when receiving in the L2 side.\n Look into retryable tickets if you are interested in this functionality.\n @dev This function should not be called inside contract constructors"},"functionSelector":"439370b1","id":30487,"implemented":false,"kind":"function","modifiers":[],"name":"depositEth","nameLocation":"3202:10:173","nodeType":"FunctionDefinition","parameters":{"id":30483,"nodeType":"ParameterList","parameters":[],"src":"3212:2:173"},"returnParameters":{"id":30486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30487,"src":"3241:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30484,"name":"uint256","nodeType":"ElementaryTypeName","src":"3241:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3240:9:173"},"scope":30555,"src":"3193:57:173","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":30488,"nodeType":"StructuredDocumentation","src":"3256:1162:173","text":" @notice Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\n @dev all msg.value will deposited to callValueRefundAddress on L2\n @dev Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\n @param to destination L2 contract address\n @param l2CallValue call value for retryable L2 message\n @param maxSubmissionCost Max gas deducted from user's L2 balance to cover base submission fee\n @param excessFeeRefundAddress gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\n @param callValueRefundAddress l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\n @param gasLimit Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n @param maxFeePerGas price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n @param data ABI encoded data of L2 message\n @return unique message number of the retryable transaction"},"functionSelector":"679b6ded","id":30509,"implemented":false,"kind":"function","modifiers":[],"name":"createRetryableTicket","nameLocation":"4432:21:173","nodeType":"FunctionDefinition","parameters":{"id":30505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30490,"mutability":"mutable","name":"to","nameLocation":"4471:2:173","nodeType":"VariableDeclaration","scope":30509,"src":"4463:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30489,"name":"address","nodeType":"ElementaryTypeName","src":"4463:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30492,"mutability":"mutable","name":"l2CallValue","nameLocation":"4491:11:173","nodeType":"VariableDeclaration","scope":30509,"src":"4483:19:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30491,"name":"uint256","nodeType":"ElementaryTypeName","src":"4483:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30494,"mutability":"mutable","name":"maxSubmissionCost","nameLocation":"4520:17:173","nodeType":"VariableDeclaration","scope":30509,"src":"4512:25:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30493,"name":"uint256","nodeType":"ElementaryTypeName","src":"4512:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30496,"mutability":"mutable","name":"excessFeeRefundAddress","nameLocation":"4555:22:173","nodeType":"VariableDeclaration","scope":30509,"src":"4547:30:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30495,"name":"address","nodeType":"ElementaryTypeName","src":"4547:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30498,"mutability":"mutable","name":"callValueRefundAddress","nameLocation":"4595:22:173","nodeType":"VariableDeclaration","scope":30509,"src":"4587:30:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30497,"name":"address","nodeType":"ElementaryTypeName","src":"4587:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30500,"mutability":"mutable","name":"gasLimit","nameLocation":"4635:8:173","nodeType":"VariableDeclaration","scope":30509,"src":"4627:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30499,"name":"uint256","nodeType":"ElementaryTypeName","src":"4627:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30502,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"4661:12:173","nodeType":"VariableDeclaration","scope":30509,"src":"4653:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30501,"name":"uint256","nodeType":"ElementaryTypeName","src":"4653:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30504,"mutability":"mutable","name":"data","nameLocation":"4698:4:173","nodeType":"VariableDeclaration","scope":30509,"src":"4683:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30503,"name":"bytes","nodeType":"ElementaryTypeName","src":"4683:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4453:255:173"},"returnParameters":{"id":30508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30509,"src":"4735:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30506,"name":"uint256","nodeType":"ElementaryTypeName","src":"4735:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4734:9:173"},"scope":30555,"src":"4423:321:173","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":30510,"nodeType":"StructuredDocumentation","src":"4750:1479:173","text":" @notice Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\n @dev Same as createRetryableTicket, but does not guarantee that submission will succeed by requiring the needed funds\n come from the deposit alone, rather than falling back on the user's L2 balance\n @dev Advanced usage only (does not rewrite aliases for excessFeeRefundAddress and callValueRefundAddress).\n createRetryableTicket method is the recommended standard.\n @dev Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\n @param to destination L2 contract address\n @param l2CallValue call value for retryable L2 message\n @param maxSubmissionCost Max gas deducted from user's L2 balance to cover base submission fee\n @param excessFeeRefundAddress gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\n @param callValueRefundAddress l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\n @param gasLimit Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n @param maxFeePerGas price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\n @param data ABI encoded data of L2 message\n @return unique message number of the retryable transaction"},"functionSelector":"6e6e8a6a","id":30531,"implemented":false,"kind":"function","modifiers":[],"name":"unsafeCreateRetryableTicket","nameLocation":"6243:27:173","nodeType":"FunctionDefinition","parameters":{"id":30527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30512,"mutability":"mutable","name":"to","nameLocation":"6288:2:173","nodeType":"VariableDeclaration","scope":30531,"src":"6280:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30511,"name":"address","nodeType":"ElementaryTypeName","src":"6280:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30514,"mutability":"mutable","name":"l2CallValue","nameLocation":"6308:11:173","nodeType":"VariableDeclaration","scope":30531,"src":"6300:19:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6300:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30516,"mutability":"mutable","name":"maxSubmissionCost","nameLocation":"6337:17:173","nodeType":"VariableDeclaration","scope":30531,"src":"6329:25:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30515,"name":"uint256","nodeType":"ElementaryTypeName","src":"6329:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30518,"mutability":"mutable","name":"excessFeeRefundAddress","nameLocation":"6372:22:173","nodeType":"VariableDeclaration","scope":30531,"src":"6364:30:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30517,"name":"address","nodeType":"ElementaryTypeName","src":"6364:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30520,"mutability":"mutable","name":"callValueRefundAddress","nameLocation":"6412:22:173","nodeType":"VariableDeclaration","scope":30531,"src":"6404:30:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30519,"name":"address","nodeType":"ElementaryTypeName","src":"6404:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30522,"mutability":"mutable","name":"gasLimit","nameLocation":"6452:8:173","nodeType":"VariableDeclaration","scope":30531,"src":"6444:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30521,"name":"uint256","nodeType":"ElementaryTypeName","src":"6444:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30524,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"6478:12:173","nodeType":"VariableDeclaration","scope":30531,"src":"6470:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30523,"name":"uint256","nodeType":"ElementaryTypeName","src":"6470:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30526,"mutability":"mutable","name":"data","nameLocation":"6515:4:173","nodeType":"VariableDeclaration","scope":30531,"src":"6500:19:173","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30525,"name":"bytes","nodeType":"ElementaryTypeName","src":"6500:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6270:255:173"},"returnParameters":{"id":30530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30531,"src":"6552:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30528,"name":"uint256","nodeType":"ElementaryTypeName","src":"6552:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:9:173"},"scope":30555,"src":"6234:327:173","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":30532,"nodeType":"StructuredDocumentation","src":"6625:42:173","text":"@notice pauses all inbox functionality"},"functionSelector":"8456cb59","id":30535,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"6681:5:173","nodeType":"FunctionDefinition","parameters":{"id":30533,"nodeType":"ParameterList","parameters":[],"src":"6686:2:173"},"returnParameters":{"id":30534,"nodeType":"ParameterList","parameters":[],"src":"6697:0:173"},"scope":30555,"src":"6672:26:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30536,"nodeType":"StructuredDocumentation","src":"6704:44:173","text":"@notice unpauses all inbox functionality"},"functionSelector":"3f4ba83a","id":30539,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"6762:7:173","nodeType":"FunctionDefinition","parameters":{"id":30537,"nodeType":"ParameterList","parameters":[],"src":"6769:2:173"},"returnParameters":{"id":30538,"nodeType":"ParameterList","parameters":[],"src":"6780:0:173"},"scope":30555,"src":"6753:28:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30540,"nodeType":"StructuredDocumentation","src":"6829:137:173","text":" @dev function to be called one time during the inbox upgrade process\n this is used to fix the storage slots"},"functionSelector":"c474d2c5","id":30546,"implemented":false,"kind":"function","modifiers":[],"name":"postUpgradeInit","nameLocation":"6980:15:173","nodeType":"FunctionDefinition","parameters":{"id":30544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30543,"mutability":"mutable","name":"_bridge","nameLocation":"7004:7:173","nodeType":"VariableDeclaration","scope":30546,"src":"6996:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"},"typeName":{"id":30542,"nodeType":"UserDefinedTypeName","pathNode":{"id":30541,"name":"IBridge","nodeType":"IdentifierPath","referencedDeclaration":30363,"src":"6996:7:173"},"referencedDeclaration":30363,"src":"6996:7:173","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"}},"visibility":"internal"}],"src":"6995:17:173"},"returnParameters":{"id":30545,"nodeType":"ParameterList","parameters":[],"src":"7021:0:173"},"scope":30555,"src":"6971:51:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"485cc955","id":30554,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7108:10:173","nodeType":"FunctionDefinition","parameters":{"id":30552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30549,"mutability":"mutable","name":"_bridge","nameLocation":"7127:7:173","nodeType":"VariableDeclaration","scope":30554,"src":"7119:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"},"typeName":{"id":30548,"nodeType":"UserDefinedTypeName","pathNode":{"id":30547,"name":"IBridge","nodeType":"IdentifierPath","referencedDeclaration":30363,"src":"7119:7:173"},"referencedDeclaration":30363,"src":"7119:7:173","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"}},"visibility":"internal"},{"constant":false,"id":30551,"mutability":"mutable","name":"_sequencerInbox","nameLocation":"7144:15:173","nodeType":"VariableDeclaration","scope":30554,"src":"7136:23:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30550,"name":"address","nodeType":"ElementaryTypeName","src":"7136:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7118:42:173"},"returnParameters":{"id":30553,"nodeType":"ParameterList","parameters":[],"src":"7169:0:173"},"scope":30555,"src":"7099:71:173","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":30556,"src":"380:6792:173","usedErrors":[]}],"src":"282:6891:173"},"id":173},"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol","exportedSymbols":{"IBridge":[30363],"IOutbox":[30724]},"id":30725,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":30557,"literals":["solidity",">=","0.6",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"283:31:174"},{"absolutePath":"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol","file":"./IBridge.sol","id":30558,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":30725,"sourceUnit":30364,"src":"316:23:174","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IOutbox","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":30724,"linearizedBaseContracts":[30724],"name":"IOutbox","nameLocation":"351:7:174","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":30564,"name":"SendRootUpdated","nameLocation":"371:15:174","nodeType":"EventDefinition","parameters":{"id":30563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30560,"indexed":true,"mutability":"mutable","name":"blockHash","nameLocation":"403:9:174","nodeType":"VariableDeclaration","scope":30564,"src":"387:25:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30562,"indexed":true,"mutability":"mutable","name":"outputRoot","nameLocation":"430:10:174","nodeType":"VariableDeclaration","scope":30564,"src":"414:26:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"386:55:174"},"src":"365:77:174"},{"anonymous":false,"id":30574,"name":"OutBoxTransactionExecuted","nameLocation":"453:25:174","nodeType":"EventDefinition","parameters":{"id":30573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30566,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"504:2:174","nodeType":"VariableDeclaration","scope":30574,"src":"488:18:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30565,"name":"address","nodeType":"ElementaryTypeName","src":"488:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30568,"indexed":true,"mutability":"mutable","name":"l2Sender","nameLocation":"532:8:174","nodeType":"VariableDeclaration","scope":30574,"src":"516:24:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30567,"name":"address","nodeType":"ElementaryTypeName","src":"516:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30570,"indexed":true,"mutability":"mutable","name":"zero","nameLocation":"566:4:174","nodeType":"VariableDeclaration","scope":30574,"src":"550:20:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30569,"name":"uint256","nodeType":"ElementaryTypeName","src":"550:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30572,"indexed":false,"mutability":"mutable","name":"transactionIndex","nameLocation":"588:16:174","nodeType":"VariableDeclaration","scope":30574,"src":"580:24:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30571,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"478:132:174"},"src":"447:164:174"},{"functionSelector":"cb23bcb5","id":30579,"implemented":false,"kind":"function","modifiers":[],"name":"rollup","nameLocation":"626:6:174","nodeType":"FunctionDefinition","parameters":{"id":30575,"nodeType":"ParameterList","parameters":[],"src":"632:2:174"},"returnParameters":{"id":30578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30579,"src":"658:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30576,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"657:9:174"},"scope":30724,"src":"617:50:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e78cea92","id":30585,"implemented":false,"kind":"function","modifiers":[],"name":"bridge","nameLocation":"705:6:174","nodeType":"FunctionDefinition","parameters":{"id":30580,"nodeType":"ParameterList","parameters":[],"src":"711:2:174"},"returnParameters":{"id":30584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30583,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30585,"src":"737:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"},"typeName":{"id":30582,"nodeType":"UserDefinedTypeName","pathNode":{"id":30581,"name":"IBridge","nodeType":"IdentifierPath","referencedDeclaration":30363,"src":"737:7:174"},"referencedDeclaration":30363,"src":"737:7:174","typeDescriptions":{"typeIdentifier":"t_contract$_IBridge_$30363","typeString":"contract IBridge"}},"visibility":"internal"}],"src":"736:9:174"},"scope":30724,"src":"696:50:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d5b5cc23","id":30592,"implemented":false,"kind":"function","modifiers":[],"name":"spent","nameLocation":"784:5:174","nodeType":"FunctionDefinition","parameters":{"id":30588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30592,"src":"790:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30586,"name":"uint256","nodeType":"ElementaryTypeName","src":"790:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"789:9:174"},"returnParameters":{"id":30591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30592,"src":"822:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"822:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"821:9:174"},"scope":30724,"src":"775:56:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ae6dead7","id":30599,"implemented":false,"kind":"function","modifiers":[],"name":"roots","nameLocation":"869:5:174","nodeType":"FunctionDefinition","parameters":{"id":30595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30599,"src":"875:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"875:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"874:9:174"},"returnParameters":{"id":30598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30599,"src":"907:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"907:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"906:9:174"},"scope":30724,"src":"860:56:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"c75184df","id":30604,"implemented":false,"kind":"function","modifiers":[],"name":"OUTBOX_VERSION","nameLocation":"1021:14:174","nodeType":"FunctionDefinition","parameters":{"id":30600,"nodeType":"ParameterList","parameters":[],"src":"1035:2:174"},"returnParameters":{"id":30603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30604,"src":"1061:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":30601,"name":"uint128","nodeType":"ElementaryTypeName","src":"1061:7:174","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"1060:9:174"},"scope":30724,"src":"1012:58:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a04cee60","id":30611,"implemented":false,"kind":"function","modifiers":[],"name":"updateSendRoot","nameLocation":"1107:14:174","nodeType":"FunctionDefinition","parameters":{"id":30609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30606,"mutability":"mutable","name":"sendRoot","nameLocation":"1130:8:174","nodeType":"VariableDeclaration","scope":30611,"src":"1122:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1122:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30608,"mutability":"mutable","name":"l2BlockHash","nameLocation":"1148:11:174","nodeType":"VariableDeclaration","scope":30611,"src":"1140:19:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1140:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1121:39:174"},"returnParameters":{"id":30610,"nodeType":"ParameterList","parameters":[],"src":"1169:0:174"},"scope":30724,"src":"1098:72:174","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30612,"nodeType":"StructuredDocumentation","src":"1176:306:174","text":"@notice When l2ToL1Sender returns a nonzero address, the message was originated by an L2 account\n When the return value is zero, that means this is a system message\n @dev the l2ToL1Sender behaves as the tx.origin, the msg.sender should be validated to protect against reentrancies"},"functionSelector":"80648b02","id":30617,"implemented":false,"kind":"function","modifiers":[],"name":"l2ToL1Sender","nameLocation":"1496:12:174","nodeType":"FunctionDefinition","parameters":{"id":30613,"nodeType":"ParameterList","parameters":[],"src":"1508:2:174"},"returnParameters":{"id":30616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30617,"src":"1534:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30614,"name":"address","nodeType":"ElementaryTypeName","src":"1534:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1533:9:174"},"scope":30724,"src":"1487:56:174","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30618,"nodeType":"StructuredDocumentation","src":"1549:106:174","text":"@return l2Block return L2 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active"},"functionSelector":"46547790","id":30623,"implemented":false,"kind":"function","modifiers":[],"name":"l2ToL1Block","nameLocation":"1669:11:174","nodeType":"FunctionDefinition","parameters":{"id":30619,"nodeType":"ParameterList","parameters":[],"src":"1680:2:174"},"returnParameters":{"id":30622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30623,"src":"1706:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30620,"name":"uint256","nodeType":"ElementaryTypeName","src":"1706:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1705:9:174"},"scope":30724,"src":"1660:55:174","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30624,"nodeType":"StructuredDocumentation","src":"1721:106:174","text":"@return l1Block return L1 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active"},"functionSelector":"8515bc6a","id":30629,"implemented":false,"kind":"function","modifiers":[],"name":"l2ToL1EthBlock","nameLocation":"1841:14:174","nodeType":"FunctionDefinition","parameters":{"id":30625,"nodeType":"ParameterList","parameters":[],"src":"1855:2:174"},"returnParameters":{"id":30628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30629,"src":"1881:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30626,"name":"uint256","nodeType":"ElementaryTypeName","src":"1881:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1880:9:174"},"scope":30724,"src":"1832:58:174","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30630,"nodeType":"StructuredDocumentation","src":"1896:112:174","text":"@return timestamp return L2 timestamp when the L2 tx was initiated or 0 if no L2 to L1 transaction is active"},"functionSelector":"b0f30537","id":30635,"implemented":false,"kind":"function","modifiers":[],"name":"l2ToL1Timestamp","nameLocation":"2022:15:174","nodeType":"FunctionDefinition","parameters":{"id":30631,"nodeType":"ParameterList","parameters":[],"src":"2037:2:174"},"returnParameters":{"id":30634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30635,"src":"2063:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30632,"name":"uint256","nodeType":"ElementaryTypeName","src":"2063:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2062:9:174"},"scope":30724,"src":"2013:59:174","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30636,"nodeType":"StructuredDocumentation","src":"2078:118:174","text":"@return outputId returns the unique output identifier of the L2 to L1 tx or 0 if no L2 to L1 transaction is active"},"functionSelector":"72f2a8c7","id":30641,"implemented":false,"kind":"function","modifiers":[],"name":"l2ToL1OutputId","nameLocation":"2210:14:174","nodeType":"FunctionDefinition","parameters":{"id":30637,"nodeType":"ParameterList","parameters":[],"src":"2224:2:174"},"returnParameters":{"id":30640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30641,"src":"2250:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2250:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2249:9:174"},"scope":30724,"src":"2201:58:174","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30642,"nodeType":"StructuredDocumentation","src":"2265:954:174","text":" @notice Executes a messages in an Outbox entry.\n @dev Reverts if dispute period hasn't expired, since the outbox entry\n is only created once the rollup confirms the respective assertion.\n @dev it is not possible to execute any L2-to-L1 transaction which contains data\n to a contract address without any code (as enforced by the Bridge contract).\n @param proof Merkle proof of message inclusion in send root\n @param index Merkle path to message\n @param l2Sender sender if original message (i.e., caller of ArbSys.sendTxToL1)\n @param to destination address for L1 contract call\n @param l2Block l2 block number at which sendTxToL1 call was made\n @param l1Block l1 block number at which sendTxToL1 call was made\n @param l2Timestamp l2 Timestamp at which sendTxToL1 call was made\n @param value wei in L1 message\n @param data abi-encoded L1 message data"},"functionSelector":"08635a95","id":30664,"implemented":false,"kind":"function","modifiers":[],"name":"executeTransaction","nameLocation":"3233:18:174","nodeType":"FunctionDefinition","parameters":{"id":30662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30645,"mutability":"mutable","name":"proof","nameLocation":"3280:5:174","nodeType":"VariableDeclaration","scope":30664,"src":"3261:24:174","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":30643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3261:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":30644,"nodeType":"ArrayTypeName","src":"3261:9:174","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":30647,"mutability":"mutable","name":"index","nameLocation":"3303:5:174","nodeType":"VariableDeclaration","scope":30664,"src":"3295:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30646,"name":"uint256","nodeType":"ElementaryTypeName","src":"3295:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30649,"mutability":"mutable","name":"l2Sender","nameLocation":"3326:8:174","nodeType":"VariableDeclaration","scope":30664,"src":"3318:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30648,"name":"address","nodeType":"ElementaryTypeName","src":"3318:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30651,"mutability":"mutable","name":"to","nameLocation":"3352:2:174","nodeType":"VariableDeclaration","scope":30664,"src":"3344:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30650,"name":"address","nodeType":"ElementaryTypeName","src":"3344:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30653,"mutability":"mutable","name":"l2Block","nameLocation":"3372:7:174","nodeType":"VariableDeclaration","scope":30664,"src":"3364:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30652,"name":"uint256","nodeType":"ElementaryTypeName","src":"3364:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30655,"mutability":"mutable","name":"l1Block","nameLocation":"3397:7:174","nodeType":"VariableDeclaration","scope":30664,"src":"3389:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30654,"name":"uint256","nodeType":"ElementaryTypeName","src":"3389:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30657,"mutability":"mutable","name":"l2Timestamp","nameLocation":"3422:11:174","nodeType":"VariableDeclaration","scope":30664,"src":"3414:19:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30656,"name":"uint256","nodeType":"ElementaryTypeName","src":"3414:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30659,"mutability":"mutable","name":"value","nameLocation":"3451:5:174","nodeType":"VariableDeclaration","scope":30664,"src":"3443:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30658,"name":"uint256","nodeType":"ElementaryTypeName","src":"3443:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30661,"mutability":"mutable","name":"data","nameLocation":"3481:4:174","nodeType":"VariableDeclaration","scope":30664,"src":"3466:19:174","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30660,"name":"bytes","nodeType":"ElementaryTypeName","src":"3466:5:174","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3251:240:174"},"returnParameters":{"id":30663,"nodeType":"ParameterList","parameters":[],"src":"3500:0:174"},"scope":30724,"src":"3224:277:174","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30665,"nodeType":"StructuredDocumentation","src":"3507:935:174","text":" @dev function used to simulate the result of a particular function call from the outbox\n it is useful for things such as gas estimates. This function includes all costs except for\n proof validation (which can be considered offchain as a somewhat of a fixed cost - it's\n not really a fixed cost, but can be treated as so with a fixed overhead for gas estimation).\n We can't include the cost of proof validation since this is intended to be used to simulate txs\n that are included in yet-to-be confirmed merkle roots. The simulation entrypoint could instead pretend\n to confirm a pending merkle root, but that would be less practical for integrating with tooling.\n It is only possible to trigger it when the msg sender is address zero, which should be impossible\n unless under simulation in an eth_call or eth_estimateGas"},"functionSelector":"288e5b10","id":30684,"implemented":false,"kind":"function","modifiers":[],"name":"executeTransactionSimulation","nameLocation":"4456:28:174","nodeType":"FunctionDefinition","parameters":{"id":30682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30667,"mutability":"mutable","name":"index","nameLocation":"4502:5:174","nodeType":"VariableDeclaration","scope":30684,"src":"4494:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30666,"name":"uint256","nodeType":"ElementaryTypeName","src":"4494:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30669,"mutability":"mutable","name":"l2Sender","nameLocation":"4525:8:174","nodeType":"VariableDeclaration","scope":30684,"src":"4517:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30668,"name":"address","nodeType":"ElementaryTypeName","src":"4517:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30671,"mutability":"mutable","name":"to","nameLocation":"4551:2:174","nodeType":"VariableDeclaration","scope":30684,"src":"4543:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30670,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30673,"mutability":"mutable","name":"l2Block","nameLocation":"4571:7:174","nodeType":"VariableDeclaration","scope":30684,"src":"4563:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30672,"name":"uint256","nodeType":"ElementaryTypeName","src":"4563:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30675,"mutability":"mutable","name":"l1Block","nameLocation":"4596:7:174","nodeType":"VariableDeclaration","scope":30684,"src":"4588:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30674,"name":"uint256","nodeType":"ElementaryTypeName","src":"4588:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30677,"mutability":"mutable","name":"l2Timestamp","nameLocation":"4621:11:174","nodeType":"VariableDeclaration","scope":30684,"src":"4613:19:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30676,"name":"uint256","nodeType":"ElementaryTypeName","src":"4613:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30679,"mutability":"mutable","name":"value","nameLocation":"4650:5:174","nodeType":"VariableDeclaration","scope":30684,"src":"4642:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30678,"name":"uint256","nodeType":"ElementaryTypeName","src":"4642:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30681,"mutability":"mutable","name":"data","nameLocation":"4680:4:174","nodeType":"VariableDeclaration","scope":30684,"src":"4665:19:174","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30680,"name":"bytes","nodeType":"ElementaryTypeName","src":"4665:5:174","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4484:206:174"},"returnParameters":{"id":30683,"nodeType":"ParameterList","parameters":[],"src":"4699:0:174"},"scope":30724,"src":"4447:253:174","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":30685,"nodeType":"StructuredDocumentation","src":"4706:104:174","text":" @param index Merkle path to message\n @return true if the message has been spent"},"functionSelector":"5a129efe","id":30692,"implemented":false,"kind":"function","modifiers":[],"name":"isSpent","nameLocation":"4824:7:174","nodeType":"FunctionDefinition","parameters":{"id":30688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30687,"mutability":"mutable","name":"index","nameLocation":"4840:5:174","nodeType":"VariableDeclaration","scope":30692,"src":"4832:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30686,"name":"uint256","nodeType":"ElementaryTypeName","src":"4832:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4831:15:174"},"returnParameters":{"id":30691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30692,"src":"4870:4:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30689,"name":"bool","nodeType":"ElementaryTypeName","src":"4870:4:174","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4869:6:174"},"scope":30724,"src":"4815:61:174","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9f0c04bf","id":30711,"implemented":false,"kind":"function","modifiers":[],"name":"calculateItemHash","nameLocation":"4891:17:174","nodeType":"FunctionDefinition","parameters":{"id":30707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30694,"mutability":"mutable","name":"l2Sender","nameLocation":"4926:8:174","nodeType":"VariableDeclaration","scope":30711,"src":"4918:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30693,"name":"address","nodeType":"ElementaryTypeName","src":"4918:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30696,"mutability":"mutable","name":"to","nameLocation":"4952:2:174","nodeType":"VariableDeclaration","scope":30711,"src":"4944:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30695,"name":"address","nodeType":"ElementaryTypeName","src":"4944:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30698,"mutability":"mutable","name":"l2Block","nameLocation":"4972:7:174","nodeType":"VariableDeclaration","scope":30711,"src":"4964:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30697,"name":"uint256","nodeType":"ElementaryTypeName","src":"4964:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30700,"mutability":"mutable","name":"l1Block","nameLocation":"4997:7:174","nodeType":"VariableDeclaration","scope":30711,"src":"4989:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30699,"name":"uint256","nodeType":"ElementaryTypeName","src":"4989:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30702,"mutability":"mutable","name":"l2Timestamp","nameLocation":"5022:11:174","nodeType":"VariableDeclaration","scope":30711,"src":"5014:19:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30701,"name":"uint256","nodeType":"ElementaryTypeName","src":"5014:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30704,"mutability":"mutable","name":"value","nameLocation":"5051:5:174","nodeType":"VariableDeclaration","scope":30711,"src":"5043:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30703,"name":"uint256","nodeType":"ElementaryTypeName","src":"5043:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30706,"mutability":"mutable","name":"data","nameLocation":"5081:4:174","nodeType":"VariableDeclaration","scope":30711,"src":"5066:19:174","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30705,"name":"bytes","nodeType":"ElementaryTypeName","src":"5066:5:174","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4908:183:174"},"returnParameters":{"id":30710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30711,"src":"5115:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5115:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5114:9:174"},"scope":30724,"src":"4882:242:174","stateMutability":"pure","virtual":false,"visibility":"external"},{"functionSelector":"007436d3","id":30723,"implemented":false,"kind":"function","modifiers":[],"name":"calculateMerkleRoot","nameLocation":"5139:19:174","nodeType":"FunctionDefinition","parameters":{"id":30719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30714,"mutability":"mutable","name":"proof","nameLocation":"5185:5:174","nodeType":"VariableDeclaration","scope":30723,"src":"5168:22:174","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":30712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5168:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":30713,"nodeType":"ArrayTypeName","src":"5168:9:174","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":30716,"mutability":"mutable","name":"path","nameLocation":"5208:4:174","nodeType":"VariableDeclaration","scope":30723,"src":"5200:12:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30715,"name":"uint256","nodeType":"ElementaryTypeName","src":"5200:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30718,"mutability":"mutable","name":"item","nameLocation":"5230:4:174","nodeType":"VariableDeclaration","scope":30723,"src":"5222:12:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5222:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5158:82:174"},"returnParameters":{"id":30722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30723,"src":"5264:7:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5264:7:174","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5263:9:174"},"scope":30724,"src":"5130:143:174","stateMutability":"pure","virtual":false,"visibility":"external"}],"scope":30725,"src":"341:4934:174","usedErrors":[]}],"src":"283:4993:174"},"id":174},"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol","exportedSymbols":{"ICompoundTimelock":[30878]},"id":30879,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30726,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"121:23:175"},{"abstract":false,"baseContracts":[],"canonicalName":"ICompoundTimelock","contractDependencies":[],"contractKind":"interface","documentation":{"id":30727,"nodeType":"StructuredDocumentation","src":"146:130:175","text":" https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface"},"fullyImplemented":false,"id":30878,"linearizedBaseContracts":[30878],"name":"ICompoundTimelock","nameLocation":"287:17:175","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":30731,"name":"NewAdmin","nameLocation":"317:8:175","nodeType":"EventDefinition","parameters":{"id":30730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30729,"indexed":true,"mutability":"mutable","name":"newAdmin","nameLocation":"342:8:175","nodeType":"VariableDeclaration","scope":30731,"src":"326:24:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30728,"name":"address","nodeType":"ElementaryTypeName","src":"326:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"325:26:175"},"src":"311:41:175"},{"anonymous":false,"id":30735,"name":"NewPendingAdmin","nameLocation":"363:15:175","nodeType":"EventDefinition","parameters":{"id":30734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30733,"indexed":true,"mutability":"mutable","name":"newPendingAdmin","nameLocation":"395:15:175","nodeType":"VariableDeclaration","scope":30735,"src":"379:31:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30732,"name":"address","nodeType":"ElementaryTypeName","src":"379:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"378:33:175"},"src":"357:55:175"},{"anonymous":false,"id":30739,"name":"NewDelay","nameLocation":"423:8:175","nodeType":"EventDefinition","parameters":{"id":30738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30737,"indexed":true,"mutability":"mutable","name":"newDelay","nameLocation":"448:8:175","nodeType":"VariableDeclaration","scope":30739,"src":"432:24:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30736,"name":"uint256","nodeType":"ElementaryTypeName","src":"432:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"431:26:175"},"src":"417:41:175"},{"anonymous":false,"id":30753,"name":"CancelTransaction","nameLocation":"469:17:175","nodeType":"EventDefinition","parameters":{"id":30752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30741,"indexed":true,"mutability":"mutable","name":"txHash","nameLocation":"512:6:175","nodeType":"VariableDeclaration","scope":30753,"src":"496:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30743,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"544:6:175","nodeType":"VariableDeclaration","scope":30753,"src":"528:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30742,"name":"address","nodeType":"ElementaryTypeName","src":"528:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30745,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"568:5:175","nodeType":"VariableDeclaration","scope":30753,"src":"560:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30744,"name":"uint256","nodeType":"ElementaryTypeName","src":"560:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30747,"indexed":false,"mutability":"mutable","name":"signature","nameLocation":"590:9:175","nodeType":"VariableDeclaration","scope":30753,"src":"583:16:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30746,"name":"string","nodeType":"ElementaryTypeName","src":"583:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30749,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"615:4:175","nodeType":"VariableDeclaration","scope":30753,"src":"609:10:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30748,"name":"bytes","nodeType":"ElementaryTypeName","src":"609:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30751,"indexed":false,"mutability":"mutable","name":"eta","nameLocation":"637:3:175","nodeType":"VariableDeclaration","scope":30753,"src":"629:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30750,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"486:160:175"},"src":"463:184:175"},{"anonymous":false,"id":30767,"name":"ExecuteTransaction","nameLocation":"658:18:175","nodeType":"EventDefinition","parameters":{"id":30766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30755,"indexed":true,"mutability":"mutable","name":"txHash","nameLocation":"702:6:175","nodeType":"VariableDeclaration","scope":30767,"src":"686:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"686:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30757,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"734:6:175","nodeType":"VariableDeclaration","scope":30767,"src":"718:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30756,"name":"address","nodeType":"ElementaryTypeName","src":"718:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30759,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"758:5:175","nodeType":"VariableDeclaration","scope":30767,"src":"750:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30758,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30761,"indexed":false,"mutability":"mutable","name":"signature","nameLocation":"780:9:175","nodeType":"VariableDeclaration","scope":30767,"src":"773:16:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30760,"name":"string","nodeType":"ElementaryTypeName","src":"773:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30763,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"805:4:175","nodeType":"VariableDeclaration","scope":30767,"src":"799:10:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30762,"name":"bytes","nodeType":"ElementaryTypeName","src":"799:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30765,"indexed":false,"mutability":"mutable","name":"eta","nameLocation":"827:3:175","nodeType":"VariableDeclaration","scope":30767,"src":"819:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30764,"name":"uint256","nodeType":"ElementaryTypeName","src":"819:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"676:160:175"},"src":"652:185:175"},{"anonymous":false,"id":30781,"name":"QueueTransaction","nameLocation":"848:16:175","nodeType":"EventDefinition","parameters":{"id":30780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30769,"indexed":true,"mutability":"mutable","name":"txHash","nameLocation":"890:6:175","nodeType":"VariableDeclaration","scope":30781,"src":"874:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"874:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30771,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"922:6:175","nodeType":"VariableDeclaration","scope":30781,"src":"906:22:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30770,"name":"address","nodeType":"ElementaryTypeName","src":"906:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30773,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"946:5:175","nodeType":"VariableDeclaration","scope":30781,"src":"938:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30772,"name":"uint256","nodeType":"ElementaryTypeName","src":"938:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30775,"indexed":false,"mutability":"mutable","name":"signature","nameLocation":"968:9:175","nodeType":"VariableDeclaration","scope":30781,"src":"961:16:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30774,"name":"string","nodeType":"ElementaryTypeName","src":"961:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30777,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"993:4:175","nodeType":"VariableDeclaration","scope":30781,"src":"987:10:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30776,"name":"bytes","nodeType":"ElementaryTypeName","src":"987:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30779,"indexed":false,"mutability":"mutable","name":"eta","nameLocation":"1015:3:175","nodeType":"VariableDeclaration","scope":30781,"src":"1007:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30778,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"864:160:175"},"src":"842:183:175"},{"id":30784,"implemented":false,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":30782,"nodeType":"ParameterList","parameters":[],"src":"1038:2:175"},"returnParameters":{"id":30783,"nodeType":"ParameterList","parameters":[],"src":"1057:0:175"},"scope":30878,"src":"1031:27:175","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"c1a287e2","id":30789,"implemented":false,"kind":"function","modifiers":[],"name":"GRACE_PERIOD","nameLocation":"1126:12:175","nodeType":"FunctionDefinition","parameters":{"id":30785,"nodeType":"ParameterList","parameters":[],"src":"1138:2:175"},"returnParameters":{"id":30788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30789,"src":"1164:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1164:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1163:9:175"},"scope":30878,"src":"1117:56:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"b1b43ae5","id":30794,"implemented":false,"kind":"function","modifiers":[],"name":"MINIMUM_DELAY","nameLocation":"1241:13:175","nodeType":"FunctionDefinition","parameters":{"id":30790,"nodeType":"ParameterList","parameters":[],"src":"1254:2:175"},"returnParameters":{"id":30793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30792,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30794,"src":"1280:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30791,"name":"uint256","nodeType":"ElementaryTypeName","src":"1280:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1279:9:175"},"scope":30878,"src":"1232:57:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7d645fab","id":30799,"implemented":false,"kind":"function","modifiers":[],"name":"MAXIMUM_DELAY","nameLocation":"1357:13:175","nodeType":"FunctionDefinition","parameters":{"id":30795,"nodeType":"ParameterList","parameters":[],"src":"1370:2:175"},"returnParameters":{"id":30798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30797,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30799,"src":"1396:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30796,"name":"uint256","nodeType":"ElementaryTypeName","src":"1396:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1395:9:175"},"scope":30878,"src":"1348:57:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f851a440","id":30804,"implemented":false,"kind":"function","modifiers":[],"name":"admin","nameLocation":"1420:5:175","nodeType":"FunctionDefinition","parameters":{"id":30800,"nodeType":"ParameterList","parameters":[],"src":"1425:2:175"},"returnParameters":{"id":30803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30804,"src":"1451:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30801,"name":"address","nodeType":"ElementaryTypeName","src":"1451:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1450:9:175"},"scope":30878,"src":"1411:49:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"26782247","id":30809,"implemented":false,"kind":"function","modifiers":[],"name":"pendingAdmin","nameLocation":"1475:12:175","nodeType":"FunctionDefinition","parameters":{"id":30805,"nodeType":"ParameterList","parameters":[],"src":"1487:2:175"},"returnParameters":{"id":30808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30809,"src":"1513:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30806,"name":"address","nodeType":"ElementaryTypeName","src":"1513:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1512:9:175"},"scope":30878,"src":"1466:56:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6a42b8f8","id":30814,"implemented":false,"kind":"function","modifiers":[],"name":"delay","nameLocation":"1537:5:175","nodeType":"FunctionDefinition","parameters":{"id":30810,"nodeType":"ParameterList","parameters":[],"src":"1542:2:175"},"returnParameters":{"id":30813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30814,"src":"1568:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30811,"name":"uint256","nodeType":"ElementaryTypeName","src":"1568:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1567:9:175"},"scope":30878,"src":"1528:49:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f2b06537","id":30821,"implemented":false,"kind":"function","modifiers":[],"name":"queuedTransactions","nameLocation":"1592:18:175","nodeType":"FunctionDefinition","parameters":{"id":30817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30821,"src":"1611:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1611:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1610:9:175"},"returnParameters":{"id":30820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30821,"src":"1643:4:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30818,"name":"bool","nodeType":"ElementaryTypeName","src":"1643:4:175","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1642:6:175"},"scope":30878,"src":"1583:66:175","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e177246e","id":30826,"implemented":false,"kind":"function","modifiers":[],"name":"setDelay","nameLocation":"1664:8:175","nodeType":"FunctionDefinition","parameters":{"id":30824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30826,"src":"1673:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30822,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1672:9:175"},"returnParameters":{"id":30825,"nodeType":"ParameterList","parameters":[],"src":"1690:0:175"},"scope":30878,"src":"1655:36:175","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0e18b681","id":30829,"implemented":false,"kind":"function","modifiers":[],"name":"acceptAdmin","nameLocation":"1706:11:175","nodeType":"FunctionDefinition","parameters":{"id":30827,"nodeType":"ParameterList","parameters":[],"src":"1717:2:175"},"returnParameters":{"id":30828,"nodeType":"ParameterList","parameters":[],"src":"1728:0:175"},"scope":30878,"src":"1697:32:175","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4dd18bf5","id":30834,"implemented":false,"kind":"function","modifiers":[],"name":"setPendingAdmin","nameLocation":"1744:15:175","nodeType":"FunctionDefinition","parameters":{"id":30832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30834,"src":"1760:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30830,"name":"address","nodeType":"ElementaryTypeName","src":"1760:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1759:9:175"},"returnParameters":{"id":30833,"nodeType":"ParameterList","parameters":[],"src":"1777:0:175"},"scope":30878,"src":"1735:43:175","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3a66f901","id":30849,"implemented":false,"kind":"function","modifiers":[],"name":"queueTransaction","nameLocation":"1793:16:175","nodeType":"FunctionDefinition","parameters":{"id":30845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30836,"mutability":"mutable","name":"target","nameLocation":"1827:6:175","nodeType":"VariableDeclaration","scope":30849,"src":"1819:14:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30835,"name":"address","nodeType":"ElementaryTypeName","src":"1819:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30838,"mutability":"mutable","name":"value","nameLocation":"1851:5:175","nodeType":"VariableDeclaration","scope":30849,"src":"1843:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30837,"name":"uint256","nodeType":"ElementaryTypeName","src":"1843:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30840,"mutability":"mutable","name":"signature","nameLocation":"1880:9:175","nodeType":"VariableDeclaration","scope":30849,"src":"1866:23:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30839,"name":"string","nodeType":"ElementaryTypeName","src":"1866:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30842,"mutability":"mutable","name":"data","nameLocation":"1912:4:175","nodeType":"VariableDeclaration","scope":30849,"src":"1899:17:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30841,"name":"bytes","nodeType":"ElementaryTypeName","src":"1899:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30844,"mutability":"mutable","name":"eta","nameLocation":"1934:3:175","nodeType":"VariableDeclaration","scope":30849,"src":"1926:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30843,"name":"uint256","nodeType":"ElementaryTypeName","src":"1926:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1809:134:175"},"returnParameters":{"id":30848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30849,"src":"1962:7:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1962:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1961:9:175"},"scope":30878,"src":"1784:187:175","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"591fcdfe","id":30862,"implemented":false,"kind":"function","modifiers":[],"name":"cancelTransaction","nameLocation":"1986:17:175","nodeType":"FunctionDefinition","parameters":{"id":30860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30851,"mutability":"mutable","name":"target","nameLocation":"2021:6:175","nodeType":"VariableDeclaration","scope":30862,"src":"2013:14:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30850,"name":"address","nodeType":"ElementaryTypeName","src":"2013:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30853,"mutability":"mutable","name":"value","nameLocation":"2045:5:175","nodeType":"VariableDeclaration","scope":30862,"src":"2037:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30852,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30855,"mutability":"mutable","name":"signature","nameLocation":"2074:9:175","nodeType":"VariableDeclaration","scope":30862,"src":"2060:23:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30854,"name":"string","nodeType":"ElementaryTypeName","src":"2060:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30857,"mutability":"mutable","name":"data","nameLocation":"2106:4:175","nodeType":"VariableDeclaration","scope":30862,"src":"2093:17:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30856,"name":"bytes","nodeType":"ElementaryTypeName","src":"2093:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30859,"mutability":"mutable","name":"eta","nameLocation":"2128:3:175","nodeType":"VariableDeclaration","scope":30862,"src":"2120:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30858,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2003:134:175"},"returnParameters":{"id":30861,"nodeType":"ParameterList","parameters":[],"src":"2146:0:175"},"scope":30878,"src":"1977:170:175","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0825f38f","id":30877,"implemented":false,"kind":"function","modifiers":[],"name":"executeTransaction","nameLocation":"2162:18:175","nodeType":"FunctionDefinition","parameters":{"id":30873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30864,"mutability":"mutable","name":"target","nameLocation":"2198:6:175","nodeType":"VariableDeclaration","scope":30877,"src":"2190:14:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30863,"name":"address","nodeType":"ElementaryTypeName","src":"2190:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30866,"mutability":"mutable","name":"value","nameLocation":"2222:5:175","nodeType":"VariableDeclaration","scope":30877,"src":"2214:13:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30865,"name":"uint256","nodeType":"ElementaryTypeName","src":"2214:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30868,"mutability":"mutable","name":"signature","nameLocation":"2251:9:175","nodeType":"VariableDeclaration","scope":30877,"src":"2237:23:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30867,"name":"string","nodeType":"ElementaryTypeName","src":"2237:6:175","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30870,"mutability":"mutable","name":"data","nameLocation":"2283:4:175","nodeType":"VariableDeclaration","scope":30877,"src":"2270:17:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30869,"name":"bytes","nodeType":"ElementaryTypeName","src":"2270:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30872,"mutability":"mutable","name":"eta","nameLocation":"2305:3:175","nodeType":"VariableDeclaration","scope":30877,"src":"2297:11:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30871,"name":"uint256","nodeType":"ElementaryTypeName","src":"2297:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2180:134:175"},"returnParameters":{"id":30876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30877,"src":"2341:12:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30874,"name":"bytes","nodeType":"ElementaryTypeName","src":"2341:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2340:14:175"},"scope":30878,"src":"2153:202:175","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":30879,"src":"277:2080:175","usedErrors":[]}],"src":"121:2237:175"},"id":175},"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol","exportedSymbols":{"ICrossDomainMessenger":[30917]},"id":30918,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30880,"literals":["solidity",">","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"124:30:176"},{"abstract":false,"baseContracts":[],"canonicalName":"ICrossDomainMessenger","contractDependencies":[],"contractKind":"interface","documentation":{"id":30881,"nodeType":"StructuredDocumentation","src":"156:39:176","text":" @title ICrossDomainMessenger"},"fullyImplemented":false,"id":30917,"linearizedBaseContracts":[30917],"name":"ICrossDomainMessenger","nameLocation":"206:21:176","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":30893,"name":"SentMessage","nameLocation":"290:11:176","nodeType":"EventDefinition","parameters":{"id":30892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30883,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"318:6:176","nodeType":"VariableDeclaration","scope":30893,"src":"302:22:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30882,"name":"address","nodeType":"ElementaryTypeName","src":"302:7:176","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30885,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"334:6:176","nodeType":"VariableDeclaration","scope":30893,"src":"326:14:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30884,"name":"address","nodeType":"ElementaryTypeName","src":"326:7:176","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30887,"indexed":false,"mutability":"mutable","name":"message","nameLocation":"348:7:176","nodeType":"VariableDeclaration","scope":30893,"src":"342:13:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":30886,"name":"bytes","nodeType":"ElementaryTypeName","src":"342:5:176","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30889,"indexed":false,"mutability":"mutable","name":"messageNonce","nameLocation":"365:12:176","nodeType":"VariableDeclaration","scope":30893,"src":"357:20:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30888,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:176","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30891,"indexed":false,"mutability":"mutable","name":"gasLimit","nameLocation":"387:8:176","nodeType":"VariableDeclaration","scope":30893,"src":"379:16:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30890,"name":"uint256","nodeType":"ElementaryTypeName","src":"379:7:176","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"301:95:176"},"src":"284:113:176"},{"anonymous":false,"id":30897,"name":"RelayedMessage","nameLocation":"408:14:176","nodeType":"EventDefinition","parameters":{"id":30896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30895,"indexed":true,"mutability":"mutable","name":"msgHash","nameLocation":"439:7:176","nodeType":"VariableDeclaration","scope":30897,"src":"423:23:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423:7:176","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"422:25:176"},"src":"402:46:176"},{"anonymous":false,"id":30901,"name":"FailedRelayedMessage","nameLocation":"459:20:176","nodeType":"EventDefinition","parameters":{"id":30900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30899,"indexed":true,"mutability":"mutable","name":"msgHash","nameLocation":"496:7:176","nodeType":"VariableDeclaration","scope":30901,"src":"480:23:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"480:7:176","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"479:25:176"},"src":"453:52:176"},{"functionSelector":"6e296e45","id":30906,"implemented":false,"kind":"function","modifiers":[],"name":"xDomainMessageSender","nameLocation":"579:20:176","nodeType":"FunctionDefinition","parameters":{"id":30902,"nodeType":"ParameterList","parameters":[],"src":"599:2:176"},"returnParameters":{"id":30905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30906,"src":"625:7:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30903,"name":"address","nodeType":"ElementaryTypeName","src":"625:7:176","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"624:9:176"},"scope":30917,"src":"570:64:176","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":30907,"nodeType":"StructuredDocumentation","src":"720:233:176","text":" Sends a cross domain message to the target messenger.\n @param _target Target contract address.\n @param _message Message to send to the target.\n @param _gasLimit Gas limit for the provided message."},"functionSelector":"3dbb202b","id":30916,"implemented":false,"kind":"function","modifiers":[],"name":"sendMessage","nameLocation":"967:11:176","nodeType":"FunctionDefinition","parameters":{"id":30914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30909,"mutability":"mutable","name":"_target","nameLocation":"996:7:176","nodeType":"VariableDeclaration","scope":30916,"src":"988:15:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30908,"name":"address","nodeType":"ElementaryTypeName","src":"988:7:176","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30911,"mutability":"mutable","name":"_message","nameLocation":"1028:8:176","nodeType":"VariableDeclaration","scope":30916,"src":"1013:23:176","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30910,"name":"bytes","nodeType":"ElementaryTypeName","src":"1013:5:176","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":30913,"mutability":"mutable","name":"_gasLimit","nameLocation":"1053:9:176","nodeType":"VariableDeclaration","scope":30916,"src":"1046:16:176","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":30912,"name":"uint32","nodeType":"ElementaryTypeName","src":"1046:6:176","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"978:90:176"},"returnParameters":{"id":30915,"nodeType":"ParameterList","parameters":[],"src":"1077:0:176"},"scope":30917,"src":"958:120:176","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":30918,"src":"196:884:176","usedErrors":[]}],"src":"124:957:176"},"id":176},"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol":{"ast":{"absolutePath":"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol","exportedSymbols":{"IFxMessageProcessor":[30929]},"id":30930,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30919,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"121:23:177"},{"abstract":false,"baseContracts":[],"canonicalName":"IFxMessageProcessor","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":30929,"linearizedBaseContracts":[30929],"name":"IFxMessageProcessor","nameLocation":"156:19:177","nodeType":"ContractDefinition","nodes":[{"functionSelector":"9a7c4b71","id":30928,"implemented":false,"kind":"function","modifiers":[],"name":"processMessageFromRoot","nameLocation":"191:22:177","nodeType":"FunctionDefinition","parameters":{"id":30926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30921,"mutability":"mutable","name":"stateId","nameLocation":"231:7:177","nodeType":"VariableDeclaration","scope":30928,"src":"223:15:177","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30920,"name":"uint256","nodeType":"ElementaryTypeName","src":"223:7:177","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30923,"mutability":"mutable","name":"rootMessageSender","nameLocation":"256:17:177","nodeType":"VariableDeclaration","scope":30928,"src":"248:25:177","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30922,"name":"address","nodeType":"ElementaryTypeName","src":"248:7:177","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30925,"mutability":"mutable","name":"data","nameLocation":"298:4:177","nodeType":"VariableDeclaration","scope":30928,"src":"283:19:177","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":30924,"name":"bytes","nodeType":"ElementaryTypeName","src":"283:5:177","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"213:95:177"},"returnParameters":{"id":30927,"nodeType":"ParameterList","parameters":[],"src":"317:0:177"},"scope":30929,"src":"182:136:177","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":30930,"src":"146:174:177","usedErrors":[]}],"src":"121:200:177"},"id":177},"contracts/CompilerCheck.sol":{"ast":{"absolutePath":"contracts/CompilerCheck.sol","exportedSymbols":{"CompilerCheck":[30932]},"id":30933,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30931,"literals":["solidity",">=","0.0",".0"],"nodeType":"PragmaDirective","src":"32:24:178"},{"abstract":false,"baseContracts":[],"canonicalName":"CompilerCheck","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":30932,"linearizedBaseContracts":[30932],"name":"CompilerCheck","nameLocation":"66:13:178","nodeType":"ContractDefinition","nodes":[],"scope":30933,"src":"57:25:178","usedErrors":[]}],"src":"32:51:178"},"id":178},"contracts/Migrations.sol":{"ast":{"absolutePath":"contracts/Migrations.sol","exportedSymbols":{"Migrations":[30990]},"id":30991,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30934,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:179"},{"abstract":false,"baseContracts":[],"canonicalName":"Migrations","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":30990,"linearizedBaseContracts":[30990],"name":"Migrations","nameLocation":"66:10:179","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8da5cb5b","id":30936,"mutability":"mutable","name":"owner","nameLocation":"96:5:179","nodeType":"VariableDeclaration","scope":30990,"src":"81:20:179","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30935,"name":"address","nodeType":"ElementaryTypeName","src":"81:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"445df0ac","id":30938,"mutability":"mutable","name":"last_completed_migration","nameLocation":"117:24:179","nodeType":"VariableDeclaration","scope":30990,"src":"105:36:179","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30937,"name":"uint","nodeType":"ElementaryTypeName","src":"105:4:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"body":{"id":30946,"nodeType":"Block","src":"160:29:179","statements":[{"expression":{"id":30944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30941,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30936,"src":"166:5:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":30942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"174:3:179","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":30943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"174:10:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"166:18:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":30945,"nodeType":"ExpressionStatement","src":"166:18:179"}]},"id":30947,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":30939,"nodeType":"ParameterList","parameters":[],"src":"157:2:179"},"returnParameters":{"id":30940,"nodeType":"ParameterList","parameters":[],"src":"160:0:179"},"scope":30990,"src":"146:43:179","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":30955,"nodeType":"Block","src":"215:37:179","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":30952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30949,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"225:3:179","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":30950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"225:10:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30951,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30936,"src":"239:5:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"225:19:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30954,"nodeType":"IfStatement","src":"221:26:179","trueBody":{"id":30953,"nodeType":"PlaceholderStatement","src":"246:1:179"}}]},"id":30956,"name":"restricted","nameLocation":"202:10:179","nodeType":"ModifierDefinition","parameters":{"id":30948,"nodeType":"ParameterList","parameters":[],"src":"212:2:179"},"src":"193:59:179","virtual":false,"visibility":"internal"},{"body":{"id":30967,"nodeType":"Block","src":"312:47:179","statements":[{"expression":{"id":30965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30963,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30938,"src":"318:24:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":30964,"name":"completed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30958,"src":"345:9:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"318:36:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":30966,"nodeType":"ExpressionStatement","src":"318:36:179"}]},"functionSelector":"fdacd576","id":30968,"implemented":true,"kind":"function","modifiers":[{"id":30961,"kind":"modifierInvocation","modifierName":{"id":30960,"name":"restricted","nodeType":"IdentifierPath","referencedDeclaration":30956,"src":"301:10:179"},"nodeType":"ModifierInvocation","src":"301:10:179"}],"name":"setCompleted","nameLocation":"265:12:179","nodeType":"FunctionDefinition","parameters":{"id":30959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30958,"mutability":"mutable","name":"completed","nameLocation":"283:9:179","nodeType":"VariableDeclaration","scope":30968,"src":"278:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30957,"name":"uint","nodeType":"ElementaryTypeName","src":"278:4:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"277:16:179"},"returnParameters":{"id":30962,"nodeType":"ParameterList","parameters":[],"src":"312:0:179"},"scope":30990,"src":"256:103:179","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":30988,"nodeType":"Block","src":"419:109:179","statements":[{"assignments":[30977],"declarations":[{"constant":false,"id":30977,"mutability":"mutable","name":"upgraded","nameLocation":"436:8:179","nodeType":"VariableDeclaration","scope":30988,"src":"425:19:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$30990","typeString":"contract Migrations"},"typeName":{"id":30976,"nodeType":"UserDefinedTypeName","pathNode":{"id":30975,"name":"Migrations","nodeType":"IdentifierPath","referencedDeclaration":30990,"src":"425:10:179"},"referencedDeclaration":30990,"src":"425:10:179","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$30990","typeString":"contract Migrations"}},"visibility":"internal"}],"id":30981,"initialValue":{"arguments":[{"id":30979,"name":"new_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"458:11:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":30978,"name":"Migrations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30990,"src":"447:10:179","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Migrations_$30990_$","typeString":"type(contract Migrations)"}},"id":30980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"447:23:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$30990","typeString":"contract Migrations"}},"nodeType":"VariableDeclarationStatement","src":"425:45:179"},{"expression":{"arguments":[{"id":30985,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30938,"src":"498:24:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30982,"name":"upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30977,"src":"476:8:179","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$30990","typeString":"contract Migrations"}},"id":30984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setCompleted","nodeType":"MemberAccess","referencedDeclaration":30968,"src":"476:21:179","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":30986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"476:47:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30987,"nodeType":"ExpressionStatement","src":"476:47:179"}]},"functionSelector":"0900f010","id":30989,"implemented":true,"kind":"function","modifiers":[{"id":30973,"kind":"modifierInvocation","modifierName":{"id":30972,"name":"restricted","nodeType":"IdentifierPath","referencedDeclaration":30956,"src":"408:10:179"},"nodeType":"ModifierInvocation","src":"408:10:179"}],"name":"upgrade","nameLocation":"372:7:179","nodeType":"FunctionDefinition","parameters":{"id":30971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30970,"mutability":"mutable","name":"new_address","nameLocation":"388:11:179","nodeType":"VariableDeclaration","scope":30989,"src":"380:19:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30969,"name":"address","nodeType":"ElementaryTypeName","src":"380:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"379:21:179"},"returnParameters":{"id":30974,"nodeType":"ParameterList","parameters":[],"src":"419:0:179"},"scope":30990,"src":"363:165:179","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":30991,"src":"57:473:179","usedErrors":[]}],"src":"32:498:179"},"id":179},"contracts/Token.sol":{"ast":{"absolutePath":"contracts/Token.sol","exportedSymbols":{"Context":[711],"ERC20":[586],"IERC20":[664],"IERC20Metadata":[689],"Token":[31010]},"id":31011,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":30992,"literals":["solidity","^","0.8",".7"],"nodeType":"PragmaDirective","src":"32:23:180"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","id":30993,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31011,"sourceUnit":587,"src":"57:55:180","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":30994,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":586,"src":"132:5:180"},"id":30995,"nodeType":"InheritanceSpecifier","src":"132:5:180"}],"canonicalName":"Token","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":31010,"linearizedBaseContracts":[31010,586,689,664,711],"name":"Token","nameLocation":"123:5:180","nodeType":"ContractDefinition","nodes":[{"body":{"id":31008,"nodeType":"Block","src":"180:46:180","statements":[{"expression":{"arguments":[{"expression":{"id":31003,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"196:3:180","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":31004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"196:10:180","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31303030303030303030","id":31005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"208:10:180","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}],"id":31002,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"190:5:180","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":31006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"190:29:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31007,"nodeType":"ExpressionStatement","src":"190:29:180"}]},"id":31009,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"546f6b656e","id":30998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"164:7:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_1317f51c845ce3bfb7c268e5337a825f12f3d0af9584c2bbfbf4e64e314eaf73","typeString":"literal_string \"Token\""},"value":"Token"},{"hexValue":"58595a","id":30999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"173:5:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_27fd9bb70fcea8125f7e0ba4eaeda4fb5ff28f5535e452dc1b70a42f567f4d75","typeString":"literal_string \"XYZ\""},"value":"XYZ"}],"id":31000,"kind":"baseConstructorSpecifier","modifierName":{"id":30997,"name":"ERC20","nodeType":"IdentifierPath","referencedDeclaration":586,"src":"158:5:180"},"nodeType":"ModifierInvocation","src":"158:21:180"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":30996,"nodeType":"ParameterList","parameters":[],"src":"155:2:180"},"returnParameters":{"id":31001,"nodeType":"ParameterList","parameters":[],"src":"180:0:180"},"scope":31010,"src":"144:82:180","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":31011,"src":"114:114:180","usedErrors":[]}],"src":"32:196:180"},"id":180}},"contracts":{"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_44":{"entryPoint":null,"id":44,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":292,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":2},"extract_byte_array_length":{"entryPoint":581,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":270,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1985:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1154:444:181","statements":[{"body":{"nodeType":"YulBlock","src":"1200:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1209:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1212:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1202:6:181"},"nodeType":"YulFunctionCall","src":"1202:12:181"},"nodeType":"YulExpressionStatement","src":"1202:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1175:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1171:3:181"},"nodeType":"YulFunctionCall","src":"1171:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1196:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1167:3:181"},"nodeType":"YulFunctionCall","src":"1167:32:181"},"nodeType":"YulIf","src":"1164:52:181"},{"nodeType":"YulVariableDeclaration","src":"1225:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1239:5:181"},"nodeType":"YulFunctionCall","src":"1239:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1229:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1264:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1278:3:181"},"nodeType":"YulFunctionCall","src":"1278:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1290:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1274:3:181"},"nodeType":"YulFunctionCall","src":"1274:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1268:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1319:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1328:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1331:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1321:6:181"},"nodeType":"YulFunctionCall","src":"1321:12:181"},"nodeType":"YulExpressionStatement","src":"1321:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1307:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1315:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1304:2:181"},"nodeType":"YulFunctionCall","src":"1304:14:181"},"nodeType":"YulIf","src":"1301:34:181"},{"nodeType":"YulAssignment","src":"1344:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1387:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1383:3:181"},"nodeType":"YulFunctionCall","src":"1383:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1407:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1354:28:181"},"nodeType":"YulFunctionCall","src":"1354:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1344:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1424:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1450:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1461:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1446:3:181"},"nodeType":"YulFunctionCall","src":"1446:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1440:5:181"},"nodeType":"YulFunctionCall","src":"1440:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1428:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1494:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:181"},"nodeType":"YulFunctionCall","src":"1496:12:181"},"nodeType":"YulExpressionStatement","src":"1496:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1480:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1490:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:16:181"},"nodeType":"YulIf","src":"1474:36:181"},{"nodeType":"YulAssignment","src":"1519:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1562:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1573:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1558:3:181"},"nodeType":"YulFunctionCall","src":"1558:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1584:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1529:28:181"},"nodeType":"YulFunctionCall","src":"1529:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1519:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1112:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1123:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1135:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1143:6:181","type":""}],"src":"1036:562:181"},{"body":{"nodeType":"YulBlock","src":"1658:325:181","statements":[{"nodeType":"YulAssignment","src":"1668:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1682:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1685:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1678:3:181"},"nodeType":"YulFunctionCall","src":"1678:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1668:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1699:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1729:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1735:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1725:3:181"},"nodeType":"YulFunctionCall","src":"1725:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1703:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1776:31:181","statements":[{"nodeType":"YulAssignment","src":"1778:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1792:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1800:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1788:3:181"},"nodeType":"YulFunctionCall","src":"1788:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1778:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1756:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1749:6:181"},"nodeType":"YulFunctionCall","src":"1749:26:181"},"nodeType":"YulIf","src":"1746:61:181"},{"body":{"nodeType":"YulBlock","src":"1866:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1887:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1894:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1899:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1890:3:181"},"nodeType":"YulFunctionCall","src":"1890:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1880:6:181"},"nodeType":"YulFunctionCall","src":"1880:31:181"},"nodeType":"YulExpressionStatement","src":"1880:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1931:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1934:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1924:6:181"},"nodeType":"YulFunctionCall","src":"1924:15:181"},"nodeType":"YulExpressionStatement","src":"1924:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1962:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1952:6:181"},"nodeType":"YulFunctionCall","src":"1952:15:181"},"nodeType":"YulExpressionStatement","src":"1952:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1822:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1845:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1853:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1842:2:181"},"nodeType":"YulFunctionCall","src":"1842:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1819:2:181"},"nodeType":"YulFunctionCall","src":"1819:38:181"},"nodeType":"YulIf","src":"1816:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1638:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1647:6:181","type":""}],"src":"1603:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000aef38038062000aef8339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b61085d80620002926000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220386e979d9329ceadbf583809e46ad63e1dade6c87cc830b59b0526e0be9adc7964736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xAEF CODESIZE SUB DUP1 PUSH3 0xAEF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1DB JUMP JUMPDEST DUP2 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP POP POP PUSH3 0x282 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x76 SWAP1 PUSH3 0x245 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x9A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC8 JUMP JUMPDEST POP PUSH3 0xF3 SWAP3 SWAP2 POP PUSH3 0xF7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xF3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xF8 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 PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x153 JUMPI PUSH3 0x153 PUSH3 0x10E 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 PUSH3 0x17E JUMPI PUSH3 0x17E PUSH3 0x10E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x1BF JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1A0 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x1D1 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x215 DUP7 DUP4 DUP8 ADD PUSH3 0x124 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x23B DUP6 DUP3 DUP7 ADD PUSH3 0x124 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x25A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x27C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85D DUP1 PUSH3 0x292 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 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODESIZE PUSH15 0x979D9329CEADBF583809E46AD63E1D 0xAD 0xE6 0xC8 PUSH29 0xC830B59B0526E0BE9ADC7964736F6C6343000809003300000000000000 ","sourceMap":"1401:11610:0:-:0;;;1976:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2065:17:0;;;;:7;;:17;;;;;:::i;:::-;;1976:113;;1401:11610;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1401:11610:0;;;-1:-1:-1;1401:11610:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:181;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;:::-;1401:11610:0;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_585":{"entryPoint":null,"id":585,"parameterSlots":3,"returnSlots":0},"@_approve_520":{"entryPoint":856,"id":520,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_574":{"entryPoint":null,"id":574,"parameterSlots":3,"returnSlots":0},"@_msgSender_701":{"entryPoint":null,"id":701,"parameterSlots":0,"returnSlots":1},"@_spendAllowance_563":{"entryPoint":1148,"id":563,"parameterSlots":3,"returnSlots":0},"@_transfer_346":{"entryPoint":1270,"id":346,"parameterSlots":3,"returnSlots":0},"@allowance_141":{"entryPoint":813,"id":141,"parameterSlots":2,"returnSlots":1},"@approve_166":{"entryPoint":562,"id":166,"parameterSlots":2,"returnSlots":1},"@balanceOf_98":{"entryPoint":null,"id":98,"parameterSlots":1,"returnSlots":1},"@decimals_74":{"entryPoint":null,"id":74,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_269":{"entryPoint":671,"id":269,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_228":{"entryPoint":622,"id":228,"parameterSlots":2,"returnSlots":1},"@name_54":{"entryPoint":416,"id":54,"parameterSlots":0,"returnSlots":1},"@symbol_64":{"entryPoint":656,"id":64,"parameterSlots":0,"returnSlots":1},"@totalSupply_84":{"entryPoint":null,"id":84,"parameterSlots":0,"returnSlots":1},"@transferFrom_199":{"entryPoint":586,"id":199,"parameterSlots":3,"returnSlots":1},"@transfer_123":{"entryPoint":799,"id":123,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":1775,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1905,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":1939,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":1845,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":1803,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1690,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__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},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2049,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":1990,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5806:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:476:181","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:181"},"nodeType":"YulFunctionCall","src":"166:21:181"},"nodeType":"YulExpressionStatement","src":"166:21:181"},{"nodeType":"YulVariableDeclaration","src":"196:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:181"},"nodeType":"YulFunctionCall","src":"210:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:181"},"nodeType":"YulFunctionCall","src":"232:34:181"},"nodeType":"YulExpressionStatement","src":"232:34:181"},{"nodeType":"YulVariableDeclaration","src":"275:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:181"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:181"},"nodeType":"YulFunctionCall","src":"369:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:181"},"nodeType":"YulFunctionCall","src":"365:26:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:181"},"nodeType":"YulFunctionCall","src":"403:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:181"},"nodeType":"YulFunctionCall","src":"399:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:181"},"nodeType":"YulFunctionCall","src":"393:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:181"},"nodeType":"YulFunctionCall","src":"358:66:181"},"nodeType":"YulExpressionStatement","src":"358:66:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:181","statements":[{"nodeType":"YulAssignment","src":"318:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:181"},"nodeType":"YulFunctionCall","src":"323:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:181","statements":[]},"src":"294:140:181"},{"body":{"nodeType":"YulBlock","src":"468:66:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"497:9:181"},{"name":"length","nodeType":"YulIdentifier","src":"508:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"493:3:181"},"nodeType":"YulFunctionCall","src":"493:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"489:3:181"},"nodeType":"YulFunctionCall","src":"489:31:181"},{"kind":"number","nodeType":"YulLiteral","src":"522:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"482:6:181"},"nodeType":"YulFunctionCall","src":"482:42:181"},"nodeType":"YulExpressionStatement","src":"482:42:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"449:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"446:2:181"},"nodeType":"YulFunctionCall","src":"446:13:181"},"nodeType":"YulIf","src":"443:91:181"},{"nodeType":"YulAssignment","src":"543:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"559:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"578:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"586:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"574:3:181"},"nodeType":"YulFunctionCall","src":"574:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"595:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"591:3:181"},"nodeType":"YulFunctionCall","src":"591:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"555:3:181"},"nodeType":"YulFunctionCall","src":"555:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"602:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"551:3:181"},"nodeType":"YulFunctionCall","src":"551:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"543:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:181","type":""}],"src":"14:597:181"},{"body":{"nodeType":"YulBlock","src":"665:124:181","statements":[{"nodeType":"YulAssignment","src":"675:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"697:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"684:12:181"},"nodeType":"YulFunctionCall","src":"684:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"675:5:181"}]},{"body":{"nodeType":"YulBlock","src":"767:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"776:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"779:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"769:6:181"},"nodeType":"YulFunctionCall","src":"769:12:181"},"nodeType":"YulExpressionStatement","src":"769:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"726:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"737:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"752:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"757:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"748:3:181"},"nodeType":"YulFunctionCall","src":"748:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"761:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"744:3:181"},"nodeType":"YulFunctionCall","src":"744:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"733:3:181"},"nodeType":"YulFunctionCall","src":"733:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"723:2:181"},"nodeType":"YulFunctionCall","src":"723:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"716:6:181"},"nodeType":"YulFunctionCall","src":"716:50:181"},"nodeType":"YulIf","src":"713:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"644:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"655:5:181","type":""}],"src":"616:173:181"},{"body":{"nodeType":"YulBlock","src":"881:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"927:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"939:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"929:6:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"nodeType":"YulExpressionStatement","src":"929:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"902:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"911:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:181"},"nodeType":"YulFunctionCall","src":"898:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"923:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"894:3:181"},"nodeType":"YulFunctionCall","src":"894:32:181"},"nodeType":"YulIf","src":"891:52:181"},{"nodeType":"YulAssignment","src":"952:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"981:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"962:18:181"},"nodeType":"YulFunctionCall","src":"962:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"952:6:181"}]},{"nodeType":"YulAssignment","src":"1000:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:181"},"nodeType":"YulFunctionCall","src":"1023:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1010:12:181"},"nodeType":"YulFunctionCall","src":"1010:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1000:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"870:6:181","type":""}],"src":"794:254:181"},{"body":{"nodeType":"YulBlock","src":"1148:92:181","statements":[{"nodeType":"YulAssignment","src":"1158:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1170:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1181:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1166:3:181"},"nodeType":"YulFunctionCall","src":"1166:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1158:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1225:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1218:6:181"},"nodeType":"YulFunctionCall","src":"1218:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1211:6:181"},"nodeType":"YulFunctionCall","src":"1211:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1193:6:181"},"nodeType":"YulFunctionCall","src":"1193:41:181"},"nodeType":"YulExpressionStatement","src":"1193:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1117:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1128:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1139:4:181","type":""}],"src":"1053:187:181"},{"body":{"nodeType":"YulBlock","src":"1346:76:181","statements":[{"nodeType":"YulAssignment","src":"1356:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1368:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1364:3:181"},"nodeType":"YulFunctionCall","src":"1364:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1356:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1409:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1391:6:181"},"nodeType":"YulFunctionCall","src":"1391:25:181"},"nodeType":"YulExpressionStatement","src":"1391:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1315:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1326:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1337:4:181","type":""}],"src":"1245:177:181"},{"body":{"nodeType":"YulBlock","src":"1531:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"1577:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1586:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1589:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1579:6:181"},"nodeType":"YulFunctionCall","src":"1579:12:181"},"nodeType":"YulExpressionStatement","src":"1579:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1552:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1561:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1548:3:181"},"nodeType":"YulFunctionCall","src":"1548:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1573:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1544:3:181"},"nodeType":"YulFunctionCall","src":"1544:32:181"},"nodeType":"YulIf","src":"1541:52:181"},{"nodeType":"YulAssignment","src":"1602:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1631:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1612:18:181"},"nodeType":"YulFunctionCall","src":"1612:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1602:6:181"}]},{"nodeType":"YulAssignment","src":"1650:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1679:3:181"},"nodeType":"YulFunctionCall","src":"1679:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1660:18:181"},"nodeType":"YulFunctionCall","src":"1660:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1650:6:181"}]},{"nodeType":"YulAssignment","src":"1707:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1745:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1730:3:181"},"nodeType":"YulFunctionCall","src":"1730:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1717:12:181"},"nodeType":"YulFunctionCall","src":"1717:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1707:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1481:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1492:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1504:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1512:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1520:6:181","type":""}],"src":"1427:328:181"},{"body":{"nodeType":"YulBlock","src":"1857:87:181","statements":[{"nodeType":"YulAssignment","src":"1867:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1890:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1875:3:181"},"nodeType":"YulFunctionCall","src":"1875:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1867:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1909:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1932:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1920:3:181"},"nodeType":"YulFunctionCall","src":"1920:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1902:6:181"},"nodeType":"YulFunctionCall","src":"1902:36:181"},"nodeType":"YulExpressionStatement","src":"1902:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1826:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1837:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1848:4:181","type":""}],"src":"1760:184:181"},{"body":{"nodeType":"YulBlock","src":"2019:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2065:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2074:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2077:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2067:6:181"},"nodeType":"YulFunctionCall","src":"2067:12:181"},"nodeType":"YulExpressionStatement","src":"2067:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2040:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2049:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2036:3:181"},"nodeType":"YulFunctionCall","src":"2036:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2061:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2032:3:181"},"nodeType":"YulFunctionCall","src":"2032:32:181"},"nodeType":"YulIf","src":"2029:52:181"},{"nodeType":"YulAssignment","src":"2090:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2119:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2100:18:181"},"nodeType":"YulFunctionCall","src":"2100:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2090:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1985:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1996:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2008:6:181","type":""}],"src":"1949:186:181"},{"body":{"nodeType":"YulBlock","src":"2227:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"2273:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2282:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2285:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2275:6:181"},"nodeType":"YulFunctionCall","src":"2275:12:181"},"nodeType":"YulExpressionStatement","src":"2275:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2248:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2257:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2244:3:181"},"nodeType":"YulFunctionCall","src":"2244:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2269:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2240:3:181"},"nodeType":"YulFunctionCall","src":"2240:32:181"},"nodeType":"YulIf","src":"2237:52:181"},{"nodeType":"YulAssignment","src":"2298:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2327:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2308:18:181"},"nodeType":"YulFunctionCall","src":"2308:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2298:6:181"}]},{"nodeType":"YulAssignment","src":"2346:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2379:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2390:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2375:3:181"},"nodeType":"YulFunctionCall","src":"2375:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2356:18:181"},"nodeType":"YulFunctionCall","src":"2356:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2346:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2185:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2196:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2208:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2216:6:181","type":""}],"src":"2140:260:181"},{"body":{"nodeType":"YulBlock","src":"2460:325:181","statements":[{"nodeType":"YulAssignment","src":"2470:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2484:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2487:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2480:3:181"},"nodeType":"YulFunctionCall","src":"2480:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2470:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2501:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2531:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2537:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2527:3:181"},"nodeType":"YulFunctionCall","src":"2527:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2505:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2578:31:181","statements":[{"nodeType":"YulAssignment","src":"2580:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2594:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2602:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2590:3:181"},"nodeType":"YulFunctionCall","src":"2590:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2580:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2558:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2551:6:181"},"nodeType":"YulFunctionCall","src":"2551:26:181"},"nodeType":"YulIf","src":"2548:61:181"},{"body":{"nodeType":"YulBlock","src":"2668:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2689:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2696:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2701:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2692:3:181"},"nodeType":"YulFunctionCall","src":"2692:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2682:6:181"},"nodeType":"YulFunctionCall","src":"2682:31:181"},"nodeType":"YulExpressionStatement","src":"2682:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2733:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2736:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2726:6:181"},"nodeType":"YulFunctionCall","src":"2726:15:181"},"nodeType":"YulExpressionStatement","src":"2726:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2761:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2764:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2754:6:181"},"nodeType":"YulFunctionCall","src":"2754:15:181"},"nodeType":"YulExpressionStatement","src":"2754:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2624:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2647:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2655:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2644:2:181"},"nodeType":"YulFunctionCall","src":"2644:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2621:2:181"},"nodeType":"YulFunctionCall","src":"2621:38:181"},"nodeType":"YulIf","src":"2618:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2440:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2449:6:181","type":""}],"src":"2405:380:181"},{"body":{"nodeType":"YulBlock","src":"2838:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"2873:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2894:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2901:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2906:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2897:3:181"},"nodeType":"YulFunctionCall","src":"2897:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2887:6:181"},"nodeType":"YulFunctionCall","src":"2887:31:181"},"nodeType":"YulExpressionStatement","src":"2887:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2938:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2941:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2931:6:181"},"nodeType":"YulFunctionCall","src":"2931:15:181"},"nodeType":"YulExpressionStatement","src":"2931:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2966:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2969:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2959:6:181"},"nodeType":"YulFunctionCall","src":"2959:15:181"},"nodeType":"YulExpressionStatement","src":"2959:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2854:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2861:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2857:3:181"},"nodeType":"YulFunctionCall","src":"2857:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2851:2:181"},"nodeType":"YulFunctionCall","src":"2851:13:181"},"nodeType":"YulIf","src":"2848:136:181"},{"nodeType":"YulAssignment","src":"2993:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3004:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"3007:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3000:3:181"},"nodeType":"YulFunctionCall","src":"3000:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2993:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2821:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2824:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2830:3:181","type":""}],"src":"2790:225:181"},{"body":{"nodeType":"YulBlock","src":"3194:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3211:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3222:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3204:6:181"},"nodeType":"YulFunctionCall","src":"3204:21:181"},"nodeType":"YulExpressionStatement","src":"3204:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3245:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3256:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3241:3:181"},"nodeType":"YulFunctionCall","src":"3241:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3261:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3234:6:181"},"nodeType":"YulFunctionCall","src":"3234:30:181"},"nodeType":"YulExpressionStatement","src":"3234:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3284:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3295:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3280:3:181"},"nodeType":"YulFunctionCall","src":"3280:18:181"},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77","kind":"string","nodeType":"YulLiteral","src":"3300:34:181","type":"","value":"ERC20: decreased allowance below"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3273:6:181"},"nodeType":"YulFunctionCall","src":"3273:62:181"},"nodeType":"YulExpressionStatement","src":"3273:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3355:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3366:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3351:3:181"},"nodeType":"YulFunctionCall","src":"3351:18:181"},{"hexValue":"207a65726f","kind":"string","nodeType":"YulLiteral","src":"3371:7:181","type":"","value":" zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3344:6:181"},"nodeType":"YulFunctionCall","src":"3344:35:181"},"nodeType":"YulExpressionStatement","src":"3344:35:181"},{"nodeType":"YulAssignment","src":"3388:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3400:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3411:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3396:3:181"},"nodeType":"YulFunctionCall","src":"3396:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3388:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3171:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3185:4:181","type":""}],"src":"3020:401:181"},{"body":{"nodeType":"YulBlock","src":"3600:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3617:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3628:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3610:6:181"},"nodeType":"YulFunctionCall","src":"3610:21:181"},"nodeType":"YulExpressionStatement","src":"3610:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:181"},"nodeType":"YulFunctionCall","src":"3647:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3667:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3640:6:181"},"nodeType":"YulFunctionCall","src":"3640:30:181"},"nodeType":"YulExpressionStatement","src":"3640:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3701:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3686:3:181"},"nodeType":"YulFunctionCall","src":"3686:18:181"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"3706:34:181","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3679:6:181"},"nodeType":"YulFunctionCall","src":"3679:62:181"},"nodeType":"YulExpressionStatement","src":"3679:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3761:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3772:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3757:3:181"},"nodeType":"YulFunctionCall","src":"3757:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"3777:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3750:6:181"},"nodeType":"YulFunctionCall","src":"3750:34:181"},"nodeType":"YulExpressionStatement","src":"3750:34:181"},{"nodeType":"YulAssignment","src":"3793:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3805:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3816:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3801:3:181"},"nodeType":"YulFunctionCall","src":"3801:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3793:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3577:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3591:4:181","type":""}],"src":"3426:400:181"},{"body":{"nodeType":"YulBlock","src":"4005:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4022:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4033:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4015:6:181"},"nodeType":"YulFunctionCall","src":"4015:21:181"},"nodeType":"YulExpressionStatement","src":"4015:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4067:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4052:3:181"},"nodeType":"YulFunctionCall","src":"4052:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4072:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4045:6:181"},"nodeType":"YulFunctionCall","src":"4045:30:181"},"nodeType":"YulExpressionStatement","src":"4045:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4106:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4091:3:181"},"nodeType":"YulFunctionCall","src":"4091:18:181"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"4111:34:181","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4084:6:181"},"nodeType":"YulFunctionCall","src":"4084:62:181"},"nodeType":"YulExpressionStatement","src":"4084:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4177:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4162:3:181"},"nodeType":"YulFunctionCall","src":"4162:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"4182:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4155:6:181"},"nodeType":"YulFunctionCall","src":"4155:32:181"},"nodeType":"YulExpressionStatement","src":"4155:32:181"},{"nodeType":"YulAssignment","src":"4196:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4208:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4219:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4204:3:181"},"nodeType":"YulFunctionCall","src":"4204:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4196:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3982:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3996:4:181","type":""}],"src":"3831:398:181"},{"body":{"nodeType":"YulBlock","src":"4408:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4436:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4418:6:181"},"nodeType":"YulFunctionCall","src":"4418:21:181"},"nodeType":"YulExpressionStatement","src":"4418:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4459:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4470:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4455:3:181"},"nodeType":"YulFunctionCall","src":"4455:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4475:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4448:6:181"},"nodeType":"YulFunctionCall","src":"4448:30:181"},"nodeType":"YulExpressionStatement","src":"4448:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4509:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4494:3:181"},"nodeType":"YulFunctionCall","src":"4494:18:181"},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"4514:31:181","type":"","value":"ERC20: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4487:6:181"},"nodeType":"YulFunctionCall","src":"4487:59:181"},"nodeType":"YulExpressionStatement","src":"4487:59:181"},{"nodeType":"YulAssignment","src":"4555:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4567:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4578:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4563:3:181"},"nodeType":"YulFunctionCall","src":"4563:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4555:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4385:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4399:4:181","type":""}],"src":"4234:353:181"},{"body":{"nodeType":"YulBlock","src":"4766:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4794:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4776:6:181"},"nodeType":"YulFunctionCall","src":"4776:21:181"},"nodeType":"YulExpressionStatement","src":"4776:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4828:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4813:3:181"},"nodeType":"YulFunctionCall","src":"4813:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4806:6:181"},"nodeType":"YulFunctionCall","src":"4806:30:181"},"nodeType":"YulExpressionStatement","src":"4806:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4856:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4867:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4852:3:181"},"nodeType":"YulFunctionCall","src":"4852:18:181"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"4872:34:181","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4845:6:181"},"nodeType":"YulFunctionCall","src":"4845:62:181"},"nodeType":"YulExpressionStatement","src":"4845:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4927:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4938:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4923:3:181"},"nodeType":"YulFunctionCall","src":"4923:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"4943:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4916:6:181"},"nodeType":"YulFunctionCall","src":"4916:35:181"},"nodeType":"YulExpressionStatement","src":"4916:35:181"},{"nodeType":"YulAssignment","src":"4960:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4972:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4983:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4968:3:181"},"nodeType":"YulFunctionCall","src":"4968:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4960:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4743:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4757:4:181","type":""}],"src":"4592:401:181"},{"body":{"nodeType":"YulBlock","src":"5172:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5189:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5200:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5182:6:181"},"nodeType":"YulFunctionCall","src":"5182:21:181"},"nodeType":"YulExpressionStatement","src":"5182:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5223:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5234:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5219:3:181"},"nodeType":"YulFunctionCall","src":"5219:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5239:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5212:6:181"},"nodeType":"YulFunctionCall","src":"5212:30:181"},"nodeType":"YulExpressionStatement","src":"5212:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5262:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5273:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5258:3:181"},"nodeType":"YulFunctionCall","src":"5258:18:181"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"5278:34:181","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5251:6:181"},"nodeType":"YulFunctionCall","src":"5251:62:181"},"nodeType":"YulExpressionStatement","src":"5251:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5344:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5329:3:181"},"nodeType":"YulFunctionCall","src":"5329:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"5349:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5322:6:181"},"nodeType":"YulFunctionCall","src":"5322:33:181"},"nodeType":"YulExpressionStatement","src":"5322:33:181"},{"nodeType":"YulAssignment","src":"5364:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5376:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5387:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5372:3:181"},"nodeType":"YulFunctionCall","src":"5372:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5364:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5149:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5163:4:181","type":""}],"src":"4998:399:181"},{"body":{"nodeType":"YulBlock","src":"5576:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5593:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5604:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5586:6:181"},"nodeType":"YulFunctionCall","src":"5586:21:181"},"nodeType":"YulExpressionStatement","src":"5586:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5627:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5638:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5623:3:181"},"nodeType":"YulFunctionCall","src":"5623:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5643:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5616:6:181"},"nodeType":"YulFunctionCall","src":"5616:30:181"},"nodeType":"YulExpressionStatement","src":"5616:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5666:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5677:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5662:3:181"},"nodeType":"YulFunctionCall","src":"5662:18:181"},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062","kind":"string","nodeType":"YulLiteral","src":"5682:34:181","type":"","value":"ERC20: transfer amount exceeds b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5655:6:181"},"nodeType":"YulFunctionCall","src":"5655:62:181"},"nodeType":"YulExpressionStatement","src":"5655:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5737:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5748:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5733:3:181"},"nodeType":"YulFunctionCall","src":"5733:18:181"},{"hexValue":"616c616e6365","kind":"string","nodeType":"YulLiteral","src":"5753:8:181","type":"","value":"alance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5726:6:181"},"nodeType":"YulFunctionCall","src":"5726:36:181"},"nodeType":"YulExpressionStatement","src":"5726:36:181"},{"nodeType":"YulAssignment","src":"5771:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5794:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5779:3:181"},"nodeType":"YulFunctionCall","src":"5779:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5771:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5553:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5567:4:181","type":""}],"src":"5402:402:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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 abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__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), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220386e979d9329ceadbf583809e46ad63e1dade6c87cc830b59b0526e0be9adc7964736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODESIZE PUSH15 0x979D9329CEADBF583809E46AD63E1D 0xAD 0xE6 0xC8 PUSH29 0xC830B59B0526E0BE9ADC7964736F6C6343000809003300000000000000 ","sourceMap":"1401:11610:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:181;;1211:22;1193:41;;1181:2;1166:18;4431:197:0;1053:187:181;3242:106:0;3329:12;;3242:106;;;1391:25:181;;;1379:2;1364:18;3242:106:0;1245:177:181;5190:286:0;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1902:36:181;;1890:2;1875:18;3091:91:0;1760:184:181;5871:234:0;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:0;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:3;4568:32:0;719:10:3;4584:7:0;4593:6;4568:8;:32::i;:::-;-1:-1:-1;4617:4:0;;4431:197;-1:-1:-1;;;4431:197:0:o;5190:286::-;5317:4;719:10:3;5373:38:0;5389:4;719:10:3;5404:6:0;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:0;;5190:286;-1:-1:-1;;;;5190:286:0:o;5871:234::-;5959:4;719:10:3;6013:64:0;719:10:3;6029:7:0;6066:10;6038:25;719:10:3;6029:7:0;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:3;6685:4:0;6766:25;719:10:3;6783:7:0;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:0;;3222:2:181;6801:85:0;;;3204:21:181;3261:2;3241:18;;;3234:30;3300:34;3280:18;;;3273:62;-1:-1:-1;;;3351:18:181;;;3344:35;3396:19;;6801:85:0;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:3;3860:28:0;719:10:3;3877:2:0;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:0;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:0;;10627:68;;;;-1:-1:-1;;;10627:68:0;;3628:2:181;10627:68:0;;;3610:21:181;3667:2;3647:18;;;3640:30;3706:34;3686:18;;;3679:62;-1:-1:-1;;;3757:18:181;;;3750:34;3801:19;;10627:68:0;3426:400:181;10627:68:0;-1:-1:-1;;;;;10713:21:0;;10705:68;;;;-1:-1:-1;;;10705:68:0;;4033:2:181;10705:68:0;;;4015:21:181;4072:2;4052:18;;;4045:30;4111:34;4091:18;;;4084:62;-1:-1:-1;;;4162:18:181;;;4155:32;4204:19;;10705:68:0;3831:398:181;10705:68:0;-1:-1:-1;;;;;10784:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1391:25:181;;;10835:32:0;;1364:18:181;10835:32:0;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:0;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:0;;4436:2:181;11404:68:0;;;4418:21:181;4475:2;4455:18;;;4448:30;4514:31;4494:18;;;4487:59;4563:18;;11404:68:0;4234:353:181;11404:68:0;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:0;;7591:68;;;;-1:-1:-1;;;7591:68:0;;4794:2:181;7591:68:0;;;4776:21:181;4833:2;4813:18;;;4806:30;4872:34;4852:18;;;4845:62;-1:-1:-1;;;4923:18:181;;;4916:35;4968:19;;7591:68:0;4592:401:181;7591:68:0;-1:-1:-1;;;;;7677:16:0;;7669:64;;;;-1:-1:-1;;;7669:64:0;;5200:2:181;7669:64:0;;;5182:21:181;5239:2;5219:18;;;5212:30;5278:34;5258:18;;;5251:62;-1:-1:-1;;;5329:18:181;;;5322:33;5372:19;;7669:64:0;4998:399:181;7669:64:0;-1:-1:-1;;;;;7815:15:0;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:0;;5604:2:181;7840:72:0;;;5586:21:181;5643:2;5623:18;;;5616:30;5682:34;5662:18;;;5655:62;-1:-1:-1;;;5733:18:181;;;5726:36;5779:19;;7840:72:0;5402:402:181;7840:72:0;-1:-1:-1;;;;;7946:15:0;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1391:25:181;;;8161:13:0;;8210:26;;1364:18:181;8210:26:0;;;;;;;8247:37;12180:121;14:597:181;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:181;574:15;-1:-1:-1;;570:29:181;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:181:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:181;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:181:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;:::-;2090:39;1949:186;-1:-1:-1;;;1949:186:181:o;2140:260::-;2208:6;2216;2269:2;2257:9;2248:7;2244:23;2240:32;2237:52;;;2285:1;2282;2275:12;2237:52;2308:29;2327:9;2308:29;:::i;:::-;2298:39;;2356:38;2390:2;2379:9;2375:18;2356:38;:::i;:::-;2346:48;;2140:260;;;;;:::o;2405:380::-;2484:1;2480:12;;;;2527;;;2548:61;;2602:4;2594:6;2590:17;2580:27;;2548:61;2655:2;2647:6;2644:14;2624:18;2621:38;2618:161;;;2701:10;2696:3;2692:20;2689:1;2682:31;2736:4;2733:1;2726:15;2764:4;2761:1;2754:15;2618:161;;2405:380;;;:::o;2790:225::-;2830:3;2861:1;2857:6;2854:1;2851:13;2848:136;;;2906:10;2901:3;2897:20;2894:1;2887:31;2941:4;2938:1;2931:15;2969:4;2966:1;2959:15;2848:136;-1:-1:-1;3000:9:181;;2790:225::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/AccessControl.sol":{"AccessControl":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol":{"AccessControlCrossChain":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"CROSSCHAIN_ALIAS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"CROSSCHAIN_ALIAS()":"f9d04295","DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CROSSCHAIN_ALIAS\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An extension to {AccessControl} with support for cross-chain access management. For each role, is extension implements an equivalent \\\"aliased\\\" role that is used for restricting calls originating from other chains. For example, if a function `myFunction` is protected by `onlyRole(SOME_ROLE)`, and if an address `x` has role `SOME_ROLE`, it would be able to call `myFunction` directly. A wallet or contract at the same address on another chain would however not be able to call this function. In order to do so, it would require to have the role `_crossChainRoleAlias(SOME_ROLE)`. This aliasing is required to protect against multiple contracts living at the same address on different chains but controlled by conflicting entities. _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol\":\"AccessControlCrossChain\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol\":{\"keccak256\":\"0x2d636fdb9c1128c4e85b57436877551c12dea28934c7c5d73bd45845a6f3179c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64a454cffa33cc32513d9ad2c417f5e36307f13f550aa805ac48bd61787c0e5f\",\"dweb:/ipfs/QmQmHbs6xws5agsVYwbk3uCtRCByxi2NS74BmSN63aE63J\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol":{"AccessControlEnumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {AccessControl} that allows enumerating the members of each role.\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol\":\"AccessControlEnumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/IAccessControl.sol":{"IAccessControl":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol":{"IAccessControlEnumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControlEnumerable declared to support ERC165 detection.\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":\"IAccessControlEnumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/Ownable.sol":{"Ownable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/access/Ownable2Step.sol":{"Ownable2Step":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"acceptOwnership()":"79ba5097","owner()":"8da5cb5b","pendingOwner()":"e30c3978","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"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\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership} and {acceptOwnership}. This module is used through inheritance. It will make available all functions from parent (Ownable).\",\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/access/Ownable2Step.sol\":\"Ownable2Step\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/access/Ownable2Step.sol\":{\"keccak256\":\"0x5c879356795cc563440408404a52eaf672d4547949e0a5920fb17642303d9e1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb210cdef017f9813af368e17ea1573bc26094dd8dba8b5db8bec4cc90883d0a\",\"dweb:/ipfs/QmdixQwckiNVVWHaJD9ps5ALWsHkZGRAePkuUPw1ZhhJhM\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol":{"CrossChainEnabled":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information for building cross-chain aware contracts. This abstract contract provides accessors and modifiers to control the execution flow when receiving cross-chain messages. Actual implementations of cross-chain aware contracts, which are based on this abstraction, will have to inherit from a bridge-specific specialization. Such specializations are provided under `crosschain//CrossChainEnabled.sol`. _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":\"CrossChainEnabled\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol":{"CrossChainEnabledAMB":{"abi":[{"inputs":[{"internalType":"address","name":"bridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"}],"evm":{"bytecode":{"functionDebugData":{"@_1572":{"entryPoint":null,"id":1572,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":58,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:306:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"95:209:181","statements":[{"body":{"nodeType":"YulBlock","src":"141:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"153:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"143:6:181"},"nodeType":"YulFunctionCall","src":"143:12:181"},"nodeType":"YulExpressionStatement","src":"143:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"116:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"125:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"112:3:181"},"nodeType":"YulFunctionCall","src":"112:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"137:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"108:3:181"},"nodeType":"YulFunctionCall","src":"108:32:181"},"nodeType":"YulIf","src":"105:52:181"},{"nodeType":"YulVariableDeclaration","src":"166:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"185:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"179:5:181"},"nodeType":"YulFunctionCall","src":"179:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"170:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"258:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"267:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"270:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"260:6:181"},"nodeType":"YulFunctionCall","src":"260:12:181"},"nodeType":"YulExpressionStatement","src":"260:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"217:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"228:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"243:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"252:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"224:3:181"},"nodeType":"YulFunctionCall","src":"224:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"214:2:181"},"nodeType":"YulFunctionCall","src":"214:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"207:6:181"},"nodeType":"YulFunctionCall","src":"207:50:181"},"nodeType":"YulIf","src":"204:70:181"},{"nodeType":"YulAssignment","src":"283:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"293:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"283:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"61:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"72:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"84:6:181","type":""}],"src":"14:290:181"}]},"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":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052348015600f57600080fd5b5060405160bc38038060bc833981016040819052602a91603a565b6001600160a01b03166080526068565b600060208284031215604b57600080fd5b81516001600160a01b0381168114606157600080fd5b9392505050565b608051603f607d60003960005050603f6000f3fe6080604052600080fdfea2646970667358221220ec305d988efa51d9eda4f749b467c71e1fb2957d594a0b19d163158d9540bac064736f6c63430008090033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xBC CODESIZE SUB DUP1 PUSH1 0xBC DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH1 0x2A SWAP2 PUSH1 0x3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 MSTORE PUSH1 0x68 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH1 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x3F PUSH1 0x7D PUSH1 0x0 CODECOPY PUSH1 0x0 POP POP PUSH1 0x3F PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC ADDRESS 0x5D SWAP9 DUP15 STATICCALL MLOAD 0xD9 0xED LOG4 0xF7 0x49 0xB4 PUSH8 0xC71E1FB2957D594A SIGNEXTEND NOT 0xD1 PUSH4 0x158D9540 0xBA 0xC0 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1265:699:12:-:0;;;1481:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1519:16:12;;;1265:699;;14:290:181;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:181;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:181:o;:::-;1265:699:12;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea2646970667358221220ec305d988efa51d9eda4f749b467c71e1fb2957d594a0b19d163158d9540bac064736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC ADDRESS 0x5D SWAP9 DUP15 STATICCALL MLOAD 0xD9 0xED LOG4 0xF7 0x49 0xB4 PUSH8 0xC71E1FB2957D594A SIGNEXTEND NOT 0xD1 PUSH4 0x158D9540 0xBA 0xC0 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1265:699:12:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridge\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB] specialization or the {CrossChainEnabled} abstraction. As of february 2020, AMB bridges are available between the following chains: - https://docs.tokenbridge.net/eth-xdai-amb-bridge/about-the-eth-xdai-amb[ETH \\u21cc xDai] - https://docs.tokenbridge.net/eth-qdai-bridge/about-the-eth-qdai-amb[ETH \\u21cc qDai] - https://docs.tokenbridge.net/eth-etc-amb-bridge/about-the-eth-etc-amb[ETH \\u21cc ETC] - https://docs.tokenbridge.net/eth-bsc-amb/about-the-eth-bsc-amb[ETH \\u21cc BSC] - https://docs.tokenbridge.net/eth-poa-amb-bridge/about-the-eth-poa-amb[ETH \\u21cc POA] - https://docs.tokenbridge.net/bsc-xdai-amb/about-the-bsc-xdai-amb[BSC \\u21cc xDai] - https://docs.tokenbridge.net/poa-xdai-amb/about-the-poa-xdai-amb[POA \\u21cc xDai] - https://docs.tokenbridge.net/rinkeby-xdai-amb-bridge/about-the-rinkeby-xdai-amb[Rinkeby \\u21cc xDai] - https://docs.tokenbridge.net/kovan-sokol-amb-bridge/about-the-kovan-sokol-amb[Kovan \\u21cc Sokol] _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"}},\"stateVariables\":{\"_bridge\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol\":\"CrossChainEnabledAMB\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol\":{\"keccak256\":\"0xf37707f62525c7c0cad85f0d45c35f981bff7a823f9b0b0d91fa499f1e3dbc69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51607afaf47563cac3a65c8bde0a3ae88bbe317ee9d61dd11725c846550329f7\",\"dweb:/ipfs/QmXCNJsecfb3P38RnMNAgoWkRg3rC2q7ht7JuBbPMbpEvG\"]},\"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol\":{\"keccak256\":\"0xb4759c7bd140f662508f815635b403c45e281141e5f197d940e5e1abe5954bde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2108f273dbc32516100f41bea8bc24e0d02a4ea8455b46a6b3814b4cf83161a5\",\"dweb:/ipfs/QmPY2SqejkAsF8G6PahKniUFTjLbG2YiTrgebVE3LXZZBd\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol\":{\"keccak256\":\"0xd317c3a8ce13b385b8e3523ea369c36453729472dd386ed461cd05d930994e09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc8a7b3ab6530e52ab366cfe0b2b9dfc06115157ccbfcd3bfbb84eb0ecfa28e\",\"dweb:/ipfs/QmZBidPVQAsFQTYxbRroGiLJLaFz1RFtdetD8PnB5XwREg\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol":{"LibAMB":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6f5f63b5b097bf5d8f25b50df127336ba1fdca097dc48554dcc908bf10da09064736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE6 CREATE2 0xF6 EXTCODESIZE JUMPDEST MULMOD PUSH28 0xF5D8F25B50DF127336BA1FDCA097DC48554DCC908BF10DA09064736F PUSH13 0x63430008090033000000000000 ","sourceMap":"377:826:13:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;377:826:13;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6f5f63b5b097bf5d8f25b50df127336ba1fdca097dc48554dcc908bf10da09064736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE6 CREATE2 0xF6 EXTCODESIZE JUMPDEST MULMOD PUSH28 0xF5D8F25B50DF127336BA1FDCA097DC48554DCC908BF10DA09064736F PUSH13 0x63430008090033000000000000 ","sourceMap":"377:826:13:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Primitives for cross-chain aware contracts using the https://docs.tokenbridge.net/amb-bridge/about-amb-bridge[AMB] family of bridges.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol\":\"LibAMB\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol\":{\"keccak256\":\"0xb4759c7bd140f662508f815635b403c45e281141e5f197d940e5e1abe5954bde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2108f273dbc32516100f41bea8bc24e0d02a4ea8455b46a6b3814b4cf83161a5\",\"dweb:/ipfs/QmPY2SqejkAsF8G6PahKniUFTjLbG2YiTrgebVE3LXZZBd\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol\":{\"keccak256\":\"0xd317c3a8ce13b385b8e3523ea369c36453729472dd386ed461cd05d930994e09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc8a7b3ab6530e52ab366cfe0b2b9dfc06115157ccbfcd3bfbb84eb0ecfa28e\",\"dweb:/ipfs/QmZBidPVQAsFQTYxbRroGiLJLaFz1RFtdetD8PnB5XwREg\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol":{"CrossChainEnabledArbitrumL1":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"https://arbitrum.io/[Arbitrum] specialization or the {CrossChainEnabled} abstraction the L1 side (mainnet). This version should only be deployed on L1 to process cross-chain messages originating from L2. For the other side, use {CrossChainEnabledArbitrumL2}. The bridge contract is provided and maintained by the arbitrum team. You can find the address of this contract on the rinkeby testnet in https://developer.offchainlabs.com/docs/useful_addresses[Arbitrum's developer documentation]. _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"}},\"stateVariables\":{\"_bridge\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol\":\"CrossChainEnabledArbitrumL1\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol\":{\"keccak256\":\"0x05f77d187942df5569ff88deeac13dab72ce9364d26822573d44c7693f7c408c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ae6ac96520415ef45526e734e4615338c8e28a66604db4d8026135922928fe9\",\"dweb:/ipfs/QmbKfJfdMuZrkc6o1vGMN6YtQSJB1cKV5JQheQCAjqwbfU\"]},\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol\":{\"keccak256\":\"0x364ef776375bac74a5f4f2fd1dc1d4a089915ea0fe720249bb71431e7b2f787f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617a7d7e5be668c840817309f3304f1856d35c56090b8772eeba2bd3f77b279c\",\"dweb:/ipfs/Qmei4Am5cKUx1qyTpFvJ5vo3hFuvtzq5gaz48KUNkETyD6\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":{\"keccak256\":\"0xdc8847efc0ca74c9f708d9bbd26592b4d21ccbcece6c1ce547d411891cdfe62d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c229abc5a3d94160ca45cc804b3bade7168c01b2e2ca8ab9d79e420f7da116cd\",\"dweb:/ipfs/QmUjVBwpZD8WJSMJmgQPE55ttWiPkySzpDr25TPs3n5rSJ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol\":{\"keccak256\":\"0xf11685613c2ca2e87e9ad7e93bff2bd966aa16f11599371878dff047be17d945\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://70643050176955048e7da5a6696dd4f2db0cb0797ccb344fec5bc9996c0c6e99\",\"dweb:/ipfs/QmYCnypNrsybTHjjq5iX3SkwPAjP8LuZ58d1HLEWe24URN\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol":{"CrossChainEnabledArbitrumL2":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"https://arbitrum.io/[Arbitrum] specialization or the {CrossChainEnabled} abstraction the L2 side (arbitrum). This version should only be deployed on L2 to process cross-chain messages originating from L1. For the other side, use {CrossChainEnabledArbitrumL1}. Arbitrum L2 includes the `ArbSys` contract at a fixed address. Therefore, this specialization of {CrossChainEnabled} does not include a constructor. _Available since v4.6._ WARNING: There is currently a bug in Arbitrum that causes this contract to fail to detect cross-chain calls when deployed behind a proxy. This will be fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for August 31st 2022.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol\":\"CrossChainEnabledArbitrumL2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol\":{\"keccak256\":\"0x0da62b4c0b2c62ab46b2b06fef102aa16a9741af305c9132faee387c3d56620e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28566707c62707c3844c7c7d72ef8686b89e6fe93521c8d4772dc4c517f74505\",\"dweb:/ipfs/QmNcLYm8vuKtUAfHuqZmeHcYz9HxkRVDhRph9rPUnnegvj\"]},\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol\":{\"keccak256\":\"0xab1259cd9cdb3fccfb8bfae3240954541c3abddcf0f9444b5ebb3393300bb78e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d62eef1220cb7bed15e94954a748d592cd06ee2e0d64ef15b1fb8bf660ec931\",\"dweb:/ipfs/QmZLwwmtuBqhZNkoZt1US14KALX3928WpJMR3KfAmiRs5r\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol\":{\"keccak256\":\"0xed30463b2696afccf589a002901b4b6556b807fe9f8de8bd6f6b665b3634f933\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4261cf8e7bb4dccfeaece2a984a9d718236b4b07f2bd27df13e94f8e737667e5\",\"dweb:/ipfs/QmSojgcqacRZywUHGJJbdHbWon5P45Q9KRk5qDVnGXSQLH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol":{"LibArbitrumL1":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba71b712ea3d7011a564fe320dc249d43b9c89e33fcfb2c209a03e0e62b8a0b764736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA PUSH18 0xB712EA3D7011A564FE320DC249D43B9C89E3 EXTCODEHASH 0xCF 0xB2 0xC2 MULMOD LOG0 RETURNDATACOPY 0xE PUSH3 0xB8A0B7 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"571:1004:16:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;571:1004:16;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba71b712ea3d7011a564fe320dc249d43b9c89e33fcfb2c209a03e0e62b8a0b764736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA PUSH18 0xB712EA3D7011A564FE320DC249D43B9C89E3 EXTCODEHASH 0xCF 0xB2 0xC2 MULMOD LOG0 RETURNDATACOPY 0xE PUSH3 0xB8A0B7 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"571:1004:16:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Primitives for cross-chain aware contracts for https://arbitrum.io/[Arbitrum]. This version should only be used on L1 to process cross-chain messages originating from L2. For the other side, use {LibArbitrumL2}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol\":\"LibArbitrumL1\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol\":{\"keccak256\":\"0x364ef776375bac74a5f4f2fd1dc1d4a089915ea0fe720249bb71431e7b2f787f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617a7d7e5be668c840817309f3304f1856d35c56090b8772eeba2bd3f77b279c\",\"dweb:/ipfs/Qmei4Am5cKUx1qyTpFvJ5vo3hFuvtzq5gaz48KUNkETyD6\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":{\"keccak256\":\"0xdc8847efc0ca74c9f708d9bbd26592b4d21ccbcece6c1ce547d411891cdfe62d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c229abc5a3d94160ca45cc804b3bade7168c01b2e2ca8ab9d79e420f7da116cd\",\"dweb:/ipfs/QmUjVBwpZD8WJSMJmgQPE55ttWiPkySzpDr25TPs3n5rSJ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol\":{\"keccak256\":\"0xf11685613c2ca2e87e9ad7e93bff2bd966aa16f11599371878dff047be17d945\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://70643050176955048e7da5a6696dd4f2db0cb0797ccb344fec5bc9996c0c6e99\",\"dweb:/ipfs/QmYCnypNrsybTHjjq5iX3SkwPAjP8LuZ58d1HLEWe24URN\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol":{"LibArbitrumL2":{"abi":[{"inputs":[],"name":"ARBSYS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6091610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063bf0a12cf146038575b600080fd5b603f606481565b6040516001600160a01b03909116815260200160405180910390f3fea26469706673582212200e86d2568c061abbf5839f83c01ba56b0e93902b8ed7cdee9c465be7c6345b8364736f6c63430008090033","opcodes":"PUSH1 0x91 PUSH2 0x38 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x33 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBF0A12CF EQ PUSH1 0x38 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3F PUSH1 0x64 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE DUP7 0xD2 JUMP DUP13 MOD BYTE 0xBB CREATE2 DUP4 SWAP16 DUP4 0xC0 SHL 0xA5 PUSH12 0xE93902B8ED7CDEE9C465BE7 0xC6 CALLVALUE JUMPDEST DUP4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"753:975:17:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;753:975:17;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@ARBSYS_1807":{"entryPoint":null,"id":1807,"parameterSlots":0,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:227:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"123:102:181","statements":[{"nodeType":"YulAssignment","src":"133:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"145:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"156:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"141:3:181"},"nodeType":"YulFunctionCall","src":"141:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"133:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"175:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"190:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"206:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"211:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"202:3:181"},"nodeType":"YulFunctionCall","src":"202:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"215:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"198:3:181"},"nodeType":"YulFunctionCall","src":"198:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"186:3:181"},"nodeType":"YulFunctionCall","src":"186:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"168:6:181"},"nodeType":"YulFunctionCall","src":"168:51:181"},"nodeType":"YulExpressionStatement","src":"168:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"92:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"103:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"114:4:181","type":""}],"src":"14:211:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063bf0a12cf146038575b600080fd5b603f606481565b6040516001600160a01b03909116815260200160405180910390f3fea26469706673582212200e86d2568c061abbf5839f83c01ba56b0e93902b8ed7cdee9c465be7c6345b8364736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x33 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBF0A12CF EQ PUSH1 0x38 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3F PUSH1 0x64 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE DUP7 0xD2 JUMP DUP13 MOD BYTE 0xBB CREATE2 DUP4 SWAP16 DUP4 0xC0 SHL 0xA5 PUSH12 0xE93902B8ED7CDEE9C465BE7 0xC6 CALLVALUE JUMPDEST DUP4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"753:975:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;918:75;;951:42;918:75;;;;;-1:-1:-1;;;;;186:32:181;;;168:51;;156:2;141:18;918:75:17;;;;;;"},"methodIdentifiers":{"ARBSYS()":"bf0a12cf"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ARBSYS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Primitives for cross-chain aware contracts for https://arbitrum.io/[Arbitrum]. This version should only be used on L2 to process cross-chain messages originating from L1. For the other side, use {LibArbitrumL1}. WARNING: There is currently a bug in Arbitrum that causes this contract to fail to detect cross-chain calls when deployed behind a proxy. This will be fixed when the network is upgraded to Arbitrum Nitro, currently scheduled for August 31st 2022.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ARBSYS\":{\"details\":\"Returns whether the current function call is the result of a cross-chain message relayed by `arbsys`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol\":\"LibArbitrumL2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol\":{\"keccak256\":\"0xab1259cd9cdb3fccfb8bfae3240954541c3abddcf0f9444b5ebb3393300bb78e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d62eef1220cb7bed15e94954a748d592cd06ee2e0d64ef15b1fb8bf660ec931\",\"dweb:/ipfs/QmZLwwmtuBqhZNkoZt1US14KALX3928WpJMR3KfAmiRs5r\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol\":{\"keccak256\":\"0xed30463b2696afccf589a002901b4b6556b807fe9f8de8bd6f6b665b3634f933\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4261cf8e7bb4dccfeaece2a984a9d718236b4b07f2bd27df13e94f8e737667e5\",\"dweb:/ipfs/QmSojgcqacRZywUHGJJbdHbWon5P45Q9KRk5qDVnGXSQLH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol":{"CrossChainEnabledOptimism":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"https://www.optimism.io/[Optimism] specialization or the {CrossChainEnabled} abstraction. The messenger (`CrossDomainMessenger`) contract is provided and maintained by the optimism team. You can find the address of this contract on mainnet and kovan in the https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts/deployments[deployments section of Optimism monorepo]. _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"}},\"stateVariables\":{\"_messenger\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol\":\"CrossChainEnabledOptimism\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol\":{\"keccak256\":\"0x474c25c9be599431bed40a89a50985f8e534045c0a9b34d5d883e6e14886f238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2506f212133b44b23beafa5af893e1ba0e0e2ee76db193f22f3163748a659f07\",\"dweb:/ipfs/QmYQPw6yEExEwjShg5udkvQvGw4CqBnfzW5bD5BgEMuQpN\"]},\"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol\":{\"keccak256\":\"0x8003c8830d918de3ddda2aa45ecb0e529337befd36f8d2f74961f77d64ec8406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3c0725e69a762665d329ef5a58403d445a54969d84ce9afa0b7ddf968b26b\",\"dweb:/ipfs/QmdsNMRhoSNZa7QFGwLg69Pi596wFoKT2KtowXsDQLwvjT\"]},\"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol\":{\"keccak256\":\"0x7e55d25ce89596017f1300edc0fed07bd22db98d3b67349cac9d293340d1ac4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e432f1564db9e95496b6981156dbcd280e41cc5de870e8a6f99cf5f84bab429\",\"dweb:/ipfs/QmRjgeg9VZdm88QX3MFLjuVbS66eKvk3LjV1yYkW68Q5Jq\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol":{"LibOptimism":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c437e7c44c8b001a0ca325f983c5aa37879286656f0d3646034c5aa86b228f4664736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 CALLDATACOPY 0xE7 0xC4 0x4C DUP12 STOP BYTE 0xC LOG3 0x25 0xF9 DUP4 0xC5 0xAA CALLDATACOPY DUP8 SWAP3 DUP7 PUSH6 0x6F0D3646034C GAS 0xA8 PUSH12 0x228F4664736F6C6343000809 STOP CALLER ","sourceMap":"521:865:20:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;521:865:20;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c437e7c44c8b001a0ca325f983c5aa37879286656f0d3646034c5aa86b228f4664736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 CALLDATACOPY 0xE7 0xC4 0x4C DUP12 STOP BYTE 0xC LOG3 0x25 0xF9 DUP4 0xC5 0xAA CALLDATACOPY DUP8 SWAP3 DUP7 PUSH6 0x6F0D3646034C GAS 0xA8 PUSH12 0x228F4664736F6C6343000809 STOP CALLER ","sourceMap":"521:865:20:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Primitives for cross-chain aware contracts for https://www.optimism.io/[Optimism]. See the https://community.optimism.io/docs/developers/bridge/messaging/#accessing-msg-sender[documentation] for the functionality used here.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol\":\"LibOptimism\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol\":{\"keccak256\":\"0x8003c8830d918de3ddda2aa45ecb0e529337befd36f8d2f74961f77d64ec8406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3c0725e69a762665d329ef5a58403d445a54969d84ce9afa0b7ddf968b26b\",\"dweb:/ipfs/QmdsNMRhoSNZa7QFGwLg69Pi596wFoKT2KtowXsDQLwvjT\"]},\"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol\":{\"keccak256\":\"0x7e55d25ce89596017f1300edc0fed07bd22db98d3b67349cac9d293340d1ac4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e432f1564db9e95496b6981156dbcd280e41cc5de870e8a6f99cf5f84bab429\",\"dweb:/ipfs/QmRjgeg9VZdm88QX3MFLjuVbS66eKvk3LjV1yYkW68Q5Jq\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol":{"CrossChainEnabledPolygonChild":{"abi":[{"inputs":[],"name":"NotCrossChainCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"rootMessageSender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"processMessageFromRoot","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"processMessageFromRoot(uint256,address,bytes)":"9a7c4b71"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotCrossChainCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"rootMessageSender\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"processMessageFromRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"https://polygon.technology/[Polygon] specialization or the {CrossChainEnabled} abstraction the child side (polygon/mumbai). This version should only be deployed on child chain to process cross-chain messages originating from the parent chain. The fxChild contract is provided and maintained by the polygon team. You can find the address of this contract polygon and mumbai in https://docs.polygon.technology/docs/develop/l1-l2-communication/fx-portal/#contract-addresses[Polygon's Fx-Portal documentation]. _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"processMessageFromRoot(uint256,address,bytes)\":{\"details\":\"External entry point to receive and relay messages originating from the fxChild. Non-reentrancy is crucial to avoid a cross-chain call being able to impersonate anyone by just looping through this with user-defined arguments. Note: if _fxChild calls any other function that does a delegate-call, then security could be compromised.\"}},\"stateVariables\":{\"_fxChild\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol\":\"CrossChainEnabledPolygonChild\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol\":{\"keccak256\":\"0x1ec2f661e2b0bd06b245f7e847111d5b40d32380794bd2d791e89b0bdc3ef082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9466ccdfd19225a51b9b785e60f22b04220684b8c9f24e11b62b740ad77f761f\",\"dweb:/ipfs/QmUAXfC4rzW9cqVdNkXA5c4HgqxNRwzo2MbUV4wDT52tED\"]},\"contracts/@openzeppelin/contracts/crosschain/errors.sol\":{\"keccak256\":\"0xa1e9b651a2427925598b49ef35da5930abc07859cfac5b9dfb1912f063a024b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c514518c36a3fb1c5f1a99d88857e93160c72ea1fd728c443406ad1acb43ae9a\",\"dweb:/ipfs/Qmc3oXjBNhdeM5cfWpsvewXZAhH34Scgna2W3MvLaiiapQ\"]},\"contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol\":{\"keccak256\":\"0xd3f8d66e3d4337a4327a4b9a63e07093a2a84d511cc8f3110078766a855655ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecba86ff03b4c021575f47ffa7042b8685ea22f2ac2958698281ad06166d94dc\",\"dweb:/ipfs/QmULt8ynbcXGxDTVbf16zj7APLYwBG1YcHMjJXGaJPD9T2\"]},\"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010\",\"dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol\":{\"keccak256\":\"0xf613eaa6dfa0c12f4d0e5bf4362d0b9aa0aa9d7577af2822bc859ed2994e1558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d02619992daca10a2d5e3dff5356dfd4cb028b9fc3d58398fc78b9c650c970d\",\"dweb:/ipfs/QmYYo2B4bY3XYmPotsRF7p3gVVG3DeFSaJ96frr2miYh1a\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol":{"PaymentSplitter":{"abi":[{"inputs":[{"internalType":"address[]","name":"payees","type":"address[]"},{"internalType":"uint256[]","name":"shares_","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20PaymentReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"PayeeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReleased","type":"event"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"payee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_2160":{"entryPoint":null,"id":2160,"parameterSlots":2,"returnSlots":0},"@_addPayee_2520":{"entryPoint":352,"id":2520,"parameterSlots":2,"returnSlots":0},"abi_decode_array_uint256_dyn_fromMemory":{"entryPoint":955,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":1070,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_22db6c622fd62a15ab5fca8fc78156905c4f1b5914d7d1db97b192b87e8c816b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a5e39d6690ea50b22e040fe9ba22acf868e3d7f78e6ca8dc7ae3224a0aade89f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_df40dd957dfb1d655a61a3d20a7083773a63031454719eb1eb83074b56cf5635__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f1437b0f4053e38629626a98d8100226576b62fcebc211e7a49225bd05994643__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f9c1be4d5245e2b1590d7367c9c09f1ac5365954d05fed4172915681bdc80ed4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":866,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_address_dyn":{"entryPoint":917,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1366,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":1336,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":1314,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":1292,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":844,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5371:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"191:230:181","statements":[{"nodeType":"YulAssignment","src":"201:19:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"217:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"211:5:181"},"nodeType":"YulFunctionCall","src":"211:9:181"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"201:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"229:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"251:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"267:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"273:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:181"},"nodeType":"YulFunctionCall","src":"263:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"282:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"278:3:181"},"nodeType":"YulFunctionCall","src":"278:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"259:3:181"},"nodeType":"YulFunctionCall","src":"259:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"247:3:181"},"nodeType":"YulFunctionCall","src":"247:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"233:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"362:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"364:16:181"},"nodeType":"YulFunctionCall","src":"364:18:181"},"nodeType":"YulExpressionStatement","src":"364:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"305:10:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"325:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"329:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"321:3:181"},"nodeType":"YulFunctionCall","src":"321:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"333:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"317:3:181"},"nodeType":"YulFunctionCall","src":"317:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"341:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"353:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"338:2:181"},"nodeType":"YulFunctionCall","src":"338:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"299:2:181"},"nodeType":"YulFunctionCall","src":"299:62:181"},"nodeType":"YulIf","src":"296:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"400:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"404:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:181"},"nodeType":"YulFunctionCall","src":"393:22:181"},"nodeType":"YulExpressionStatement","src":"393:22:181"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"171:4:181","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"180:6:181","type":""}],"src":"146:275:181"},{"body":{"nodeType":"YulBlock","src":"495:114:181","statements":[{"body":{"nodeType":"YulBlock","src":"539:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"541:16:181"},"nodeType":"YulFunctionCall","src":"541:18:181"},"nodeType":"YulExpressionStatement","src":"541:18:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"511:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"527:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"531:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"523:3:181"},"nodeType":"YulFunctionCall","src":"523:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"535:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"519:3:181"},"nodeType":"YulFunctionCall","src":"519:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"508:2:181"},"nodeType":"YulFunctionCall","src":"508:30:181"},"nodeType":"YulIf","src":"505:56:181"},{"nodeType":"YulAssignment","src":"570:33:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"586:1:181","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"582:3:181"},"nodeType":"YulFunctionCall","src":"582:14:181"},{"kind":"number","nodeType":"YulLiteral","src":"598:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"578:3:181"},"nodeType":"YulFunctionCall","src":"578:25:181"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"570:4:181"}]}]},"name":"array_allocation_size_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"475:6:181","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"486:4:181","type":""}],"src":"426:183:181"},{"body":{"nodeType":"YulBlock","src":"689:584:181","statements":[{"body":{"nodeType":"YulBlock","src":"738:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"750:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"740:6:181"},"nodeType":"YulFunctionCall","src":"740:12:181"},"nodeType":"YulExpressionStatement","src":"740:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"717:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"725:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"713:3:181"},"nodeType":"YulFunctionCall","src":"713:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"732:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"709:3:181"},"nodeType":"YulFunctionCall","src":"709:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"702:6:181"},"nodeType":"YulFunctionCall","src":"702:35:181"},"nodeType":"YulIf","src":"699:55:181"},{"nodeType":"YulVariableDeclaration","src":"763:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"779:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"773:5:181"},"nodeType":"YulFunctionCall","src":"773:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"767:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"795:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"805:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"799:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"818:71:181","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"885:2:181"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"845:39:181"},"nodeType":"YulFunctionCall","src":"845:43:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"829:15:181"},"nodeType":"YulFunctionCall","src":"829:60:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"822:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"898:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"911:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"902:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"930:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"935:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"923:6:181"},"nodeType":"YulFunctionCall","src":"923:15:181"},"nodeType":"YulExpressionStatement","src":"923:15:181"},{"nodeType":"YulAssignment","src":"947:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"958:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"963:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"954:3:181"},"nodeType":"YulFunctionCall","src":"954:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"947:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"975:46:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"997:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1009:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1012:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1005:3:181"},"nodeType":"YulFunctionCall","src":"1005:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"993:3:181"},"nodeType":"YulFunctionCall","src":"993:23:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1018:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"989:3:181"},"nodeType":"YulFunctionCall","src":"989:32:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"979:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1049:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1058:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1061:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1051:6:181"},"nodeType":"YulFunctionCall","src":"1051:12:181"},"nodeType":"YulExpressionStatement","src":"1051:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1036:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"1044:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1033:2:181"},"nodeType":"YulFunctionCall","src":"1033:15:181"},"nodeType":"YulIf","src":"1030:35:181"},{"nodeType":"YulVariableDeclaration","src":"1074:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1089:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1097:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1085:3:181"},"nodeType":"YulFunctionCall","src":"1085:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1078:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:79:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1186:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1197:3:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1191:5:181"},"nodeType":"YulFunctionCall","src":"1191:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1179:6:181"},"nodeType":"YulFunctionCall","src":"1179:23:181"},"nodeType":"YulExpressionStatement","src":"1179:23:181"},{"nodeType":"YulAssignment","src":"1215:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1226:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1231:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1222:3:181"},"nodeType":"YulFunctionCall","src":"1222:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1215:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1120:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1125:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1117:2:181"},"nodeType":"YulFunctionCall","src":"1117:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1133:23:181","statements":[{"nodeType":"YulAssignment","src":"1135:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1146:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1151:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1142:3:181"},"nodeType":"YulFunctionCall","src":"1142:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1135:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1113:3:181","statements":[]},"src":"1109:135:181"},{"nodeType":"YulAssignment","src":"1253:14:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"1262:5:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1253:5:181"}]}]},"name":"abi_decode_array_uint256_dyn_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"663:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"671:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"679:5:181","type":""}],"src":"614:659:181"},{"body":{"nodeType":"YulBlock","src":"1426:1170:181","statements":[{"body":{"nodeType":"YulBlock","src":"1472:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1481:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1484:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1474:6:181"},"nodeType":"YulFunctionCall","src":"1474:12:181"},"nodeType":"YulExpressionStatement","src":"1474:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1447:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1456:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1443:3:181"},"nodeType":"YulFunctionCall","src":"1443:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1468:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1439:3:181"},"nodeType":"YulFunctionCall","src":"1439:32:181"},"nodeType":"YulIf","src":"1436:52:181"},{"nodeType":"YulVariableDeclaration","src":"1497:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1517:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1511:5:181"},"nodeType":"YulFunctionCall","src":"1511:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1501:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1536:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1554:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1558:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1550:3:181"},"nodeType":"YulFunctionCall","src":"1550:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1562:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1546:3:181"},"nodeType":"YulFunctionCall","src":"1546:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1540:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1591:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1600:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1603:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1593:6:181"},"nodeType":"YulFunctionCall","src":"1593:12:181"},"nodeType":"YulExpressionStatement","src":"1593:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1579:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1587:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1576:2:181"},"nodeType":"YulFunctionCall","src":"1576:14:181"},"nodeType":"YulIf","src":"1573:34:181"},{"nodeType":"YulVariableDeclaration","src":"1616:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1630:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1641:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1626:3:181"},"nodeType":"YulFunctionCall","src":"1626:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1620:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1696:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1705:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1708:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1698:6:181"},"nodeType":"YulFunctionCall","src":"1698:12:181"},"nodeType":"YulExpressionStatement","src":"1698:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1675:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1679:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1671:3:181"},"nodeType":"YulFunctionCall","src":"1671:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1686:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1667:3:181"},"nodeType":"YulFunctionCall","src":"1667:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1660:6:181"},"nodeType":"YulFunctionCall","src":"1660:35:181"},"nodeType":"YulIf","src":"1657:55:181"},{"nodeType":"YulVariableDeclaration","src":"1721:19:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1737:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1731:5:181"},"nodeType":"YulFunctionCall","src":"1731:9:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1725:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1749:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1759:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1753:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1772:71:181","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1839:2:181"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1799:39:181"},"nodeType":"YulFunctionCall","src":"1799:43:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1783:15:181"},"nodeType":"YulFunctionCall","src":"1783:60:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1776:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1852:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"1865:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1856:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1884:3:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1889:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1877:6:181"},"nodeType":"YulFunctionCall","src":"1877:15:181"},"nodeType":"YulExpressionStatement","src":"1877:15:181"},{"nodeType":"YulAssignment","src":"1901:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1912:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1917:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1908:3:181"},"nodeType":"YulFunctionCall","src":"1908:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1901:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"1929:42:181","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1951:2:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"1962:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1955:3:181"},"nodeType":"YulFunctionCall","src":"1955:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1947:3:181"},"nodeType":"YulFunctionCall","src":"1947:19:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1968:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1943:3:181"},"nodeType":"YulFunctionCall","src":"1943:28:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1933:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2003:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2012:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2015:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2005:6:181"},"nodeType":"YulFunctionCall","src":"2005:12:181"},"nodeType":"YulExpressionStatement","src":"2005:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1986:6:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1994:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1983:2:181"},"nodeType":"YulFunctionCall","src":"1983:19:181"},"nodeType":"YulIf","src":"1980:39:181"},{"nodeType":"YulVariableDeclaration","src":"2028:22:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2043:2:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2047:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2039:3:181"},"nodeType":"YulFunctionCall","src":"2039:11:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2032:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2115:263:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2129:23:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2148:3:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2142:5:181"},"nodeType":"YulFunctionCall","src":"2142:10:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2133:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2231:74:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2249:11:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2259:1:181","type":"","value":"0"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"2253:2:181","type":""}]},{"expression":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"2284:2:181"},{"name":"_5","nodeType":"YulIdentifier","src":"2288:2:181"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2277:6:181"},"nodeType":"YulFunctionCall","src":"2277:14:181"},"nodeType":"YulExpressionStatement","src":"2277:14:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2178:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2189:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2204:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2209:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2200:3:181"},"nodeType":"YulFunctionCall","src":"2200:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"2213:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2196:3:181"},"nodeType":"YulFunctionCall","src":"2196:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2185:3:181"},"nodeType":"YulFunctionCall","src":"2185:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2175:2:181"},"nodeType":"YulFunctionCall","src":"2175:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2168:6:181"},"nodeType":"YulFunctionCall","src":"2168:50:181"},"nodeType":"YulIf","src":"2165:140:181"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2325:3:181"},{"name":"value","nodeType":"YulIdentifier","src":"2330:5:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2318:6:181"},"nodeType":"YulFunctionCall","src":"2318:18:181"},"nodeType":"YulExpressionStatement","src":"2318:18:181"},{"nodeType":"YulAssignment","src":"2349:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2360:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2365:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2356:3:181"},"nodeType":"YulFunctionCall","src":"2356:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2349:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2070:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2075:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2067:2:181"},"nodeType":"YulFunctionCall","src":"2067:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2083:23:181","statements":[{"nodeType":"YulAssignment","src":"2085:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2096:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2101:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2092:3:181"},"nodeType":"YulFunctionCall","src":"2092:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2085:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"2063:3:181","statements":[]},"src":"2059:319:181"},{"nodeType":"YulAssignment","src":"2387:15:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2397:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2387:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2411:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2437:9:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2448:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2433:3:181"},"nodeType":"YulFunctionCall","src":"2433:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2427:5:181"},"nodeType":"YulFunctionCall","src":"2427:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2415:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2481:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2490:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2493:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2483:6:181"},"nodeType":"YulFunctionCall","src":"2483:12:181"},"nodeType":"YulExpressionStatement","src":"2483:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2467:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2477:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2464:2:181"},"nodeType":"YulFunctionCall","src":"2464:16:181"},"nodeType":"YulIf","src":"2461:36:181"},{"nodeType":"YulAssignment","src":"2506:84:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2560:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"2571:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2556:3:181"},"nodeType":"YulFunctionCall","src":"2556:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2582:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn_fromMemory","nodeType":"YulIdentifier","src":"2516:39:181"},"nodeType":"YulFunctionCall","src":"2516:74:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2506:6:181"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1384:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1395:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1407:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1415:6:181","type":""}],"src":"1278:1318:181"},{"body":{"nodeType":"YulBlock","src":"2775:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2792:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2803:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2785:6:181"},"nodeType":"YulFunctionCall","src":"2785:21:181"},"nodeType":"YulExpressionStatement","src":"2785:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2826:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2837:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2822:3:181"},"nodeType":"YulFunctionCall","src":"2822:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2842:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2815:6:181"},"nodeType":"YulFunctionCall","src":"2815:30:181"},"nodeType":"YulExpressionStatement","src":"2815:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2865:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2876:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2861:3:181"},"nodeType":"YulFunctionCall","src":"2861:18:181"},{"hexValue":"5061796d656e7453706c69747465723a2070617965657320616e642073686172","kind":"string","nodeType":"YulLiteral","src":"2881:34:181","type":"","value":"PaymentSplitter: payees and shar"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2854:6:181"},"nodeType":"YulFunctionCall","src":"2854:62:181"},"nodeType":"YulExpressionStatement","src":"2854:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2936:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2947:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2932:3:181"},"nodeType":"YulFunctionCall","src":"2932:18:181"},{"hexValue":"6573206c656e677468206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"2952:20:181","type":"","value":"es length mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2925:6:181"},"nodeType":"YulFunctionCall","src":"2925:48:181"},"nodeType":"YulExpressionStatement","src":"2925:48:181"},{"nodeType":"YulAssignment","src":"2982:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2994:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3005:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2990:3:181"},"nodeType":"YulFunctionCall","src":"2990:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2982:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_a5e39d6690ea50b22e040fe9ba22acf868e3d7f78e6ca8dc7ae3224a0aade89f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2752:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2766:4:181","type":""}],"src":"2601:414:181"},{"body":{"nodeType":"YulBlock","src":"3194:176:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3211:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3222:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3204:6:181"},"nodeType":"YulFunctionCall","src":"3204:21:181"},"nodeType":"YulExpressionStatement","src":"3204:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3245:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3256:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3241:3:181"},"nodeType":"YulFunctionCall","src":"3241:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3261:2:181","type":"","value":"26"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3234:6:181"},"nodeType":"YulFunctionCall","src":"3234:30:181"},"nodeType":"YulExpressionStatement","src":"3234:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3284:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3295:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3280:3:181"},"nodeType":"YulFunctionCall","src":"3280:18:181"},{"hexValue":"5061796d656e7453706c69747465723a206e6f20706179656573","kind":"string","nodeType":"YulLiteral","src":"3300:28:181","type":"","value":"PaymentSplitter: no payees"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3273:6:181"},"nodeType":"YulFunctionCall","src":"3273:56:181"},"nodeType":"YulExpressionStatement","src":"3273:56:181"},{"nodeType":"YulAssignment","src":"3338:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3350:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3361:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3346:3:181"},"nodeType":"YulFunctionCall","src":"3346:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3338:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f1437b0f4053e38629626a98d8100226576b62fcebc211e7a49225bd05994643__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3171:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3185:4:181","type":""}],"src":"3020:350:181"},{"body":{"nodeType":"YulBlock","src":"3407:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3424:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3431:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3436:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3427:3:181"},"nodeType":"YulFunctionCall","src":"3427:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3417:6:181"},"nodeType":"YulFunctionCall","src":"3417:31:181"},"nodeType":"YulExpressionStatement","src":"3417:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3464:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3467:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3457:6:181"},"nodeType":"YulFunctionCall","src":"3457:15:181"},"nodeType":"YulExpressionStatement","src":"3457:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3488:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3491:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3481:6:181"},"nodeType":"YulFunctionCall","src":"3481:15:181"},"nodeType":"YulExpressionStatement","src":"3481:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3375:127:181"},{"body":{"nodeType":"YulBlock","src":"3539:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3556:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3563:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3568:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3559:3:181"},"nodeType":"YulFunctionCall","src":"3559:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3549:6:181"},"nodeType":"YulFunctionCall","src":"3549:31:181"},"nodeType":"YulExpressionStatement","src":"3549:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3596:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3599:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3589:6:181"},"nodeType":"YulFunctionCall","src":"3589:15:181"},"nodeType":"YulExpressionStatement","src":"3589:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3620:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3623:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3613:6:181"},"nodeType":"YulFunctionCall","src":"3613:15:181"},"nodeType":"YulExpressionStatement","src":"3613:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3507:127:181"},{"body":{"nodeType":"YulBlock","src":"3686:88:181","statements":[{"body":{"nodeType":"YulBlock","src":"3717:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3719:16:181"},"nodeType":"YulFunctionCall","src":"3719:18:181"},"nodeType":"YulExpressionStatement","src":"3719:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3702:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3713:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3709:3:181"},"nodeType":"YulFunctionCall","src":"3709:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3699:2:181"},"nodeType":"YulFunctionCall","src":"3699:17:181"},"nodeType":"YulIf","src":"3696:43:181"},{"nodeType":"YulAssignment","src":"3748:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3759:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"3766:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3755:3:181"},"nodeType":"YulFunctionCall","src":"3755:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"3748:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3668:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"3678:3:181","type":""}],"src":"3639:135:181"},{"body":{"nodeType":"YulBlock","src":"3953:234:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3970:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3981:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3963:6:181"},"nodeType":"YulFunctionCall","src":"3963:21:181"},"nodeType":"YulExpressionStatement","src":"3963:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4004:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4015:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4000:3:181"},"nodeType":"YulFunctionCall","src":"4000:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4020:2:181","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3993:6:181"},"nodeType":"YulFunctionCall","src":"3993:30:181"},"nodeType":"YulExpressionStatement","src":"3993:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4054:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4039:3:181"},"nodeType":"YulFunctionCall","src":"4039:18:181"},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e742069732074686520","kind":"string","nodeType":"YulLiteral","src":"4059:34:181","type":"","value":"PaymentSplitter: account is the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4032:6:181"},"nodeType":"YulFunctionCall","src":"4032:62:181"},"nodeType":"YulExpressionStatement","src":"4032:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4114:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4125:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4110:3:181"},"nodeType":"YulFunctionCall","src":"4110:18:181"},{"hexValue":"7a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"4130:14:181","type":"","value":"zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4103:6:181"},"nodeType":"YulFunctionCall","src":"4103:42:181"},"nodeType":"YulExpressionStatement","src":"4103:42:181"},{"nodeType":"YulAssignment","src":"4154:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4177:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4162:3:181"},"nodeType":"YulFunctionCall","src":"4162:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4154:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_22db6c622fd62a15ab5fca8fc78156905c4f1b5914d7d1db97b192b87e8c816b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3930:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3944:4:181","type":""}],"src":"3779:408:181"},{"body":{"nodeType":"YulBlock","src":"4366:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4383:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4394:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4376:6:181"},"nodeType":"YulFunctionCall","src":"4376:21:181"},"nodeType":"YulExpressionStatement","src":"4376:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4417:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4428:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4413:3:181"},"nodeType":"YulFunctionCall","src":"4413:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4433:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4406:6:181"},"nodeType":"YulFunctionCall","src":"4406:30:181"},"nodeType":"YulExpressionStatement","src":"4406:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4456:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4467:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4452:3:181"},"nodeType":"YulFunctionCall","src":"4452:18:181"},{"hexValue":"5061796d656e7453706c69747465723a20736861726573206172652030","kind":"string","nodeType":"YulLiteral","src":"4472:31:181","type":"","value":"PaymentSplitter: shares are 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4445:6:181"},"nodeType":"YulFunctionCall","src":"4445:59:181"},"nodeType":"YulExpressionStatement","src":"4445:59:181"},{"nodeType":"YulAssignment","src":"4513:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4536:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4521:3:181"},"nodeType":"YulFunctionCall","src":"4521:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4513:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f9c1be4d5245e2b1590d7367c9c09f1ac5365954d05fed4172915681bdc80ed4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4343:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4357:4:181","type":""}],"src":"4192:353:181"},{"body":{"nodeType":"YulBlock","src":"4724:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4741:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4752:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4734:6:181"},"nodeType":"YulFunctionCall","src":"4734:21:181"},"nodeType":"YulExpressionStatement","src":"4734:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4775:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4786:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4771:3:181"},"nodeType":"YulFunctionCall","src":"4771:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4791:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4764:6:181"},"nodeType":"YulFunctionCall","src":"4764:30:181"},"nodeType":"YulExpressionStatement","src":"4764:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4814:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4825:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4810:3:181"},"nodeType":"YulFunctionCall","src":"4810:18:181"},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420616c7265616479","kind":"string","nodeType":"YulLiteral","src":"4830:34:181","type":"","value":"PaymentSplitter: account already"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4803:6:181"},"nodeType":"YulFunctionCall","src":"4803:62:181"},"nodeType":"YulExpressionStatement","src":"4803:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4885:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4896:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4881:3:181"},"nodeType":"YulFunctionCall","src":"4881:18:181"},{"hexValue":"2068617320736861726573","kind":"string","nodeType":"YulLiteral","src":"4901:13:181","type":"","value":" has shares"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4874:6:181"},"nodeType":"YulFunctionCall","src":"4874:41:181"},"nodeType":"YulExpressionStatement","src":"4874:41:181"},{"nodeType":"YulAssignment","src":"4924:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4936:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4947:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4932:3:181"},"nodeType":"YulFunctionCall","src":"4932:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4924:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_df40dd957dfb1d655a61a3d20a7083773a63031454719eb1eb83074b56cf5635__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4701:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4715:4:181","type":""}],"src":"4550:407:181"},{"body":{"nodeType":"YulBlock","src":"5010:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"5037:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5039:16:181"},"nodeType":"YulFunctionCall","src":"5039:18:181"},"nodeType":"YulExpressionStatement","src":"5039:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5026:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5033:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5029:3:181"},"nodeType":"YulFunctionCall","src":"5029:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5023:2:181"},"nodeType":"YulFunctionCall","src":"5023:13:181"},"nodeType":"YulIf","src":"5020:39:181"},{"nodeType":"YulAssignment","src":"5068:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5079:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5082:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5075:3:181"},"nodeType":"YulFunctionCall","src":"5075:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5068:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4993:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"4996:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5002:3:181","type":""}],"src":"4962:128:181"},{"body":{"nodeType":"YulBlock","src":"5224:145:181","statements":[{"nodeType":"YulAssignment","src":"5234:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5246:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5257:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5242:3:181"},"nodeType":"YulFunctionCall","src":"5242:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5234:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5276:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5291:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5307:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5312:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5303:3:181"},"nodeType":"YulFunctionCall","src":"5303:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"5316:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5299:3:181"},"nodeType":"YulFunctionCall","src":"5299:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5287:3:181"},"nodeType":"YulFunctionCall","src":"5287:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5269:6:181"},"nodeType":"YulFunctionCall","src":"5269:51:181"},"nodeType":"YulExpressionStatement","src":"5269:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5340:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5351:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5336:3:181"},"nodeType":"YulFunctionCall","src":"5336:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"5356:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5329:6:181"},"nodeType":"YulFunctionCall","src":"5329:34:181"},"nodeType":"YulExpressionStatement","src":"5329:34:181"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5185:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5196:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5204:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5215:4:181","type":""}],"src":"5095:274:181"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_address_dyn(length) -> size\n {\n if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_array_uint256_dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n let _4 := 0x20\n let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _4)\n let srcEnd := add(add(_2, shl(5, _3)), _4)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _4)\n for { } lt(src, srcEnd) { src := add(src, _4) }\n {\n let value := mload(src)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1))))\n {\n let _5 := 0\n revert(_5, _5)\n }\n mstore(dst, value)\n dst := add(dst, _4)\n }\n value0 := dst_1\n let offset_1 := mload(add(headStart, _4))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_tuple_t_stringliteral_a5e39d6690ea50b22e040fe9ba22acf868e3d7f78e6ca8dc7ae3224a0aade89f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"PaymentSplitter: payees and shar\")\n mstore(add(headStart, 96), \"es length mismatch\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f1437b0f4053e38629626a98d8100226576b62fcebc211e7a49225bd05994643__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"PaymentSplitter: no payees\")\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 panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_22db6c622fd62a15ab5fca8fc78156905c4f1b5914d7d1db97b192b87e8c816b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"PaymentSplitter: account is the \")\n mstore(add(headStart, 96), \"zero address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f9c1be4d5245e2b1590d7367c9c09f1ac5365954d05fed4172915681bdc80ed4__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), \"PaymentSplitter: shares are 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_df40dd957dfb1d655a61a3d20a7083773a63031454719eb1eb83074b56cf5635__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"PaymentSplitter: account already\")\n mstore(add(headStart, 96), \" has shares\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"6080604052604051620011d8380380620011d883398101604081905262000026916200042e565b8051825114620000985760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b6000825111620000eb5760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200008f565b60005b82518110156200015757620001428382815181106200011157620001116200050c565b60200260200101518383815181106200012e576200012e6200050c565b60200260200101516200016060201b60201c565b806200014e8162000538565b915050620000ee565b50505062000571565b6001600160a01b038216620001cd5760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200008f565b600081116200021f5760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a2073686172657320617265203000000060448201526064016200008f565b6001600160a01b038216600090815260026020526040902054156200029b5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200008f565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b0384169081179091556000908152600260205260408120829055546200030390829062000556565b600055604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200038d576200038d6200034c565b604052919050565b60006001600160401b03821115620003b157620003b16200034c565b5060051b60200190565b600082601f830112620003cd57600080fd5b81516020620003e6620003e08362000395565b62000362565b82815260059290921b840181019181810190868411156200040657600080fd5b8286015b848110156200042357805183529183019183016200040a565b509695505050505050565b600080604083850312156200044257600080fd5b82516001600160401b03808211156200045a57600080fd5b818501915085601f8301126200046f57600080fd5b8151602062000482620003e08362000395565b82815260059290921b84018101918181019089841115620004a257600080fd5b948201945b83861015620004d95785516001600160a01b0381168114620004c95760008081fd5b82529482019490820190620004a7565b91880151919650909350505080821115620004f357600080fd5b506200050285828601620003bb565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200054f576200054f62000522565b5060010190565b600082198211156200056c576200056c62000522565b500190565b610c5780620005816000396000f3fe6080604052600436106100a05760003560e01c80639852595c116100645780639852595c146101d2578063a3f8eace14610208578063c45ac05014610228578063ce7c2ac214610248578063d79779b21461027e578063e33b7de3146102b457600080fd5b806319165587146100ee5780633a98ef3914610110578063406072a91461013457806348b750441461017a5780638b83209b1461019a57600080fd5b366100e9577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156100fa57600080fd5b5061010e6101093660046109cb565b6102c9565b005b34801561011c57600080fd5b506000545b6040519081526020015b60405180910390f35b34801561014057600080fd5b5061012161014f3660046109e8565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561018657600080fd5b5061010e6101953660046109e8565b6103b6565b3480156101a657600080fd5b506101ba6101b5366004610a21565b6104c4565b6040516001600160a01b03909116815260200161012b565b3480156101de57600080fd5b506101216101ed3660046109cb565b6001600160a01b031660009081526003602052604090205490565b34801561021457600080fd5b506101216102233660046109cb565b6104f4565b34801561023457600080fd5b506101216102433660046109e8565b61053c565b34801561025457600080fd5b506101216102633660046109cb565b6001600160a01b031660009081526002602052604090205490565b34801561028a57600080fd5b506101216102993660046109cb565b6001600160a01b031660009081526005602052604090205490565b3480156102c057600080fd5b50600154610121565b6001600160a01b0381166000908152600260205260409020546103075760405162461bcd60e51b81526004016102fe90610a3a565b60405180910390fd5b6000610312826104f4565b9050806103315760405162461bcd60e51b81526004016102fe90610a80565b80600160008282546103439190610ae1565b90915550506001600160a01b03821660009081526003602052604090208054820190556103708282610616565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b6001600160a01b0381166000908152600260205260409020546103eb5760405162461bcd60e51b81526004016102fe90610a3a565b60006103f7838361053c565b9050806104165760405162461bcd60e51b81526004016102fe90610a80565b6001600160a01b0383166000908152600560205260408120805483929061043e908490610ae1565b90915550506001600160a01b038084166000908152600660209081526040808320938616835292905220805482019055610479838383610734565b604080516001600160a01b038481168252602082018490528516917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a2505050565b6000600482815481106104d9576104d9610af9565b6000918252602090912001546001600160a01b031692915050565b60008061050060015490565b61050a9047610ae1565b90506105358382610530866001600160a01b031660009081526003602052604090205490565b610786565b9392505050565b6001600160a01b03821660009081526005602052604081205481906040516370a0823160e01b81523060048201526001600160a01b038616906370a082319060240160206040518083038186803b15801561059657600080fd5b505afa1580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190610b0f565b6105d89190610ae1565b6001600160a01b0380861660009081526006602090815260408083209388168352929052205490915061060e9084908390610786565b949350505050565b804710156106665760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102fe565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106b3576040519150601f19603f3d011682016040523d82523d6000602084013e6106b8565b606091505b505090508061072f5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102fe565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261072f9084906107c1565b600080546001600160a01b0385168252600260205260408220548391906107ad9086610b28565b6107b79190610b47565b61060e9190610b69565b6000610816826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108939092919063ffffffff16565b80519091501561072f57808060200190518101906108349190610b80565b61072f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102fe565b606061060e848460008585600080866001600160a01b031685876040516108ba9190610bd2565b60006040518083038185875af1925050503d80600081146108f7576040519150601f19603f3d011682016040523d82523d6000602084013e6108fc565b606091505b509150915061090d87838387610918565b979650505050505050565b6060831561098457825161097d576001600160a01b0385163b61097d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102fe565b508161060e565b61060e83838151156109995781518083602001fd5b8060405162461bcd60e51b81526004016102fe9190610bee565b6001600160a01b03811681146109c857600080fd5b50565b6000602082840312156109dd57600080fd5b8135610535816109b3565b600080604083850312156109fb57600080fd5b8235610a06816109b3565b91506020830135610a16816109b3565b809150509250929050565b600060208284031215610a3357600080fd5b5035919050565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610af457610af4610acb565b500190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b2157600080fd5b5051919050565b6000816000190483118215151615610b4257610b42610acb565b500290565b600082610b6457634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610b7b57610b7b610acb565b500390565b600060208284031215610b9257600080fd5b8151801515811461053557600080fd5b60005b83811015610bbd578181015183820152602001610ba5565b83811115610bcc576000848401525b50505050565b60008251610be4818460208701610ba2565b9190910192915050565b6020815260008251806020840152610c0d816040850160208701610ba2565b601f01601f1916919091016040019291505056fea264697066735822122004830d437693d3ae5c77b9dbb5c4a0dfb0a6fab8d6b1608b437900d0d5948ffb64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0x11D8 CODESIZE SUB DUP1 PUSH3 0x11D8 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x26 SWAP2 PUSH3 0x42E JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH3 0x98 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A2070617965657320616E642073686172 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0xCAE640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x73 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH3 0xEB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206E6F20706179656573000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x8F JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH3 0x157 JUMPI PUSH3 0x142 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0x111 JUMPI PUSH3 0x111 PUSH3 0x50C JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH3 0x12E JUMPI PUSH3 0x12E PUSH3 0x50C JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH3 0x160 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH3 0x14E DUP2 PUSH3 0x538 JUMP JUMPDEST SWAP2 POP POP PUSH3 0xEE JUMP JUMPDEST POP POP POP PUSH3 0x571 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x1CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E742069732074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x8F JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH3 0x21F 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 0x5061796D656E7453706C69747465723A20736861726573206172652030000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x8F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH3 0x29B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E7420616C7265616479 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x2068617320736861726573 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x8F JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 ADD SWAP1 SWAP2 SSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 SWAP1 SSTORE SLOAD PUSH3 0x303 SWAP1 DUP3 SWAP1 PUSH3 0x556 JUMP JUMPDEST PUSH1 0x0 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x40C340F65E17194D14DDDDB073D3C9F888E3CB52B5AAE0C6C7706B4FBC905FAC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH3 0x38D JUMPI PUSH3 0x38D PUSH3 0x34C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH3 0x3B1 JUMPI PUSH3 0x3B1 PUSH3 0x34C JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x3CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH3 0x3E6 PUSH3 0x3E0 DUP4 PUSH3 0x395 JUMP JUMPDEST PUSH3 0x362 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH3 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH3 0x423 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH3 0x40A JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x442 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x45A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x46F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH3 0x482 PUSH3 0x3E0 DUP4 PUSH3 0x395 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP10 DUP5 GT ISZERO PUSH3 0x4A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH3 0x4D9 JUMPI DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x4C9 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH3 0x4A7 JUMP JUMPDEST SWAP2 DUP9 ADD MLOAD SWAP2 SWAP7 POP SWAP1 SWAP4 POP POP POP DUP1 DUP3 GT ISZERO PUSH3 0x4F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x502 DUP6 DUP3 DUP7 ADD PUSH3 0x3BB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH3 0x54F JUMPI PUSH3 0x54F PUSH3 0x522 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x56C JUMPI PUSH3 0x56C PUSH3 0x522 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH2 0xC57 DUP1 PUSH3 0x581 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9852595C GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x9852595C EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0xA3F8EACE EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xC45AC050 EQ PUSH2 0x228 JUMPI DUP1 PUSH4 0xCE7C2AC2 EQ PUSH2 0x248 JUMPI DUP1 PUSH4 0xD79779B2 EQ PUSH2 0x27E JUMPI DUP1 PUSH4 0xE33B7DE3 EQ PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x19165587 EQ PUSH2 0xEE JUMPI DUP1 PUSH4 0x3A98EF39 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x406072A9 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x48B75044 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x8B83209B EQ PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0xE9 JUMPI PUSH32 0x6EF95F06320E7A25A04A175CA677B7052BDD97131872C2192525A629F51BE770 CALLER PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE CALLVALUE PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10E PUSH2 0x109 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x2C9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x186 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10E PUSH2 0x195 CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH2 0x3B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x1B5 CALLDATASIZE PUSH1 0x4 PUSH2 0xA21 JUMP JUMPDEST PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1ED CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x223 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x4F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH2 0x53C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x263 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x299 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x121 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA3A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x312 DUP3 PUSH2 0x4F4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x331 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA80 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x343 SWAP2 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE PUSH2 0x370 DUP3 DUP3 PUSH2 0x616 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0xDF20FD1E76BC69D672E4814FAFB2C449BBA3A5369D8359ADF9E05E6FDE87B056 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA3A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F7 DUP4 DUP4 PUSH2 0x53C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x416 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x43E SWAP1 DUP5 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE PUSH2 0x479 DUP4 DUP4 DUP4 PUSH2 0x734 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP5 SWAP1 MSTORE DUP6 AND SWAP2 PUSH32 0x3BE5B7A71E84ED12875D241991C70855AC5817D847039E17A9D895C1CEB0F18A SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x4D9 JUMPI PUSH2 0x4D9 PUSH2 0xAF9 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x500 PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x50A SWAP1 SELFBALANCE PUSH2 0xAE1 JUMP JUMPDEST SWAP1 POP PUSH2 0x535 DUP4 DUP3 PUSH2 0x530 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x786 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP2 SWAP1 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5CE SWAP2 SWAP1 PUSH2 0xB0F JUMP JUMPDEST PUSH2 0x5D8 SWAP2 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x60E SWAP1 DUP5 SWAP1 DUP4 SWAP1 PUSH2 0x786 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x666 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x6B3 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 0x6B8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x72F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2FE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x72F SWAP1 DUP5 SWAP1 PUSH2 0x7C1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD DUP4 SWAP2 SWAP1 PUSH2 0x7AD SWAP1 DUP7 PUSH2 0xB28 JUMP JUMPDEST PUSH2 0x7B7 SWAP2 SWAP1 PUSH2 0xB47 JUMP JUMPDEST PUSH2 0x60E SWAP2 SWAP1 PUSH2 0xB69 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x816 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x893 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x72F JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x834 SWAP2 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH2 0x72F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x60E DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x8BA SWAP2 SWAP1 PUSH2 0xBD2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8F7 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 0x8FC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x90D DUP8 DUP4 DUP4 DUP8 PUSH2 0x918 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x984 JUMPI DUP3 MLOAD PUSH2 0x97D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x97D 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2FE JUMP JUMPDEST POP DUP2 PUSH2 0x60E JUMP JUMPDEST PUSH2 0x60E DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x999 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP2 SWAP1 PUSH2 0xBEE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x9C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x535 DUP2 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0xA06 DUP2 PUSH2 0x9B3 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0xA16 DUP2 PUSH2 0x9B3 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E7420686173206E6F20 PUSH1 0x40 DUP3 ADD MSTORE PUSH6 0x736861726573 PUSH1 0xD0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E74206973206E6F7420 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x191D59481C185E5B595B9D PUSH1 0xAA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xAF4 JUMPI PUSH2 0xAF4 PUSH2 0xACB JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xB42 JUMPI PUSH2 0xB42 PUSH2 0xACB JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB64 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xB7B JUMPI PUSH2 0xB7B PUSH2 0xACB JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBBD JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xBA5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBCC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xBE4 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xBA2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xC0D DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xBA2 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV DUP4 0xD NUMBER PUSH23 0x93D3AE5C77B9DBB5C4A0DFB0A6FAB8D6B1608B437900D0 0xD5 SWAP5 DUP16 0xFB PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1471:7100:22:-:0;;;2448:359;;;;;;;;;;;;;;;;;;:::i;:::-;2554:7;:14;2537:6;:13;:31;2529:94;;;;-1:-1:-1;;;2529:94:22;;2803:2:181;2529:94:22;;;2785:21:181;2842:2;2822:18;;;2815:30;2881:34;2861:18;;;2854:62;-1:-1:-1;;;2932:18:181;;;2925:48;2990:19;;2529:94:22;;;;;;;;;2657:1;2641:6;:13;:17;2633:56;;;;-1:-1:-1;;;2633:56:22;;3222:2:181;2633:56:22;;;3204:21:181;3261:2;3241:18;;;3234:30;3300:28;3280:18;;;3273:56;3346:18;;2633:56:22;3020:350:181;2633:56:22;2705:9;2700:101;2724:6;:13;2720:1;:17;2700:101;;;2758:32;2768:6;2775:1;2768:9;;;;;;;;:::i;:::-;;;;;;;2779:7;2787:1;2779:10;;;;;;;;:::i;:::-;;;;;;;2758:9;;;:32;;:::i;:::-;2739:3;;;;:::i;:::-;;;;2700:101;;;;2448:359;;1471:7100;;8105:464;-1:-1:-1;;;;;8184:21:22;;8176:78;;;;-1:-1:-1;;;8176:78:22;;3981:2:181;8176:78:22;;;3963:21:181;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:181;;;4103:42;4162:19;;8176:78:22;3779:408:181;8176:78:22;8282:1;8272:7;:11;8264:53;;;;-1:-1:-1;;;8264:53:22;;4394:2:181;8264:53:22;;;4376:21:181;4433:2;4413:18;;;4406:30;4472:31;4452:18;;;4445:59;4521:18;;8264:53:22;4192:353:181;8264:53:22;-1:-1:-1;;;;;8335:16:22;;;;;;:7;:16;;;;;;:21;8327:77;;;;-1:-1:-1;;;8327:77:22;;4752:2:181;8327:77:22;;;4734:21:181;4791:2;4771:18;;;4764:30;4830:34;4810:18;;;4803:62;-1:-1:-1;;;4881:18:181;;;4874:41;4932:19;;8327:77:22;4550:407:181;8327:77:22;8415:7;:21;;;;;;;;;;;;-1:-1:-1;;;;;;8415:21:22;-1:-1:-1;;;;;8415:21:22;;;;;;;;-1:-1:-1;8446:16:22;;;:7;8415:21;8446:16;;;;:26;;;8497:12;:22;;8446:26;;8497:22;:::i;:::-;8482:12;:37;8534:28;;;-1:-1:-1;;;;;5287:32:181;;5269:51;;5351:2;5336:18;;5329:34;;;8534:28:22;;5242:18:181;8534:28:22;;;;;;;8105:464;;:::o;14:127:181:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:181;247:40;;-1:-1:-1;;;;;302:34:181;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:181:o;426:183::-;486:4;-1:-1:-1;;;;;508:30:181;;505:56;;;541:18;;:::i;:::-;-1:-1:-1;586:1:181;582:14;598:4;578:25;;426:183::o;614:659::-;679:5;732:3;725:4;717:6;713:17;709:27;699:55;;750:1;747;740:12;699:55;779:6;773:13;805:4;829:60;845:43;885:2;845:43;:::i;:::-;829:60;:::i;:::-;923:15;;;1009:1;1005:10;;;;993:23;;989:32;;;954:12;;;;1033:15;;;1030:35;;;1061:1;1058;1051:12;1030:35;1097:2;1089:6;1085:15;1109:135;1125:6;1120:3;1117:15;1109:135;;;1191:10;;1179:23;;1222:12;;;;1142;;1109:135;;;-1:-1:-1;1262:5:181;614:659;-1:-1:-1;;;;;;614:659:181:o;1278:1318::-;1407:6;1415;1468:2;1456:9;1447:7;1443:23;1439:32;1436:52;;;1484:1;1481;1474:12;1436:52;1511:16;;-1:-1:-1;;;;;1576:14:181;;;1573:34;;;1603:1;1600;1593:12;1573:34;1641:6;1630:9;1626:22;1616:32;;1686:7;1679:4;1675:2;1671:13;1667:27;1657:55;;1708:1;1705;1698:12;1657:55;1737:2;1731:9;1759:4;1783:60;1799:43;1839:2;1799:43;:::i;1783:60::-;1877:15;;;1959:1;1955:10;;;;1947:19;;1943:28;;;1908:12;;;;1983:19;;;1980:39;;;2015:1;2012;2005:12;1980:39;2039:11;;;;2059:319;2075:6;2070:3;2067:15;2059:319;;;2142:10;;-1:-1:-1;;;;;2185:31:181;;2175:42;;2165:140;;2259:1;2288:2;2284;2277:14;2165:140;2318:18;;2092:12;;;;2356;;;;2059:319;;;2433:18;;;2427:25;2397:5;;-1:-1:-1;2427:25:181;;-1:-1:-1;;;2464:16:181;;;2461:36;;;2493:1;2490;2483:12;2461:36;;2516:74;2582:7;2571:8;2560:9;2556:24;2516:74;:::i;:::-;2506:84;;;1278:1318;;;;;:::o;3375:127::-;3436:10;3431:3;3427:20;3424:1;3417:31;3467:4;3464:1;3457:15;3491:4;3488:1;3481:15;3507:127;3568:10;3563:3;3559:20;3556:1;3549:31;3599:4;3596:1;3589:15;3623:4;3620:1;3613:15;3639:135;3678:3;-1:-1:-1;;3699:17:181;;3696:43;;;3719:18;;:::i;:::-;-1:-1:-1;3766:1:181;3755:13;;3639:135::o;4962:128::-;5002:3;5033:1;5029:6;5026:1;5023:13;5020:39;;;5039:18;;:::i;:::-;-1:-1:-1;5075:9:181;;4962:128::o;5095:274::-;1471:7100:22;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_2172":{"entryPoint":null,"id":2172,"parameterSlots":0,"returnSlots":0},"@_callOptionalReturn_16413":{"entryPoint":1985,"id":16413,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_pendingPayment_2462":{"entryPoint":1926,"id":2462,"parameterSlots":3,"returnSlots":1},"@_revert_20687":{"entryPoint":null,"id":20687,"parameterSlots":2,"returnSlots":0},"@functionCallWithValue_20512":{"entryPoint":null,"id":20512,"parameterSlots":4,"returnSlots":1},"@functionCall_20448":{"entryPoint":2195,"id":20448,"parameterSlots":3,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@payee_2261":{"entryPoint":1220,"id":2261,"parameterSlots":1,"returnSlots":1},"@releasable_2289":{"entryPoint":1268,"id":2289,"parameterSlots":1,"returnSlots":1},"@releasable_2324":{"entryPoint":1340,"id":2324,"parameterSlots":2,"returnSlots":1},"@release_2376":{"entryPoint":713,"id":2376,"parameterSlots":1,"returnSlots":0},"@release_2438":{"entryPoint":950,"id":2438,"parameterSlots":2,"returnSlots":0},"@released_2230":{"entryPoint":null,"id":2230,"parameterSlots":1,"returnSlots":1},"@released_2248":{"entryPoint":null,"id":2248,"parameterSlots":2,"returnSlots":1},"@safeTransfer_16165":{"entryPoint":1844,"id":16165,"parameterSlots":3,"returnSlots":0},"@sendValue_20410":{"entryPoint":1558,"id":20410,"parameterSlots":2,"returnSlots":0},"@shares_2217":{"entryPoint":null,"id":2217,"parameterSlots":1,"returnSlots":1},"@totalReleased_2190":{"entryPoint":null,"id":2190,"parameterSlots":0,"returnSlots":1},"@totalReleased_2204":{"entryPoint":null,"id":2204,"parameterSlots":1,"returnSlots":1},"@totalShares_2181":{"entryPoint":null,"id":2181,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":2328,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable":{"entryPoint":2507,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":2944,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IERC20_$13470":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IERC20_$13470t_address":{"entryPoint":2536,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":2593,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":2831,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":3026,"id":null,"parameterSlots":2,"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_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3054,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2618,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2688,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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":2785,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":2887,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":2856,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":2921,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":2978,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x11":{"entryPoint":2763,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":2809,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address_payable":{"entryPoint":2483,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7838:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"143:145:181","statements":[{"nodeType":"YulAssignment","src":"153:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"176:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"161:3:181"},"nodeType":"YulFunctionCall","src":"161:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"153:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"195:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"210:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"226:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"231:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"222:3:181"},"nodeType":"YulFunctionCall","src":"222:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"235:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"218:3:181"},"nodeType":"YulFunctionCall","src":"218:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"206:3:181"},"nodeType":"YulFunctionCall","src":"206:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"188:6:181"},"nodeType":"YulFunctionCall","src":"188:51:181"},"nodeType":"YulExpressionStatement","src":"188:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"259:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"270:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:181"},"nodeType":"YulFunctionCall","src":"255:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"275:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"248:6:181"},"nodeType":"YulFunctionCall","src":"248:34:181"},"nodeType":"YulExpressionStatement","src":"248:34:181"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"115:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"123:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"134:4:181","type":""}],"src":"14:274:181"},{"body":{"nodeType":"YulBlock","src":"346:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"410:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"419:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"422:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"412:6:181"},"nodeType":"YulFunctionCall","src":"412:12:181"},"nodeType":"YulExpressionStatement","src":"412:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"369:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"380:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"395:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"400:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"391:3:181"},"nodeType":"YulFunctionCall","src":"391:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"404:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"387:3:181"},"nodeType":"YulFunctionCall","src":"387:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"376:3:181"},"nodeType":"YulFunctionCall","src":"376:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"366:2:181"},"nodeType":"YulFunctionCall","src":"366:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"359:6:181"},"nodeType":"YulFunctionCall","src":"359:50:181"},"nodeType":"YulIf","src":"356:70:181"}]},"name":"validator_revert_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"335:5:181","type":""}],"src":"293:139:181"},{"body":{"nodeType":"YulBlock","src":"515:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"561:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"570:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"573:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"563:6:181"},"nodeType":"YulFunctionCall","src":"563:12:181"},"nodeType":"YulExpressionStatement","src":"563:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"536:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"545:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"532:3:181"},"nodeType":"YulFunctionCall","src":"532:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"557:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"528:3:181"},"nodeType":"YulFunctionCall","src":"528:32:181"},"nodeType":"YulIf","src":"525:52:181"},{"nodeType":"YulVariableDeclaration","src":"586:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"612:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"599:12:181"},"nodeType":"YulFunctionCall","src":"599:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"590:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"664:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"631:32:181"},"nodeType":"YulFunctionCall","src":"631:39:181"},"nodeType":"YulExpressionStatement","src":"631:39:181"},{"nodeType":"YulAssignment","src":"679:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"689:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"679:6:181"}]}]},"name":"abi_decode_tuple_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"481:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"492:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"504:6:181","type":""}],"src":"437:263:181"},{"body":{"nodeType":"YulBlock","src":"806:76:181","statements":[{"nodeType":"YulAssignment","src":"816:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"828:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"839:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"824:3:181"},"nodeType":"YulFunctionCall","src":"824:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"816:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"858:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"869:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"851:6:181"},"nodeType":"YulFunctionCall","src":"851:25:181"},"nodeType":"YulExpressionStatement","src":"851:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"775:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"786:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"797:4:181","type":""}],"src":"705:177:181"},{"body":{"nodeType":"YulBlock","src":"990:317:181","statements":[{"body":{"nodeType":"YulBlock","src":"1036:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1045:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1048:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1038:6:181"},"nodeType":"YulFunctionCall","src":"1038:12:181"},"nodeType":"YulExpressionStatement","src":"1038:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1011:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1020:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1007:3:181"},"nodeType":"YulFunctionCall","src":"1007:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1032:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1003:3:181"},"nodeType":"YulFunctionCall","src":"1003:32:181"},"nodeType":"YulIf","src":"1000:52:181"},{"nodeType":"YulVariableDeclaration","src":"1061:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1087:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1074:12:181"},"nodeType":"YulFunctionCall","src":"1074:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1065:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1139:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"1106:32:181"},"nodeType":"YulFunctionCall","src":"1106:39:181"},"nodeType":"YulExpressionStatement","src":"1106:39:181"},{"nodeType":"YulAssignment","src":"1154:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1164:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1154:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1178:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1210:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1221:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1206:3:181"},"nodeType":"YulFunctionCall","src":"1206:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1193:12:181"},"nodeType":"YulFunctionCall","src":"1193:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1182:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1267:7:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"1234:32:181"},"nodeType":"YulFunctionCall","src":"1234:41:181"},"nodeType":"YulExpressionStatement","src":"1234:41:181"},{"nodeType":"YulAssignment","src":"1284:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"1294:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1284:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_IERC20_$13470t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"948:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"959:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"971:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"979:6:181","type":""}],"src":"887:420:181"},{"body":{"nodeType":"YulBlock","src":"1382:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"1428:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1437:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1440:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1430:6:181"},"nodeType":"YulFunctionCall","src":"1430:12:181"},"nodeType":"YulExpressionStatement","src":"1430:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1403:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1412:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1399:3:181"},"nodeType":"YulFunctionCall","src":"1399:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1424:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1395:3:181"},"nodeType":"YulFunctionCall","src":"1395:32:181"},"nodeType":"YulIf","src":"1392:52:181"},{"nodeType":"YulAssignment","src":"1453:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1476:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1463:12:181"},"nodeType":"YulFunctionCall","src":"1463:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1453:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1348:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1359:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1371:6:181","type":""}],"src":"1312:180:181"},{"body":{"nodeType":"YulBlock","src":"1598:102:181","statements":[{"nodeType":"YulAssignment","src":"1608:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1620:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1631:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1616:3:181"},"nodeType":"YulFunctionCall","src":"1616:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1608:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1650:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1665:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1681:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1686:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1677:3:181"},"nodeType":"YulFunctionCall","src":"1677:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1690:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1673:3:181"},"nodeType":"YulFunctionCall","src":"1673:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1661:3:181"},"nodeType":"YulFunctionCall","src":"1661:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1643:6:181"},"nodeType":"YulFunctionCall","src":"1643:51:181"},"nodeType":"YulExpressionStatement","src":"1643:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1567:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1578:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1589:4:181","type":""}],"src":"1497:203:181"},{"body":{"nodeType":"YulBlock","src":"1775:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"1821:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1830:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1833:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1823:6:181"},"nodeType":"YulFunctionCall","src":"1823:12:181"},"nodeType":"YulExpressionStatement","src":"1823:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1796:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1805:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1792:3:181"},"nodeType":"YulFunctionCall","src":"1792:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1817:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1788:3:181"},"nodeType":"YulFunctionCall","src":"1788:32:181"},"nodeType":"YulIf","src":"1785:52:181"},{"nodeType":"YulVariableDeclaration","src":"1846:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1872:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1859:12:181"},"nodeType":"YulFunctionCall","src":"1859:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1850:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1924:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"1891:32:181"},"nodeType":"YulFunctionCall","src":"1891:39:181"},"nodeType":"YulExpressionStatement","src":"1891:39:181"},{"nodeType":"YulAssignment","src":"1939:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1949:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1939:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1741:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1752:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1764:6:181","type":""}],"src":"1705:255:181"},{"body":{"nodeType":"YulBlock","src":"2051:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"2097:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2106:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2109:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2099:6:181"},"nodeType":"YulFunctionCall","src":"2099:12:181"},"nodeType":"YulExpressionStatement","src":"2099:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2072:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2081:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2068:3:181"},"nodeType":"YulFunctionCall","src":"2068:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2093:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2064:3:181"},"nodeType":"YulFunctionCall","src":"2064:32:181"},"nodeType":"YulIf","src":"2061:52:181"},{"nodeType":"YulVariableDeclaration","src":"2122:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2148:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2135:12:181"},"nodeType":"YulFunctionCall","src":"2135:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2126:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2200:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"2167:32:181"},"nodeType":"YulFunctionCall","src":"2167:39:181"},"nodeType":"YulExpressionStatement","src":"2167:39:181"},{"nodeType":"YulAssignment","src":"2215:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"2225:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2215:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_IERC20_$13470","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2017:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2028:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2040:6:181","type":""}],"src":"1965:271:181"},{"body":{"nodeType":"YulBlock","src":"2415:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2432:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2443:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2425:6:181"},"nodeType":"YulFunctionCall","src":"2425:21:181"},"nodeType":"YulExpressionStatement","src":"2425:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2466:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2477:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2462:3:181"},"nodeType":"YulFunctionCall","src":"2462:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2482:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2455:6:181"},"nodeType":"YulFunctionCall","src":"2455:30:181"},"nodeType":"YulExpressionStatement","src":"2455:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2505:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2516:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2501:3:181"},"nodeType":"YulFunctionCall","src":"2501:18:181"},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e7420686173206e6f20","kind":"string","nodeType":"YulLiteral","src":"2521:34:181","type":"","value":"PaymentSplitter: account has no "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2494:6:181"},"nodeType":"YulFunctionCall","src":"2494:62:181"},"nodeType":"YulExpressionStatement","src":"2494:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2576:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2587:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2572:3:181"},"nodeType":"YulFunctionCall","src":"2572:18:181"},{"hexValue":"736861726573","kind":"string","nodeType":"YulLiteral","src":"2592:8:181","type":"","value":"shares"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2565:6:181"},"nodeType":"YulFunctionCall","src":"2565:36:181"},"nodeType":"YulExpressionStatement","src":"2565:36:181"},{"nodeType":"YulAssignment","src":"2610:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2622:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2633:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2618:3:181"},"nodeType":"YulFunctionCall","src":"2618:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2610:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2392:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2406:4:181","type":""}],"src":"2241:402:181"},{"body":{"nodeType":"YulBlock","src":"2822:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2839:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2850:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2832:6:181"},"nodeType":"YulFunctionCall","src":"2832:21:181"},"nodeType":"YulExpressionStatement","src":"2832:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2873:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2884:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2869:3:181"},"nodeType":"YulFunctionCall","src":"2869:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2889:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2862:6:181"},"nodeType":"YulFunctionCall","src":"2862:30:181"},"nodeType":"YulExpressionStatement","src":"2862:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2912:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2923:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2908:3:181"},"nodeType":"YulFunctionCall","src":"2908:18:181"},{"hexValue":"5061796d656e7453706c69747465723a206163636f756e74206973206e6f7420","kind":"string","nodeType":"YulLiteral","src":"2928:34:181","type":"","value":"PaymentSplitter: account is not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2901:6:181"},"nodeType":"YulFunctionCall","src":"2901:62:181"},"nodeType":"YulExpressionStatement","src":"2901:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2983:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2994:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2979:3:181"},"nodeType":"YulFunctionCall","src":"2979:18:181"},{"hexValue":"647565207061796d656e74","kind":"string","nodeType":"YulLiteral","src":"2999:13:181","type":"","value":"due payment"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2972:6:181"},"nodeType":"YulFunctionCall","src":"2972:41:181"},"nodeType":"YulExpressionStatement","src":"2972:41:181"},{"nodeType":"YulAssignment","src":"3022:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3034:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3045:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3030:3:181"},"nodeType":"YulFunctionCall","src":"3030:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3022:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2799:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2813:4:181","type":""}],"src":"2648:407:181"},{"body":{"nodeType":"YulBlock","src":"3092:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3109:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3116:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3121:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3112:3:181"},"nodeType":"YulFunctionCall","src":"3112:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3102:6:181"},"nodeType":"YulFunctionCall","src":"3102:31:181"},"nodeType":"YulExpressionStatement","src":"3102:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3149:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3152:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3142:6:181"},"nodeType":"YulFunctionCall","src":"3142:15:181"},"nodeType":"YulExpressionStatement","src":"3142:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3173:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3176:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3166:6:181"},"nodeType":"YulFunctionCall","src":"3166:15:181"},"nodeType":"YulExpressionStatement","src":"3166:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3060:127:181"},{"body":{"nodeType":"YulBlock","src":"3240:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"3267:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3269:16:181"},"nodeType":"YulFunctionCall","src":"3269:18:181"},"nodeType":"YulExpressionStatement","src":"3269:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3256:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"3263:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3259:3:181"},"nodeType":"YulFunctionCall","src":"3259:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3253:2:181"},"nodeType":"YulFunctionCall","src":"3253:13:181"},"nodeType":"YulIf","src":"3250:39:181"},{"nodeType":"YulAssignment","src":"3298:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3309:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"3312:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3305:3:181"},"nodeType":"YulFunctionCall","src":"3305:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3298:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3223:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"3226:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3232:3:181","type":""}],"src":"3192:128:181"},{"body":{"nodeType":"YulBlock","src":"3462:145:181","statements":[{"nodeType":"YulAssignment","src":"3472:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3484:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3495:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3480:3:181"},"nodeType":"YulFunctionCall","src":"3480:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3472:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3514:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3529:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3545:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3550:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3541:3:181"},"nodeType":"YulFunctionCall","src":"3541:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"3554:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3537:3:181"},"nodeType":"YulFunctionCall","src":"3537:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3525:3:181"},"nodeType":"YulFunctionCall","src":"3525:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3507:6:181"},"nodeType":"YulFunctionCall","src":"3507:51:181"},"nodeType":"YulExpressionStatement","src":"3507:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3578:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3589:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3574:3:181"},"nodeType":"YulFunctionCall","src":"3574:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"3594:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3567:6:181"},"nodeType":"YulFunctionCall","src":"3567:34:181"},"nodeType":"YulExpressionStatement","src":"3567:34:181"}]},"name":"abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3423:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3434:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3442:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3453:4:181","type":""}],"src":"3325:282:181"},{"body":{"nodeType":"YulBlock","src":"3644:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3661:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3668:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3673:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3664:3:181"},"nodeType":"YulFunctionCall","src":"3664:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3654:6:181"},"nodeType":"YulFunctionCall","src":"3654:31:181"},"nodeType":"YulExpressionStatement","src":"3654:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3701:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3704:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3694:6:181"},"nodeType":"YulFunctionCall","src":"3694:15:181"},"nodeType":"YulExpressionStatement","src":"3694:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3725:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3728:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3718:6:181"},"nodeType":"YulFunctionCall","src":"3718:15:181"},"nodeType":"YulExpressionStatement","src":"3718:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3612:127:181"},{"body":{"nodeType":"YulBlock","src":"3825:103:181","statements":[{"body":{"nodeType":"YulBlock","src":"3871:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3880:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3883:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3873:6:181"},"nodeType":"YulFunctionCall","src":"3873:12:181"},"nodeType":"YulExpressionStatement","src":"3873:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3846:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3855:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3842:3:181"},"nodeType":"YulFunctionCall","src":"3842:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3867:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3838:3:181"},"nodeType":"YulFunctionCall","src":"3838:32:181"},"nodeType":"YulIf","src":"3835:52:181"},{"nodeType":"YulAssignment","src":"3896:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3912:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3906:5:181"},"nodeType":"YulFunctionCall","src":"3906:16:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3896:6:181"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3791:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3802:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3814:6:181","type":""}],"src":"3744:184:181"},{"body":{"nodeType":"YulBlock","src":"4107:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4124:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4135:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4117:6:181"},"nodeType":"YulFunctionCall","src":"4117:21:181"},"nodeType":"YulExpressionStatement","src":"4117:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4158:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4169:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4154:3:181"},"nodeType":"YulFunctionCall","src":"4154:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4174:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4147:6:181"},"nodeType":"YulFunctionCall","src":"4147:30:181"},"nodeType":"YulExpressionStatement","src":"4147:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4197:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4208:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4193:3:181"},"nodeType":"YulFunctionCall","src":"4193:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","kind":"string","nodeType":"YulLiteral","src":"4213:31:181","type":"","value":"Address: insufficient balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4186:6:181"},"nodeType":"YulFunctionCall","src":"4186:59:181"},"nodeType":"YulExpressionStatement","src":"4186:59:181"},{"nodeType":"YulAssignment","src":"4254:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4266:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4277:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4262:3:181"},"nodeType":"YulFunctionCall","src":"4262:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4254:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4084:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4098:4:181","type":""}],"src":"3933:353:181"},{"body":{"nodeType":"YulBlock","src":"4482:14:181","statements":[{"nodeType":"YulAssignment","src":"4484:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"4491:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4484:3:181"}]}]},"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":"4466:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4474:3:181","type":""}],"src":"4291:205:181"},{"body":{"nodeType":"YulBlock","src":"4675:248:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4692:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4703:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4685:6:181"},"nodeType":"YulFunctionCall","src":"4685:21:181"},"nodeType":"YulExpressionStatement","src":"4685:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4726:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4737:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4722:3:181"},"nodeType":"YulFunctionCall","src":"4722:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4742:2:181","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4715:6:181"},"nodeType":"YulFunctionCall","src":"4715:30:181"},"nodeType":"YulExpressionStatement","src":"4715:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4765:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4776:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4761:3:181"},"nodeType":"YulFunctionCall","src":"4761:18:181"},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c2072","kind":"string","nodeType":"YulLiteral","src":"4781:34:181","type":"","value":"Address: unable to send value, r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4754:6:181"},"nodeType":"YulFunctionCall","src":"4754:62:181"},"nodeType":"YulExpressionStatement","src":"4754:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4836:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4847:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4832:3:181"},"nodeType":"YulFunctionCall","src":"4832:18:181"},{"hexValue":"6563697069656e74206d61792068617665207265766572746564","kind":"string","nodeType":"YulLiteral","src":"4852:28:181","type":"","value":"ecipient may have reverted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4825:6:181"},"nodeType":"YulFunctionCall","src":"4825:56:181"},"nodeType":"YulExpressionStatement","src":"4825:56:181"},{"nodeType":"YulAssignment","src":"4890:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4902:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4913:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4898:3:181"},"nodeType":"YulFunctionCall","src":"4898:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4890:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4652:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4666:4:181","type":""}],"src":"4501:422:181"},{"body":{"nodeType":"YulBlock","src":"4980:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"5039:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5041:16:181"},"nodeType":"YulFunctionCall","src":"5041:18:181"},"nodeType":"YulExpressionStatement","src":"5041:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5011:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5004:6:181"},"nodeType":"YulFunctionCall","src":"5004:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4997:6:181"},"nodeType":"YulFunctionCall","src":"4997:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5019:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5030:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5026:3:181"},"nodeType":"YulFunctionCall","src":"5026:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"5034:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"5022:3:181"},"nodeType":"YulFunctionCall","src":"5022:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5016:2:181"},"nodeType":"YulFunctionCall","src":"5016:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4993:3:181"},"nodeType":"YulFunctionCall","src":"4993:45:181"},"nodeType":"YulIf","src":"4990:71:181"},{"nodeType":"YulAssignment","src":"5070:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5085:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5088:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5081:3:181"},"nodeType":"YulFunctionCall","src":"5081:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"5070:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4959:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"4962:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"4968:7:181","type":""}],"src":"4928:168:181"},{"body":{"nodeType":"YulBlock","src":"5147:171:181","statements":[{"body":{"nodeType":"YulBlock","src":"5178:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5199:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5206:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5211:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5202:3:181"},"nodeType":"YulFunctionCall","src":"5202:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5192:6:181"},"nodeType":"YulFunctionCall","src":"5192:31:181"},"nodeType":"YulExpressionStatement","src":"5192:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5246:4:181","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5236:6:181"},"nodeType":"YulFunctionCall","src":"5236:15:181"},"nodeType":"YulExpressionStatement","src":"5236:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5271:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5274:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5264:6:181"},"nodeType":"YulFunctionCall","src":"5264:15:181"},"nodeType":"YulExpressionStatement","src":"5264:15:181"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5167:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5160:6:181"},"nodeType":"YulFunctionCall","src":"5160:9:181"},"nodeType":"YulIf","src":"5157:132:181"},{"nodeType":"YulAssignment","src":"5298:14:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5307:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5310:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"5303:3:181"},"nodeType":"YulFunctionCall","src":"5303:9:181"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"5298:1:181"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5132:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"5135:1:181","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"5141:1:181","type":""}],"src":"5101:217:181"},{"body":{"nodeType":"YulBlock","src":"5372:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"5394:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5396:16:181"},"nodeType":"YulFunctionCall","src":"5396:18:181"},"nodeType":"YulExpressionStatement","src":"5396:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5388:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5391:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5385:2:181"},"nodeType":"YulFunctionCall","src":"5385:8:181"},"nodeType":"YulIf","src":"5382:34:181"},{"nodeType":"YulAssignment","src":"5425:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5437:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5440:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5433:3:181"},"nodeType":"YulFunctionCall","src":"5433:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5425:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5354:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"5357:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5363:4:181","type":""}],"src":"5323:125:181"},{"body":{"nodeType":"YulBlock","src":"5531:199:181","statements":[{"body":{"nodeType":"YulBlock","src":"5577:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5586:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5589:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5579:6:181"},"nodeType":"YulFunctionCall","src":"5579:12:181"},"nodeType":"YulExpressionStatement","src":"5579:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5552:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5561:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5548:3:181"},"nodeType":"YulFunctionCall","src":"5548:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5573:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5544:3:181"},"nodeType":"YulFunctionCall","src":"5544:32:181"},"nodeType":"YulIf","src":"5541:52:181"},{"nodeType":"YulVariableDeclaration","src":"5602:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5621:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5615:5:181"},"nodeType":"YulFunctionCall","src":"5615:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5606:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5684:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5693:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5696:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5686:6:181"},"nodeType":"YulFunctionCall","src":"5686:12:181"},"nodeType":"YulExpressionStatement","src":"5686:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5653:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5674:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5667:6:181"},"nodeType":"YulFunctionCall","src":"5667:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5660:6:181"},"nodeType":"YulFunctionCall","src":"5660:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5650:2:181"},"nodeType":"YulFunctionCall","src":"5650:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5643:6:181"},"nodeType":"YulFunctionCall","src":"5643:40:181"},"nodeType":"YulIf","src":"5640:60:181"},{"nodeType":"YulAssignment","src":"5709:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"5719:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5709:6:181"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5497:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5508:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5520:6:181","type":""}],"src":"5453:277:181"},{"body":{"nodeType":"YulBlock","src":"5909:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5926:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5937:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5919:6:181"},"nodeType":"YulFunctionCall","src":"5919:21:181"},"nodeType":"YulExpressionStatement","src":"5919:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5960:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5971:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5956:3:181"},"nodeType":"YulFunctionCall","src":"5956:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5976:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5949:6:181"},"nodeType":"YulFunctionCall","src":"5949:30:181"},"nodeType":"YulExpressionStatement","src":"5949:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5999:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6010:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5995:3:181"},"nodeType":"YulFunctionCall","src":"5995:18:181"},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e","kind":"string","nodeType":"YulLiteral","src":"6015:34:181","type":"","value":"SafeERC20: ERC20 operation did n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5988:6:181"},"nodeType":"YulFunctionCall","src":"5988:62:181"},"nodeType":"YulExpressionStatement","src":"5988:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6070:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6081:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6066:3:181"},"nodeType":"YulFunctionCall","src":"6066:18:181"},{"hexValue":"6f742073756363656564","kind":"string","nodeType":"YulLiteral","src":"6086:12:181","type":"","value":"ot succeed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6059:6:181"},"nodeType":"YulFunctionCall","src":"6059:40:181"},"nodeType":"YulExpressionStatement","src":"6059:40:181"},{"nodeType":"YulAssignment","src":"6108:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6120:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6131:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6116:3:181"},"nodeType":"YulFunctionCall","src":"6116:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6108:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5886:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5900:4:181","type":""}],"src":"5735:406:181"},{"body":{"nodeType":"YulBlock","src":"6320:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6337:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6348:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6330:6:181"},"nodeType":"YulFunctionCall","src":"6330:21:181"},"nodeType":"YulExpressionStatement","src":"6330:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6371:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6382:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6367:3:181"},"nodeType":"YulFunctionCall","src":"6367:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6387:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6360:6:181"},"nodeType":"YulFunctionCall","src":"6360:30:181"},"nodeType":"YulExpressionStatement","src":"6360:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6410:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6421:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6406:3:181"},"nodeType":"YulFunctionCall","src":"6406:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f","kind":"string","nodeType":"YulLiteral","src":"6426:34:181","type":"","value":"Address: insufficient balance fo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6399:6:181"},"nodeType":"YulFunctionCall","src":"6399:62:181"},"nodeType":"YulExpressionStatement","src":"6399:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6481:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6492:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6477:3:181"},"nodeType":"YulFunctionCall","src":"6477:18:181"},{"hexValue":"722063616c6c","kind":"string","nodeType":"YulLiteral","src":"6497:8:181","type":"","value":"r call"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6470:6:181"},"nodeType":"YulFunctionCall","src":"6470:36:181"},"nodeType":"YulExpressionStatement","src":"6470:36:181"},{"nodeType":"YulAssignment","src":"6515:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6527:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6538:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6523:3:181"},"nodeType":"YulFunctionCall","src":"6523:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6515:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6297:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6311:4:181","type":""}],"src":"6146:402:181"},{"body":{"nodeType":"YulBlock","src":"6606:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"6616:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6625:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6620:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6685:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6710:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"6715:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6706:3:181"},"nodeType":"YulFunctionCall","src":"6706:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6729:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"6734:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6725:3:181"},"nodeType":"YulFunctionCall","src":"6725:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6719:5:181"},"nodeType":"YulFunctionCall","src":"6719:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6699:6:181"},"nodeType":"YulFunctionCall","src":"6699:39:181"},"nodeType":"YulExpressionStatement","src":"6699:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6646:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"6649:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6643:2:181"},"nodeType":"YulFunctionCall","src":"6643:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6657:19:181","statements":[{"nodeType":"YulAssignment","src":"6659:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6668:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"6671:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6664:3:181"},"nodeType":"YulFunctionCall","src":"6664:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6659:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"6639:3:181","statements":[]},"src":"6635:113:181"},{"body":{"nodeType":"YulBlock","src":"6774:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6787:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"6792:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6783:3:181"},"nodeType":"YulFunctionCall","src":"6783:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"6801:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6776:6:181"},"nodeType":"YulFunctionCall","src":"6776:27:181"},"nodeType":"YulExpressionStatement","src":"6776:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6763:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"6766:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6760:2:181"},"nodeType":"YulFunctionCall","src":"6760:13:181"},"nodeType":"YulIf","src":"6757:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6584:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6589:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"6594:6:181","type":""}],"src":"6553:258:181"},{"body":{"nodeType":"YulBlock","src":"6953:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"6963:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6983:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6977:5:181"},"nodeType":"YulFunctionCall","src":"6977:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6967:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7025:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7033:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7021:3:181"},"nodeType":"YulFunctionCall","src":"7021:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"7040:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"7045:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"6999:21:181"},"nodeType":"YulFunctionCall","src":"6999:53:181"},"nodeType":"YulExpressionStatement","src":"6999:53:181"},{"nodeType":"YulAssignment","src":"7061:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7072:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"7077:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7068:3:181"},"nodeType":"YulFunctionCall","src":"7068:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7061:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6929:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6934:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6945:3:181","type":""}],"src":"6816:274:181"},{"body":{"nodeType":"YulBlock","src":"7269:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7286:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7297:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7279:6:181"},"nodeType":"YulFunctionCall","src":"7279:21:181"},"nodeType":"YulExpressionStatement","src":"7279:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7320:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7331:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7316:3:181"},"nodeType":"YulFunctionCall","src":"7316:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7336:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7309:6:181"},"nodeType":"YulFunctionCall","src":"7309:30:181"},"nodeType":"YulExpressionStatement","src":"7309:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7359:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7370:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7355:3:181"},"nodeType":"YulFunctionCall","src":"7355:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"7375:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7348:6:181"},"nodeType":"YulFunctionCall","src":"7348:59:181"},"nodeType":"YulExpressionStatement","src":"7348:59:181"},{"nodeType":"YulAssignment","src":"7416:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7428:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7439:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7424:3:181"},"nodeType":"YulFunctionCall","src":"7424:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7416:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7246:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7260:4:181","type":""}],"src":"7095:353:181"},{"body":{"nodeType":"YulBlock","src":"7574:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7591:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7602:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7584:6:181"},"nodeType":"YulFunctionCall","src":"7584:21:181"},"nodeType":"YulExpressionStatement","src":"7584:21:181"},{"nodeType":"YulVariableDeclaration","src":"7614:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7634:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7628:5:181"},"nodeType":"YulFunctionCall","src":"7628:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7618:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7661:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7672:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7657:3:181"},"nodeType":"YulFunctionCall","src":"7657:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"7677:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7650:6:181"},"nodeType":"YulFunctionCall","src":"7650:34:181"},"nodeType":"YulExpressionStatement","src":"7650:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7719:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7727:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7715:3:181"},"nodeType":"YulFunctionCall","src":"7715:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7736:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7747:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7732:3:181"},"nodeType":"YulFunctionCall","src":"7732:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"7752:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7693:21:181"},"nodeType":"YulFunctionCall","src":"7693:66:181"},"nodeType":"YulExpressionStatement","src":"7693:66:181"},{"nodeType":"YulAssignment","src":"7768:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7784:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7803:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7811:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7799:3:181"},"nodeType":"YulFunctionCall","src":"7799:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7820:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7816:3:181"},"nodeType":"YulFunctionCall","src":"7816:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7795:3:181"},"nodeType":"YulFunctionCall","src":"7795:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7780:3:181"},"nodeType":"YulFunctionCall","src":"7780:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"7827:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7776:3:181"},"nodeType":"YulFunctionCall","src":"7776:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7768:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7543:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7554:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7565:4:181","type":""}],"src":"7453:383:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function validator_revert_address_payable(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\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_contract$_IERC20_$13470t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address_payable(value_1)\n value1 := value_1\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_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_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\n }\n function abi_decode_tuple_t_contract$_IERC20_$13470(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_41702911e7fdf9741c61509216c070cb4be5837176954fb37acaf958eaff82dd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"PaymentSplitter: account has no \")\n mstore(add(headStart, 96), \"shares\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_57f87f0ebf27afe0d68884e28202f547fd6c4ce1b7243f1356690df65e0fa2e4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"PaymentSplitter: account is not \")\n mstore(add(headStart, 96), \"due payment\")\n tail := add(headStart, 128)\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_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__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), \"Address: insufficient balance\")\n tail := add(headStart, 96)\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_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 58)\n mstore(add(headStart, 64), \"Address: unable to send value, r\")\n mstore(add(headStart, 96), \"ecipient may have reverted\")\n tail := add(headStart, 128)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\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 checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function abi_decode_tuple_t_bool_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, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106100a05760003560e01c80639852595c116100645780639852595c146101d2578063a3f8eace14610208578063c45ac05014610228578063ce7c2ac214610248578063d79779b21461027e578063e33b7de3146102b457600080fd5b806319165587146100ee5780633a98ef3914610110578063406072a91461013457806348b750441461017a5780638b83209b1461019a57600080fd5b366100e9577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156100fa57600080fd5b5061010e6101093660046109cb565b6102c9565b005b34801561011c57600080fd5b506000545b6040519081526020015b60405180910390f35b34801561014057600080fd5b5061012161014f3660046109e8565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561018657600080fd5b5061010e6101953660046109e8565b6103b6565b3480156101a657600080fd5b506101ba6101b5366004610a21565b6104c4565b6040516001600160a01b03909116815260200161012b565b3480156101de57600080fd5b506101216101ed3660046109cb565b6001600160a01b031660009081526003602052604090205490565b34801561021457600080fd5b506101216102233660046109cb565b6104f4565b34801561023457600080fd5b506101216102433660046109e8565b61053c565b34801561025457600080fd5b506101216102633660046109cb565b6001600160a01b031660009081526002602052604090205490565b34801561028a57600080fd5b506101216102993660046109cb565b6001600160a01b031660009081526005602052604090205490565b3480156102c057600080fd5b50600154610121565b6001600160a01b0381166000908152600260205260409020546103075760405162461bcd60e51b81526004016102fe90610a3a565b60405180910390fd5b6000610312826104f4565b9050806103315760405162461bcd60e51b81526004016102fe90610a80565b80600160008282546103439190610ae1565b90915550506001600160a01b03821660009081526003602052604090208054820190556103708282610616565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b6001600160a01b0381166000908152600260205260409020546103eb5760405162461bcd60e51b81526004016102fe90610a3a565b60006103f7838361053c565b9050806104165760405162461bcd60e51b81526004016102fe90610a80565b6001600160a01b0383166000908152600560205260408120805483929061043e908490610ae1565b90915550506001600160a01b038084166000908152600660209081526040808320938616835292905220805482019055610479838383610734565b604080516001600160a01b038481168252602082018490528516917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a2505050565b6000600482815481106104d9576104d9610af9565b6000918252602090912001546001600160a01b031692915050565b60008061050060015490565b61050a9047610ae1565b90506105358382610530866001600160a01b031660009081526003602052604090205490565b610786565b9392505050565b6001600160a01b03821660009081526005602052604081205481906040516370a0823160e01b81523060048201526001600160a01b038616906370a082319060240160206040518083038186803b15801561059657600080fd5b505afa1580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190610b0f565b6105d89190610ae1565b6001600160a01b0380861660009081526006602090815260408083209388168352929052205490915061060e9084908390610786565b949350505050565b804710156106665760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102fe565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106b3576040519150601f19603f3d011682016040523d82523d6000602084013e6106b8565b606091505b505090508061072f5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102fe565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261072f9084906107c1565b600080546001600160a01b0385168252600260205260408220548391906107ad9086610b28565b6107b79190610b47565b61060e9190610b69565b6000610816826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108939092919063ffffffff16565b80519091501561072f57808060200190518101906108349190610b80565b61072f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102fe565b606061060e848460008585600080866001600160a01b031685876040516108ba9190610bd2565b60006040518083038185875af1925050503d80600081146108f7576040519150601f19603f3d011682016040523d82523d6000602084013e6108fc565b606091505b509150915061090d87838387610918565b979650505050505050565b6060831561098457825161097d576001600160a01b0385163b61097d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102fe565b508161060e565b61060e83838151156109995781518083602001fd5b8060405162461bcd60e51b81526004016102fe9190610bee565b6001600160a01b03811681146109c857600080fd5b50565b6000602082840312156109dd57600080fd5b8135610535816109b3565b600080604083850312156109fb57600080fd5b8235610a06816109b3565b91506020830135610a16816109b3565b809150509250929050565b600060208284031215610a3357600080fd5b5035919050565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610af457610af4610acb565b500190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b2157600080fd5b5051919050565b6000816000190483118215151615610b4257610b42610acb565b500290565b600082610b6457634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610b7b57610b7b610acb565b500390565b600060208284031215610b9257600080fd5b8151801515811461053557600080fd5b60005b83811015610bbd578181015183820152602001610ba5565b83811115610bcc576000848401525b50505050565b60008251610be4818460208701610ba2565b9190910192915050565b6020815260008251806020840152610c0d816040850160208701610ba2565b601f01601f1916919091016040019291505056fea264697066735822122004830d437693d3ae5c77b9dbb5c4a0dfb0a6fab8d6b1608b437900d0d5948ffb64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9852595C GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x9852595C EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0xA3F8EACE EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xC45AC050 EQ PUSH2 0x228 JUMPI DUP1 PUSH4 0xCE7C2AC2 EQ PUSH2 0x248 JUMPI DUP1 PUSH4 0xD79779B2 EQ PUSH2 0x27E JUMPI DUP1 PUSH4 0xE33B7DE3 EQ PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x19165587 EQ PUSH2 0xEE JUMPI DUP1 PUSH4 0x3A98EF39 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x406072A9 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x48B75044 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x8B83209B EQ PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0xE9 JUMPI PUSH32 0x6EF95F06320E7A25A04A175CA677B7052BDD97131872C2192525A629F51BE770 CALLER PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE CALLVALUE PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10E PUSH2 0x109 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x2C9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x186 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10E PUSH2 0x195 CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH2 0x3B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x1B5 CALLDATASIZE PUSH1 0x4 PUSH2 0xA21 JUMP JUMPDEST PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1ED CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x223 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x4F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0x9E8 JUMP JUMPDEST PUSH2 0x53C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x263 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x299 CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x121 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA3A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x312 DUP3 PUSH2 0x4F4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x331 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA80 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x343 SWAP2 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE PUSH2 0x370 DUP3 DUP3 PUSH2 0x616 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0xDF20FD1E76BC69D672E4814FAFB2C449BBA3A5369D8359ADF9E05E6FDE87B056 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA3A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F7 DUP4 DUP4 PUSH2 0x53C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x416 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP1 PUSH2 0xA80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x43E SWAP1 DUP5 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE PUSH2 0x479 DUP4 DUP4 DUP4 PUSH2 0x734 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP5 SWAP1 MSTORE DUP6 AND SWAP2 PUSH32 0x3BE5B7A71E84ED12875D241991C70855AC5817D847039E17A9D895C1CEB0F18A SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x4D9 JUMPI PUSH2 0x4D9 PUSH2 0xAF9 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x500 PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x50A SWAP1 SELFBALANCE PUSH2 0xAE1 JUMP JUMPDEST SWAP1 POP PUSH2 0x535 DUP4 DUP3 PUSH2 0x530 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x786 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP2 SWAP1 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5CE SWAP2 SWAP1 PUSH2 0xB0F JUMP JUMPDEST PUSH2 0x5D8 SWAP2 SWAP1 PUSH2 0xAE1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x60E SWAP1 DUP5 SWAP1 DUP4 SWAP1 PUSH2 0x786 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x666 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x6B3 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 0x6B8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x72F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2FE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x72F SWAP1 DUP5 SWAP1 PUSH2 0x7C1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD DUP4 SWAP2 SWAP1 PUSH2 0x7AD SWAP1 DUP7 PUSH2 0xB28 JUMP JUMPDEST PUSH2 0x7B7 SWAP2 SWAP1 PUSH2 0xB47 JUMP JUMPDEST PUSH2 0x60E SWAP2 SWAP1 PUSH2 0xB69 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x816 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x893 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x72F JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x834 SWAP2 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH2 0x72F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x60E DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x8BA SWAP2 SWAP1 PUSH2 0xBD2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8F7 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 0x8FC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x90D DUP8 DUP4 DUP4 DUP8 PUSH2 0x918 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x984 JUMPI DUP3 MLOAD PUSH2 0x97D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x97D 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2FE JUMP JUMPDEST POP DUP2 PUSH2 0x60E JUMP JUMPDEST PUSH2 0x60E DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x999 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FE SWAP2 SWAP1 PUSH2 0xBEE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x9C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x535 DUP2 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0xA06 DUP2 PUSH2 0x9B3 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0xA16 DUP2 PUSH2 0x9B3 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E7420686173206E6F20 PUSH1 0x40 DUP3 ADD MSTORE PUSH6 0x736861726573 PUSH1 0xD0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x5061796D656E7453706C69747465723A206163636F756E74206973206E6F7420 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x191D59481C185E5B595B9D PUSH1 0xAA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xAF4 JUMPI PUSH2 0xAF4 PUSH2 0xACB JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xB42 JUMPI PUSH2 0xB42 PUSH2 0xACB JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xB64 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xB7B JUMPI PUSH2 0xB7B PUSH2 0xACB JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBBD JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xBA5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBCC JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xBE4 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xBA2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xC0D DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xBA2 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV DUP4 0xD NUMBER PUSH23 0x93D3AE5C77B9DBB5C4A0DFB0A6FAB8D6B1608B437900D0 0xD5 SWAP5 DUP16 0xFB PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1471:7100:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3369:40;719:10:138;3369:40:22;;;-1:-1:-1;;;;;206:32:181;;;188:51;;3399:9:22;270:2:181;255:18;;248:34;161:18;3369:40:22;;;;;;;1471:7100;;;;;5815:655;;;;;;;;;;-1:-1:-1;5815:655:22;;;;;:::i;:::-;;:::i;:::-;;3494:89;;;;;;;;;;-1:-1:-1;3538:7:22;3564:12;3494:89;;;851:25:181;;;839:2;824:18;3494:89:22;;;;;;;;4586:133;;;;;;;;;;-1:-1:-1;4586:133:22;;;;;:::i;:::-;-1:-1:-1;;;;;4682:21:22;;;4656:7;4682:21;;;:14;:21;;;;;;;;:30;;;;;;;;;;;;;4586:133;6731:775;;;;;;;;;;-1:-1:-1;6731:775:22;;;;;:::i;:::-;;:::i;4805:98::-;;;;;;;;;;-1:-1:-1;4805:98:22;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1661:32:181;;;1643:51;;1631:2;1616:18;4805:98:22;1497:203:181;4316:107:22;;;;;;;;;;-1:-1:-1;4316:107:22;;;;;:::i;:::-;-1:-1:-1;;;;;4398:18:22;4372:7;4398:18;;;:9;:18;;;;;;;4316:107;4988:222;;;;;;;;;;-1:-1:-1;4988:222:22;;;;;:::i;:::-;;:::i;5364:257::-;;;;;;;;;;-1:-1:-1;5364:257:22;;;;;:::i;:::-;;:::i;4119:103::-;;;;;;;;;;-1:-1:-1;4119:103:22;;;;;:::i;:::-;-1:-1:-1;;;;;4199:16:22;4173:7;4199:16;;;:7;:16;;;;;;;4119:103;3916:117;;;;;;;;;;-1:-1:-1;3916:117:22;;;;;:::i;:::-;-1:-1:-1;;;;;4000:26:22;3974:7;4000:26;;;:19;:26;;;;;;;3916:117;3672:93;;;;;;;;;;-1:-1:-1;3744:14:22;;3672:93;;5815:655;-1:-1:-1;;;;;5890:16:22;;5909:1;5890:16;;;:7;:16;;;;;;5882:71;;;;-1:-1:-1;;;5882:71:22;;;;;;;:::i;:::-;;;;;;;;;5964:15;5982:19;5993:7;5982:10;:19::i;:::-;5964:37;-1:-1:-1;6020:12:22;6012:68;;;;-1:-1:-1;;;6012:68:22;;;;;;;:::i;:::-;6289:7;6271:14;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6330:18:22;;;;;;:9;:18;;;;;:29;;;;;;6380:35;6340:7;6352;6380:17;:35::i;:::-;6430:33;;;-1:-1:-1;;;;;206:32:181;;188:51;;270:2;255:18;;248:34;;;6430:33:22;;161:18:181;6430:33:22;;;;;;;5872:598;5815:655;:::o;6731:775::-;-1:-1:-1;;;;;6812:16:22;;6831:1;6812:16;;;:7;:16;;;;;;6804:71;;;;-1:-1:-1;;;6804:71:22;;;;;;;:::i;:::-;6886:15;6904:26;6915:5;6922:7;6904:10;:26::i;:::-;6886:44;-1:-1:-1;6949:12:22;6941:68;;;;-1:-1:-1;;;6941:68:22;;;;;;;:::i;:::-;-1:-1:-1;;;;;7259:26:22;;;;;;:19;:26;;;;;:37;;7289:7;;7259:26;:37;;7289:7;;7259:37;:::i;:::-;;;;-1:-1:-1;;;;;;;7330:21:22;;;;;;;:14;:21;;;;;;;;:30;;;;;;;;;:41;;;;;;7392:47;7345:5;7352:7;7364;7392:22;:47::i;:::-;7454:45;;;-1:-1:-1;;;;;206:32:181;;;188:51;;270:2;255:18;;248:34;;;7454:45:22;;;;;161:18:181;7454:45:22;;;;;;;6794:712;6731:775;;:::o;4805:98::-;4856:7;4882;4890:5;4882:14;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;4882:14:22;;4805:98;-1:-1:-1;;4805:98:22:o;4988:222::-;5046:7;5065:21;5113:15;3744:14;;;3672:93;5113:15;5089:39;;:21;:39;:::i;:::-;5065:63;;5145:58;5161:7;5170:13;5185:17;5194:7;-1:-1:-1;;;;;4398:18:22;4372:7;4398:18;;;:9;:18;;;;;;;4316:107;5185:17;5145:15;:58::i;:::-;5138:65;4988:222;-1:-1:-1;;;4988:222:22:o;5364:257::-;-1:-1:-1;;;;;4000:26:22;;5436:7;4000:26;;;:19;:26;;;;;;5436:7;;5479:30;;-1:-1:-1;;;5479:30:22;;5503:4;5479:30;;;1643:51:181;-1:-1:-1;;;;;5479:15:22;;;;;1616:18:181;;5479:30:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;-1:-1:-1;;;;;4682:21:22;;;4656:7;4682:21;;;:14;:21;;;;;;;;:30;;;;;;;;;;5455:77;;-1:-1:-1;5549:65:22;;5565:7;;5455:77;;5145:15;:58::i;5549:65::-;5542:72;5364:257;-1:-1:-1;;;;5364:257:22:o;2412:312:134:-;2526:6;2501:21;:31;;2493:73;;;;-1:-1:-1;;;2493:73:134;;4135:2:181;2493:73:134;;;4117:21:181;4174:2;4154:18;;;4147:30;4213:31;4193:18;;;4186:59;4262:18;;2493:73:134;3933:353:181;2493:73:134;2578:12;2596:9;-1:-1:-1;;;;;2596:14:134;2618:6;2596:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:52;;;2647:7;2639:78;;;;-1:-1:-1;;;2639:78:134;;4703:2:181;2639:78:134;;;4685:21:181;4742:2;4722:18;;;4715:30;4781:34;4761:18;;;4754:62;4852:28;4832:18;;;4825:56;4898:19;;2639:78:134;4501:422:181;2639:78:134;2483:241;2412:312;;:::o;763:205:111:-;902:58;;;-1:-1:-1;;;;;206:32:181;;902:58:111;;;188:51:181;255:18;;;;248:34;;;902:58:111;;;;;;;;;;161:18:181;;;;902:58:111;;;;;;;;-1:-1:-1;;;;;902:58:111;-1:-1:-1;;;902:58:111;;;875:86;;895:5;;875:19;:86::i;7678:242:22:-;7820:7;7883:12;;-1:-1:-1;;;;;7863:16:22;;;;:7;:16;;;;;;7898:15;;7883:12;7847:32;;:13;:32;:::i;:::-;7846:49;;;;:::i;:::-;:67;;;;:::i;3747:706:111:-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;-1:-1:-1;;;;;4192:27:111;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:111;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;-1:-1:-1;;;4351:85:111;;5937:2:181;4351:85:111;;;5919:21:181;5976:2;5956:18;;;5949:30;6015:34;5995:18;;;5988:62;-1:-1:-1;;;6066:18:181;;;6059:40;6116:19;;4351:85:111;5735:406:181;3873:223:134;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4006;5241;5255:23;5282:6;-1:-1:-1;;;;;5282:11:134;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;7297:2:181;7908:60:134;;;7279:21:181;7336:2;7316:18;;;7309:30;7375:31;7355:18;;;7348:59;7424:18;;7908:60:134;7095:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;293:139:181:-;-1:-1:-1;;;;;376:31:181;;366:42;;356:70;;422:1;419;412:12;356:70;293:139;:::o;437:263::-;504:6;557:2;545:9;536:7;532:23;528:32;525:52;;;573:1;570;563:12;525:52;612:9;599:23;631:39;664:5;631:39;:::i;887:420::-;971:6;979;1032:2;1020:9;1011:7;1007:23;1003:32;1000:52;;;1048:1;1045;1038:12;1000:52;1087:9;1074:23;1106:39;1139:5;1106:39;:::i;:::-;1164:5;-1:-1:-1;1221:2:181;1206:18;;1193:32;1234:41;1193:32;1234:41;:::i;:::-;1294:7;1284:17;;;887:420;;;;;:::o;1312:180::-;1371:6;1424:2;1412:9;1403:7;1399:23;1395:32;1392:52;;;1440:1;1437;1430:12;1392:52;-1:-1:-1;1463:23:181;;1312:180;-1:-1:-1;1312:180:181:o;2241:402::-;2443:2;2425:21;;;2482:2;2462:18;;;2455:30;2521:34;2516:2;2501:18;;2494:62;-1:-1:-1;;;2587:2:181;2572:18;;2565:36;2633:3;2618:19;;2241:402::o;2648:407::-;2850:2;2832:21;;;2889:2;2869:18;;;2862:30;2928:34;2923:2;2908:18;;2901:62;-1:-1:-1;;;2994:2:181;2979:18;;2972:41;3045:3;3030:19;;2648:407::o;3060:127::-;3121:10;3116:3;3112:20;3109:1;3102:31;3152:4;3149:1;3142:15;3176:4;3173:1;3166:15;3192:128;3232:3;3263:1;3259:6;3256:1;3253:13;3250:39;;;3269:18;;:::i;:::-;-1:-1:-1;3305:9:181;;3192:128::o;3612:127::-;3673:10;3668:3;3664:20;3661:1;3654:31;3704:4;3701:1;3694:15;3728:4;3725:1;3718:15;3744:184;3814:6;3867:2;3855:9;3846:7;3842:23;3838:32;3835:52;;;3883:1;3880;3873:12;3835:52;-1:-1:-1;3906:16:181;;3744:184;-1:-1:-1;3744:184:181:o;4928:168::-;4968:7;5034:1;5030;5026:6;5022:14;5019:1;5016:21;5011:1;5004:9;4997:17;4993:45;4990:71;;;5041:18;;:::i;:::-;-1:-1:-1;5081:9:181;;4928:168::o;5101:217::-;5141:1;5167;5157:132;;5211:10;5206:3;5202:20;5199:1;5192:31;5246:4;5243:1;5236:15;5274:4;5271:1;5264:15;5157:132;-1:-1:-1;5303:9:181;;5101:217::o;5323:125::-;5363:4;5391:1;5388;5385:8;5382:34;;;5396:18;;:::i;:::-;-1:-1:-1;5433:9:181;;5323:125::o;5453:277::-;5520:6;5573:2;5561:9;5552:7;5548:23;5544:32;5541:52;;;5589:1;5586;5579:12;5541:52;5621:9;5615:16;5674:5;5667:13;5660:21;5653:5;5650:32;5640:60;;5696:1;5693;5686:12;6553:258;6625:1;6635:113;6649:6;6646:1;6643:13;6635:113;;;6725:11;;;6719:18;6706:11;;;6699:39;6671:2;6664:10;6635:113;;;6766:6;6763:1;6760:13;6757:48;;;6801:1;6792:6;6787:3;6783:16;6776:27;6757:48;;6553:258;;;:::o;6816:274::-;6945:3;6983:6;6977:13;6999:53;7045:6;7040:3;7033:4;7025:6;7021:17;6999:53;:::i;:::-;7068:16;;;;;6816:274;-1:-1:-1;;6816:274:181:o;7453:383::-;7602:2;7591:9;7584:21;7565:4;7634:6;7628:13;7677:6;7672:2;7661:9;7657:18;7650:34;7693:66;7752:6;7747:2;7736:9;7732:18;7727:2;7719:6;7715:15;7693:66;:::i;:::-;7820:2;7799:15;-1:-1:-1;;7795:29:181;7780:45;;;;7827:2;7776:54;;7453:383;-1:-1:-1;;7453:383:181:o"},"methodIdentifiers":{"payee(uint256)":"8b83209b","releasable(address)":"a3f8eace","releasable(address,address)":"c45ac050","release(address)":"19165587","release(address,address)":"48b75044","released(address)":"9852595c","released(address,address)":"406072a9","shares(address)":"ce7c2ac2","totalReleased()":"e33b7de3","totalReleased(address)":"d79779b2","totalShares()":"3a98ef39"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"payees\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"shares_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20PaymentReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"PayeeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PaymentReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PaymentReleased\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"payee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"shares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"totalReleased\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalReleased\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware that the Ether will be split in this way, since it is handled transparently by the contract. The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim an amount proportional to the percentage of total shares they were assigned. The distribution of shares is set at the time of contract deployment and can't be updated thereafter. `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release} function. NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you to run tests before sending real value to this contract.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at the matching position in the `shares` array. All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no duplicates in `payees`.\"},\"payee(uint256)\":{\"details\":\"Getter for the address of the payee number `index`.\"},\"releasable(address)\":{\"details\":\"Getter for the amount of payee's releasable Ether.\"},\"releasable(address,address)\":{\"details\":\"Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an IERC20 contract.\"},\"release(address)\":{\"details\":\"Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the total shares and their previous withdrawals.\"},\"release(address,address)\":{\"details\":\"Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 contract.\"},\"released(address)\":{\"details\":\"Getter for the amount of Ether already released to a payee.\"},\"released(address,address)\":{\"details\":\"Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an IERC20 contract.\"},\"shares(address)\":{\"details\":\"Getter for the amount of shares held by an account.\"},\"totalReleased()\":{\"details\":\"Getter for the total amount of Ether already released.\"},\"totalReleased(address)\":{\"details\":\"Getter for the total amount of `token` already released. `token` should be the address of an IERC20 contract.\"},\"totalShares()\":{\"details\":\"Getter for the total shares held by payees.\"}},\"title\":\"PaymentSplitter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol\":\"PaymentSplitter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol\":{\"keccak256\":\"0xba00a079c0def02f9e905ed091f01bcf9caa41ec215862a315e9f3838be61cdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c2cac21034117cbda842f32ae50ab87aa0e71ffbeb94d9b6051f8085abd8a7\",\"dweb:/ipfs/QmYUCe45jDezpnK9y7ecqZVy1iECqW63mUrgqnM6YZdrrF\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/finance/VestingWallet.sol":{"VestingWallet":{"abi":[{"inputs":[{"internalType":"address","name":"beneficiaryAddress","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"uint64","name":"durationSeconds","type":"uint64"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20Released","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EtherReleased","type":"event"},{"inputs":[],"name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"timestamp","type":"uint64"}],"name":"vestedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint64","name":"timestamp","type":"uint64"}],"name":"vestedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_2584":{"entryPoint":null,"id":2584,"parameterSlots":3,"returnSlots":0},"abi_decode_tuple_t_addresst_uint64t_uint64_fromMemory":{"entryPoint":208,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_uint64_fromMemory":{"entryPoint":180,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_929adb52ede496b5ca2e6f2928d5ba886a15ec00481cf62dcfd83df2cff45918__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1063:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"73:116:181","statements":[{"nodeType":"YulAssignment","src":"83:22:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"98:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"92:5:181"},"nodeType":"YulFunctionCall","src":"92:13:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"83:5:181"}]},{"body":{"nodeType":"YulBlock","src":"167:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"176:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"179:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"169:6:181"},"nodeType":"YulFunctionCall","src":"169:12:181"},"nodeType":"YulExpressionStatement","src":"169:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"127:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"138:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"153:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"157:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"149:3:181"},"nodeType":"YulFunctionCall","src":"149:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"161:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"145:3:181"},"nodeType":"YulFunctionCall","src":"145:18:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"134:3:181"},"nodeType":"YulFunctionCall","src":"134:30:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"124:2:181"},"nodeType":"YulFunctionCall","src":"124:41:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"117:6:181"},"nodeType":"YulFunctionCall","src":"117:49:181"},"nodeType":"YulIf","src":"114:69:181"}]},"name":"abi_decode_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"52:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"63:5:181","type":""}],"src":"14:175:181"},{"body":{"nodeType":"YulBlock","src":"307:343:181","statements":[{"body":{"nodeType":"YulBlock","src":"353:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"362:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"365:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"355:6:181"},"nodeType":"YulFunctionCall","src":"355:12:181"},"nodeType":"YulExpressionStatement","src":"355:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"328:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"337:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"324:3:181"},"nodeType":"YulFunctionCall","src":"324:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"349:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"320:3:181"},"nodeType":"YulFunctionCall","src":"320:32:181"},"nodeType":"YulIf","src":"317:52:181"},{"nodeType":"YulVariableDeclaration","src":"378:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"397:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"391:5:181"},"nodeType":"YulFunctionCall","src":"391:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"382:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"470:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"479:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"482:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"472:6:181"},"nodeType":"YulFunctionCall","src":"472:12:181"},"nodeType":"YulExpressionStatement","src":"472:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"429:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"440:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"455:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"460:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"451:3:181"},"nodeType":"YulFunctionCall","src":"451:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"464:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"447:3:181"},"nodeType":"YulFunctionCall","src":"447:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"436:3:181"},"nodeType":"YulFunctionCall","src":"436:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"426:2:181"},"nodeType":"YulFunctionCall","src":"426:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"419:6:181"},"nodeType":"YulFunctionCall","src":"419:50:181"},"nodeType":"YulIf","src":"416:70:181"},{"nodeType":"YulAssignment","src":"495:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"505:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"495:6:181"}]},{"nodeType":"YulAssignment","src":"519:58:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"562:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"573:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"558:3:181"},"nodeType":"YulFunctionCall","src":"558:18:181"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"529:28:181"},"nodeType":"YulFunctionCall","src":"529:48:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"519:6:181"}]},{"nodeType":"YulAssignment","src":"586:58:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"629:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"640:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"625:3:181"},"nodeType":"YulFunctionCall","src":"625:18:181"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"596:28:181"},"nodeType":"YulFunctionCall","src":"596:48:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"586:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint64t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"257:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"268:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"280:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"288:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"296:6:181","type":""}],"src":"194:456:181"},{"body":{"nodeType":"YulBlock","src":"829:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"846:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"857:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:21:181"},"nodeType":"YulExpressionStatement","src":"839:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"880:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"891:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"876:3:181"},"nodeType":"YulFunctionCall","src":"876:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"896:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"869:6:181"},"nodeType":"YulFunctionCall","src":"869:30:181"},"nodeType":"YulExpressionStatement","src":"869:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"919:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"930:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"915:3:181"},"nodeType":"YulFunctionCall","src":"915:18:181"},{"hexValue":"56657374696e6757616c6c65743a2062656e6566696369617279206973207a65","kind":"string","nodeType":"YulLiteral","src":"935:34:181","type":"","value":"VestingWallet: beneficiary is ze"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"908:6:181"},"nodeType":"YulFunctionCall","src":"908:62:181"},"nodeType":"YulExpressionStatement","src":"908:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"990:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1001:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"986:3:181"},"nodeType":"YulFunctionCall","src":"986:18:181"},{"hexValue":"726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"1006:12:181","type":"","value":"ro address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"979:6:181"},"nodeType":"YulFunctionCall","src":"979:40:181"},"nodeType":"YulExpressionStatement","src":"979:40:181"},{"nodeType":"YulAssignment","src":"1028:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1040:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1051:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1036:3:181"},"nodeType":"YulFunctionCall","src":"1036:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1028:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_929adb52ede496b5ca2e6f2928d5ba886a15ec00481cf62dcfd83df2cff45918__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"806:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"820:4:181","type":""}],"src":"655:406:181"}]},"contents":"{\n { }\n function abi_decode_uint64_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(64, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint64t_uint64_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { 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 value1 := abi_decode_uint64_fromMemory(add(headStart, 32))\n value2 := abi_decode_uint64_fromMemory(add(headStart, 64))\n }\n function abi_encode_tuple_t_stringliteral_929adb52ede496b5ca2e6f2928d5ba886a15ec00481cf62dcfd83df2cff45918__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"VestingWallet: beneficiary is ze\")\n mstore(add(headStart, 96), \"ro address\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60e0604052604051610ce4380380610ce4833981016040819052610022916100d0565b6001600160a01b03831661008f5760405162461bcd60e51b815260206004820152602a60248201527f56657374696e6757616c6c65743a2062656e6566696369617279206973207a65604482015269726f206164647265737360b01b606482015260840160405180910390fd5b6001600160a01b039092166080526001600160401b0390811660a0521660c052610121565b80516001600160401b03811681146100cb57600080fd5b919050565b6000806000606084860312156100e557600080fd5b83516001600160a01b03811681146100fc57600080fd5b925061010a602085016100b4565b9150610118604085016100b4565b90509250925092565b60805160a05160c051610b7961016b6000396000818160ee015281816104dd015261053201526000610479015260008181610158015281816102f101526104190152610b796000f3fe6080604052600436106100a05760003560e01c806386d1a69f1161006457806386d1a69f146101a257806396132521146101b75780639852595c146101cc578063a3f8eace14610202578063be9a655514610222578063fbccedae1461023757600080fd5b80630a17b06b146100ac5780630fb5a6b4146100df578063191655871461011c57806338af3eed1461013e578063810ec23b1461018257600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610983565b61024c565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166100cc565b34801561012857600080fd5b5061013c6101373660046109b5565b610270565b005b34801561014a57600080fd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016100d6565b34801561018e57600080fd5b506100cc61019d3660046109d0565b61031a565b3480156101ae57600080fd5b5061013c6103bf565b3480156101c357600080fd5b506000546100cc565b3480156101d857600080fd5b506100cc6101e73660046109b5565b6001600160a01b031660009081526001602052604090205490565b34801561020e57600080fd5b506100cc61021d3660046109b5565b610441565b34801561022e57600080fd5b506100cc61046e565b34801561024357600080fd5b506100cc61049c565b600061026a61025a60005490565b6102649047610a19565b836104b8565b92915050565b600061027b82610441565b6001600160a01b0383166000908152600160205260408120805492935083929091906102a8908490610a19565b90915550506040518181526001600160a01b038316907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610316827f000000000000000000000000000000000000000000000000000000000000000083610592565b5050565b6001600160a01b0382166000908152600160205260408120546103b8906040516370a0823160e01b81523060048201526001600160a01b038616906370a082319060240160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610a31565b6102649190610a19565b9392505050565b60006103c961049c565b9050806000808282546103dc9190610a19565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a161043e7f0000000000000000000000000000000000000000000000000000000000000000826105e9565b50565b6001600160a01b038116600090815260016020526040812054610464834261031a565b61026a9190610a4a565b67ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690565b600080546104a94261024c565b6104b39190610a4a565b905090565b60006104c261046e565b8267ffffffffffffffff1610156104db5750600061026a565b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661050e61046e565b6105189190610a19565b8267ffffffffffffffff16111561053057508161026a565b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661056361046e565b6105779067ffffffffffffffff8516610a4a565b6105819085610a61565b61058b9190610a80565b905061026a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105e4908490610707565b505050565b8047101561063e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461068b576040519150601f19603f3d011682016040523d82523d6000602084013e610690565b606091505b50509050806105e45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610635565b600061075c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107d99092919063ffffffff16565b8051909150156105e4578080602001905181019061077a9190610aa2565b6105e45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610635565b60606107e884846000856107f0565b949350505050565b6060824710156108515760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610635565b600080866001600160a01b0316858760405161086d9190610af4565b60006040518083038185875af1925050503d80600081146108aa576040519150601f19603f3d011682016040523d82523d6000602084013e6108af565b606091505b50915091506108c0878383876108cb565b979650505050505050565b60608315610937578251610930576001600160a01b0385163b6109305760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610635565b50816107e8565b6107e8838381511561094c5781518083602001fd5b8060405162461bcd60e51b81526004016106359190610b10565b803567ffffffffffffffff8116811461097e57600080fd5b919050565b60006020828403121561099557600080fd5b6103b882610966565b80356001600160a01b038116811461097e57600080fd5b6000602082840312156109c757600080fd5b6103b88261099e565b600080604083850312156109e357600080fd5b6109ec8361099e565b91506109fa60208401610966565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610a2c57610a2c610a03565b500190565b600060208284031215610a4357600080fd5b5051919050565b600082821015610a5c57610a5c610a03565b500390565b6000816000190483118215151615610a7b57610a7b610a03565b500290565b600082610a9d57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ab457600080fd5b815180151581146103b857600080fd5b60005b83811015610adf578181015183820152602001610ac7565b83811115610aee576000848401525b50505050565b60008251610b06818460208701610ac4565b9190910192915050565b6020815260008251806020840152610b2f816040850160208701610ac4565b601f01601f1916919091016040019291505056fea2646970667358221220e47c80d3334555bc21dead15bd54fd0d631b6f5dab6987de14a991f341a8ea9364736f6c63430008090033","opcodes":"PUSH1 0xE0 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xCE4 CODESIZE SUB DUP1 PUSH2 0xCE4 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x22 SWAP2 PUSH2 0xD0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x8F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x56657374696E6757616C6C65743A2062656E6566696369617279206973207A65 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x726F2061646472657373 PUSH1 0xB0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x80 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND PUSH1 0xA0 MSTORE AND PUSH1 0xC0 MSTORE PUSH2 0x121 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP PUSH2 0x10A PUSH1 0x20 DUP6 ADD PUSH2 0xB4 JUMP JUMPDEST SWAP2 POP PUSH2 0x118 PUSH1 0x40 DUP6 ADD PUSH2 0xB4 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0xB79 PUSH2 0x16B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0xEE ADD MSTORE DUP2 DUP2 PUSH2 0x4DD ADD MSTORE PUSH2 0x532 ADD MSTORE PUSH1 0x0 PUSH2 0x479 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x158 ADD MSTORE DUP2 DUP2 PUSH2 0x2F1 ADD MSTORE PUSH2 0x419 ADD MSTORE PUSH2 0xB79 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x86D1A69F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x86D1A69F EQ PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x96132521 EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x9852595C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xA3F8EACE EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0xBE9A6555 EQ PUSH2 0x222 JUMPI DUP1 PUSH4 0xFBCCEDAE EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA17B06B EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0xFB5A6B4 EQ PUSH2 0xDF JUMPI DUP1 PUSH4 0x19165587 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x38AF3EED EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x810EC23B EQ PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0xA7 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0xC7 CALLDATASIZE PUSH1 0x4 PUSH2 0x983 JUMP JUMPDEST PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0xCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x19D CALLDATASIZE PUSH1 0x4 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0x31A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x3BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x21D CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH2 0x441 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x46E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x243 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x49C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A PUSH2 0x25A PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x264 SWAP1 SELFBALANCE PUSH2 0xA19 JUMP JUMPDEST DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B DUP3 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP DUP4 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2A8 SWAP1 DUP5 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xC0E523490DD523C33B1878C9EB14FF46991E3F5B2CD33710918618F2A39CBA1B SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x316 DUP3 PUSH32 0x0 DUP4 PUSH2 0x592 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x3B8 SWAP1 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AE SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST PUSH2 0x264 SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C9 PUSH2 0x49C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x3DC SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xDA9D4E5F101B8B9B1C5B76D0C5A9F7923571ACFC02376AA076B75A8C080C956B SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x43E PUSH32 0x0 DUP3 PUSH2 0x5E9 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x464 DUP4 TIMESTAMP PUSH2 0x31A JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0xA4A JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x4A9 TIMESTAMP PUSH2 0x24C JUMP JUMPDEST PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0xA4A JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C2 PUSH2 0x46E JUMP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x4DB JUMPI POP PUSH1 0x0 PUSH2 0x26A JUMP JUMPDEST PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x50E PUSH2 0x46E JUMP JUMPDEST PUSH2 0x518 SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x530 JUMPI POP DUP2 PUSH2 0x26A JUMP JUMPDEST PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x563 PUSH2 0x46E JUMP JUMPDEST PUSH2 0x577 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP6 AND PUSH2 0xA4A JUMP JUMPDEST PUSH2 0x581 SWAP1 DUP6 PUSH2 0xA61 JUMP JUMPDEST PUSH2 0x58B SWAP2 SWAP1 PUSH2 0xA80 JUMP JUMPDEST SWAP1 POP PUSH2 0x26A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x5E4 SWAP1 DUP5 SWAP1 PUSH2 0x707 JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x63E 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x68B 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 0x690 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x5E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75C DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7D9 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x5E4 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x77A SWAP2 SWAP1 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x5E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7E8 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x7F0 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x851 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1C8818D85B1B PUSH1 0xD2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x86D SWAP2 SWAP1 PUSH2 0xAF4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8AA 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 0x8AF JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x8C0 DUP8 DUP4 DUP4 DUP8 PUSH2 0x8CB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x937 JUMPI DUP3 MLOAD PUSH2 0x930 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x930 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x635 JUMP JUMPDEST POP DUP2 PUSH2 0x7E8 JUMP JUMPDEST PUSH2 0x7E8 DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x94C JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x635 SWAP2 SWAP1 PUSH2 0xB10 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x97E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x995 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B8 DUP3 PUSH2 0x966 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x97E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B8 DUP3 PUSH2 0x99E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9EC DUP4 PUSH2 0x99E JUMP JUMPDEST SWAP2 POP PUSH2 0x9FA PUSH1 0x20 DUP5 ADD PUSH2 0x966 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA2C JUMPI PUSH2 0xA2C PUSH2 0xA03 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA5C JUMPI PUSH2 0xA5C PUSH2 0xA03 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xA7B JUMPI PUSH2 0xA7B PUSH2 0xA03 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xA9D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xADF JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xAC7 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xAEE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xB06 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xAC4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xB2F DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xAC4 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 PUSH29 0x80D3334555BC21DEAD15BD54FD0D631B6F5DAB6987DE14A991F341A8EA SWAP4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"856:4179:23:-:0;;;1320:342;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1463:32:23;;1455:87;;;;-1:-1:-1;;;1455:87:23;;857:2:181;1455:87:23;;;839:21:181;896:2;876:18;;;869:30;935:34;915:18;;;908:62;-1:-1:-1;;;986:18:181;;;979:40;1036:19;;1455:87:23;;;;;;;;-1:-1:-1;;;;;1552:33:23;;;;;-1:-1:-1;;;;;1595:23:23;;;;;1628:27;;;856:4179;;14:175:181;92:13;;-1:-1:-1;;;;;134:30:181;;124:41;;114:69;;179:1;176;169:12;114:69;14:175;;;:::o;194:456::-;280:6;288;296;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;391:16;;-1:-1:-1;;;;;436:31:181;;426:42;;416:70;;482:1;479;472:12;416:70;505:5;-1:-1:-1;529:48:181;573:2;558:18;;529:48;:::i;:::-;519:58;;596:48;640:2;629:9;625:18;596:48;:::i;:::-;586:58;;194:456;;;;;:::o;655:406::-;856:4179:23;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_2589":{"entryPoint":null,"id":2589,"parameterSlots":0,"returnSlots":0},"@_callOptionalReturn_16413":{"entryPoint":1799,"id":16413,"parameterSlots":2,"returnSlots":0},"@_revert_20687":{"entryPoint":null,"id":20687,"parameterSlots":2,"returnSlots":0},"@_vestingSchedule_2834":{"entryPoint":1208,"id":2834,"parameterSlots":2,"returnSlots":1},"@beneficiary_2598":{"entryPoint":null,"id":2598,"parameterSlots":0,"returnSlots":1},"@duration_2616":{"entryPoint":null,"id":2616,"parameterSlots":0,"returnSlots":1},"@functionCallWithValue_20512":{"entryPoint":2032,"id":20512,"parameterSlots":4,"returnSlots":1},"@functionCall_20448":{"entryPoint":2009,"id":20448,"parameterSlots":3,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@releasable_2656":{"entryPoint":1180,"id":2656,"parameterSlots":0,"returnSlots":1},"@releasable_2678":{"entryPoint":1089,"id":2678,"parameterSlots":1,"returnSlots":1},"@release_2707":{"entryPoint":959,"id":2707,"parameterSlots":0,"returnSlots":0},"@release_2742":{"entryPoint":624,"id":2742,"parameterSlots":1,"returnSlots":0},"@released_2625":{"entryPoint":null,"id":2625,"parameterSlots":0,"returnSlots":1},"@released_2638":{"entryPoint":null,"id":2638,"parameterSlots":1,"returnSlots":1},"@safeTransfer_16165":{"entryPoint":1426,"id":16165,"parameterSlots":3,"returnSlots":0},"@sendValue_20410":{"entryPoint":1513,"id":20410,"parameterSlots":2,"returnSlots":0},"@start_2607":{"entryPoint":1134,"id":2607,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":2251,"id":20643,"parameterSlots":4,"returnSlots":1},"@vestedAmount_2763":{"entryPoint":588,"id":2763,"parameterSlots":1,"returnSlots":1},"@vestedAmount_2791":{"entryPoint":794,"id":2791,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":2462,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2485,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint64":{"entryPoint":2512,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":2722,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":2609,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint64":{"entryPoint":2435,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint64":{"entryPoint":2406,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":2804,"id":null,"parameterSlots":2,"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_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2832,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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":2585,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":2688,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":2657,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":2634,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":2756,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x11":{"entryPoint":2563,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:6039:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"62:123:181","statements":[{"nodeType":"YulAssignment","src":"72:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"94:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"81:12:181"},"nodeType":"YulFunctionCall","src":"81:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"72:5:181"}]},{"body":{"nodeType":"YulBlock","src":"163:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"172:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"175:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"165:6:181"},"nodeType":"YulFunctionCall","src":"165:12:181"},"nodeType":"YulExpressionStatement","src":"165:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"123:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"141:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"130:3:181"},"nodeType":"YulFunctionCall","src":"130:30:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"120:2:181"},"nodeType":"YulFunctionCall","src":"120:41:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"113:6:181"},"nodeType":"YulFunctionCall","src":"113:49:181"},"nodeType":"YulIf","src":"110:69:181"}]},"name":"abi_decode_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"41:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"52:5:181","type":""}],"src":"14:171:181"},{"body":{"nodeType":"YulBlock","src":"259:115:181","statements":[{"body":{"nodeType":"YulBlock","src":"305:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"314:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"317:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"307:6:181"},"nodeType":"YulFunctionCall","src":"307:12:181"},"nodeType":"YulExpressionStatement","src":"307:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"280:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"289:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"276:3:181"},"nodeType":"YulFunctionCall","src":"276:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"301:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"272:3:181"},"nodeType":"YulFunctionCall","src":"272:32:181"},"nodeType":"YulIf","src":"269:52:181"},{"nodeType":"YulAssignment","src":"330:38:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"358:9:181"}],"functionName":{"name":"abi_decode_uint64","nodeType":"YulIdentifier","src":"340:17:181"},"nodeType":"YulFunctionCall","src":"340:28:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"330:6:181"}]}]},"name":"abi_decode_tuple_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"225:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"236:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"248:6:181","type":""}],"src":"190:184:181"},{"body":{"nodeType":"YulBlock","src":"480:76:181","statements":[{"nodeType":"YulAssignment","src":"490:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"502:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"513:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"490:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"532:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"543:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"525:6:181"},"nodeType":"YulFunctionCall","src":"525:25:181"},"nodeType":"YulExpressionStatement","src":"525:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"449:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"460:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"471:4:181","type":""}],"src":"379:177:181"},{"body":{"nodeType":"YulBlock","src":"610:124:181","statements":[{"nodeType":"YulAssignment","src":"620:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"642:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"629:12:181"},"nodeType":"YulFunctionCall","src":"629:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"620:5:181"}]},{"body":{"nodeType":"YulBlock","src":"712:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"721:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"724:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"714:6:181"},"nodeType":"YulFunctionCall","src":"714:12:181"},"nodeType":"YulExpressionStatement","src":"714:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"671:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"682:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"697:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"702:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"693:3:181"},"nodeType":"YulFunctionCall","src":"693:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"706:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"689:3:181"},"nodeType":"YulFunctionCall","src":"689:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"678:3:181"},"nodeType":"YulFunctionCall","src":"678:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"668:2:181"},"nodeType":"YulFunctionCall","src":"668:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"661:6:181"},"nodeType":"YulFunctionCall","src":"661:50:181"},"nodeType":"YulIf","src":"658:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"589:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"600:5:181","type":""}],"src":"561:173:181"},{"body":{"nodeType":"YulBlock","src":"809:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"855:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"864:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"867:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"857:6:181"},"nodeType":"YulFunctionCall","src":"857:12:181"},"nodeType":"YulExpressionStatement","src":"857:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"830:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"839:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"826:3:181"},"nodeType":"YulFunctionCall","src":"826:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"851:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"822:3:181"},"nodeType":"YulFunctionCall","src":"822:32:181"},"nodeType":"YulIf","src":"819:52:181"},{"nodeType":"YulAssignment","src":"880:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"909:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"890:18:181"},"nodeType":"YulFunctionCall","src":"890:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"880:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"775:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"786:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"798:6:181","type":""}],"src":"739:186:181"},{"body":{"nodeType":"YulBlock","src":"1031:102:181","statements":[{"nodeType":"YulAssignment","src":"1041:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1053:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1064:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1049:3:181"},"nodeType":"YulFunctionCall","src":"1049:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1041:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1083:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1098:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1114:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1119:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1110:3:181"},"nodeType":"YulFunctionCall","src":"1110:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1123:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1106:3:181"},"nodeType":"YulFunctionCall","src":"1106:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1094:3:181"},"nodeType":"YulFunctionCall","src":"1094:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1076:6:181"},"nodeType":"YulFunctionCall","src":"1076:51:181"},"nodeType":"YulExpressionStatement","src":"1076:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1000:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1011:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1022:4:181","type":""}],"src":"930:203:181"},{"body":{"nodeType":"YulBlock","src":"1224:172:181","statements":[{"body":{"nodeType":"YulBlock","src":"1270:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1279:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1282:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1272:6:181"},"nodeType":"YulFunctionCall","src":"1272:12:181"},"nodeType":"YulExpressionStatement","src":"1272:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1245:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1254:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1241:3:181"},"nodeType":"YulFunctionCall","src":"1241:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1266:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1237:3:181"},"nodeType":"YulFunctionCall","src":"1237:32:181"},"nodeType":"YulIf","src":"1234:52:181"},{"nodeType":"YulAssignment","src":"1295:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1324:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1305:18:181"},"nodeType":"YulFunctionCall","src":"1305:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1295:6:181"}]},{"nodeType":"YulAssignment","src":"1343:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1375:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1386:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1371:3:181"},"nodeType":"YulFunctionCall","src":"1371:18:181"}],"functionName":{"name":"abi_decode_uint64","nodeType":"YulIdentifier","src":"1353:17:181"},"nodeType":"YulFunctionCall","src":"1353:37:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1343:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1182:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1193:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1205:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1213:6:181","type":""}],"src":"1138:258:181"},{"body":{"nodeType":"YulBlock","src":"1433:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1450:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1457:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1462:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1453:3:181"},"nodeType":"YulFunctionCall","src":"1453:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1443:6:181"},"nodeType":"YulFunctionCall","src":"1443:31:181"},"nodeType":"YulExpressionStatement","src":"1443:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1490:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1493:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1483:6:181"},"nodeType":"YulFunctionCall","src":"1483:15:181"},"nodeType":"YulExpressionStatement","src":"1483:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1514:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1517:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1507:6:181"},"nodeType":"YulFunctionCall","src":"1507:15:181"},"nodeType":"YulExpressionStatement","src":"1507:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1401:127:181"},{"body":{"nodeType":"YulBlock","src":"1581:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"1608:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1610:16:181"},"nodeType":"YulFunctionCall","src":"1610:18:181"},"nodeType":"YulExpressionStatement","src":"1610:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1597:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1604:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1600:3:181"},"nodeType":"YulFunctionCall","src":"1600:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1594:2:181"},"nodeType":"YulFunctionCall","src":"1594:13:181"},"nodeType":"YulIf","src":"1591:39:181"},{"nodeType":"YulAssignment","src":"1639:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1650:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"1653:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1646:3:181"},"nodeType":"YulFunctionCall","src":"1646:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1639:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1564:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"1567:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1573:3:181","type":""}],"src":"1533:128:181"},{"body":{"nodeType":"YulBlock","src":"1747:103:181","statements":[{"body":{"nodeType":"YulBlock","src":"1793:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1802:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1805:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1795:6:181"},"nodeType":"YulFunctionCall","src":"1795:12:181"},"nodeType":"YulExpressionStatement","src":"1795:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1768:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1777:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1764:3:181"},"nodeType":"YulFunctionCall","src":"1764:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1789:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1760:3:181"},"nodeType":"YulFunctionCall","src":"1760:32:181"},"nodeType":"YulIf","src":"1757:52:181"},{"nodeType":"YulAssignment","src":"1818:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1834:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1828:5:181"},"nodeType":"YulFunctionCall","src":"1828:16:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1818:6:181"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1713:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1724:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1736:6:181","type":""}],"src":"1666:184:181"},{"body":{"nodeType":"YulBlock","src":"1904:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"1926:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1928:16:181"},"nodeType":"YulFunctionCall","src":"1928:18:181"},"nodeType":"YulExpressionStatement","src":"1928:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1920:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"1923:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1917:2:181"},"nodeType":"YulFunctionCall","src":"1917:8:181"},"nodeType":"YulIf","src":"1914:34:181"},{"nodeType":"YulAssignment","src":"1957:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1969:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"1972:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1965:3:181"},"nodeType":"YulFunctionCall","src":"1965:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1957:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1886:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"1889:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1895:4:181","type":""}],"src":"1855:125:181"},{"body":{"nodeType":"YulBlock","src":"2037:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2096:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2098:16:181"},"nodeType":"YulFunctionCall","src":"2098:18:181"},"nodeType":"YulExpressionStatement","src":"2098:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2068:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2061:6:181"},"nodeType":"YulFunctionCall","src":"2061:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2054:6:181"},"nodeType":"YulFunctionCall","src":"2054:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2076:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2087:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2083:3:181"},"nodeType":"YulFunctionCall","src":"2083:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"2091:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2079:3:181"},"nodeType":"YulFunctionCall","src":"2079:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2073:2:181"},"nodeType":"YulFunctionCall","src":"2073:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2050:3:181"},"nodeType":"YulFunctionCall","src":"2050:45:181"},"nodeType":"YulIf","src":"2047:71:181"},{"nodeType":"YulAssignment","src":"2127:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2142:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"2145:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2138:3:181"},"nodeType":"YulFunctionCall","src":"2138:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2127:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2016:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2019:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2025:7:181","type":""}],"src":"1985:168:181"},{"body":{"nodeType":"YulBlock","src":"2204:171:181","statements":[{"body":{"nodeType":"YulBlock","src":"2235:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2256:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2263:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2268:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2259:3:181"},"nodeType":"YulFunctionCall","src":"2259:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2249:6:181"},"nodeType":"YulFunctionCall","src":"2249:31:181"},"nodeType":"YulExpressionStatement","src":"2249:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2300:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2303:4:181","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2293:6:181"},"nodeType":"YulFunctionCall","src":"2293:15:181"},"nodeType":"YulExpressionStatement","src":"2293:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2331:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2321:6:181"},"nodeType":"YulFunctionCall","src":"2321:15:181"},"nodeType":"YulExpressionStatement","src":"2321:15:181"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2224:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2217:6:181"},"nodeType":"YulFunctionCall","src":"2217:9:181"},"nodeType":"YulIf","src":"2214:132:181"},{"nodeType":"YulAssignment","src":"2355:14:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2364:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"2367:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2360:3:181"},"nodeType":"YulFunctionCall","src":"2360:9:181"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2355:1:181"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2189:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2192:1:181","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2198:1:181","type":""}],"src":"2158:217:181"},{"body":{"nodeType":"YulBlock","src":"2509:145:181","statements":[{"nodeType":"YulAssignment","src":"2519:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2531:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2542:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2527:3:181"},"nodeType":"YulFunctionCall","src":"2527:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2519:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2561:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2576:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2592:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2597:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2588:3:181"},"nodeType":"YulFunctionCall","src":"2588:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"2601:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2584:3:181"},"nodeType":"YulFunctionCall","src":"2584:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2572:3:181"},"nodeType":"YulFunctionCall","src":"2572:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2554:6:181"},"nodeType":"YulFunctionCall","src":"2554:51:181"},"nodeType":"YulExpressionStatement","src":"2554:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2625:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2636:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2621:3:181"},"nodeType":"YulFunctionCall","src":"2621:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"2641:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2614:6:181"},"nodeType":"YulFunctionCall","src":"2614:34:181"},"nodeType":"YulExpressionStatement","src":"2614:34:181"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2470:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2481:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2489:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2500:4:181","type":""}],"src":"2380:274:181"},{"body":{"nodeType":"YulBlock","src":"2833:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2850:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2861:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2843:6:181"},"nodeType":"YulFunctionCall","src":"2843:21:181"},"nodeType":"YulExpressionStatement","src":"2843:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2884:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2895:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2880:3:181"},"nodeType":"YulFunctionCall","src":"2880:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2900:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2873:6:181"},"nodeType":"YulFunctionCall","src":"2873:30:181"},"nodeType":"YulExpressionStatement","src":"2873:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2923:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2934:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2919:3:181"},"nodeType":"YulFunctionCall","src":"2919:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","kind":"string","nodeType":"YulLiteral","src":"2939:31:181","type":"","value":"Address: insufficient balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2912:6:181"},"nodeType":"YulFunctionCall","src":"2912:59:181"},"nodeType":"YulExpressionStatement","src":"2912:59:181"},{"nodeType":"YulAssignment","src":"2980:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2992:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3003:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2988:3:181"},"nodeType":"YulFunctionCall","src":"2988:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2980:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2810:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2824:4:181","type":""}],"src":"2659:353:181"},{"body":{"nodeType":"YulBlock","src":"3208:14:181","statements":[{"nodeType":"YulAssignment","src":"3210:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"3217:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3210:3:181"}]}]},"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":"3192:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3200:3:181","type":""}],"src":"3017:205:181"},{"body":{"nodeType":"YulBlock","src":"3401:248:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3418:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3429:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3411:6:181"},"nodeType":"YulFunctionCall","src":"3411:21:181"},"nodeType":"YulExpressionStatement","src":"3411:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3452:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3463:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3448:3:181"},"nodeType":"YulFunctionCall","src":"3448:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3468:2:181","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3441:6:181"},"nodeType":"YulFunctionCall","src":"3441:30:181"},"nodeType":"YulExpressionStatement","src":"3441:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3491:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3502:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3487:3:181"},"nodeType":"YulFunctionCall","src":"3487:18:181"},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c2072","kind":"string","nodeType":"YulLiteral","src":"3507:34:181","type":"","value":"Address: unable to send value, r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3480:6:181"},"nodeType":"YulFunctionCall","src":"3480:62:181"},"nodeType":"YulExpressionStatement","src":"3480:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3562:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3573:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3558:3:181"},"nodeType":"YulFunctionCall","src":"3558:18:181"},{"hexValue":"6563697069656e74206d61792068617665207265766572746564","kind":"string","nodeType":"YulLiteral","src":"3578:28:181","type":"","value":"ecipient may have reverted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3551:6:181"},"nodeType":"YulFunctionCall","src":"3551:56:181"},"nodeType":"YulExpressionStatement","src":"3551:56:181"},{"nodeType":"YulAssignment","src":"3616:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3628:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3639:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3624:3:181"},"nodeType":"YulFunctionCall","src":"3624:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3616:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3378:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3392:4:181","type":""}],"src":"3227:422:181"},{"body":{"nodeType":"YulBlock","src":"3732:199:181","statements":[{"body":{"nodeType":"YulBlock","src":"3778:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3787:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3790:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3780:6:181"},"nodeType":"YulFunctionCall","src":"3780:12:181"},"nodeType":"YulExpressionStatement","src":"3780:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3753:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3762:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3749:3:181"},"nodeType":"YulFunctionCall","src":"3749:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3774:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3745:3:181"},"nodeType":"YulFunctionCall","src":"3745:32:181"},"nodeType":"YulIf","src":"3742:52:181"},{"nodeType":"YulVariableDeclaration","src":"3803:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3822:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3816:5:181"},"nodeType":"YulFunctionCall","src":"3816:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3807:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3885:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3894:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3897:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3887:6:181"},"nodeType":"YulFunctionCall","src":"3887:12:181"},"nodeType":"YulExpressionStatement","src":"3887:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3854:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3875:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3868:6:181"},"nodeType":"YulFunctionCall","src":"3868:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3861:6:181"},"nodeType":"YulFunctionCall","src":"3861:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3851:2:181"},"nodeType":"YulFunctionCall","src":"3851:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3844:6:181"},"nodeType":"YulFunctionCall","src":"3844:40:181"},"nodeType":"YulIf","src":"3841:60:181"},{"nodeType":"YulAssignment","src":"3910:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"3920:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3910:6:181"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3698:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3709:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3721:6:181","type":""}],"src":"3654:277:181"},{"body":{"nodeType":"YulBlock","src":"4110:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4127:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4138:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4120:6:181"},"nodeType":"YulFunctionCall","src":"4120:21:181"},"nodeType":"YulExpressionStatement","src":"4120:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4161:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4172:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4157:3:181"},"nodeType":"YulFunctionCall","src":"4157:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4177:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4150:6:181"},"nodeType":"YulFunctionCall","src":"4150:30:181"},"nodeType":"YulExpressionStatement","src":"4150:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4200:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4211:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4196:3:181"},"nodeType":"YulFunctionCall","src":"4196:18:181"},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e","kind":"string","nodeType":"YulLiteral","src":"4216:34:181","type":"","value":"SafeERC20: ERC20 operation did n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4189:6:181"},"nodeType":"YulFunctionCall","src":"4189:62:181"},"nodeType":"YulExpressionStatement","src":"4189:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4271:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4282:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4267:3:181"},"nodeType":"YulFunctionCall","src":"4267:18:181"},{"hexValue":"6f742073756363656564","kind":"string","nodeType":"YulLiteral","src":"4287:12:181","type":"","value":"ot succeed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4260:6:181"},"nodeType":"YulFunctionCall","src":"4260:40:181"},"nodeType":"YulExpressionStatement","src":"4260:40:181"},{"nodeType":"YulAssignment","src":"4309:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4321:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4332:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4317:3:181"},"nodeType":"YulFunctionCall","src":"4317:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4309:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4087:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4101:4:181","type":""}],"src":"3936:406:181"},{"body":{"nodeType":"YulBlock","src":"4521:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4538:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4549:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4531:6:181"},"nodeType":"YulFunctionCall","src":"4531:21:181"},"nodeType":"YulExpressionStatement","src":"4531:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4572:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4583:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4568:3:181"},"nodeType":"YulFunctionCall","src":"4568:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4588:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4561:6:181"},"nodeType":"YulFunctionCall","src":"4561:30:181"},"nodeType":"YulExpressionStatement","src":"4561:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4611:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4622:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4607:3:181"},"nodeType":"YulFunctionCall","src":"4607:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f","kind":"string","nodeType":"YulLiteral","src":"4627:34:181","type":"","value":"Address: insufficient balance fo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4600:6:181"},"nodeType":"YulFunctionCall","src":"4600:62:181"},"nodeType":"YulExpressionStatement","src":"4600:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4682:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4693:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4678:3:181"},"nodeType":"YulFunctionCall","src":"4678:18:181"},{"hexValue":"722063616c6c","kind":"string","nodeType":"YulLiteral","src":"4698:8:181","type":"","value":"r call"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4671:6:181"},"nodeType":"YulFunctionCall","src":"4671:36:181"},"nodeType":"YulExpressionStatement","src":"4671:36:181"},{"nodeType":"YulAssignment","src":"4716:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4728:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4739:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4724:3:181"},"nodeType":"YulFunctionCall","src":"4724:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4716:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4498:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4512:4:181","type":""}],"src":"4347:402:181"},{"body":{"nodeType":"YulBlock","src":"4807:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"4817:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4826:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4821:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4886:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4911:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"4916:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4907:3:181"},"nodeType":"YulFunctionCall","src":"4907:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4930:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"4935:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4926:3:181"},"nodeType":"YulFunctionCall","src":"4926:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4920:5:181"},"nodeType":"YulFunctionCall","src":"4920:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4900:6:181"},"nodeType":"YulFunctionCall","src":"4900:39:181"},"nodeType":"YulExpressionStatement","src":"4900:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4847:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"4850:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4844:2:181"},"nodeType":"YulFunctionCall","src":"4844:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4858:19:181","statements":[{"nodeType":"YulAssignment","src":"4860:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4869:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"4872:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4865:3:181"},"nodeType":"YulFunctionCall","src":"4865:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4860:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"4840:3:181","statements":[]},"src":"4836:113:181"},{"body":{"nodeType":"YulBlock","src":"4975:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4988:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"4993:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4984:3:181"},"nodeType":"YulFunctionCall","src":"4984:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"5002:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4977:6:181"},"nodeType":"YulFunctionCall","src":"4977:27:181"},"nodeType":"YulExpressionStatement","src":"4977:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4964:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"4967:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4961:2:181"},"nodeType":"YulFunctionCall","src":"4961:13:181"},"nodeType":"YulIf","src":"4958:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"4785:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"4790:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"4795:6:181","type":""}],"src":"4754:258:181"},{"body":{"nodeType":"YulBlock","src":"5154:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"5164:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5184:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5178:5:181"},"nodeType":"YulFunctionCall","src":"5178:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5168:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5226:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5234:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5222:3:181"},"nodeType":"YulFunctionCall","src":"5222:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"5241:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"5246:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"5200:21:181"},"nodeType":"YulFunctionCall","src":"5200:53:181"},"nodeType":"YulExpressionStatement","src":"5200:53:181"},{"nodeType":"YulAssignment","src":"5262:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5273:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"5278:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5269:3:181"},"nodeType":"YulFunctionCall","src":"5269:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5262:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5130:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5135:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5146:3:181","type":""}],"src":"5017:274:181"},{"body":{"nodeType":"YulBlock","src":"5470:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5487:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5498:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5480:6:181"},"nodeType":"YulFunctionCall","src":"5480:21:181"},"nodeType":"YulExpressionStatement","src":"5480:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5521:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5532:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5517:3:181"},"nodeType":"YulFunctionCall","src":"5517:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5537:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5510:6:181"},"nodeType":"YulFunctionCall","src":"5510:30:181"},"nodeType":"YulExpressionStatement","src":"5510:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5560:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5571:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5556:3:181"},"nodeType":"YulFunctionCall","src":"5556:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"5576:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5549:6:181"},"nodeType":"YulFunctionCall","src":"5549:59:181"},"nodeType":"YulExpressionStatement","src":"5549:59:181"},{"nodeType":"YulAssignment","src":"5617:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5629:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5640:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5625:3:181"},"nodeType":"YulFunctionCall","src":"5625:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5617:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5447:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5461:4:181","type":""}],"src":"5296:353:181"},{"body":{"nodeType":"YulBlock","src":"5775:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5792:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5803:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5785:6:181"},"nodeType":"YulFunctionCall","src":"5785:21:181"},"nodeType":"YulExpressionStatement","src":"5785:21:181"},{"nodeType":"YulVariableDeclaration","src":"5815:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5835:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5829:5:181"},"nodeType":"YulFunctionCall","src":"5829:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5819:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5862:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5873:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5858:3:181"},"nodeType":"YulFunctionCall","src":"5858:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"5878:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5851:6:181"},"nodeType":"YulFunctionCall","src":"5851:34:181"},"nodeType":"YulExpressionStatement","src":"5851:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5920:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5928:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5916:3:181"},"nodeType":"YulFunctionCall","src":"5916:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5937:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5948:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5933:3:181"},"nodeType":"YulFunctionCall","src":"5933:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"5953:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"5894:21:181"},"nodeType":"YulFunctionCall","src":"5894:66:181"},"nodeType":"YulExpressionStatement","src":"5894:66:181"},{"nodeType":"YulAssignment","src":"5969:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5985:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6004:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"6012:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6000:3:181"},"nodeType":"YulFunctionCall","src":"6000:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6021:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6017:3:181"},"nodeType":"YulFunctionCall","src":"6017:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5996:3:181"},"nodeType":"YulFunctionCall","src":"5996:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5981:3:181"},"nodeType":"YulFunctionCall","src":"5981:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"6028:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5977:3:181"},"nodeType":"YulFunctionCall","src":"5977:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5969:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5744:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5755:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5766:4:181","type":""}],"src":"5654:383:181"}]},"contents":"{\n { }\n function abi_decode_uint64(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint64(headStart)\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_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 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_addresst_uint64(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_uint64(add(headStart, 32))\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_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\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_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__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), \"Address: insufficient balance\")\n tail := add(headStart, 96)\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_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 58)\n mstore(add(headStart, 64), \"Address: unable to send value, r\")\n mstore(add(headStart, 96), \"ecipient may have reverted\")\n tail := add(headStart, 128)\n }\n function abi_decode_tuple_t_bool_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, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"2547":[{"length":32,"start":344},{"length":32,"start":753},{"length":32,"start":1049}],"2549":[{"length":32,"start":1145}],"2551":[{"length":32,"start":238},{"length":32,"start":1245},{"length":32,"start":1330}]},"linkReferences":{},"object":"6080604052600436106100a05760003560e01c806386d1a69f1161006457806386d1a69f146101a257806396132521146101b75780639852595c146101cc578063a3f8eace14610202578063be9a655514610222578063fbccedae1461023757600080fd5b80630a17b06b146100ac5780630fb5a6b4146100df578063191655871461011c57806338af3eed1461013e578063810ec23b1461018257600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c7366004610983565b61024c565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166100cc565b34801561012857600080fd5b5061013c6101373660046109b5565b610270565b005b34801561014a57600080fd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016100d6565b34801561018e57600080fd5b506100cc61019d3660046109d0565b61031a565b3480156101ae57600080fd5b5061013c6103bf565b3480156101c357600080fd5b506000546100cc565b3480156101d857600080fd5b506100cc6101e73660046109b5565b6001600160a01b031660009081526001602052604090205490565b34801561020e57600080fd5b506100cc61021d3660046109b5565b610441565b34801561022e57600080fd5b506100cc61046e565b34801561024357600080fd5b506100cc61049c565b600061026a61025a60005490565b6102649047610a19565b836104b8565b92915050565b600061027b82610441565b6001600160a01b0383166000908152600160205260408120805492935083929091906102a8908490610a19565b90915550506040518181526001600160a01b038316907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610316827f000000000000000000000000000000000000000000000000000000000000000083610592565b5050565b6001600160a01b0382166000908152600160205260408120546103b8906040516370a0823160e01b81523060048201526001600160a01b038616906370a082319060240160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610a31565b6102649190610a19565b9392505050565b60006103c961049c565b9050806000808282546103dc9190610a19565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a161043e7f0000000000000000000000000000000000000000000000000000000000000000826105e9565b50565b6001600160a01b038116600090815260016020526040812054610464834261031a565b61026a9190610a4a565b67ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690565b600080546104a94261024c565b6104b39190610a4a565b905090565b60006104c261046e565b8267ffffffffffffffff1610156104db5750600061026a565b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661050e61046e565b6105189190610a19565b8267ffffffffffffffff16111561053057508161026a565b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1661056361046e565b6105779067ffffffffffffffff8516610a4a565b6105819085610a61565b61058b9190610a80565b905061026a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105e4908490610707565b505050565b8047101561063e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461068b576040519150601f19603f3d011682016040523d82523d6000602084013e610690565b606091505b50509050806105e45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610635565b600061075c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107d99092919063ffffffff16565b8051909150156105e4578080602001905181019061077a9190610aa2565b6105e45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610635565b60606107e884846000856107f0565b949350505050565b6060824710156108515760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610635565b600080866001600160a01b0316858760405161086d9190610af4565b60006040518083038185875af1925050503d80600081146108aa576040519150601f19603f3d011682016040523d82523d6000602084013e6108af565b606091505b50915091506108c0878383876108cb565b979650505050505050565b60608315610937578251610930576001600160a01b0385163b6109305760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610635565b50816107e8565b6107e8838381511561094c5781518083602001fd5b8060405162461bcd60e51b81526004016106359190610b10565b803567ffffffffffffffff8116811461097e57600080fd5b919050565b60006020828403121561099557600080fd5b6103b882610966565b80356001600160a01b038116811461097e57600080fd5b6000602082840312156109c757600080fd5b6103b88261099e565b600080604083850312156109e357600080fd5b6109ec8361099e565b91506109fa60208401610966565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610a2c57610a2c610a03565b500190565b600060208284031215610a4357600080fd5b5051919050565b600082821015610a5c57610a5c610a03565b500390565b6000816000190483118215151615610a7b57610a7b610a03565b500290565b600082610a9d57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ab457600080fd5b815180151581146103b857600080fd5b60005b83811015610adf578181015183820152602001610ac7565b83811115610aee576000848401525b50505050565b60008251610b06818460208701610ac4565b9190910192915050565b6020815260008251806020840152610b2f816040850160208701610ac4565b601f01601f1916919091016040019291505056fea2646970667358221220e47c80d3334555bc21dead15bd54fd0d631b6f5dab6987de14a991f341a8ea9364736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x86D1A69F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x86D1A69F EQ PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x96132521 EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x9852595C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xA3F8EACE EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0xBE9A6555 EQ PUSH2 0x222 JUMPI DUP1 PUSH4 0xFBCCEDAE EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA17B06B EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0xFB5A6B4 EQ PUSH2 0xDF JUMPI DUP1 PUSH4 0x19165587 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x38AF3EED EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x810EC23B EQ PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0xA7 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0xC7 CALLDATASIZE PUSH1 0x4 PUSH2 0x983 JUMP JUMPDEST PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0xCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x19D CALLDATASIZE PUSH1 0x4 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0x31A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x3BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x21D CALLDATASIZE PUSH1 0x4 PUSH2 0x9B5 JUMP JUMPDEST PUSH2 0x441 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x46E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x243 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCC PUSH2 0x49C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A PUSH2 0x25A PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x264 SWAP1 SELFBALANCE PUSH2 0xA19 JUMP JUMPDEST DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B DUP3 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP DUP4 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2A8 SWAP1 DUP5 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xC0E523490DD523C33B1878C9EB14FF46991E3F5B2CD33710918618F2A39CBA1B SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x316 DUP3 PUSH32 0x0 DUP4 PUSH2 0x592 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x3B8 SWAP1 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AE SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST PUSH2 0x264 SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C9 PUSH2 0x49C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x3DC SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xDA9D4E5F101B8B9B1C5B76D0C5A9F7923571ACFC02376AA076B75A8C080C956B SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x43E PUSH32 0x0 DUP3 PUSH2 0x5E9 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x464 DUP4 TIMESTAMP PUSH2 0x31A JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0xA4A JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x4A9 TIMESTAMP PUSH2 0x24C JUMP JUMPDEST PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0xA4A JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C2 PUSH2 0x46E JUMP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND LT ISZERO PUSH2 0x4DB JUMPI POP PUSH1 0x0 PUSH2 0x26A JUMP JUMPDEST PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x50E PUSH2 0x46E JUMP JUMPDEST PUSH2 0x518 SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND GT ISZERO PUSH2 0x530 JUMPI POP DUP2 PUSH2 0x26A JUMP JUMPDEST PUSH32 0x0 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x563 PUSH2 0x46E JUMP JUMPDEST PUSH2 0x577 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP6 AND PUSH2 0xA4A JUMP JUMPDEST PUSH2 0x581 SWAP1 DUP6 PUSH2 0xA61 JUMP JUMPDEST PUSH2 0x58B SWAP2 SWAP1 PUSH2 0xA80 JUMP JUMPDEST SWAP1 POP PUSH2 0x26A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x5E4 SWAP1 DUP5 SWAP1 PUSH2 0x707 JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x63E 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x68B 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 0x690 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x5E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75C DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7D9 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x5E4 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x77A SWAP2 SWAP1 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x5E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7E8 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x7F0 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x851 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1C8818D85B1B PUSH1 0xD2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x635 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x86D SWAP2 SWAP1 PUSH2 0xAF4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8AA 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 0x8AF JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x8C0 DUP8 DUP4 DUP4 DUP8 PUSH2 0x8CB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x937 JUMPI DUP3 MLOAD PUSH2 0x930 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x930 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x635 JUMP JUMPDEST POP DUP2 PUSH2 0x7E8 JUMP JUMPDEST PUSH2 0x7E8 DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x94C JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x635 SWAP2 SWAP1 PUSH2 0xB10 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x97E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x995 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B8 DUP3 PUSH2 0x966 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x97E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B8 DUP3 PUSH2 0x99E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9EC DUP4 PUSH2 0x99E JUMP JUMPDEST SWAP2 POP PUSH2 0x9FA PUSH1 0x20 DUP5 ADD PUSH2 0x966 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA2C JUMPI PUSH2 0xA2C PUSH2 0xA03 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA5C JUMPI PUSH2 0xA5C PUSH2 0xA03 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xA7B JUMPI PUSH2 0xA7B PUSH2 0xA03 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xA9D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xADF JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xAC7 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xAEE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xB06 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xAC4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xB2F DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xAC4 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 PUSH29 0x80D3334555BC21DEAD15BD54FD0D631B6F5DAB6987DE14A991F341A8EA SWAP4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"856:4179:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3964:165;;;;;;;;;;-1:-1:-1;3964:165:23;;;;;:::i;:::-;;:::i;:::-;;;525:25:181;;;513:2;498:18;3964:165:23;;;;;;;;2162:91;;;;;;;;;;-1:-1:-1;2237:9:23;2230:16;;2162:91;;3572:252;;;;;;;;;;-1:-1:-1;3572:252:23;;;;;:::i;:::-;;:::i;:::-;;1847:97;;;;;;;;;;-1:-1:-1;1847:97:23;;-1:-1:-1;;;;;1925:12:23;1094:32:181;1076:51;;1064:2;1049:18;1847:97:23;930:203:181;4270:202:23;;;;;;;;;;-1:-1:-1;4270:202:23;;;;;:::i;:::-;;:::i;3244:204::-;;;;;;;;;;;;;:::i;2318:91::-;;;;;;;;;;-1:-1:-1;2367:7:23;2393:9;2318:91;;2476:116;;;;;;;;;;-1:-1:-1;2476:116:23;;;;;:::i;:::-;-1:-1:-1;;;;;2564:21:23;2538:7;2564:21;;;:14;:21;;;;;;;2476:116;2947:159;;;;;;;;;;-1:-1:-1;2947:159:23;;;;;:::i;:::-;;:::i;2010:85::-;;;;;;;;;;;;;:::i;2667:134::-;;;;;;;;;;;;;:::i;3964:165::-;4033:7;4059:63;4100:10;2367:7;2393:9;;2318:91;4100:10;4076:34;;:21;:34;:::i;:::-;4112:9;4059:16;:63::i;:::-;4052:70;3964:165;-1:-1:-1;;3964:165:23:o;3572:252::-;3629:14;3646:17;3657:5;3646:10;:17::i;:::-;-1:-1:-1;;;;;3673:21:23;;;;;;:14;:21;;;;;:31;;3629:34;;-1:-1:-1;3629:34:23;;3673:21;;;:31;;3629:34;;3673:31;:::i;:::-;;;;-1:-1:-1;;3719:28:23;;525:25:181;;;-1:-1:-1;;;;;3719:28:23;;;;;513:2:181;498:18;3719:28:23;;;;;;;3757:60;3787:5;1925:12;3810:6;3757:22;:60::i;:::-;3619:205;3572:252;:::o;4270:202::-;-1:-1:-1;;;;;2564:21:23;;4354:7;2564:21;;;:14;:21;;;;;;4380:85;;4397:38;;-1:-1:-1;;;4397:38:23;;4429:4;4397:38;;;1076:51:181;-1:-1:-1;;;;;4397:23:23;;;;;1049:18:181;;4397:38:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;;:::i;4380:85::-;4373:92;4270:202;-1:-1:-1;;;4270:202:23:o;3244:204::-;3288:14;3305:12;:10;:12::i;:::-;3288:29;;3340:6;3327:9;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;3361:21:23;;525:25:181;;;3361:21:23;;513:2:181;498:18;3361:21:23;;;;;;;3392:49;1925:12;3434:6;3392:17;:49::i;:::-;3278:170;3244:204::o;2947:159::-;-1:-1:-1;;;;;2564:21:23;;3011:7;2564:21;;;:14;:21;;;;;;3037:44;3050:5;3064:15;3037:12;:44::i;:::-;:62;;;;:::i;2010:85::-;2075:13;2082:6;2075:13;;2010:85::o;2667:134::-;2718:7;2393:9;;2744:37;2764:15;2744:12;:37::i;:::-;:50;;;;:::i;:::-;2737:57;;2667:134;:::o;4667:366::-;4767:7;4802;:5;:7::i;:::-;4790:9;:19;;;4786:241;;;-1:-1:-1;4832:1:23;4825:8;;4786:241;2237:9;2230:16;;4866:7;:5;:7::i;:::-;:20;;;;:::i;:::-;4854:9;:32;;;4850:177;;;-1:-1:-1;4909:15:23;4902:22;;4850:177;2237:9;2230:16;;4994:7;:5;:7::i;:::-;4982:19;;;;;;:::i;:::-;4963:39;;:15;:39;:::i;:::-;4962:54;;;;:::i;:::-;4955:61;;;;763:205:111;902:58;;;-1:-1:-1;;;;;2572:32:181;;902:58:111;;;2554:51:181;2621:18;;;;2614:34;;;902:58:111;;;;;;;;;;2527:18:181;;;;902:58:111;;;;;;;;-1:-1:-1;;;;;902:58:111;-1:-1:-1;;;902:58:111;;;875:86;;895:5;;875:19;:86::i;:::-;763:205;;;:::o;2412:312:134:-;2526:6;2501:21;:31;;2493:73;;;;-1:-1:-1;;;2493:73:134;;2861:2:181;2493:73:134;;;2843:21:181;2900:2;2880:18;;;2873:30;2939:31;2919:18;;;2912:59;2988:18;;2493:73:134;;;;;;;;;2578:12;2596:9;-1:-1:-1;;;;;2596:14:134;2618:6;2596:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:52;;;2647:7;2639:78;;;;-1:-1:-1;;;2639:78:134;;3429:2:181;2639:78:134;;;3411:21:181;3468:2;3448:18;;;3441:30;3507:34;3487:18;;;3480:62;3578:28;3558:18;;;3551:56;3624:19;;2639:78:134;3227:422:181;3747:706:111;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;-1:-1:-1;;;;;4192:27:111;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:111;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;-1:-1:-1;;;4351:85:111;;4138:2:181;4351:85:111;;;4120:21:181;4177:2;4157:18;;;4150:30;4216:34;4196:18;;;4189:62;-1:-1:-1;;;4267:18:181;;;4260:40;4317:19;;4351:85:111;3936:406:181;3873:223:134;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4037:21;:52::i;:::-;4030:59;3873:223;-1:-1:-1;;;;3873:223:134:o;4960:446::-;5125:12;5182:5;5157:21;:30;;5149:81;;;;-1:-1:-1;;;5149:81:134;;4549:2:181;5149:81:134;;;4531:21:181;4588:2;4568:18;;;4561:30;4627:34;4607:18;;;4600:62;-1:-1:-1;;;4678:18:181;;;4671:36;4724:19;;5149:81:134;4347:402:181;5149:81:134;5241:12;5255:23;5282:6;-1:-1:-1;;;;;5282:11:134;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;5498:2:181;7908:60:134;;;5480:21:181;5537:2;5517:18;;;5510:30;5576:31;5556:18;;;5549:59;5625:18;;7908:60:134;5296:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:171:181:-;81:20;;141:18;130:30;;120:41;;110:69;;175:1;172;165:12;110:69;14:171;;;:::o;190:184::-;248:6;301:2;289:9;280:7;276:23;272:32;269:52;;;317:1;314;307:12;269:52;340:28;358:9;340:28;:::i;561:173::-;629:20;;-1:-1:-1;;;;;678:31:181;;668:42;;658:70;;724:1;721;714:12;739:186;798:6;851:2;839:9;830:7;826:23;822:32;819:52;;;867:1;864;857:12;819:52;890:29;909:9;890:29;:::i;1138:258::-;1205:6;1213;1266:2;1254:9;1245:7;1241:23;1237:32;1234:52;;;1282:1;1279;1272:12;1234:52;1305:29;1324:9;1305:29;:::i;:::-;1295:39;;1353:37;1386:2;1375:9;1371:18;1353:37;:::i;:::-;1343:47;;1138:258;;;;;:::o;1401:127::-;1462:10;1457:3;1453:20;1450:1;1443:31;1493:4;1490:1;1483:15;1517:4;1514:1;1507:15;1533:128;1573:3;1604:1;1600:6;1597:1;1594:13;1591:39;;;1610:18;;:::i;:::-;-1:-1:-1;1646:9:181;;1533:128::o;1666:184::-;1736:6;1789:2;1777:9;1768:7;1764:23;1760:32;1757:52;;;1805:1;1802;1795:12;1757:52;-1:-1:-1;1828:16:181;;1666:184;-1:-1:-1;1666:184:181:o;1855:125::-;1895:4;1923:1;1920;1917:8;1914:34;;;1928:18;;:::i;:::-;-1:-1:-1;1965:9:181;;1855:125::o;1985:168::-;2025:7;2091:1;2087;2083:6;2079:14;2076:1;2073:21;2068:1;2061:9;2054:17;2050:45;2047:71;;;2098:18;;:::i;:::-;-1:-1:-1;2138:9:181;;1985:168::o;2158:217::-;2198:1;2224;2214:132;;2268:10;2263:3;2259:20;2256:1;2249:31;2303:4;2300:1;2293:15;2331:4;2328:1;2321:15;2214:132;-1:-1:-1;2360:9:181;;2158:217::o;3654:277::-;3721:6;3774:2;3762:9;3753:7;3749:23;3745:32;3742:52;;;3790:1;3787;3780:12;3742:52;3822:9;3816:16;3875:5;3868:13;3861:21;3854:5;3851:32;3841:60;;3897:1;3894;3887:12;4754:258;4826:1;4836:113;4850:6;4847:1;4844:13;4836:113;;;4926:11;;;4920:18;4907:11;;;4900:39;4872:2;4865:10;4836:113;;;4967:6;4964:1;4961:13;4958:48;;;5002:1;4993:6;4988:3;4984:16;4977:27;4958:48;;4754:258;;;:::o;5017:274::-;5146:3;5184:6;5178:13;5200:53;5246:6;5241:3;5234:4;5226:6;5222:17;5200:53;:::i;:::-;5269:16;;;;;5017:274;-1:-1:-1;;5017:274:181:o;5654:383::-;5803:2;5792:9;5785:21;5766:4;5835:6;5829:13;5878:6;5873:2;5862:9;5858:18;5851:34;5894:66;5953:6;5948:2;5937:9;5933:18;5928:2;5920:6;5916:15;5894:66;:::i;:::-;6021:2;6000:15;-1:-1:-1;;5996:29:181;5981:45;;;;6028:2;5977:54;;5654:383;-1:-1:-1;;5654:383:181:o"},"methodIdentifiers":{"beneficiary()":"38af3eed","duration()":"0fb5a6b4","releasable()":"fbccedae","releasable(address)":"a3f8eace","release()":"86d1a69f","release(address)":"19165587","released()":"96132521","released(address)":"9852595c","start()":"be9a6555","vestedAmount(address,uint64)":"810ec23b","vestedAmount(uint64)":"0a17b06b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiaryAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"startTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"durationSeconds\",\"type\":\"uint64\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Released\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EtherReleased\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"beneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"duration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"start\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"vestedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"vestedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract handles the vesting of Eth and ERC20 tokens for a given beneficiary. Custody of multiple tokens can be given to this contract, which will release the token to the beneficiary following a given vesting schedule. The vesting schedule is customizable through the {vestedAmount} function. Any token transferred to this contract will follow the vesting schedule as if they were locked from the beginning. Consequently, if the vesting has already started, any amount of tokens sent to this contract will (at least partly) be immediately releasable.\",\"kind\":\"dev\",\"methods\":{\"beneficiary()\":{\"details\":\"Getter for the beneficiary address.\"},\"constructor\":{\"details\":\"Set the beneficiary, start timestamp and vesting duration of the vesting wallet.\"},\"duration()\":{\"details\":\"Getter for the vesting duration.\"},\"releasable()\":{\"details\":\"Getter for the amount of releasable eth.\"},\"releasable(address)\":{\"details\":\"Getter for the amount of releasable `token` tokens. `token` should be the address of an IERC20 contract.\"},\"release()\":{\"details\":\"Release the native token (ether) that have already vested. Emits a {EtherReleased} event.\"},\"release(address)\":{\"details\":\"Release the tokens that have already vested. Emits a {ERC20Released} event.\"},\"released()\":{\"details\":\"Amount of eth already released\"},\"released(address)\":{\"details\":\"Amount of token already released\"},\"start()\":{\"details\":\"Getter for the start timestamp.\"},\"vestedAmount(address,uint64)\":{\"details\":\"Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve.\"},\"vestedAmount(uint64)\":{\"details\":\"Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve.\"}},\"title\":\"VestingWallet\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/finance/VestingWallet.sol\":\"VestingWallet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/finance/VestingWallet.sol\":{\"keccak256\":\"0xbebe8396fc5647ab950e3bb012d62485be3de15a77dab90196b85e9b0e31c790\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10575cbb42fbfd50b2ec29ddcc71f3ead5e261dfac33dc84d029171682d5843b\",\"dweb:/ipfs/QmPoqDC6jjEwCE8EJuEFiCyNJTaumzn1yaXuuSobfsdbHR\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/Governor.sol":{"Governor":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Core of the governance system, designed to be extended though various modules. This contract is abstract and requires several function to be implemented in various modules: - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote} - A voting module must implement {_getVotes} - Additionanly, the {votingPeriod} must also be implemented _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Sets the value for {name} and {version}\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":\"Governor\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/IGovernor.sol":{"IGovernor":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"COUNTING_MODE()":"dd4e2ba5","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the {Governor} core. _Available since v4.3._\",\"events\":{\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"VoteCast(address,uint256,uint8,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)\":{\"details\":\"Emitted when a vote is cast with params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used. `params` are additional encoded parameters. Their intepepretation also depends on the voting module used.\"}},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"Cast a vote Emits a {VoteCast} event.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote using the user's cryptographic signature. Emits a {VoteCast} event.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"Cast a vote with a reason Emits a {VoteCast} event.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature. Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalExecuted} event. Note: some module can modify the requirements for execution, for example by adding an additional timelock.\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Hashing function used to (re)build the proposal id from the proposal details..\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"proposalDeadline(uint256)\":{\"details\":\"Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"proposalSnapshot(uint256)\":{\"details\":\"Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends {IGovernor-votingPeriod} blocks after the voting starts. Emits a {ProposalCreated} event.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"state(uint256)\":{\"details\":\"Current state of a proposal, following Compound's convention\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"getVotesWithParams(address,uint256,bytes)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"module:core\"},\"name()\":{\"notice\":\"module:core\"},\"proposalDeadline(uint256)\":{\"notice\":\"module:core\"},\"proposalSnapshot(uint256)\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"version()\":{\"notice\":\"module:core\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":\"IGovernor\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/TimelockController.sol":{"TimelockController":{"abi":[{"inputs":[{"internalType":"uint256","name":"minDelay","type":"uint256"},{"internalType":"address[]","name":"proposers","type":"address[]"},{"internalType":"address[]","name":"executors","type":"address[]"},{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"CallExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"delay","type":"uint256"}],"name":"CallScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"Cancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MinDelayChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"CANCELLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIMELOCK_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"executeBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getMinDelay","outputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"hashOperation","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"hashOperationBatch","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperation","outputs":[{"internalType":"bool","name":"registered","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationDone","outputs":[{"internalType":"bool","name":"done","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationPending","outputs":[{"internalType":"bool","name":"pending","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationReady","outputs":[{"internalType":"bool","name":"ready","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"name":"schedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"name":"scheduleBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_4639":{"entryPoint":null,"id":4639,"parameterSlots":4,"returnSlots":0},"@_grantRole_995":{"entryPoint":648,"id":995,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setRoleAdmin_963":{"entryPoint":557,"id":963,"parameterSlots":2,"returnSlots":0},"@_setupRole_935":{"entryPoint":632,"id":935,"parameterSlots":2,"returnSlots":0},"@getRoleAdmin_858":{"entryPoint":null,"id":858,"parameterSlots":1,"returnSlots":1},"@hasRole_791":{"entryPoint":null,"id":791,"parameterSlots":2,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":830,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn_fromMemory":{"entryPoint":859,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptrt_array$_t_address_$dyn_memory_ptrt_address_fromMemory":{"entryPoint":1032,"id":null,"parameterSlots":2,"returnSlots":4},"abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"increment_t_uint256":{"entryPoint":1189,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x32":{"entryPoint":1167,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":808,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2649:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"206:117:181","statements":[{"nodeType":"YulAssignment","src":"216:22:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"231:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"225:5:181"},"nodeType":"YulFunctionCall","src":"225:13:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"216:5:181"}]},{"body":{"nodeType":"YulBlock","src":"301:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"310:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"313:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"303:6:181"},"nodeType":"YulFunctionCall","src":"303:12:181"},"nodeType":"YulExpressionStatement","src":"303:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"260:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"271:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"286:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"291:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"282:3:181"},"nodeType":"YulFunctionCall","src":"282:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"295:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"278:3:181"},"nodeType":"YulFunctionCall","src":"278:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"267:3:181"},"nodeType":"YulFunctionCall","src":"267:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"257:2:181"},"nodeType":"YulFunctionCall","src":"257:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"250:6:181"},"nodeType":"YulFunctionCall","src":"250:50:181"},"nodeType":"YulIf","src":"247:70:181"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"185:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"196:5:181","type":""}],"src":"146:177:181"},{"body":{"nodeType":"YulBlock","src":"403:848:181","statements":[{"body":{"nodeType":"YulBlock","src":"452:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"461:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"464:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"454:6:181"},"nodeType":"YulFunctionCall","src":"454:12:181"},"nodeType":"YulExpressionStatement","src":"454:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"431:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"439:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"427:3:181"},"nodeType":"YulFunctionCall","src":"427:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"446:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"423:3:181"},"nodeType":"YulFunctionCall","src":"423:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"416:6:181"},"nodeType":"YulFunctionCall","src":"416:35:181"},"nodeType":"YulIf","src":"413:55:181"},{"nodeType":"YulVariableDeclaration","src":"477:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"493:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"487:5:181"},"nodeType":"YulFunctionCall","src":"487:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"481:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"509:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"519:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"513:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"532:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"550:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"554:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"546:3:181"},"nodeType":"YulFunctionCall","src":"546:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"558:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"542:3:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"536:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"583:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"585:16:181"},"nodeType":"YulFunctionCall","src":"585:18:181"},"nodeType":"YulExpressionStatement","src":"585:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"575:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"579:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"572:2:181"},"nodeType":"YulFunctionCall","src":"572:10:181"},"nodeType":"YulIf","src":"569:36:181"},{"nodeType":"YulVariableDeclaration","src":"614:20:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"628:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"631:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"624:3:181"},"nodeType":"YulFunctionCall","src":"624:10:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"618:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"643:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"663:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"657:5:181"},"nodeType":"YulFunctionCall","src":"657:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"647:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"675:56:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"697:6:181"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"713:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"717:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"709:3:181"},"nodeType":"YulFunctionCall","src":"709:11:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"726:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"722:3:181"},"nodeType":"YulFunctionCall","src":"722:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"705:3:181"},"nodeType":"YulFunctionCall","src":"705:25:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"693:3:181"},"nodeType":"YulFunctionCall","src":"693:38:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"679:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"790:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"792:16:181"},"nodeType":"YulFunctionCall","src":"792:18:181"},"nodeType":"YulExpressionStatement","src":"792:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"749:10:181"},{"name":"_3","nodeType":"YulIdentifier","src":"761:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"746:2:181"},"nodeType":"YulFunctionCall","src":"746:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"769:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"781:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"766:2:181"},"nodeType":"YulFunctionCall","src":"766:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"743:2:181"},"nodeType":"YulFunctionCall","src":"743:46:181"},"nodeType":"YulIf","src":"740:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"828:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"832:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"821:6:181"},"nodeType":"YulFunctionCall","src":"821:22:181"},"nodeType":"YulExpressionStatement","src":"821:22:181"},{"nodeType":"YulVariableDeclaration","src":"852:17:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"863:6:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"856:3:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"893:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"878:6:181"},"nodeType":"YulFunctionCall","src":"878:18:181"},"nodeType":"YulExpressionStatement","src":"878:18:181"},{"nodeType":"YulAssignment","src":"905:22:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"916:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"924:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"912:3:181"},"nodeType":"YulFunctionCall","src":"912:15:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"905:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"936:38:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"958:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"966:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"954:3:181"},"nodeType":"YulFunctionCall","src":"954:15:181"},{"name":"_2","nodeType":"YulIdentifier","src":"971:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"950:3:181"},"nodeType":"YulFunctionCall","src":"950:24:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"940:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1002:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1011:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1014:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1004:6:181"},"nodeType":"YulFunctionCall","src":"1004:12:181"},"nodeType":"YulExpressionStatement","src":"1004:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"989:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"997:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"986:2:181"},"nodeType":"YulFunctionCall","src":"986:15:181"},"nodeType":"YulIf","src":"983:35:181"},{"nodeType":"YulVariableDeclaration","src":"1027:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1042:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1050:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1038:3:181"},"nodeType":"YulFunctionCall","src":"1038:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1031:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1118:103:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1139:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1174:3:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"1144:29:181"},"nodeType":"YulFunctionCall","src":"1144:34:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1132:6:181"},"nodeType":"YulFunctionCall","src":"1132:47:181"},"nodeType":"YulExpressionStatement","src":"1132:47:181"},{"nodeType":"YulAssignment","src":"1192:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1203:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1208:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1199:3:181"},"nodeType":"YulFunctionCall","src":"1199:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1192:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1073:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1078:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1070:2:181"},"nodeType":"YulFunctionCall","src":"1070:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1086:23:181","statements":[{"nodeType":"YulAssignment","src":"1088:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1099:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1104:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1095:3:181"},"nodeType":"YulFunctionCall","src":"1095:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1088:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1066:3:181","statements":[]},"src":"1062:159:181"},{"nodeType":"YulAssignment","src":"1230:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1239:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1230:5:181"}]}]},"name":"abi_decode_array_address_dyn_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"377:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"385:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"393:5:181","type":""}],"src":"328:923:181"},{"body":{"nodeType":"YulBlock","src":"1438:579:181","statements":[{"body":{"nodeType":"YulBlock","src":"1485:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1494:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1497:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1487:6:181"},"nodeType":"YulFunctionCall","src":"1487:12:181"},"nodeType":"YulExpressionStatement","src":"1487:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1459:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1468:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1455:3:181"},"nodeType":"YulFunctionCall","src":"1455:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1480:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1451:3:181"},"nodeType":"YulFunctionCall","src":"1451:33:181"},"nodeType":"YulIf","src":"1448:53:181"},{"nodeType":"YulAssignment","src":"1510:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1526:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1520:5:181"},"nodeType":"YulFunctionCall","src":"1520:16:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1510:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1545:39:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1569:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1580:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1565:3:181"},"nodeType":"YulFunctionCall","src":"1565:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1559:5:181"},"nodeType":"YulFunctionCall","src":"1559:25:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1549:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1593:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1611:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1615:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1607:3:181"},"nodeType":"YulFunctionCall","src":"1607:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1619:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1603:3:181"},"nodeType":"YulFunctionCall","src":"1603:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1597:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1648:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1657:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1660:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1650:6:181"},"nodeType":"YulFunctionCall","src":"1650:12:181"},"nodeType":"YulExpressionStatement","src":"1650:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1636:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1644:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1633:2:181"},"nodeType":"YulFunctionCall","src":"1633:14:181"},"nodeType":"YulIf","src":"1630:34:181"},{"nodeType":"YulAssignment","src":"1673:82:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1727:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1738:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1723:3:181"},"nodeType":"YulFunctionCall","src":"1723:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1747:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_fromMemory","nodeType":"YulIdentifier","src":"1683:39:181"},"nodeType":"YulFunctionCall","src":"1683:72:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1673:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1764:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1790:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1801:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1786:3:181"},"nodeType":"YulFunctionCall","src":"1786:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1780:5:181"},"nodeType":"YulFunctionCall","src":"1780:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1768:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1834:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1843:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1846:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1836:6:181"},"nodeType":"YulFunctionCall","src":"1836:12:181"},"nodeType":"YulExpressionStatement","src":"1836:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1820:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1830:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1817:2:181"},"nodeType":"YulFunctionCall","src":"1817:16:181"},"nodeType":"YulIf","src":"1814:36:181"},{"nodeType":"YulAssignment","src":"1859:84:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1913:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1924:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1909:3:181"},"nodeType":"YulFunctionCall","src":"1909:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1935:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_fromMemory","nodeType":"YulIdentifier","src":"1869:39:181"},"nodeType":"YulFunctionCall","src":"1869:74:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1859:6:181"}]},{"nodeType":"YulAssignment","src":"1952:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1996:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2007:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1992:3:181"},"nodeType":"YulFunctionCall","src":"1992:18:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"1962:29:181"},"nodeType":"YulFunctionCall","src":"1962:49:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1952:6:181"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptrt_array$_t_address_$dyn_memory_ptrt_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1380:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1391:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1403:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1411:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1419:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1427:6:181","type":""}],"src":"1256:761:181"},{"body":{"nodeType":"YulBlock","src":"2054:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2071:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2078:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2083:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2074:3:181"},"nodeType":"YulFunctionCall","src":"2074:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2064:6:181"},"nodeType":"YulFunctionCall","src":"2064:31:181"},"nodeType":"YulExpressionStatement","src":"2064:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2111:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2114:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2104:6:181"},"nodeType":"YulFunctionCall","src":"2104:15:181"},"nodeType":"YulExpressionStatement","src":"2104:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2135:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2138:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2128:6:181"},"nodeType":"YulFunctionCall","src":"2128:15:181"},"nodeType":"YulExpressionStatement","src":"2128:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2022:127:181"},{"body":{"nodeType":"YulBlock","src":"2201:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"2240:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2261:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2268:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2273:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2264:3:181"},"nodeType":"YulFunctionCall","src":"2264:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2254:6:181"},"nodeType":"YulFunctionCall","src":"2254:31:181"},"nodeType":"YulExpressionStatement","src":"2254:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2305:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2308:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2298:6:181"},"nodeType":"YulFunctionCall","src":"2298:15:181"},"nodeType":"YulExpressionStatement","src":"2298:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2333:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2336:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2326:6:181"},"nodeType":"YulFunctionCall","src":"2326:15:181"},"nodeType":"YulExpressionStatement","src":"2326:15:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2217:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2228:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2224:3:181"},"nodeType":"YulFunctionCall","src":"2224:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2214:2:181"},"nodeType":"YulFunctionCall","src":"2214:17:181"},"nodeType":"YulIf","src":"2211:140:181"},{"nodeType":"YulAssignment","src":"2360:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2371:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"2378:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2367:3:181"},"nodeType":"YulFunctionCall","src":"2367:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"2360:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2183:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"2193:3:181","type":""}],"src":"2154:232:181"},{"body":{"nodeType":"YulBlock","src":"2528:119:181","statements":[{"nodeType":"YulAssignment","src":"2538:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2550:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2561:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2546:3:181"},"nodeType":"YulFunctionCall","src":"2546:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2538:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2580:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2591:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2573:6:181"},"nodeType":"YulFunctionCall","src":"2573:25:181"},"nodeType":"YulExpressionStatement","src":"2573:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2618:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2629:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2614:3:181"},"nodeType":"YulFunctionCall","src":"2614:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"2634:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2607:6:181"},"nodeType":"YulFunctionCall","src":"2607:34:181"},"nodeType":"YulExpressionStatement","src":"2607:34:181"}]},"name":"abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2489:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2500:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2508:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2519:4:181","type":""}],"src":"2391:256:181"}]},"contents":"{\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_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_array_address_dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := 0x20\n let _3 := sub(shl(64, 1), 1)\n if gt(_1, _3) { panic_error_0x41() }\n let _4 := shl(5, _1)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_4, 63), not(31)))\n if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let srcEnd := add(add(offset, _4), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, abi_decode_address_fromMemory(src))\n dst := add(dst, _2)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptrt_array$_t_address_$dyn_memory_ptrt_address_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := mload(headStart)\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_address_dyn_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_address_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n value3 := abi_decode_address_fromMemory(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 increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_rational_0_by_1_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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b506040516200232638038062002326833981016040819052620000349162000408565b6200004f600080516020620022a6833981519152806200022d565b62000079600080516020620022c6833981519152600080516020620022a68339815191526200022d565b620000a3600080516020620022e6833981519152600080516020620022a68339815191526200022d565b620000cd60008051602062002306833981519152600080516020620022a68339815191526200022d565b620000e8600080516020620022a68339815191523062000278565b6001600160a01b03811615620001135762000113600080516020620022a68339815191528262000278565b60005b835181101562000199576200015d600080516020620022c68339815191528583815181106200014957620001496200048f565b60200260200101516200027860201b60201c565b62000186600080516020620023068339815191528583815181106200014957620001496200048f565b6200019181620004a5565b905062000116565b5060005b8251811015620001e357620001d0600080516020620022e68339815191528483815181106200014957620001496200048f565b620001db81620004a5565b90506200019d565b5060028490556040805160008152602081018690527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a150505050620004cf565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62000284828262000288565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000284576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002e43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200035657600080fd5b919050565b600082601f8301126200036d57600080fd5b815160206001600160401b03808311156200038c576200038c62000328565b8260051b604051601f19603f83011681018181108482111715620003b457620003b462000328565b604052938452858101830193838101925087851115620003d357600080fd5b83870191505b84821015620003fd57620003ed826200033e565b83529183019190830190620003d9565b979650505050505050565b600080600080608085870312156200041f57600080fd5b845160208601519094506001600160401b03808211156200043f57600080fd5b6200044d888389016200035b565b945060408701519150808211156200046457600080fd5b5062000473878288016200035b565b92505062000484606086016200033e565b905092959194509250565b634e487b7160e01b600052603260045260246000fd5b6000600019821415620004c857634e487b7160e01b600052601160045260246000fd5b5060010190565b611dc780620004df6000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610582578063e38335e5146105a2578063f23a6e61146105b5578063f27a0c92146105e157600080fd5b8063bc197c8114610509578063c4d252f514610535578063d45c44351461055557600080fd5b806391d14854116100c657806391d1485414610480578063a217fddf146104a0578063b08e51c0146104b5578063b1c5f427146104e957600080fd5b80638065657f1461040c5780638f2a0bb01461042c5780638f61f4f51461044c57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038c57806336568abe146103ac578063584b153e146103cc57806364d62353146103ec57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036c57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e23660046113c0565b6105f6565b005b3480156101f557600080fd5b50610209610204366004611434565b61068b565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a236600461145e565b6106b6565b3480156102b357600080fd5b506102096102c23660046114c9565b61076b565b3480156102d357600080fd5b506102f26102e2366004611597565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b506102526103263660046114c9565b60009081526020819052604090206001015490565b34801561034757600080fd5b506102096103563660046114c9565b6000908152600160208190526040909120541490565b34801561037857600080fd5b506101e76103873660046115fe565b610791565b34801561039857600080fd5b506102096103a73660046114c9565b6107bb565b3480156103b857600080fd5b506101e76103c73660046115fe565b6107d4565b3480156103d857600080fd5b506102096103e73660046114c9565b610857565b3480156103f857600080fd5b506101e76104073660046114c9565b61086d565b34801561041857600080fd5b5061025261042736600461145e565b610911565b34801561043857600080fd5b506101e761044736600461166e565b610950565b34801561045857600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048c57600080fd5b5061020961049b3660046115fe565b610aa2565b3480156104ac57600080fd5b50610252600081565b3480156104c157600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f557600080fd5b5061025261050436600461171f565b610acb565b34801561051557600080fd5b506102f2610524366004611846565b63bc197c8160e01b95945050505050565b34801561054157600080fd5b506101e76105503660046114c9565b610b10565b34801561056157600080fd5b506102526105703660046114c9565b60009081526001602052604090205490565b34801561058e57600080fd5b506101e761059d3660046115fe565b610be5565b6101e76105b036600461171f565b610c0a565b3480156105c157600080fd5b506102f26105d03660046118ef565b63f23a6e6160e01b95945050505050565b3480156105ed57600080fd5b50600254610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062081610d94565b6000610630898989898989610911565b905061063c8184610da1565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106789695949392919061197c565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b14806106b057506106b082610e90565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106e2816000610aa2565b6106f0576106f08133610ec5565b6000610700888888888888610911565b905061070c8185610f1e565b61071888888888610fba565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161075094939291906119b9565b60405180910390a36107618161108d565b5050505050505050565b60008181526001602052604081205460018111801561078a5750428111155b9392505050565b6000828152602081905260409020600101546107ac81610d94565b6107b683836110c6565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146108495760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610853828261114a565b5050565b60008181526001602081905260408220546107cd565b3330146108d05760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610840565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b600086868686868660405160200161092e9695949392919061197c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161097a81610d94565b8887146109995760405162461bcd60e51b8152600401610840906119eb565b8885146109b85760405162461bcd60e51b8152600401610840906119eb565b60006109ca8b8b8b8b8b8b8b8b610acb565b90506109d68184610da1565b60005b8a811015610a945780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a1657610a16611a2e565b9050602002016020810190610a2b9190611a44565b8d8d86818110610a3d57610a3d611a2e565b905060200201358c8c87818110610a5657610a56611a2e565b9050602002810190610a689190611a5f565b8c8b604051610a7c9695949392919061197c565b60405180910390a3610a8d81611abb565b90506109d9565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610aec989796959493929190611b66565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b3a81610d94565b610b4382610857565b610ba95760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610840565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610c0081610d94565b6107b6838361114a565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c36816000610aa2565b610c4457610c448133610ec5565b878614610c635760405162461bcd60e51b8152600401610840906119eb565b878414610c825760405162461bcd60e51b8152600401610840906119eb565b6000610c948a8a8a8a8a8a8a8a610acb565b9050610ca08185610f1e565b60005b89811015610d7e5760008b8b83818110610cbf57610cbf611a2e565b9050602002016020810190610cd49190611a44565b905060008a8a84818110610cea57610cea611a2e565b9050602002013590503660008a8a86818110610d0857610d08611a2e565b9050602002810190610d1a9190611a5f565b91509150610d2a84848484610fba565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d6194939291906119b9565b60405180910390a35050505080610d7790611abb565b9050610ca3565b50610d888161108d565b50505050505050505050565b610d9e8133610ec5565b50565b610daa826107bb565b15610e0f5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610840565b600254811015610e705760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610840565b610e7a8142611c11565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106b057506301ffc9a760e01b6001600160e01b03198316146106b0565b610ecf8282610aa2565b61085357610edc816111af565b610ee78360206111c1565b604051602001610ef8929190611c59565b60408051601f198184030181529082905262461bcd60e51b825261084091600401611cce565b610f278261076b565b610f435760405162461bcd60e51b815260040161084090611d01565b801580610f5f5750600081815260016020819052604090912054145b6108535760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610840565b6000846001600160a01b0316848484604051610fd7929190611d4b565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50509050806110865760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610840565b5050505050565b6110968161076b565b6110b25760405162461bcd60e51b815260040161084090611d01565b600090815260016020819052604090912055565b6110d08282610aa2565b610853576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111063390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111548282610aa2565b15610853576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106b06001600160a01b03831660145b606060006111d0836002611d5b565b6111db906002611c11565b6001600160401b038111156111f2576111f26114e2565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b509050600360fc1b8160008151811061123757611237611a2e565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061126657611266611a2e565b60200101906001600160f81b031916908160001a905350600061128a846002611d5b565b611295906001611c11565b90505b600181111561130d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112c9576112c9611a2e565b1a60f81b8282815181106112df576112df611a2e565b60200101906001600160f81b031916908160001a90535060049490941c9361130681611d7a565b9050611298565b50831561078a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610840565b80356001600160a01b038116811461137357600080fd5b919050565b60008083601f84011261138a57600080fd5b5081356001600160401b038111156113a157600080fd5b6020830191508360208285010111156113b957600080fd5b9250929050565b600080600080600080600060c0888a0312156113db57600080fd5b6113e48861135c565b96506020880135955060408801356001600160401b0381111561140657600080fd5b6114128a828b01611378565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561144657600080fd5b81356001600160e01b03198116811461078a57600080fd5b60008060008060008060a0878903121561147757600080fd5b6114808761135c565b95506020870135945060408701356001600160401b038111156114a257600080fd5b6114ae89828a01611378565b979a9699509760608101359660809091013595509350505050565b6000602082840312156114db57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611520576115206114e2565b604052919050565b600082601f83011261153957600080fd5b81356001600160401b03811115611552576115526114e2565b611565601f8201601f19166020016114f8565b81815284602083860101111561157a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156115ad57600080fd5b6115b68561135c565b93506115c46020860161135c565b92506040850135915060608501356001600160401b038111156115e657600080fd5b6115f287828801611528565b91505092959194509250565b6000806040838503121561161157600080fd5b823591506116216020840161135c565b90509250929050565b60008083601f84011261163c57600080fd5b5081356001600160401b0381111561165357600080fd5b6020830191508360208260051b85010111156113b957600080fd5b600080600080600080600080600060c08a8c03121561168c57600080fd5b89356001600160401b03808211156116a357600080fd5b6116af8d838e0161162a565b909b50995060208c01359150808211156116c857600080fd5b6116d48d838e0161162a565b909950975060408c01359150808211156116ed57600080fd5b506116fa8c828d0161162a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561173b57600080fd5b88356001600160401b038082111561175257600080fd5b61175e8c838d0161162a565b909a50985060208b013591508082111561177757600080fd5b6117838c838d0161162a565b909850965060408b013591508082111561179c57600080fd5b506117a98b828c0161162a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126117d857600080fd5b813560206001600160401b038211156117f3576117f36114e2565b8160051b6118028282016114f8565b928352848101820192828101908785111561181c57600080fd5b83870192505b8483101561183b57823582529183019190830190611822565b979650505050505050565b600080600080600060a0868803121561185e57600080fd5b6118678661135c565b94506118756020870161135c565b935060408601356001600160401b038082111561189157600080fd5b61189d89838a016117c7565b945060608801359150808211156118b357600080fd5b6118bf89838a016117c7565b935060808801359150808211156118d557600080fd5b506118e288828901611528565b9150509295509295909350565b600080600080600060a0868803121561190757600080fd5b6119108661135c565b945061191e6020870161135c565b9350604086013592506060860135915060808601356001600160401b0381111561194757600080fd5b6118e288828901611528565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006119a460a083018688611953565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006119e1606083018486611953565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5657600080fd5b61078a8261135c565b6000808335601e19843603018112611a7657600080fd5b8301803591506001600160401b03821115611a9057600080fd5b6020019150368190038213156113b957600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611acf57611acf611aa5565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611b595782840389528135601e19883603018112611b1157600080fd5b870180356001600160401b03811115611b2957600080fd5b803603891315611b3857600080fd5b611b458682898501611953565b9a87019a9550505090840190600101611af0565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611ba7576001600160a01b03611b928461135c565b16825260209283019290910190600101611b79565b5083810360208501528881526001600160fb1b03891115611bc757600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611bf881888a611ad6565b6060850196909652505050608001529695505050505050565b60008219821115611c2457611c24611aa5565b500190565b60005b83811015611c44578181015183820152602001611c2c565b83811115611c53576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c91816017850160208801611c29565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611cc2816028840160208801611c29565b01602801949350505050565b6020815260008251806020840152611ced816040850160208701611c29565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611d7557611d75611aa5565b500290565b600081611d8957611d89611aa5565b50600019019056fea2646970667358221220f250c1e51fcf31d4fababc71c75b9061472f69f12e91794f574e703d7d89bba164736f6c634300080900335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2326 CODESIZE SUB DUP1 PUSH3 0x2326 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x408 JUMP JUMPDEST PUSH3 0x4F PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 PUSH3 0x22D JUMP JUMPDEST PUSH3 0x79 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22C6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH3 0x22D JUMP JUMPDEST PUSH3 0xA3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22E6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH3 0x22D JUMP JUMPDEST PUSH3 0xCD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x2306 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH3 0x22D JUMP JUMPDEST PUSH3 0xE8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE ADDRESS PUSH3 0x278 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH3 0x113 JUMPI PUSH3 0x113 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22A6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 PUSH3 0x278 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH3 0x199 JUMPI PUSH3 0x15D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22C6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH3 0x149 JUMPI PUSH3 0x149 PUSH3 0x48F JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH3 0x278 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x186 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x2306 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH3 0x149 JUMPI PUSH3 0x149 PUSH3 0x48F JUMP JUMPDEST PUSH3 0x191 DUP2 PUSH3 0x4A5 JUMP JUMPDEST SWAP1 POP PUSH3 0x116 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH3 0x1E3 JUMPI PUSH3 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x22E6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH3 0x149 JUMPI PUSH3 0x149 PUSH3 0x48F JUMP JUMPDEST PUSH3 0x1DB DUP2 PUSH3 0x4A5 JUMP JUMPDEST SWAP1 POP PUSH3 0x19D JUMP JUMPDEST POP PUSH1 0x2 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP PUSH3 0x4CF JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP4 SWAP2 DUP4 SWAP2 DUP7 SWAP2 PUSH32 0xBD79B86FFE0AB8E8776151514217CD7CACD52C909F66475C3AF44E129F0B00FF SWAP2 SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH3 0x284 DUP3 DUP3 PUSH3 0x288 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0x284 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x2E4 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x356 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 GT ISZERO PUSH3 0x38C JUMPI PUSH3 0x38C PUSH3 0x328 JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH3 0x3B4 JUMPI PUSH3 0x3B4 PUSH3 0x328 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH3 0x3D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH3 0x3FD JUMPI PUSH3 0x3ED DUP3 PUSH3 0x33E JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH3 0x3D9 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x20 DUP7 ADD MLOAD SWAP1 SWAP5 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x43F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x44D DUP9 DUP4 DUP10 ADD PUSH3 0x35B JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x464 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x473 DUP8 DUP3 DUP9 ADD PUSH3 0x35B JUMP JUMPDEST SWAP3 POP POP PUSH3 0x484 PUSH1 0x60 DUP7 ADD PUSH3 0x33E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH3 0x4C8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH2 0x1DC7 DUP1 PUSH3 0x4DF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1BB JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8065657F GT PUSH2 0xEC JUMPI DUP1 PUSH4 0xBC197C81 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x582 JUMPI DUP1 PUSH4 0xE38335E5 EQ PUSH2 0x5A2 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x5B5 JUMPI DUP1 PUSH4 0xF27A0C92 EQ PUSH2 0x5E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x509 JUMPI DUP1 PUSH4 0xC4D252F5 EQ PUSH2 0x535 JUMPI DUP1 PUSH4 0xD45C4435 EQ PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x4A0 JUMPI DUP1 PUSH4 0xB08E51C0 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0xB1C5F427 EQ PUSH2 0x4E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8065657F EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0x8F2A0BB0 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x8F61F4F5 EQ PUSH2 0x44C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x159 JUMPI DUP1 PUSH4 0x31D50750 GT PUSH2 0x133 JUMPI DUP1 PUSH4 0x31D50750 EQ PUSH2 0x38C JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x584B153E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x64D62353 EQ PUSH2 0x3EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0x2AB0F529 EQ PUSH2 0x33B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xD3CF6FC GT PUSH2 0x195 JUMPI DUP1 PUSH4 0xD3CF6FC EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x134008D3 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x13BC9F20 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1D5062A EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x7BD0265 EQ PUSH2 0x21E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x1C2 JUMPI STOP 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 0x13C0 JUMP JUMPDEST PUSH2 0x5F6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x1434 JUMP JUMPDEST PUSH2 0x68B 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 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0x5F58E3A2316349923CE3780F8D587DB2D72378AED66A8261C916544FA6846CA5 DUP2 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x6B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x76B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1597 JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x317 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x326 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x356 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x378 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x387 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x791 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x7BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x3C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x7D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x857 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x407 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x86D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x427 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x911 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x166E JUMP JUMPDEST PUSH2 0x950 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x49B CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xAA2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x504 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xACB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x515 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x524 CALLDATASIZE PUSH1 0x4 PUSH2 0x1846 JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x541 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x550 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x59D CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x5B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xC0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x5D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x18EF JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x252 JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x620 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x630 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x63C DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP12 DUP12 DUP12 DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x678 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH2 0x6B0 DUP3 PUSH2 0xE90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0x6E2 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x6F0 JUMPI PUSH2 0x6F0 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x700 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x70C DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH2 0x718 DUP9 DUP9 DUP9 DUP9 PUSH2 0xFBA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP11 DUP11 DUP11 DUP11 PUSH1 0x40 MLOAD PUSH2 0x750 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x761 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 DUP2 GT DUP1 ISZERO PUSH2 0x78A JUMPI POP TIMESTAMP DUP2 GT ISZERO JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x7AC DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x10C6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP2 SWAP1 JUMPDEST GT SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x849 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x853 DUP3 DUP3 PUSH2 0x114A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD PUSH2 0x7CD JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A2063616C6C6572206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x62652074696D656C6F636B PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x92E SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x97A DUP2 PUSH2 0xD94 JUMP JUMPDEST DUP9 DUP8 EQ PUSH2 0x999 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP9 DUP6 EQ PUSH2 0x9B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9CA DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D6 DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP11 DUP2 LT ISZERO PUSH2 0xA94 JUMPI DUP1 DUP3 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP15 DUP15 DUP6 DUP2 DUP2 LT PUSH2 0xA16 JUMPI PUSH2 0xA16 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA2B SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST DUP14 DUP14 DUP7 DUP2 DUP2 LT PUSH2 0xA3D JUMPI PUSH2 0xA3D PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD DUP13 DUP13 DUP8 DUP2 DUP2 LT PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xA68 SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST DUP13 DUP12 PUSH1 0x40 MLOAD PUSH2 0xA7C SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xA8D DUP2 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D9 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAEC SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 PUSH2 0xB3A DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0xB43 DUP3 PUSH2 0x857 JUMP JUMPDEST PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206361 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x1B9B9BDD0818994818D85B98D95B1B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 PUSH32 0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70 SWAP2 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xC00 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x114A JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0xC36 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0xC44 JUMPI PUSH2 0xC44 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST DUP8 DUP7 EQ PUSH2 0xC63 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP8 DUP5 EQ PUSH2 0xC82 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC94 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA0 DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP12 DUP12 DUP4 DUP2 DUP2 LT PUSH2 0xCBF JUMPI PUSH2 0xCBF PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xCD4 SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP11 DUP11 DUP5 DUP2 DUP2 LT PUSH2 0xCEA JUMPI PUSH2 0xCEA PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP11 DUP11 DUP7 DUP2 DUP2 LT PUSH2 0xD08 JUMPI PUSH2 0xD08 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xD1A SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xD2A DUP5 DUP5 DUP5 DUP5 PUSH2 0xFBA JUMP JUMPDEST DUP5 DUP7 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD61 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP DUP1 PUSH2 0xD77 SWAP1 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA3 JUMP JUMPDEST POP PUSH2 0xD88 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD9E DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xDAA DUP3 PUSH2 0x7BB JUMP JUMPDEST ISZERO PUSH2 0xE0F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E20616C PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x1C9958591E481CD8DA19591D5B1959 PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 LT ISZERO PUSH2 0xE70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x2064656C6179 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH2 0xE7A DUP2 TIMESTAMP PUSH2 0x1C11 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x6B0 JUMP JUMPDEST PUSH2 0xECF DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH2 0xEDC DUP2 PUSH2 0x11AF JUMP JUMPDEST PUSH2 0xEE7 DUP4 PUSH1 0x20 PUSH2 0x11C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xEF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1C59 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x840 SWAP2 PUSH1 0x4 ADD PUSH2 0x1CCE JUMP JUMPDEST PUSH2 0xF27 DUP3 PUSH2 0x76B JUMP JUMPDEST PUSH2 0xF43 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1D01 JUMP JUMPDEST DUP1 ISZERO DUP1 PUSH2 0xF5F JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206D697373696E672064657065 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x6E64656E6379 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD7 SWAP3 SWAP2 SWAP1 PUSH2 0x1D4B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1014 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 0x1019 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1086 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20756E6465726C79696E672074 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1C985B9CD858DD1A5BDB881C995D995C9D1959 PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1096 DUP2 PUSH2 0x76B JUMP JUMPDEST PUSH2 0x10B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1D01 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x10D0 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1106 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x1154 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x6B0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x11D0 DUP4 PUSH1 0x2 PUSH2 0x1D5B JUMP JUMPDEST PUSH2 0x11DB SWAP1 PUSH1 0x2 PUSH2 0x1C11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11F2 JUMPI PUSH2 0x11F2 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x121C JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1237 JUMPI PUSH2 0x1237 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1266 JUMPI PUSH2 0x1266 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x128A DUP5 PUSH1 0x2 PUSH2 0x1D5B JUMP JUMPDEST PUSH2 0x1295 SWAP1 PUSH1 0x1 PUSH2 0x1C11 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x130D JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x12C9 JUMPI PUSH2 0x12C9 PUSH2 0x1A2E JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12DF JUMPI PUSH2 0x12DF PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1306 DUP2 PUSH2 0x1D7A JUMP JUMPDEST SWAP1 POP PUSH2 0x1298 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x840 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x138A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x13DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13E4 DUP9 PUSH2 0x135C JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1412 DUP11 DUP3 DUP12 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP9 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1480 DUP8 PUSH2 0x135C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x14A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14AE DUP10 DUP3 DUP11 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP8 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0x80 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1520 JUMPI PUSH2 0x1520 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1552 JUMPI PUSH2 0x1552 PUSH2 0x14E2 JUMP JUMPDEST PUSH2 0x1565 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x14F8 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x157A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x15AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15B6 DUP6 PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH2 0x15C4 PUSH1 0x20 DUP7 ADD PUSH2 0x135C JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x15E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15F2 DUP8 DUP3 DUP9 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1621 PUSH1 0x20 DUP5 ADD PUSH2 0x135C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x163C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1653 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x168C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x16A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16AF DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16D4 DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16FA DUP13 DUP3 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP8 SWAP9 PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x173B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x175E DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1783 DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x179C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17A9 DUP12 DUP3 DUP13 ADD PUSH2 0x162A JUMP JUMPDEST SWAP10 SWAP13 SWAP9 SWAP12 POP SWAP7 SWAP10 SWAP6 SWAP9 SWAP7 SWAP8 PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x17D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x17F3 JUMPI PUSH2 0x17F3 PUSH2 0x14E2 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1802 DUP3 DUP3 ADD PUSH2 0x14F8 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x181C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x183B JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1822 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x185E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1867 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x1875 PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x189D DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18BF DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1907 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1910 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x191E PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1947 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP8 AND DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19A4 PUSH1 0xA0 DUP4 ADD DUP7 DUP9 PUSH2 0x1953 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x80 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19E1 PUSH1 0x60 DUP4 ADD DUP5 DUP7 PUSH2 0x1953 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206C656E677468206D69736D61 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0xE8C6D PUSH1 0xEB SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78A DUP3 PUSH2 0x135C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1A76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1A90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1ACF JUMPI PUSH2 0x1ACF PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP6 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP5 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x1B59 JUMPI DUP3 DUP5 SUB DUP10 MSTORE DUP2 CALLDATALOAD PUSH1 0x1E NOT DUP9 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1B11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 ADD DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1B29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP10 SGT ISZERO PUSH2 0x1B38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B45 DUP7 DUP3 DUP10 DUP6 ADD PUSH2 0x1953 JUMP JUMPDEST SWAP11 DUP8 ADD SWAP11 SWAP6 POP POP POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1AF0 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP1 DUP3 MSTORE DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 DUP10 PUSH1 0xC0 DUP4 ADD DUP3 JUMPDEST DUP12 DUP2 LT ISZERO PUSH2 0x1BA7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B92 DUP5 PUSH2 0x135C JUMP JUMPDEST AND DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1B79 JUMP JUMPDEST POP DUP4 DUP2 SUB PUSH1 0x20 DUP6 ADD MSTORE DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xFB SHL SUB DUP10 GT ISZERO PUSH2 0x1BC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x5 SHL SWAP2 POP DUP2 DUP11 PUSH1 0x20 DUP4 ADD CALLDATACOPY DUP2 DUP2 ADD SWAP2 POP POP PUSH1 0x20 DUP2 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1BF8 DUP2 DUP9 DUP11 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0x80 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C24 JUMPI PUSH2 0x1C24 PUSH2 0x1AA5 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C44 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1C2C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1C53 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x1C91 DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C29 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x1CC2 DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C29 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1CED DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1C29 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206973 PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x206E6F74207265616479 PUSH1 0xB0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1D75 JUMPI PUSH2 0x1D75 PUSH2 0x1AA5 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x1D89 JUMPI PUSH2 0x1D89 PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE POP 0xC1 0xE5 0x1F 0xCF BALANCE 0xD4 STATICCALL 0xBA 0xBC PUSH18 0xC75B9061472F69F12E91794F574E703D7D89 0xBB LOG1 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER 0x5F PC 0xE3 LOG2 BALANCE PUSH4 0x49923CE3 PUSH25 0xF8D587DB2D72378AED66A8261C916544FA6846CA5B09AA5AE 0xB3 PUSH17 0x2CFD50B6B62BC4532604938F21248A27A1 0xD5 0xCA PUSH20 0x6082B6819CC1D8AA0F3194971A2A116679F7C209 0xF PUSH10 0x39C8D4E01A2A8D7E41D5 0x5E MSTORE8 MLOAD CHAINID SWAP15 PUSH4 0xFD643C72 PUSH18 0xC63C0180259ABA6B2D05451E3591A24E58B PUSH3 0x239378 ADDMOD JUMPI 0x26 0xF7 DUP4 ","sourceMap":"1030:13261:26:-:0;;;3089:1045;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3238:55;-1:-1:-1;;;;;;;;;;;1162:32:26;3238:13;:55::i;:::-;3303:49;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3303:13:26;:49::i;:::-;3362;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3362:13:26;:49::i;:::-;3421:50;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3421:13:26;:50::i;:::-;3513:46;-1:-1:-1;;;;;;;;;;;3553:4:26;3513:10;:46::i;:::-;-1:-1:-1;;;;;3600:19:26;;;3596:88;;3635:38;-1:-1:-1;;;;;;;;;;;3667:5:26;3635:10;:38::i;:::-;3744:9;3739:165;3763:9;:16;3759:1;:20;3739:165;;;3800:39;-1:-1:-1;;;;;;;;;;;3826:9:26;3836:1;3826:12;;;;;;;;:::i;:::-;;;;;;;3800:10;;;:39;;:::i;:::-;3853:40;-1:-1:-1;;;;;;;;;;;3880:9:26;3890:1;3880:12;;;;;;;;:::i;3853:40::-;3781:3;;;:::i;:::-;;;3739:165;;;;3949:9;3944:111;3968:9;:16;3964:1;:20;3944:111;;;4005:39;-1:-1:-1;;;;;;;;;;;4031:9:26;4041:1;4031:12;;;;;;;;:::i;4005:39::-;3986:3;;;:::i;:::-;;;3944:111;;;-1:-1:-1;4065:9:26;:20;;;4100:27;;;4115:1;2573:25:181;;2629:2;2614:18;;2607:34;;;4100:27:26;;2546:18:181;4100:27:26;;;;;;;3089:1045;;;;1030:13261;;7046:247:4;7129:25;4478:12;;;;;;;;;;;:22;;;;7185:34;;;;7234:52;;4478:22;;7185:34;;4478:22;;:12;;7234:52;;7129:25;7234:52;7119:174;7046:247;;:::o;6811:110::-;6889:25;6900:4;6906:7;6889:10;:25::i;:::-;6811:110;;:::o;7461:233::-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;14:127:181:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:181;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:923::-;393:5;446:3;439:4;431:6;427:17;423:27;413:55;;464:1;461;454:12;413:55;487:13;;519:4;-1:-1:-1;;;;;572:10:181;;;569:36;;;585:18;;:::i;:::-;631:2;628:1;624:10;663:2;657:9;726:2;722:7;717:2;713;709:11;705:25;697:6;693:38;781:6;769:10;766:22;761:2;749:10;746:18;743:46;740:72;;;792:18;;:::i;:::-;828:2;821:22;878:18;;;954:15;;;950:24;;;912:15;;;;-1:-1:-1;986:15:181;;;983:35;;;1014:1;1011;1004:12;983:35;1050:2;1042:6;1038:15;1027:26;;1062:159;1078:6;1073:3;1070:15;1062:159;;;1144:34;1174:3;1144:34;:::i;:::-;1132:47;;1199:12;;;;1095;;;;1062:159;;;1239:6;328:923;-1:-1:-1;;;;;;;328:923:181:o;1256:761::-;1403:6;1411;1419;1427;1480:3;1468:9;1459:7;1455:23;1451:33;1448:53;;;1497:1;1494;1487:12;1448:53;1520:16;;1580:2;1565:18;;1559:25;1520:16;;-1:-1:-1;;;;;;1633:14:181;;;1630:34;;;1660:1;1657;1650:12;1630:34;1683:72;1747:7;1738:6;1727:9;1723:22;1683:72;:::i;:::-;1673:82;;1801:2;1790:9;1786:18;1780:25;1764:41;;1830:2;1820:8;1817:16;1814:36;;;1846:1;1843;1836:12;1814:36;;1869:74;1935:7;1924:8;1913:9;1909:24;1869:74;:::i;:::-;1859:84;;;1962:49;2007:2;1996:9;1992:18;1962:49;:::i;:::-;1952:59;;1256:761;;;;;;;:::o;2022:127::-;2083:10;2078:3;2074:20;2071:1;2064:31;2114:4;2111:1;2104:15;2138:4;2135:1;2128:15;2154:232;2193:3;-1:-1:-1;;2214:17:181;;2211:140;;;2273:10;2268:3;2264:20;2261:1;2254:31;2308:4;2305:1;2298:15;2336:4;2333:1;2326:15;2211:140;-1:-1:-1;2378:1:181;2367:13;;2154:232::o;2391:256::-;1030:13261:26;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CANCELLER_ROLE_4473":{"entryPoint":null,"id":4473,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_739":{"entryPoint":null,"id":739,"parameterSlots":0,"returnSlots":0},"@EXECUTOR_ROLE_4468":{"entryPoint":null,"id":4468,"parameterSlots":0,"returnSlots":0},"@PROPOSER_ROLE_4463":{"entryPoint":null,"id":4463,"parameterSlots":0,"returnSlots":0},"@TIMELOCK_ADMIN_ROLE_4458":{"entryPoint":null,"id":4458,"parameterSlots":0,"returnSlots":0},"@_4667":{"entryPoint":null,"id":4667,"parameterSlots":0,"returnSlots":0},"@_afterCall_5260":{"entryPoint":4237,"id":5260,"parameterSlots":1,"returnSlots":0},"@_beforeCall_5240":{"entryPoint":3870,"id":5240,"parameterSlots":2,"returnSlots":0},"@_checkRole_804":{"entryPoint":3476,"id":804,"parameterSlots":1,"returnSlots":0},"@_checkRole_843":{"entryPoint":3781,"id":843,"parameterSlots":2,"returnSlots":0},"@_execute_5210":{"entryPoint":4026,"id":5210,"parameterSlots":4,"returnSlots":0},"@_grantRole_995":{"entryPoint":4294,"id":995,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_revokeRole_1026":{"entryPoint":4426,"id":1026,"parameterSlots":2,"returnSlots":0},"@_schedule_5005":{"entryPoint":3489,"id":5005,"parameterSlots":2,"returnSlots":0},"@cancel_5031":{"entryPoint":2832,"id":5031,"parameterSlots":1,"returnSlots":0},"@executeBatch_5185":{"entryPoint":3082,"id":5185,"parameterSlots":8,"returnSlots":0},"@execute_5082":{"entryPoint":1718,"id":5082,"parameterSlots":6,"returnSlots":0},"@getMinDelay_4782":{"entryPoint":null,"id":4782,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_858":{"entryPoint":null,"id":858,"parameterSlots":1,"returnSlots":1},"@getTimestamp_4773":{"entryPoint":null,"id":4773,"parameterSlots":1,"returnSlots":1},"@grantRole_878":{"entryPoint":1937,"id":878,"parameterSlots":2,"returnSlots":0},"@hasRole_791":{"entryPoint":2722,"id":791,"parameterSlots":2,"returnSlots":1},"@hashOperationBatch_4841":{"entryPoint":2763,"id":4841,"parameterSlots":8,"returnSlots":1},"@hashOperation_4810":{"entryPoint":2321,"id":4810,"parameterSlots":6,"returnSlots":1},"@isOperationDone_4760":{"entryPoint":null,"id":4760,"parameterSlots":1,"returnSlots":1},"@isOperationPending_4721":{"entryPoint":2135,"id":4721,"parameterSlots":1,"returnSlots":1},"@isOperationReady_4745":{"entryPoint":1899,"id":4745,"parameterSlots":1,"returnSlots":1},"@isOperation_4706":{"entryPoint":1979,"id":4706,"parameterSlots":1,"returnSlots":1},"@onERC1155BatchReceived_5353":{"entryPoint":null,"id":5353,"parameterSlots":5,"returnSlots":1},"@onERC1155Received_5329":{"entryPoint":null,"id":5329,"parameterSlots":5,"returnSlots":1},"@onERC721Received_5307":{"entryPoint":null,"id":5307,"parameterSlots":4,"returnSlots":1},"@renounceRole_921":{"entryPoint":2004,"id":921,"parameterSlots":2,"returnSlots":0},"@revokeRole_898":{"entryPoint":3045,"id":898,"parameterSlots":2,"returnSlots":0},"@scheduleBatch_4971":{"entryPoint":2384,"id":4971,"parameterSlots":9,"returnSlots":0},"@schedule_4886":{"entryPoint":1526,"id":4886,"parameterSlots":7,"returnSlots":0},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4691":{"entryPoint":1675,"id":4691,"parameterSlots":1,"returnSlots":1},"@supportsInterface_772":{"entryPoint":3728,"id":772,"parameterSlots":1,"returnSlots":1},"@toHexString_22705":{"entryPoint":4545,"id":22705,"parameterSlots":2,"returnSlots":1},"@toHexString_22725":{"entryPoint":4527,"id":22725,"parameterSlots":1,"returnSlots":1},"@updateDelay_5287":{"entryPoint":2157,"id":5287,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":4956,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn_calldata":{"entryPoint":5674,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_array_uint256_dyn":{"entryPoint":6087,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":5416,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes_calldata":{"entryPoint":4984,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":6724,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":6214,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":5527,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":6383,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32":{"entryPoint":5214,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256":{"entryPoint":5056,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32":{"entryPoint":5919,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256":{"entryPoint":5742,"id":null,"parameterSlots":2,"returnSlots":9},"abi_decode_tuple_t_bytes32":{"entryPoint":5321,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":5630,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":5172,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_calldata_dyn_calldata":{"entryPoint":6870,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_bytes_calldata":{"entryPoint":6483,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":7499,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":7257,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":6585,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":6524,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":7014,"id":null,"parameterSlots":9,"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_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7374,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6635,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7425,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf__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},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":6751,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_memory":{"entryPoint":5368,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":7185,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":7515,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":7209,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint256":{"entryPoint":7546,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":6843,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":6821,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":6702,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":5346,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:22270:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:181","statements":[{"nodeType":"YulAssignment","src":"73:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:181"},"nodeType":"YulFunctionCall","src":"82:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:181"}]},{"body":{"nodeType":"YulBlock","src":"165:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:181"},"nodeType":"YulFunctionCall","src":"167:12:181"},"nodeType":"YulExpressionStatement","src":"167:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:181"},"nodeType":"YulFunctionCall","src":"142:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:181"},"nodeType":"YulFunctionCall","src":"131:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:181"},"nodeType":"YulFunctionCall","src":"121:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:181"},"nodeType":"YulFunctionCall","src":"114:50:181"},"nodeType":"YulIf","src":"111:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:181","type":""}],"src":"14:173:181"},{"body":{"nodeType":"YulBlock","src":"264:275:181","statements":[{"body":{"nodeType":"YulBlock","src":"313:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"322:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"325:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"315:6:181"},"nodeType":"YulFunctionCall","src":"315:12:181"},"nodeType":"YulExpressionStatement","src":"315:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"292:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"300:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"288:3:181"},"nodeType":"YulFunctionCall","src":"288:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"307:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"284:3:181"},"nodeType":"YulFunctionCall","src":"284:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"277:6:181"},"nodeType":"YulFunctionCall","src":"277:35:181"},"nodeType":"YulIf","src":"274:55:181"},{"nodeType":"YulAssignment","src":"338:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"361:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"348:12:181"},"nodeType":"YulFunctionCall","src":"348:20:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"338:6:181"}]},{"body":{"nodeType":"YulBlock","src":"411:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"420:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"423:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"413:6:181"},"nodeType":"YulFunctionCall","src":"413:12:181"},"nodeType":"YulExpressionStatement","src":"413:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"383:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"391:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"380:2:181"},"nodeType":"YulFunctionCall","src":"380:30:181"},"nodeType":"YulIf","src":"377:50:181"},{"nodeType":"YulAssignment","src":"436:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"452:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"460:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"448:3:181"},"nodeType":"YulFunctionCall","src":"448:17:181"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"436:8:181"}]},{"body":{"nodeType":"YulBlock","src":"517:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"526:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"529:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"519:6:181"},"nodeType":"YulFunctionCall","src":"519:12:181"},"nodeType":"YulExpressionStatement","src":"519:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"488:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"496:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"484:3:181"},"nodeType":"YulFunctionCall","src":"484:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"480:3:181"},"nodeType":"YulFunctionCall","src":"480:30:181"},{"name":"end","nodeType":"YulIdentifier","src":"512:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"477:2:181"},"nodeType":"YulFunctionCall","src":"477:39:181"},"nodeType":"YulIf","src":"474:59:181"}]},"name":"abi_decode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"227:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"235:3:181","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"243:8:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"253:6:181","type":""}],"src":"192:347:181"},{"body":{"nodeType":"YulBlock","src":"718:584:181","statements":[{"body":{"nodeType":"YulBlock","src":"765:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"774:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"777:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"767:6:181"},"nodeType":"YulFunctionCall","src":"767:12:181"},"nodeType":"YulExpressionStatement","src":"767:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"739:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"748:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"735:3:181"},"nodeType":"YulFunctionCall","src":"735:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"760:3:181","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"731:3:181"},"nodeType":"YulFunctionCall","src":"731:33:181"},"nodeType":"YulIf","src":"728:53:181"},{"nodeType":"YulAssignment","src":"790:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"819:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"800:18:181"},"nodeType":"YulFunctionCall","src":"800:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"790:6:181"}]},{"nodeType":"YulAssignment","src":"838:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"865:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"876:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"861:3:181"},"nodeType":"YulFunctionCall","src":"861:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"848:12:181"},"nodeType":"YulFunctionCall","src":"848:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"838:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"889:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"920:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"931:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"916:3:181"},"nodeType":"YulFunctionCall","src":"916:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"903:12:181"},"nodeType":"YulFunctionCall","src":"903:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"893:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"978:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"987:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"990:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"980:6:181"},"nodeType":"YulFunctionCall","src":"980:12:181"},"nodeType":"YulExpressionStatement","src":"980:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"950:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"958:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"947:2:181"},"nodeType":"YulFunctionCall","src":"947:30:181"},"nodeType":"YulIf","src":"944:50:181"},{"nodeType":"YulVariableDeclaration","src":"1003:84:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1059:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1070:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:181"},"nodeType":"YulFunctionCall","src":"1055:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1079:7:181"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"1029:25:181"},"nodeType":"YulFunctionCall","src":"1029:58:181"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"1007:8:181","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"1017:8:181","type":""}]},{"nodeType":"YulAssignment","src":"1096:18:181","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"1106:8:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1096:6:181"}]},{"nodeType":"YulAssignment","src":"1123:18:181","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"1133:8:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1123:6:181"}]},{"nodeType":"YulAssignment","src":"1150:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1177:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1188:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1173:3:181"},"nodeType":"YulFunctionCall","src":"1173:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1160:12:181"},"nodeType":"YulFunctionCall","src":"1160:32:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1150:6:181"}]},{"nodeType":"YulAssignment","src":"1201:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1228:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1239:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1224:3:181"},"nodeType":"YulFunctionCall","src":"1224:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1211:12:181"},"nodeType":"YulFunctionCall","src":"1211:33:181"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"1201:6:181"}]},{"nodeType":"YulAssignment","src":"1253:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1280:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1291:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1276:3:181"},"nodeType":"YulFunctionCall","src":"1276:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1263:12:181"},"nodeType":"YulFunctionCall","src":"1263:33:181"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"1253:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"636:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"647:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"659:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"667:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"675:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"683:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"691:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"699:6:181","type":""},{"name":"value6","nodeType":"YulTypedName","src":"707:6:181","type":""}],"src":"544:758:181"},{"body":{"nodeType":"YulBlock","src":"1376:217:181","statements":[{"body":{"nodeType":"YulBlock","src":"1422:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1431:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1434:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1424:6:181"},"nodeType":"YulFunctionCall","src":"1424:12:181"},"nodeType":"YulExpressionStatement","src":"1424:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1397:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1406:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1393:3:181"},"nodeType":"YulFunctionCall","src":"1393:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1418:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1389:3:181"},"nodeType":"YulFunctionCall","src":"1389:32:181"},"nodeType":"YulIf","src":"1386:52:181"},{"nodeType":"YulVariableDeclaration","src":"1447:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1473:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1460:12:181"},"nodeType":"YulFunctionCall","src":"1460:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1451:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1547:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1556:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1559:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1549:6:181"},"nodeType":"YulFunctionCall","src":"1549:12:181"},"nodeType":"YulExpressionStatement","src":"1549:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1505:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1516:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1527:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1532:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1523:3:181"},"nodeType":"YulFunctionCall","src":"1523:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1512:3:181"},"nodeType":"YulFunctionCall","src":"1512:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1502:2:181"},"nodeType":"YulFunctionCall","src":"1502:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1495:6:181"},"nodeType":"YulFunctionCall","src":"1495:51:181"},"nodeType":"YulIf","src":"1492:71:181"},{"nodeType":"YulAssignment","src":"1572:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1582:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1572:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1342:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1353:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1365:6:181","type":""}],"src":"1307:286:181"},{"body":{"nodeType":"YulBlock","src":"1693:92:181","statements":[{"nodeType":"YulAssignment","src":"1703:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1715:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1726:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1711:3:181"},"nodeType":"YulFunctionCall","src":"1711:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1703:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1745:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1770:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1763:6:181"},"nodeType":"YulFunctionCall","src":"1763:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1756:6:181"},"nodeType":"YulFunctionCall","src":"1756:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1738:6:181"},"nodeType":"YulFunctionCall","src":"1738:41:181"},"nodeType":"YulExpressionStatement","src":"1738:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1662:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1673:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1684:4:181","type":""}],"src":"1598:187:181"},{"body":{"nodeType":"YulBlock","src":"1891:76:181","statements":[{"nodeType":"YulAssignment","src":"1901:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1913:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1924:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1909:3:181"},"nodeType":"YulFunctionCall","src":"1909:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1901:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1943:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1954:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1936:6:181"},"nodeType":"YulFunctionCall","src":"1936:25:181"},"nodeType":"YulExpressionStatement","src":"1936:25:181"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1860:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1871:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1882:4:181","type":""}],"src":"1790:177:181"},{"body":{"nodeType":"YulBlock","src":"2129:532:181","statements":[{"body":{"nodeType":"YulBlock","src":"2176:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2185:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2188:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2178:6:181"},"nodeType":"YulFunctionCall","src":"2178:12:181"},"nodeType":"YulExpressionStatement","src":"2178:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2150:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2159:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2146:3:181"},"nodeType":"YulFunctionCall","src":"2146:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2171:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2142:3:181"},"nodeType":"YulFunctionCall","src":"2142:33:181"},"nodeType":"YulIf","src":"2139:53:181"},{"nodeType":"YulAssignment","src":"2201:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2230:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2211:18:181"},"nodeType":"YulFunctionCall","src":"2211:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2201:6:181"}]},{"nodeType":"YulAssignment","src":"2249:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2276:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2287:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2272:3:181"},"nodeType":"YulFunctionCall","src":"2272:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2259:12:181"},"nodeType":"YulFunctionCall","src":"2259:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2249:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2300:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2331:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2342:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2327:3:181"},"nodeType":"YulFunctionCall","src":"2327:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2314:12:181"},"nodeType":"YulFunctionCall","src":"2314:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2304:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2389:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2398:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2401:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2391:6:181"},"nodeType":"YulFunctionCall","src":"2391:12:181"},"nodeType":"YulExpressionStatement","src":"2391:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2361:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2369:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2358:2:181"},"nodeType":"YulFunctionCall","src":"2358:30:181"},"nodeType":"YulIf","src":"2355:50:181"},{"nodeType":"YulVariableDeclaration","src":"2414:84:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2470:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"2481:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2466:3:181"},"nodeType":"YulFunctionCall","src":"2466:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2490:7:181"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"2440:25:181"},"nodeType":"YulFunctionCall","src":"2440:58:181"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"2418:8:181","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"2428:8:181","type":""}]},{"nodeType":"YulAssignment","src":"2507:18:181","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"2517:8:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2507:6:181"}]},{"nodeType":"YulAssignment","src":"2534:18:181","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"2544:8:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2534:6:181"}]},{"nodeType":"YulAssignment","src":"2561:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2588:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2599:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2584:3:181"},"nodeType":"YulFunctionCall","src":"2584:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2571:12:181"},"nodeType":"YulFunctionCall","src":"2571:32:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2561:6:181"}]},{"nodeType":"YulAssignment","src":"2612:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2639:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2650:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2635:3:181"},"nodeType":"YulFunctionCall","src":"2635:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:181"},"nodeType":"YulFunctionCall","src":"2622:33:181"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"2612:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2055:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2066:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2078:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2086:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2094:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2102:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2110:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"2118:6:181","type":""}],"src":"1972:689:181"},{"body":{"nodeType":"YulBlock","src":"2736:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"2782:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2791:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2794:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2784:6:181"},"nodeType":"YulFunctionCall","src":"2784:12:181"},"nodeType":"YulExpressionStatement","src":"2784:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2757:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2766:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2753:3:181"},"nodeType":"YulFunctionCall","src":"2753:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2778:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2749:3:181"},"nodeType":"YulFunctionCall","src":"2749:32:181"},"nodeType":"YulIf","src":"2746:52:181"},{"nodeType":"YulAssignment","src":"2807:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2830:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2817:12:181"},"nodeType":"YulFunctionCall","src":"2817:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2807:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2702:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2713:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2725:6:181","type":""}],"src":"2666:180:181"},{"body":{"nodeType":"YulBlock","src":"2883:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2900:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2907:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2912:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2903:3:181"},"nodeType":"YulFunctionCall","src":"2903:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2893:6:181"},"nodeType":"YulFunctionCall","src":"2893:31:181"},"nodeType":"YulExpressionStatement","src":"2893:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2940:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2943:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2933:6:181"},"nodeType":"YulFunctionCall","src":"2933:15:181"},"nodeType":"YulExpressionStatement","src":"2933:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2957:6:181"},"nodeType":"YulFunctionCall","src":"2957:15:181"},"nodeType":"YulExpressionStatement","src":"2957:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2851:127:181"},{"body":{"nodeType":"YulBlock","src":"3028:230:181","statements":[{"nodeType":"YulAssignment","src":"3038:19:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3054:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3048:5:181"},"nodeType":"YulFunctionCall","src":"3048:9:181"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3038:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3066:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3088:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"3104:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"3110:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3100:3:181"},"nodeType":"YulFunctionCall","src":"3100:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3119:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3115:3:181"},"nodeType":"YulFunctionCall","src":"3115:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3096:3:181"},"nodeType":"YulFunctionCall","src":"3096:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3084:3:181"},"nodeType":"YulFunctionCall","src":"3084:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3070:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3199:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3201:16:181"},"nodeType":"YulFunctionCall","src":"3201:18:181"},"nodeType":"YulExpressionStatement","src":"3201:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3142:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"3154:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3139:2:181"},"nodeType":"YulFunctionCall","src":"3139:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3178:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3190:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3175:2:181"},"nodeType":"YulFunctionCall","src":"3175:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3136:2:181"},"nodeType":"YulFunctionCall","src":"3136:62:181"},"nodeType":"YulIf","src":"3133:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3237:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3241:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3230:6:181"},"nodeType":"YulFunctionCall","src":"3230:22:181"},"nodeType":"YulExpressionStatement","src":"3230:22:181"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"3008:4:181","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3017:6:181","type":""}],"src":"2983:275:181"},{"body":{"nodeType":"YulBlock","src":"3315:478:181","statements":[{"body":{"nodeType":"YulBlock","src":"3364:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3373:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3376:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3366:6:181"},"nodeType":"YulFunctionCall","src":"3366:12:181"},"nodeType":"YulExpressionStatement","src":"3366:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3343:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3351:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3339:3:181"},"nodeType":"YulFunctionCall","src":"3339:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"3358:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3335:3:181"},"nodeType":"YulFunctionCall","src":"3335:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3328:6:181"},"nodeType":"YulFunctionCall","src":"3328:35:181"},"nodeType":"YulIf","src":"3325:55:181"},{"nodeType":"YulVariableDeclaration","src":"3389:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3412:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3399:12:181"},"nodeType":"YulFunctionCall","src":"3399:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3393:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3458:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3460:16:181"},"nodeType":"YulFunctionCall","src":"3460:18:181"},"nodeType":"YulExpressionStatement","src":"3460:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3434:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3438:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3431:2:181"},"nodeType":"YulFunctionCall","src":"3431:26:181"},"nodeType":"YulIf","src":"3428:52:181"},{"nodeType":"YulVariableDeclaration","src":"3489:70:181","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3532:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3536:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3528:3:181"},"nodeType":"YulFunctionCall","src":"3528:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3547:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3543:3:181"},"nodeType":"YulFunctionCall","src":"3543:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3524:3:181"},"nodeType":"YulFunctionCall","src":"3524:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"3553:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3520:3:181"},"nodeType":"YulFunctionCall","src":"3520:38:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3504:15:181"},"nodeType":"YulFunctionCall","src":"3504:55:181"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"3493:7:181","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3575:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3584:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3568:6:181"},"nodeType":"YulFunctionCall","src":"3568:19:181"},"nodeType":"YulExpressionStatement","src":"3568:19:181"},{"body":{"nodeType":"YulBlock","src":"3635:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3644:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3647:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3637:6:181"},"nodeType":"YulFunctionCall","src":"3637:12:181"},"nodeType":"YulExpressionStatement","src":"3637:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3610:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3618:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3606:3:181"},"nodeType":"YulFunctionCall","src":"3606:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3623:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3602:3:181"},"nodeType":"YulFunctionCall","src":"3602:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"3630:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3599:2:181"},"nodeType":"YulFunctionCall","src":"3599:35:181"},"nodeType":"YulIf","src":"3596:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3677:7:181"},{"kind":"number","nodeType":"YulLiteral","src":"3686:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3673:3:181"},"nodeType":"YulFunctionCall","src":"3673:18:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3697:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3705:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3693:3:181"},"nodeType":"YulFunctionCall","src":"3693:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3712:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3660:12:181"},"nodeType":"YulFunctionCall","src":"3660:55:181"},"nodeType":"YulExpressionStatement","src":"3660:55:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3739:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3748:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3735:3:181"},"nodeType":"YulFunctionCall","src":"3735:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"3753:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3731:3:181"},"nodeType":"YulFunctionCall","src":"3731:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"3760:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3724:6:181"},"nodeType":"YulFunctionCall","src":"3724:38:181"},"nodeType":"YulExpressionStatement","src":"3724:38:181"},{"nodeType":"YulAssignment","src":"3771:16:181","value":{"name":"array_1","nodeType":"YulIdentifier","src":"3780:7:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3771:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3289:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"3297:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3305:5:181","type":""}],"src":"3263:530:181"},{"body":{"nodeType":"YulBlock","src":"3928:407:181","statements":[{"body":{"nodeType":"YulBlock","src":"3975:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3984:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3987:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3977:6:181"},"nodeType":"YulFunctionCall","src":"3977:12:181"},"nodeType":"YulExpressionStatement","src":"3977:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3949:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3958:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3945:3:181"},"nodeType":"YulFunctionCall","src":"3945:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3970:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3941:3:181"},"nodeType":"YulFunctionCall","src":"3941:33:181"},"nodeType":"YulIf","src":"3938:53:181"},{"nodeType":"YulAssignment","src":"4000:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4029:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4010:18:181"},"nodeType":"YulFunctionCall","src":"4010:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4000:6:181"}]},{"nodeType":"YulAssignment","src":"4048:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4081:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4092:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4077:3:181"},"nodeType":"YulFunctionCall","src":"4077:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4058:18:181"},"nodeType":"YulFunctionCall","src":"4058:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4048:6:181"}]},{"nodeType":"YulAssignment","src":"4105:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4132:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4143:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4128:3:181"},"nodeType":"YulFunctionCall","src":"4128:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4115:12:181"},"nodeType":"YulFunctionCall","src":"4115:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4105:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4156:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4187:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4198:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4183:3:181"},"nodeType":"YulFunctionCall","src":"4183:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4170:12:181"},"nodeType":"YulFunctionCall","src":"4170:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4160:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4245:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4254:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4257:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4247:6:181"},"nodeType":"YulFunctionCall","src":"4247:12:181"},"nodeType":"YulExpressionStatement","src":"4247:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4217:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4225:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4214:2:181"},"nodeType":"YulFunctionCall","src":"4214:30:181"},"nodeType":"YulIf","src":"4211:50:181"},{"nodeType":"YulAssignment","src":"4270:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4301:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4312:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4297:3:181"},"nodeType":"YulFunctionCall","src":"4297:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4321:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4280:16:181"},"nodeType":"YulFunctionCall","src":"4280:49:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4270:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3870:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3881:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3893:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3901:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3909:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3917:6:181","type":""}],"src":"3798:537:181"},{"body":{"nodeType":"YulBlock","src":"4439:103:181","statements":[{"nodeType":"YulAssignment","src":"4449:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4461:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4472:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4457:3:181"},"nodeType":"YulFunctionCall","src":"4457:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4449:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4491:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4506:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4518:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4523:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4514:3:181"},"nodeType":"YulFunctionCall","src":"4514:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4502:3:181"},"nodeType":"YulFunctionCall","src":"4502:33:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4484:6:181"},"nodeType":"YulFunctionCall","src":"4484:52:181"},"nodeType":"YulExpressionStatement","src":"4484:52:181"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4408:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4419:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4430:4:181","type":""}],"src":"4340:202:181"},{"body":{"nodeType":"YulBlock","src":"4634:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"4680:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4689:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4692:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4682:6:181"},"nodeType":"YulFunctionCall","src":"4682:12:181"},"nodeType":"YulExpressionStatement","src":"4682:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4655:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4664:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4651:3:181"},"nodeType":"YulFunctionCall","src":"4651:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4676:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4647:3:181"},"nodeType":"YulFunctionCall","src":"4647:32:181"},"nodeType":"YulIf","src":"4644:52:181"},{"nodeType":"YulAssignment","src":"4705:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4728:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4715:12:181"},"nodeType":"YulFunctionCall","src":"4715:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4705:6:181"}]},{"nodeType":"YulAssignment","src":"4747:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4780:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4791:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4776:3:181"},"nodeType":"YulFunctionCall","src":"4776:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4757:18:181"},"nodeType":"YulFunctionCall","src":"4757:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4747:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4592:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4603:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4615:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4623:6:181","type":""}],"src":"4547:254:181"},{"body":{"nodeType":"YulBlock","src":"4876:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"4922:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4931:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4934:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4924:6:181"},"nodeType":"YulFunctionCall","src":"4924:12:181"},"nodeType":"YulExpressionStatement","src":"4924:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4897:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4906:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4893:3:181"},"nodeType":"YulFunctionCall","src":"4893:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4918:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4889:3:181"},"nodeType":"YulFunctionCall","src":"4889:32:181"},"nodeType":"YulIf","src":"4886:52:181"},{"nodeType":"YulAssignment","src":"4947:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4970:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4957:12:181"},"nodeType":"YulFunctionCall","src":"4957:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4947:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4842:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4853:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4865:6:181","type":""}],"src":"4806:180:181"},{"body":{"nodeType":"YulBlock","src":"5075:283:181","statements":[{"body":{"nodeType":"YulBlock","src":"5124:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5133:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5136:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5126:6:181"},"nodeType":"YulFunctionCall","src":"5126:12:181"},"nodeType":"YulExpressionStatement","src":"5126:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5103:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5111:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5099:3:181"},"nodeType":"YulFunctionCall","src":"5099:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"5118:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5095:3:181"},"nodeType":"YulFunctionCall","src":"5095:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5088:6:181"},"nodeType":"YulFunctionCall","src":"5088:35:181"},"nodeType":"YulIf","src":"5085:55:181"},{"nodeType":"YulAssignment","src":"5149:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5172:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5159:12:181"},"nodeType":"YulFunctionCall","src":"5159:20:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5149:6:181"}]},{"body":{"nodeType":"YulBlock","src":"5222:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5231:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5234:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5224:6:181"},"nodeType":"YulFunctionCall","src":"5224:12:181"},"nodeType":"YulExpressionStatement","src":"5224:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5194:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5202:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5191:2:181"},"nodeType":"YulFunctionCall","src":"5191:30:181"},"nodeType":"YulIf","src":"5188:50:181"},{"nodeType":"YulAssignment","src":"5247:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5263:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5271:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5259:3:181"},"nodeType":"YulFunctionCall","src":"5259:17:181"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5247:8:181"}]},{"body":{"nodeType":"YulBlock","src":"5336:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5345:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5348:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5338:6:181"},"nodeType":"YulFunctionCall","src":"5338:12:181"},"nodeType":"YulExpressionStatement","src":"5338:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5299:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5311:1:181","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5314:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5307:3:181"},"nodeType":"YulFunctionCall","src":"5307:14:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5295:3:181"},"nodeType":"YulFunctionCall","src":"5295:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"5324:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5291:3:181"},"nodeType":"YulFunctionCall","src":"5291:38:181"},{"name":"end","nodeType":"YulIdentifier","src":"5331:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5288:2:181"},"nodeType":"YulFunctionCall","src":"5288:47:181"},"nodeType":"YulIf","src":"5285:67:181"}]},"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5038:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"5046:3:181","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5054:8:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"5064:6:181","type":""}],"src":"4991:367:181"},{"body":{"nodeType":"YulBlock","src":"5634:1035:181","statements":[{"body":{"nodeType":"YulBlock","src":"5681:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5690:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5693:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5683:6:181"},"nodeType":"YulFunctionCall","src":"5683:12:181"},"nodeType":"YulExpressionStatement","src":"5683:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5655:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5664:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5651:3:181"},"nodeType":"YulFunctionCall","src":"5651:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5676:3:181","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5647:3:181"},"nodeType":"YulFunctionCall","src":"5647:33:181"},"nodeType":"YulIf","src":"5644:53:181"},{"nodeType":"YulVariableDeclaration","src":"5706:37:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5733:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5720:12:181"},"nodeType":"YulFunctionCall","src":"5720:23:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5710:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5752:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"5762:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5756:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5807:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5816:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5819:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5809:6:181"},"nodeType":"YulFunctionCall","src":"5809:12:181"},"nodeType":"YulExpressionStatement","src":"5809:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5795:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5803:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5792:2:181"},"nodeType":"YulFunctionCall","src":"5792:14:181"},"nodeType":"YulIf","src":"5789:34:181"},{"nodeType":"YulVariableDeclaration","src":"5832:96:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5900:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"5911:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5896:3:181"},"nodeType":"YulFunctionCall","src":"5896:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5920:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"5858:37:181"},"nodeType":"YulFunctionCall","src":"5858:70:181"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"5836:8:181","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"5846:8:181","type":""}]},{"nodeType":"YulAssignment","src":"5937:18:181","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"5947:8:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5937:6:181"}]},{"nodeType":"YulAssignment","src":"5964:18:181","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"5974:8:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5964:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5991:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6024:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6035:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6020:3:181"},"nodeType":"YulFunctionCall","src":"6020:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6007:12:181"},"nodeType":"YulFunctionCall","src":"6007:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5995:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6068:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6077:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6080:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6070:6:181"},"nodeType":"YulFunctionCall","src":"6070:12:181"},"nodeType":"YulExpressionStatement","src":"6070:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6054:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6064:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6051:2:181"},"nodeType":"YulFunctionCall","src":"6051:16:181"},"nodeType":"YulIf","src":"6048:36:181"},{"nodeType":"YulVariableDeclaration","src":"6093:98:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6161:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6172:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6157:3:181"},"nodeType":"YulFunctionCall","src":"6157:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6183:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"6119:37:181"},"nodeType":"YulFunctionCall","src":"6119:72:181"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"6097:8:181","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"6107:8:181","type":""}]},{"nodeType":"YulAssignment","src":"6200:18:181","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"6210:8:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6200:6:181"}]},{"nodeType":"YulAssignment","src":"6227:18:181","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"6237:8:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6227:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6254:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6287:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6298:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6283:3:181"},"nodeType":"YulFunctionCall","src":"6283:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6270:12:181"},"nodeType":"YulFunctionCall","src":"6270:32:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"6258:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6331:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6340:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6343:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6333:6:181"},"nodeType":"YulFunctionCall","src":"6333:12:181"},"nodeType":"YulExpressionStatement","src":"6333:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"6317:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6327:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6314:2:181"},"nodeType":"YulFunctionCall","src":"6314:16:181"},"nodeType":"YulIf","src":"6311:36:181"},{"nodeType":"YulVariableDeclaration","src":"6356:98:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6424:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"6435:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6420:3:181"},"nodeType":"YulFunctionCall","src":"6420:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6446:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"6382:37:181"},"nodeType":"YulFunctionCall","src":"6382:72:181"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"6360:8:181","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"6370:8:181","type":""}]},{"nodeType":"YulAssignment","src":"6463:18:181","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"6473:8:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6463:6:181"}]},{"nodeType":"YulAssignment","src":"6490:18:181","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"6500:8:181"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"6490:6:181"}]},{"nodeType":"YulAssignment","src":"6517:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6544:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6555:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6540:3:181"},"nodeType":"YulFunctionCall","src":"6540:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6527:12:181"},"nodeType":"YulFunctionCall","src":"6527:32:181"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"6517:6:181"}]},{"nodeType":"YulAssignment","src":"6568:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6595:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6606:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6591:3:181"},"nodeType":"YulFunctionCall","src":"6591:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6578:12:181"},"nodeType":"YulFunctionCall","src":"6578:33:181"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"6568:6:181"}]},{"nodeType":"YulAssignment","src":"6620:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6647:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6658:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6643:3:181"},"nodeType":"YulFunctionCall","src":"6643:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6630:12:181"},"nodeType":"YulFunctionCall","src":"6630:33:181"},"variableNames":[{"name":"value8","nodeType":"YulIdentifier","src":"6620:6:181"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5536:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5547:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5559:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5567:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5575:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5583:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5591:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"5599:6:181","type":""},{"name":"value6","nodeType":"YulTypedName","src":"5607:6:181","type":""},{"name":"value7","nodeType":"YulTypedName","src":"5615:6:181","type":""},{"name":"value8","nodeType":"YulTypedName","src":"5623:6:181","type":""}],"src":"5363:1306:181"},{"body":{"nodeType":"YulBlock","src":"6928:983:181","statements":[{"body":{"nodeType":"YulBlock","src":"6975:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6984:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6987:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6977:6:181"},"nodeType":"YulFunctionCall","src":"6977:12:181"},"nodeType":"YulExpressionStatement","src":"6977:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6949:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6958:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6945:3:181"},"nodeType":"YulFunctionCall","src":"6945:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6970:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6941:3:181"},"nodeType":"YulFunctionCall","src":"6941:33:181"},"nodeType":"YulIf","src":"6938:53:181"},{"nodeType":"YulVariableDeclaration","src":"7000:37:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7027:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7014:12:181"},"nodeType":"YulFunctionCall","src":"7014:23:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7004:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7046:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"7056:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7050:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7101:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7110:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7113:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7103:6:181"},"nodeType":"YulFunctionCall","src":"7103:12:181"},"nodeType":"YulExpressionStatement","src":"7103:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7089:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7097:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7086:2:181"},"nodeType":"YulFunctionCall","src":"7086:14:181"},"nodeType":"YulIf","src":"7083:34:181"},{"nodeType":"YulVariableDeclaration","src":"7126:96:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7194:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"7205:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7190:3:181"},"nodeType":"YulFunctionCall","src":"7190:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7214:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"7152:37:181"},"nodeType":"YulFunctionCall","src":"7152:70:181"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"7130:8:181","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"7140:8:181","type":""}]},{"nodeType":"YulAssignment","src":"7231:18:181","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"7241:8:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7231:6:181"}]},{"nodeType":"YulAssignment","src":"7258:18:181","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"7268:8:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7258:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7285:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7318:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7329:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7314:3:181"},"nodeType":"YulFunctionCall","src":"7314:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7301:12:181"},"nodeType":"YulFunctionCall","src":"7301:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7289:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7362:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7371:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7374:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7364:6:181"},"nodeType":"YulFunctionCall","src":"7364:12:181"},"nodeType":"YulExpressionStatement","src":"7364:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7348:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7358:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7345:2:181"},"nodeType":"YulFunctionCall","src":"7345:16:181"},"nodeType":"YulIf","src":"7342:36:181"},{"nodeType":"YulVariableDeclaration","src":"7387:98:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7455:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"7466:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7451:3:181"},"nodeType":"YulFunctionCall","src":"7451:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7477:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"7413:37:181"},"nodeType":"YulFunctionCall","src":"7413:72:181"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"7391:8:181","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"7401:8:181","type":""}]},{"nodeType":"YulAssignment","src":"7494:18:181","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"7504:8:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7494:6:181"}]},{"nodeType":"YulAssignment","src":"7521:18:181","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"7531:8:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7521:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7548:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7581:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7592:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7577:3:181"},"nodeType":"YulFunctionCall","src":"7577:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7564:12:181"},"nodeType":"YulFunctionCall","src":"7564:32:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"7552:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7625:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7634:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7637:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7627:6:181"},"nodeType":"YulFunctionCall","src":"7627:12:181"},"nodeType":"YulExpressionStatement","src":"7627:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"7611:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7621:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7608:2:181"},"nodeType":"YulFunctionCall","src":"7608:16:181"},"nodeType":"YulIf","src":"7605:36:181"},{"nodeType":"YulVariableDeclaration","src":"7650:98:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7718:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"7729:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7714:3:181"},"nodeType":"YulFunctionCall","src":"7714:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7740:7:181"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"7676:37:181"},"nodeType":"YulFunctionCall","src":"7676:72:181"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"7654:8:181","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"7664:8:181","type":""}]},{"nodeType":"YulAssignment","src":"7757:18:181","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"7767:8:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"7757:6:181"}]},{"nodeType":"YulAssignment","src":"7784:18:181","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"7794:8:181"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"7784:6:181"}]},{"nodeType":"YulAssignment","src":"7811:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7838:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7849:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7834:3:181"},"nodeType":"YulFunctionCall","src":"7834:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7821:12:181"},"nodeType":"YulFunctionCall","src":"7821:32:181"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"7811:6:181"}]},{"nodeType":"YulAssignment","src":"7862:43:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7889:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7900:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7885:3:181"},"nodeType":"YulFunctionCall","src":"7885:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7872:12:181"},"nodeType":"YulFunctionCall","src":"7872:33:181"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"7862:6:181"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6838:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6849:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6861:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6869:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6877:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6885:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6893:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"6901:6:181","type":""},{"name":"value6","nodeType":"YulTypedName","src":"6909:6:181","type":""},{"name":"value7","nodeType":"YulTypedName","src":"6917:6:181","type":""}],"src":"6674:1237:181"},{"body":{"nodeType":"YulBlock","src":"7980:648:181","statements":[{"body":{"nodeType":"YulBlock","src":"8029:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8038:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8041:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8031:6:181"},"nodeType":"YulFunctionCall","src":"8031:12:181"},"nodeType":"YulExpressionStatement","src":"8031:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8008:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"8016:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8004:3:181"},"nodeType":"YulFunctionCall","src":"8004:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"8023:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8000:3:181"},"nodeType":"YulFunctionCall","src":"8000:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7993:6:181"},"nodeType":"YulFunctionCall","src":"7993:35:181"},"nodeType":"YulIf","src":"7990:55:181"},{"nodeType":"YulVariableDeclaration","src":"8054:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8077:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8064:12:181"},"nodeType":"YulFunctionCall","src":"8064:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8058:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8093:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"8103:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8097:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8146:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8148:16:181"},"nodeType":"YulFunctionCall","src":"8148:18:181"},"nodeType":"YulExpressionStatement","src":"8148:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8122:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"8126:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8119:2:181"},"nodeType":"YulFunctionCall","src":"8119:26:181"},"nodeType":"YulIf","src":"8116:52:181"},{"nodeType":"YulVariableDeclaration","src":"8177:20:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8191:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"8194:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8187:3:181"},"nodeType":"YulFunctionCall","src":"8187:10:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8181:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8206:39:181","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8237:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8241:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8233:3:181"},"nodeType":"YulFunctionCall","src":"8233:11:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8217:15:181"},"nodeType":"YulFunctionCall","src":"8217:28:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8210:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8254:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"8267:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8258:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8286:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"8291:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8279:6:181"},"nodeType":"YulFunctionCall","src":"8279:15:181"},"nodeType":"YulExpressionStatement","src":"8279:15:181"},{"nodeType":"YulAssignment","src":"8303:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8314:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8319:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8310:3:181"},"nodeType":"YulFunctionCall","src":"8310:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8303:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"8331:38:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8353:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"8361:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8349:3:181"},"nodeType":"YulFunctionCall","src":"8349:15:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8366:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8345:3:181"},"nodeType":"YulFunctionCall","src":"8345:24:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8335:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8397:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8406:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8409:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8399:6:181"},"nodeType":"YulFunctionCall","src":"8399:12:181"},"nodeType":"YulExpressionStatement","src":"8399:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8384:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"8392:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8381:2:181"},"nodeType":"YulFunctionCall","src":"8381:15:181"},"nodeType":"YulIf","src":"8378:35:181"},{"nodeType":"YulVariableDeclaration","src":"8422:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8437:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8445:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8433:3:181"},"nodeType":"YulFunctionCall","src":"8433:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8426:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8513:86:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8534:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8552:3:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8539:12:181"},"nodeType":"YulFunctionCall","src":"8539:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8527:6:181"},"nodeType":"YulFunctionCall","src":"8527:30:181"},"nodeType":"YulExpressionStatement","src":"8527:30:181"},{"nodeType":"YulAssignment","src":"8570:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8581:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8586:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8577:3:181"},"nodeType":"YulFunctionCall","src":"8577:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8570:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8468:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8473:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8465:2:181"},"nodeType":"YulFunctionCall","src":"8465:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8481:23:181","statements":[{"nodeType":"YulAssignment","src":"8483:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8494:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"8499:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8490:3:181"},"nodeType":"YulFunctionCall","src":"8490:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8483:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"8461:3:181","statements":[]},"src":"8457:142:181"},{"nodeType":"YulAssignment","src":"8608:14:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8617:5:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8608:5:181"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7954:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"7962:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7970:5:181","type":""}],"src":"7916:712:181"},{"body":{"nodeType":"YulBlock","src":"8830:746:181","statements":[{"body":{"nodeType":"YulBlock","src":"8877:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8886:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8889:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8879:6:181"},"nodeType":"YulFunctionCall","src":"8879:12:181"},"nodeType":"YulExpressionStatement","src":"8879:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8851:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"8860:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8847:3:181"},"nodeType":"YulFunctionCall","src":"8847:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"8872:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8843:3:181"},"nodeType":"YulFunctionCall","src":"8843:33:181"},"nodeType":"YulIf","src":"8840:53:181"},{"nodeType":"YulAssignment","src":"8902:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8931:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8912:18:181"},"nodeType":"YulFunctionCall","src":"8912:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8902:6:181"}]},{"nodeType":"YulAssignment","src":"8950:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8983:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8994:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8979:3:181"},"nodeType":"YulFunctionCall","src":"8979:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8960:18:181"},"nodeType":"YulFunctionCall","src":"8960:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8950:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"9007:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9038:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9049:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9034:3:181"},"nodeType":"YulFunctionCall","src":"9034:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9021:12:181"},"nodeType":"YulFunctionCall","src":"9021:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9011:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9062:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"9072:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9066:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"9117:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9126:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9129:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9119:6:181"},"nodeType":"YulFunctionCall","src":"9119:12:181"},"nodeType":"YulExpressionStatement","src":"9119:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9105:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"9113:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9102:2:181"},"nodeType":"YulFunctionCall","src":"9102:14:181"},"nodeType":"YulIf","src":"9099:34:181"},{"nodeType":"YulAssignment","src":"9142:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9185:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"9196:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9181:3:181"},"nodeType":"YulFunctionCall","src":"9181:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9205:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9152:28:181"},"nodeType":"YulFunctionCall","src":"9152:61:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9142:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"9222:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9255:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9266:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9251:3:181"},"nodeType":"YulFunctionCall","src":"9251:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9238:12:181"},"nodeType":"YulFunctionCall","src":"9238:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9226:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"9299:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9308:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9311:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9301:6:181"},"nodeType":"YulFunctionCall","src":"9301:12:181"},"nodeType":"YulExpressionStatement","src":"9301:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9285:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"9295:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9282:2:181"},"nodeType":"YulFunctionCall","src":"9282:16:181"},"nodeType":"YulIf","src":"9279:36:181"},{"nodeType":"YulAssignment","src":"9324:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9367:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9378:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9363:3:181"},"nodeType":"YulFunctionCall","src":"9363:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9389:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9334:28:181"},"nodeType":"YulFunctionCall","src":"9334:63:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9324:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"9406:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9439:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9450:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9435:3:181"},"nodeType":"YulFunctionCall","src":"9435:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9422:12:181"},"nodeType":"YulFunctionCall","src":"9422:33:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9410:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"9484:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9493:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9496:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9486:6:181"},"nodeType":"YulFunctionCall","src":"9486:12:181"},"nodeType":"YulExpressionStatement","src":"9486:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9470:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"9480:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9467:2:181"},"nodeType":"YulFunctionCall","src":"9467:16:181"},"nodeType":"YulIf","src":"9464:36:181"},{"nodeType":"YulAssignment","src":"9509:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9540:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9551:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9536:3:181"},"nodeType":"YulFunctionCall","src":"9536:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9562:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9519:16:181"},"nodeType":"YulFunctionCall","src":"9519:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"9509:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8764:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8775:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8787:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8795:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8803:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8811:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8819:6:181","type":""}],"src":"8633:943:181"},{"body":{"nodeType":"YulBlock","src":"9682:76:181","statements":[{"nodeType":"YulAssignment","src":"9692:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9704:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9715:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9700:3:181"},"nodeType":"YulFunctionCall","src":"9700:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9692:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9734:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"9745:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9727:6:181"},"nodeType":"YulFunctionCall","src":"9727:25:181"},"nodeType":"YulExpressionStatement","src":"9727:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9651:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9662:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9673:4:181","type":""}],"src":"9581:177:181"},{"body":{"nodeType":"YulBlock","src":"9910:459:181","statements":[{"body":{"nodeType":"YulBlock","src":"9957:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9966:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9969:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9959:6:181"},"nodeType":"YulFunctionCall","src":"9959:12:181"},"nodeType":"YulExpressionStatement","src":"9959:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9931:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"9940:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9927:3:181"},"nodeType":"YulFunctionCall","src":"9927:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"9952:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9923:3:181"},"nodeType":"YulFunctionCall","src":"9923:33:181"},"nodeType":"YulIf","src":"9920:53:181"},{"nodeType":"YulAssignment","src":"9982:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10011:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9992:18:181"},"nodeType":"YulFunctionCall","src":"9992:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9982:6:181"}]},{"nodeType":"YulAssignment","src":"10030:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10063:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10074:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10059:3:181"},"nodeType":"YulFunctionCall","src":"10059:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10040:18:181"},"nodeType":"YulFunctionCall","src":"10040:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10030:6:181"}]},{"nodeType":"YulAssignment","src":"10087:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10114:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10125:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10110:3:181"},"nodeType":"YulFunctionCall","src":"10110:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10097:12:181"},"nodeType":"YulFunctionCall","src":"10097:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10087:6:181"}]},{"nodeType":"YulAssignment","src":"10138:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10165:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10176:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10161:3:181"},"nodeType":"YulFunctionCall","src":"10161:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10148:12:181"},"nodeType":"YulFunctionCall","src":"10148:32:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10138:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"10189:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10220:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10231:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10216:3:181"},"nodeType":"YulFunctionCall","src":"10216:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10203:12:181"},"nodeType":"YulFunctionCall","src":"10203:33:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10193:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"10279:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10288:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10291:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10281:6:181"},"nodeType":"YulFunctionCall","src":"10281:12:181"},"nodeType":"YulExpressionStatement","src":"10281:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10251:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"10259:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10248:2:181"},"nodeType":"YulFunctionCall","src":"10248:30:181"},"nodeType":"YulIf","src":"10245:50:181"},{"nodeType":"YulAssignment","src":"10304:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10335:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"10346:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10331:3:181"},"nodeType":"YulFunctionCall","src":"10331:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10355:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10314:16:181"},"nodeType":"YulFunctionCall","src":"10314:49:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"10304:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9844:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9855:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9867:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9875:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9883:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9891:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"9899:6:181","type":""}],"src":"9763:606:181"},{"body":{"nodeType":"YulBlock","src":"10440:200:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10457:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"10462:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10450:6:181"},"nodeType":"YulFunctionCall","src":"10450:19:181"},"nodeType":"YulExpressionStatement","src":"10450:19:181"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10495:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"10500:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10491:3:181"},"nodeType":"YulFunctionCall","src":"10491:14:181"},{"name":"start","nodeType":"YulIdentifier","src":"10507:5:181"},{"name":"length","nodeType":"YulIdentifier","src":"10514:6:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10478:12:181"},"nodeType":"YulFunctionCall","src":"10478:43:181"},"nodeType":"YulExpressionStatement","src":"10478:43:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10545:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"10550:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10541:3:181"},"nodeType":"YulFunctionCall","src":"10541:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"10559:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10537:3:181"},"nodeType":"YulFunctionCall","src":"10537:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"10566:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10530:6:181"},"nodeType":"YulFunctionCall","src":"10530:38:181"},"nodeType":"YulExpressionStatement","src":"10530:38:181"},{"nodeType":"YulAssignment","src":"10577:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10592:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10605:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"10613:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10601:3:181"},"nodeType":"YulFunctionCall","src":"10601:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10622:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10618:3:181"},"nodeType":"YulFunctionCall","src":"10618:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10597:3:181"},"nodeType":"YulFunctionCall","src":"10597:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10588:3:181"},"nodeType":"YulFunctionCall","src":"10588:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"10629:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10584:3:181"},"nodeType":"YulFunctionCall","src":"10584:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10577:3:181"}]}]},"name":"abi_encode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"10409:5:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"10416:6:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10424:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10432:3:181","type":""}],"src":"10374:266:181"},{"body":{"nodeType":"YulBlock","src":"10886:316:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10903:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10918:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10934:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"10939:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10930:3:181"},"nodeType":"YulFunctionCall","src":"10930:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"10943:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10926:3:181"},"nodeType":"YulFunctionCall","src":"10926:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10914:3:181"},"nodeType":"YulFunctionCall","src":"10914:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10896:6:181"},"nodeType":"YulFunctionCall","src":"10896:51:181"},"nodeType":"YulExpressionStatement","src":"10896:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10967:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10978:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10963:3:181"},"nodeType":"YulFunctionCall","src":"10963:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"10983:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10956:6:181"},"nodeType":"YulFunctionCall","src":"10956:34:181"},"nodeType":"YulExpressionStatement","src":"10956:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11010:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11021:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11006:3:181"},"nodeType":"YulFunctionCall","src":"11006:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11026:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10999:6:181"},"nodeType":"YulFunctionCall","src":"10999:31:181"},"nodeType":"YulExpressionStatement","src":"10999:31:181"},{"nodeType":"YulAssignment","src":"11039:70:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11073:6:181"},{"name":"value3","nodeType":"YulIdentifier","src":"11081:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11093:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11104:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11089:3:181"},"nodeType":"YulFunctionCall","src":"11089:19:181"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"11047:25:181"},"nodeType":"YulFunctionCall","src":"11047:62:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11039:4:181"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11129:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11140:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11125:3:181"},"nodeType":"YulFunctionCall","src":"11125:18:181"},{"name":"value4","nodeType":"YulIdentifier","src":"11145:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11118:6:181"},"nodeType":"YulFunctionCall","src":"11118:34:181"},"nodeType":"YulExpressionStatement","src":"11118:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11172:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11183:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11168:3:181"},"nodeType":"YulFunctionCall","src":"11168:19:181"},{"name":"value5","nodeType":"YulIdentifier","src":"11189:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11161:6:181"},"nodeType":"YulFunctionCall","src":"11161:35:181"},"nodeType":"YulExpressionStatement","src":"11161:35:181"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10815:9:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"10826:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"10834:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10842:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10850:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10858:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10866:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10877:4:181","type":""}],"src":"10645:557:181"},{"body":{"nodeType":"YulBlock","src":"11392:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11409:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11424:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11440:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11445:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11436:3:181"},"nodeType":"YulFunctionCall","src":"11436:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"11449:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11432:3:181"},"nodeType":"YulFunctionCall","src":"11432:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11420:3:181"},"nodeType":"YulFunctionCall","src":"11420:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11402:6:181"},"nodeType":"YulFunctionCall","src":"11402:51:181"},"nodeType":"YulExpressionStatement","src":"11402:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11473:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11484:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11469:3:181"},"nodeType":"YulFunctionCall","src":"11469:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"11489:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11462:6:181"},"nodeType":"YulFunctionCall","src":"11462:34:181"},"nodeType":"YulExpressionStatement","src":"11462:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11516:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11527:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11512:3:181"},"nodeType":"YulFunctionCall","src":"11512:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11532:2:181","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11505:6:181"},"nodeType":"YulFunctionCall","src":"11505:30:181"},"nodeType":"YulExpressionStatement","src":"11505:30:181"},{"nodeType":"YulAssignment","src":"11544:69:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11578:6:181"},{"name":"value3","nodeType":"YulIdentifier","src":"11586:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11598:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11609:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11594:3:181"},"nodeType":"YulFunctionCall","src":"11594:18:181"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"11552:25:181"},"nodeType":"YulFunctionCall","src":"11552:61:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11544:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11337:9:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11348:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11356:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11364:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11372:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11383:4:181","type":""}],"src":"11207:412:181"},{"body":{"nodeType":"YulBlock","src":"11798:237:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11815:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11826:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11808:6:181"},"nodeType":"YulFunctionCall","src":"11808:21:181"},"nodeType":"YulExpressionStatement","src":"11808:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11849:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11860:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11845:3:181"},"nodeType":"YulFunctionCall","src":"11845:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11865:2:181","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11838:6:181"},"nodeType":"YulFunctionCall","src":"11838:30:181"},"nodeType":"YulExpressionStatement","src":"11838:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11888:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11899:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11884:3:181"},"nodeType":"YulFunctionCall","src":"11884:18:181"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"11904:34:181","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11877:6:181"},"nodeType":"YulFunctionCall","src":"11877:62:181"},"nodeType":"YulExpressionStatement","src":"11877:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11959:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11970:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11955:3:181"},"nodeType":"YulFunctionCall","src":"11955:18:181"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"11975:17:181","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11948:6:181"},"nodeType":"YulFunctionCall","src":"11948:45:181"},"nodeType":"YulExpressionStatement","src":"11948:45:181"},{"nodeType":"YulAssignment","src":"12002:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12014:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12025:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12010:3:181"},"nodeType":"YulFunctionCall","src":"12010:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12002:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11775:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11789:4:181","type":""}],"src":"11624:411:181"},{"body":{"nodeType":"YulBlock","src":"12214:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12231:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12242:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12224:6:181"},"nodeType":"YulFunctionCall","src":"12224:21:181"},"nodeType":"YulExpressionStatement","src":"12224:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12265:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12276:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12261:3:181"},"nodeType":"YulFunctionCall","src":"12261:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12281:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12254:6:181"},"nodeType":"YulFunctionCall","src":"12254:30:181"},"nodeType":"YulExpressionStatement","src":"12254:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12304:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12315:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12300:3:181"},"nodeType":"YulFunctionCall","src":"12300:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d75737420","kind":"string","nodeType":"YulLiteral","src":"12320:34:181","type":"","value":"TimelockController: caller must "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12293:6:181"},"nodeType":"YulFunctionCall","src":"12293:62:181"},"nodeType":"YulExpressionStatement","src":"12293:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12375:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12386:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12371:3:181"},"nodeType":"YulFunctionCall","src":"12371:18:181"},{"hexValue":"62652074696d656c6f636b","kind":"string","nodeType":"YulLiteral","src":"12391:13:181","type":"","value":"be timelock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12364:6:181"},"nodeType":"YulFunctionCall","src":"12364:41:181"},"nodeType":"YulExpressionStatement","src":"12364:41:181"},{"nodeType":"YulAssignment","src":"12414:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12426:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12437:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12422:3:181"},"nodeType":"YulFunctionCall","src":"12422:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12414:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12191:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12205:4:181","type":""}],"src":"12040:407:181"},{"body":{"nodeType":"YulBlock","src":"12581:119:181","statements":[{"nodeType":"YulAssignment","src":"12591:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12603:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12614:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12599:3:181"},"nodeType":"YulFunctionCall","src":"12599:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12591:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12633:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"12644:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12626:6:181"},"nodeType":"YulFunctionCall","src":"12626:25:181"},"nodeType":"YulExpressionStatement","src":"12626:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12671:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12682:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12667:3:181"},"nodeType":"YulFunctionCall","src":"12667:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"12687:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12660:6:181"},"nodeType":"YulFunctionCall","src":"12660:34:181"},"nodeType":"YulExpressionStatement","src":"12660:34:181"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12542:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12553:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12561:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12572:4:181","type":""}],"src":"12452:248:181"},{"body":{"nodeType":"YulBlock","src":"12946:316:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12963:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12978:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12994:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12999:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12990:3:181"},"nodeType":"YulFunctionCall","src":"12990:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"13003:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12986:3:181"},"nodeType":"YulFunctionCall","src":"12986:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12974:3:181"},"nodeType":"YulFunctionCall","src":"12974:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12956:6:181"},"nodeType":"YulFunctionCall","src":"12956:51:181"},"nodeType":"YulExpressionStatement","src":"12956:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13023:3:181"},"nodeType":"YulFunctionCall","src":"13023:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"13043:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13016:6:181"},"nodeType":"YulFunctionCall","src":"13016:34:181"},"nodeType":"YulExpressionStatement","src":"13016:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13070:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13081:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13066:3:181"},"nodeType":"YulFunctionCall","src":"13066:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13086:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13059:6:181"},"nodeType":"YulFunctionCall","src":"13059:31:181"},"nodeType":"YulExpressionStatement","src":"13059:31:181"},{"nodeType":"YulAssignment","src":"13099:70:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13133:6:181"},{"name":"value3","nodeType":"YulIdentifier","src":"13141:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13153:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13164:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13149:3:181"},"nodeType":"YulFunctionCall","src":"13149:19:181"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"13107:25:181"},"nodeType":"YulFunctionCall","src":"13107:62:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13099:4:181"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13189:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13200:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13185:3:181"},"nodeType":"YulFunctionCall","src":"13185:18:181"},{"name":"value4","nodeType":"YulIdentifier","src":"13205:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13178:6:181"},"nodeType":"YulFunctionCall","src":"13178:34:181"},"nodeType":"YulExpressionStatement","src":"13178:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13232:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13243:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13228:3:181"},"nodeType":"YulFunctionCall","src":"13228:19:181"},{"name":"value5","nodeType":"YulIdentifier","src":"13249:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13221:6:181"},"nodeType":"YulFunctionCall","src":"13221:35:181"},"nodeType":"YulExpressionStatement","src":"13221:35:181"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12875:9:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"12886:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12894:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12902:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12910:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12918:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12926:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12937:4:181","type":""}],"src":"12705:557:181"},{"body":{"nodeType":"YulBlock","src":"13441:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13458:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13469:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13451:6:181"},"nodeType":"YulFunctionCall","src":"13451:21:181"},"nodeType":"YulExpressionStatement","src":"13451:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13492:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13503:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13488:3:181"},"nodeType":"YulFunctionCall","src":"13488:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13508:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13481:6:181"},"nodeType":"YulFunctionCall","src":"13481:30:181"},"nodeType":"YulExpressionStatement","src":"13481:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13531:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13542:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13527:3:181"},"nodeType":"YulFunctionCall","src":"13527:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61","kind":"string","nodeType":"YulLiteral","src":"13547:34:181","type":"","value":"TimelockController: length misma"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13520:6:181"},"nodeType":"YulFunctionCall","src":"13520:62:181"},"nodeType":"YulExpressionStatement","src":"13520:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13602:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13613:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13598:3:181"},"nodeType":"YulFunctionCall","src":"13598:18:181"},{"hexValue":"746368","kind":"string","nodeType":"YulLiteral","src":"13618:5:181","type":"","value":"tch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13591:6:181"},"nodeType":"YulFunctionCall","src":"13591:33:181"},"nodeType":"YulExpressionStatement","src":"13591:33:181"},{"nodeType":"YulAssignment","src":"13633:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13645:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13656:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13641:3:181"},"nodeType":"YulFunctionCall","src":"13641:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13633:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13418:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13432:4:181","type":""}],"src":"13267:399:181"},{"body":{"nodeType":"YulBlock","src":"13703:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13720:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13727:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13732:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13723:3:181"},"nodeType":"YulFunctionCall","src":"13723:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13713:6:181"},"nodeType":"YulFunctionCall","src":"13713:31:181"},"nodeType":"YulExpressionStatement","src":"13713:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13760:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13763:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13753:6:181"},"nodeType":"YulFunctionCall","src":"13753:15:181"},"nodeType":"YulExpressionStatement","src":"13753:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13784:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13787:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13777:6:181"},"nodeType":"YulFunctionCall","src":"13777:15:181"},"nodeType":"YulExpressionStatement","src":"13777:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"13671:127:181"},{"body":{"nodeType":"YulBlock","src":"13873:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"13919:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13928:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13931:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13921:6:181"},"nodeType":"YulFunctionCall","src":"13921:12:181"},"nodeType":"YulExpressionStatement","src":"13921:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13894:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13903:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13890:3:181"},"nodeType":"YulFunctionCall","src":"13890:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"13915:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13886:3:181"},"nodeType":"YulFunctionCall","src":"13886:32:181"},"nodeType":"YulIf","src":"13883:52:181"},{"nodeType":"YulAssignment","src":"13944:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13973:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"13954:18:181"},"nodeType":"YulFunctionCall","src":"13954:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13944:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13839:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13850:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13862:6:181","type":""}],"src":"13803:186:181"},{"body":{"nodeType":"YulBlock","src":"14088:427:181","statements":[{"nodeType":"YulVariableDeclaration","src":"14098:51:181","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"14137:11:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14124:12:181"},"nodeType":"YulFunctionCall","src":"14124:25:181"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"14102:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"14238:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14247:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14250:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14240:6:181"},"nodeType":"YulFunctionCall","src":"14240:12:181"},"nodeType":"YulExpressionStatement","src":"14240:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"14172:18:181"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"14200:12:181"},"nodeType":"YulFunctionCall","src":"14200:14:181"},{"name":"base_ref","nodeType":"YulIdentifier","src":"14216:8:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14196:3:181"},"nodeType":"YulFunctionCall","src":"14196:29:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14231:2:181","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14227:3:181"},"nodeType":"YulFunctionCall","src":"14227:7:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14192:3:181"},"nodeType":"YulFunctionCall","src":"14192:43:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14168:3:181"},"nodeType":"YulFunctionCall","src":"14168:68:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14161:6:181"},"nodeType":"YulFunctionCall","src":"14161:76:181"},"nodeType":"YulIf","src":"14158:96:181"},{"nodeType":"YulVariableDeclaration","src":"14263:47:181","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"14281:8:181"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"14291:18:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14277:3:181"},"nodeType":"YulFunctionCall","src":"14277:33:181"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"14267:6:181","type":""}]},{"nodeType":"YulAssignment","src":"14319:30:181","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"14342:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14329:12:181"},"nodeType":"YulFunctionCall","src":"14329:20:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14319:6:181"}]},{"body":{"nodeType":"YulBlock","src":"14392:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14401:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14404:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14394:6:181"},"nodeType":"YulFunctionCall","src":"14394:12:181"},"nodeType":"YulExpressionStatement","src":"14394:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14364:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"14372:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14361:2:181"},"nodeType":"YulFunctionCall","src":"14361:30:181"},"nodeType":"YulIf","src":"14358:50:181"},{"nodeType":"YulAssignment","src":"14417:25:181","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"14429:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"14437:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14425:3:181"},"nodeType":"YulFunctionCall","src":"14425:17:181"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14417:4:181"}]},{"body":{"nodeType":"YulBlock","src":"14493:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14502:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14505:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14495:6:181"},"nodeType":"YulFunctionCall","src":"14495:12:181"},"nodeType":"YulExpressionStatement","src":"14495:12:181"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"14458:4:181"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"14468:12:181"},"nodeType":"YulFunctionCall","src":"14468:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"14484:6:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14464:3:181"},"nodeType":"YulFunctionCall","src":"14464:27:181"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"14454:3:181"},"nodeType":"YulFunctionCall","src":"14454:38:181"},"nodeType":"YulIf","src":"14451:58:181"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"14045:8:181","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"14055:11:181","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"14071:4:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"14077:6:181","type":""}],"src":"13994:521:181"},{"body":{"nodeType":"YulBlock","src":"14552:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14569:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14576:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14581:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14572:3:181"},"nodeType":"YulFunctionCall","src":"14572:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14562:6:181"},"nodeType":"YulFunctionCall","src":"14562:31:181"},"nodeType":"YulExpressionStatement","src":"14562:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14609:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14612:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14602:6:181"},"nodeType":"YulFunctionCall","src":"14602:15:181"},"nodeType":"YulExpressionStatement","src":"14602:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14633:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14636:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14626:6:181"},"nodeType":"YulFunctionCall","src":"14626:15:181"},"nodeType":"YulExpressionStatement","src":"14626:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"14520:127:181"},{"body":{"nodeType":"YulBlock","src":"14699:88:181","statements":[{"body":{"nodeType":"YulBlock","src":"14730:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14732:16:181"},"nodeType":"YulFunctionCall","src":"14732:18:181"},"nodeType":"YulExpressionStatement","src":"14732:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14715:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14726:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14722:3:181"},"nodeType":"YulFunctionCall","src":"14722:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14712:2:181"},"nodeType":"YulFunctionCall","src":"14712:17:181"},"nodeType":"YulIf","src":"14709:43:181"},{"nodeType":"YulAssignment","src":"14761:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14772:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"14779:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14768:3:181"},"nodeType":"YulFunctionCall","src":"14768:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14761:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14681:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"14691:3:181","type":""}],"src":"14652:135:181"},{"body":{"nodeType":"YulBlock","src":"14877:945:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14894:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"14899:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14887:6:181"},"nodeType":"YulFunctionCall","src":"14887:19:181"},"nodeType":"YulExpressionStatement","src":"14887:19:181"},{"nodeType":"YulVariableDeclaration","src":"14915:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"14925:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14919:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14938:31:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14961:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"14966:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14957:3:181"},"nodeType":"YulFunctionCall","src":"14957:12:181"},"variables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"14942:11:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14978:24:181","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"14991:11:181"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"14982:5:181","type":""}]},{"nodeType":"YulAssignment","src":"15011:18:181","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"15018:11:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15011:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"15038:38:181","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"15054:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15065:1:181","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"15068:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15061:3:181"},"nodeType":"YulFunctionCall","src":"15061:14:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15050:3:181"},"nodeType":"YulFunctionCall","src":"15050:26:181"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"15042:4:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15085:19:181","value":{"name":"value","nodeType":"YulIdentifier","src":"15099:5:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"15089:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15113:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"15122:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15117:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"15181:615:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15202:3:181"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15211:4:181"},{"name":"pos_1","nodeType":"YulIdentifier","src":"15217:5:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15207:3:181"},"nodeType":"YulFunctionCall","src":"15207:16:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15195:6:181"},"nodeType":"YulFunctionCall","src":"15195:29:181"},"nodeType":"YulExpressionStatement","src":"15195:29:181"},{"nodeType":"YulVariableDeclaration","src":"15237:46:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15276:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15263:12:181"},"nodeType":"YulFunctionCall","src":"15263:20:181"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15241:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"15373:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15382:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15385:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15375:6:181"},"nodeType":"YulFunctionCall","src":"15375:12:181"},"nodeType":"YulExpressionStatement","src":"15375:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15310:18:181"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15338:12:181"},"nodeType":"YulFunctionCall","src":"15338:14:181"},{"name":"value","nodeType":"YulIdentifier","src":"15354:5:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15334:3:181"},"nodeType":"YulFunctionCall","src":"15334:26:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15366:2:181","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15362:3:181"},"nodeType":"YulFunctionCall","src":"15362:7:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15330:3:181"},"nodeType":"YulFunctionCall","src":"15330:40:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15306:3:181"},"nodeType":"YulFunctionCall","src":"15306:65:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15299:6:181"},"nodeType":"YulFunctionCall","src":"15299:73:181"},"nodeType":"YulIf","src":"15296:93:181"},{"nodeType":"YulVariableDeclaration","src":"15402:45:181","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15421:18:181"},{"name":"value","nodeType":"YulIdentifier","src":"15441:5:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15417:3:181"},"nodeType":"YulFunctionCall","src":"15417:30:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15406:7:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15460:37:181","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15489:7:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15476:12:181"},"nodeType":"YulFunctionCall","src":"15476:21:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"15464:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"15546:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15555:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15558:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15548:6:181"},"nodeType":"YulFunctionCall","src":"15548:12:181"},"nodeType":"YulExpressionStatement","src":"15548:12:181"}]},"condition":{"arguments":[{"name":"length_1","nodeType":"YulIdentifier","src":"15516:8:181"},{"kind":"number","nodeType":"YulLiteral","src":"15526:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15513:2:181"},"nodeType":"YulFunctionCall","src":"15513:32:181"},"nodeType":"YulIf","src":"15510:52:181"},{"body":{"nodeType":"YulBlock","src":"15620:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15629:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15632:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15622:6:181"},"nodeType":"YulFunctionCall","src":"15622:12:181"},"nodeType":"YulExpressionStatement","src":"15622:12:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15582:5:181"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15593:12:181"},"nodeType":"YulFunctionCall","src":"15593:14:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"15609:8:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15589:3:181"},"nodeType":"YulFunctionCall","src":"15589:29:181"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15578:3:181"},"nodeType":"YulFunctionCall","src":"15578:41:181"},"nodeType":"YulIf","src":"15575:61:181"},{"nodeType":"YulAssignment","src":"15649:67:181","value":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15687:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15696:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15683:3:181"},"nodeType":"YulFunctionCall","src":"15683:16:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"15701:8:181"},{"name":"tail","nodeType":"YulIdentifier","src":"15711:4:181"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"15657:25:181"},"nodeType":"YulFunctionCall","src":"15657:59:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15649:4:181"}]},{"nodeType":"YulAssignment","src":"15729:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15743:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15751:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15739:3:181"},"nodeType":"YulFunctionCall","src":"15739:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15729:6:181"}]},{"nodeType":"YulAssignment","src":"15767:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15778:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15783:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15774:3:181"},"nodeType":"YulFunctionCall","src":"15774:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15767:3:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15143:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"15146:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15140:2:181"},"nodeType":"YulFunctionCall","src":"15140:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15154:18:181","statements":[{"nodeType":"YulAssignment","src":"15156:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15165:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"15168:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15161:3:181"},"nodeType":"YulFunctionCall","src":"15161:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"15156:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"15136:3:181","statements":[]},"src":"15132:664:181"},{"nodeType":"YulAssignment","src":"15805:11:181","value":{"name":"tail","nodeType":"YulIdentifier","src":"15812:4:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15805:3:181"}]}]},"name":"abi_encode_array_bytes_calldata_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14846:5:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"14853:6:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14861:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14869:3:181","type":""}],"src":"14792:1030:181"},{"body":{"nodeType":"YulBlock","src":"16240:1023:181","statements":[{"nodeType":"YulVariableDeclaration","src":"16250:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16268:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16279:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16264:3:181"},"nodeType":"YulFunctionCall","src":"16264:19:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"16254:6:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16299:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16310:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16292:6:181"},"nodeType":"YulFunctionCall","src":"16292:22:181"},"nodeType":"YulExpressionStatement","src":"16292:22:181"},{"nodeType":"YulVariableDeclaration","src":"16323:17:181","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"16334:6:181"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"16327:3:181","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"16356:6:181"},{"name":"value1","nodeType":"YulIdentifier","src":"16364:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16349:6:181"},"nodeType":"YulFunctionCall","src":"16349:22:181"},"nodeType":"YulExpressionStatement","src":"16349:22:181"},{"nodeType":"YulAssignment","src":"16380:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16391:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16402:3:181","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16387:3:181"},"nodeType":"YulFunctionCall","src":"16387:19:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16380:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"16415:20:181","value":{"name":"value0","nodeType":"YulIdentifier","src":"16429:6:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16419:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16444:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"16453:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16448:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"16512:186:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16533:3:181"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16561:6:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16542:18:181"},"nodeType":"YulFunctionCall","src":"16542:26:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16578:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16583:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16574:3:181"},"nodeType":"YulFunctionCall","src":"16574:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"16587:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16570:3:181"},"nodeType":"YulFunctionCall","src":"16570:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16538:3:181"},"nodeType":"YulFunctionCall","src":"16538:52:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16526:6:181"},"nodeType":"YulFunctionCall","src":"16526:65:181"},"nodeType":"YulExpressionStatement","src":"16526:65:181"},{"nodeType":"YulVariableDeclaration","src":"16604:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"16614:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16608:2:181","type":""}]},{"nodeType":"YulAssignment","src":"16631:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16642:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"16647:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16638:3:181"},"nodeType":"YulFunctionCall","src":"16638:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16631:3:181"}]},{"nodeType":"YulAssignment","src":"16663:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16677:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"16685:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16673:3:181"},"nodeType":"YulFunctionCall","src":"16673:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16663:6:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16474:1:181"},{"name":"value1","nodeType":"YulIdentifier","src":"16477:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16471:2:181"},"nodeType":"YulFunctionCall","src":"16471:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16485:18:181","statements":[{"nodeType":"YulAssignment","src":"16487:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16496:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"16499:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16492:3:181"},"nodeType":"YulFunctionCall","src":"16492:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16487:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"16467:3:181","statements":[]},"src":"16463:235:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16718:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16729:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16714:3:181"},"nodeType":"YulFunctionCall","src":"16714:20:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16740:3:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"16745:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16736:3:181"},"nodeType":"YulFunctionCall","src":"16736:19:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16707:6:181"},"nodeType":"YulFunctionCall","src":"16707:49:181"},"nodeType":"YulExpressionStatement","src":"16707:49:181"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16772:3:181"},{"name":"value3","nodeType":"YulIdentifier","src":"16777:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16765:6:181"},"nodeType":"YulFunctionCall","src":"16765:19:181"},"nodeType":"YulExpressionStatement","src":"16765:19:181"},{"body":{"nodeType":"YulBlock","src":"16828:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16837:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16840:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16830:6:181"},"nodeType":"YulFunctionCall","src":"16830:12:181"},"nodeType":"YulExpressionStatement","src":"16830:12:181"}]},"condition":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"16799:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16815:3:181","type":"","value":"251"},{"kind":"number","nodeType":"YulLiteral","src":"16820:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16811:3:181"},"nodeType":"YulFunctionCall","src":"16811:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"16824:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16807:3:181"},"nodeType":"YulFunctionCall","src":"16807:19:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16796:2:181"},"nodeType":"YulFunctionCall","src":"16796:31:181"},"nodeType":"YulIf","src":"16793:51:181"},{"nodeType":"YulVariableDeclaration","src":"16853:28:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16871:1:181","type":"","value":"5"},{"name":"value3","nodeType":"YulIdentifier","src":"16874:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16867:3:181"},"nodeType":"YulFunctionCall","src":"16867:14:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16857:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16907:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"16912:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16903:3:181"},"nodeType":"YulFunctionCall","src":"16903:14:181"},{"name":"value2","nodeType":"YulIdentifier","src":"16919:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"16927:6:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16890:12:181"},"nodeType":"YulFunctionCall","src":"16890:44:181"},"nodeType":"YulExpressionStatement","src":"16890:44:181"},{"nodeType":"YulVariableDeclaration","src":"16943:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16957:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"16962:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16953:3:181"},"nodeType":"YulFunctionCall","src":"16953:16:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"16947:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16978:23:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16992:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"16996:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16988:3:181"},"nodeType":"YulFunctionCall","src":"16988:13:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"16982:2:181","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"17017:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"17021:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17010:6:181"},"nodeType":"YulFunctionCall","src":"17010:13:181"},"nodeType":"YulExpressionStatement","src":"17010:13:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17054:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17039:3:181"},"nodeType":"YulFunctionCall","src":"17039:18:181"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17067:2:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"17071:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17063:3:181"},"nodeType":"YulFunctionCall","src":"17063:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17083:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17059:3:181"},"nodeType":"YulFunctionCall","src":"17059:29:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17032:6:181"},"nodeType":"YulFunctionCall","src":"17032:57:181"},"nodeType":"YulExpressionStatement","src":"17032:57:181"},{"nodeType":"YulAssignment","src":"17098:72:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17151:6:181"},{"name":"value5","nodeType":"YulIdentifier","src":"17159:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"17167:2:181"}],"functionName":{"name":"abi_encode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"17106:44:181"},"nodeType":"YulFunctionCall","src":"17106:64:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17098:4:181"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17190:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17201:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17186:3:181"},"nodeType":"YulFunctionCall","src":"17186:18:181"},{"name":"value6","nodeType":"YulIdentifier","src":"17206:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17179:6:181"},"nodeType":"YulFunctionCall","src":"17179:34:181"},"nodeType":"YulExpressionStatement","src":"17179:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17233:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17244:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17229:3:181"},"nodeType":"YulFunctionCall","src":"17229:19:181"},{"name":"value7","nodeType":"YulIdentifier","src":"17250:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17222:6:181"},"nodeType":"YulFunctionCall","src":"17222:35:181"},"nodeType":"YulExpressionStatement","src":"17222:35:181"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16153:9:181","type":""},{"name":"value7","nodeType":"YulTypedName","src":"16164:6:181","type":""},{"name":"value6","nodeType":"YulTypedName","src":"16172:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"16180:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"16188:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16196:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16204:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16212:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16220:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16231:4:181","type":""}],"src":"15827:1436:181"},{"body":{"nodeType":"YulBlock","src":"17442:239:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17459:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17470:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17452:6:181"},"nodeType":"YulFunctionCall","src":"17452:21:181"},"nodeType":"YulExpressionStatement","src":"17452:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17493:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17504:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17489:3:181"},"nodeType":"YulFunctionCall","src":"17489:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17509:2:181","type":"","value":"49"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17482:6:181"},"nodeType":"YulFunctionCall","src":"17482:30:181"},"nodeType":"YulExpressionStatement","src":"17482:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17532:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17543:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17528:3:181"},"nodeType":"YulFunctionCall","src":"17528:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206361","kind":"string","nodeType":"YulLiteral","src":"17548:34:181","type":"","value":"TimelockController: operation ca"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17521:6:181"},"nodeType":"YulFunctionCall","src":"17521:62:181"},"nodeType":"YulExpressionStatement","src":"17521:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17603:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17614:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17599:3:181"},"nodeType":"YulFunctionCall","src":"17599:18:181"},{"hexValue":"6e6e6f742062652063616e63656c6c6564","kind":"string","nodeType":"YulLiteral","src":"17619:19:181","type":"","value":"nnot be cancelled"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17592:6:181"},"nodeType":"YulFunctionCall","src":"17592:47:181"},"nodeType":"YulExpressionStatement","src":"17592:47:181"},{"nodeType":"YulAssignment","src":"17648:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17660:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17671:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17656:3:181"},"nodeType":"YulFunctionCall","src":"17656:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17648:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17419:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17433:4:181","type":""}],"src":"17268:413:181"},{"body":{"nodeType":"YulBlock","src":"17860:237:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17877:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17888:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17870:6:181"},"nodeType":"YulFunctionCall","src":"17870:21:181"},"nodeType":"YulExpressionStatement","src":"17870:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17911:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17922:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17907:3:181"},"nodeType":"YulFunctionCall","src":"17907:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17927:2:181","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17900:6:181"},"nodeType":"YulFunctionCall","src":"17900:30:181"},"nodeType":"YulExpressionStatement","src":"17900:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17950:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17961:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17946:3:181"},"nodeType":"YulFunctionCall","src":"17946:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c","kind":"string","nodeType":"YulLiteral","src":"17966:34:181","type":"","value":"TimelockController: operation al"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17939:6:181"},"nodeType":"YulFunctionCall","src":"17939:62:181"},"nodeType":"YulExpressionStatement","src":"17939:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18021:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18032:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18017:3:181"},"nodeType":"YulFunctionCall","src":"18017:18:181"},{"hexValue":"7265616479207363686564756c6564","kind":"string","nodeType":"YulLiteral","src":"18037:17:181","type":"","value":"ready scheduled"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18010:6:181"},"nodeType":"YulFunctionCall","src":"18010:45:181"},"nodeType":"YulExpressionStatement","src":"18010:45:181"},{"nodeType":"YulAssignment","src":"18064:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18076:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18087:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18072:3:181"},"nodeType":"YulFunctionCall","src":"18072:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18064:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17837:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17851:4:181","type":""}],"src":"17686:411:181"},{"body":{"nodeType":"YulBlock","src":"18276:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18293:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18304:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18286:6:181"},"nodeType":"YulFunctionCall","src":"18286:21:181"},"nodeType":"YulExpressionStatement","src":"18286:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18327:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18338:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18323:3:181"},"nodeType":"YulFunctionCall","src":"18323:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"18343:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18316:6:181"},"nodeType":"YulFunctionCall","src":"18316:30:181"},"nodeType":"YulExpressionStatement","src":"18316:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18366:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18377:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18362:3:181"},"nodeType":"YulFunctionCall","src":"18362:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e74","kind":"string","nodeType":"YulLiteral","src":"18382:34:181","type":"","value":"TimelockController: insufficient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:181"},"nodeType":"YulFunctionCall","src":"18355:62:181"},"nodeType":"YulExpressionStatement","src":"18355:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18437:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18448:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18433:3:181"},"nodeType":"YulFunctionCall","src":"18433:18:181"},{"hexValue":"2064656c6179","kind":"string","nodeType":"YulLiteral","src":"18453:8:181","type":"","value":" delay"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18426:6:181"},"nodeType":"YulFunctionCall","src":"18426:36:181"},"nodeType":"YulExpressionStatement","src":"18426:36:181"},{"nodeType":"YulAssignment","src":"18471:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18483:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18494:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18479:3:181"},"nodeType":"YulFunctionCall","src":"18479:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18471:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18253:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18267:4:181","type":""}],"src":"18102:402:181"},{"body":{"nodeType":"YulBlock","src":"18557:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"18584:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18586:16:181"},"nodeType":"YulFunctionCall","src":"18586:18:181"},"nodeType":"YulExpressionStatement","src":"18586:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18573:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"18580:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18576:3:181"},"nodeType":"YulFunctionCall","src":"18576:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18570:2:181"},"nodeType":"YulFunctionCall","src":"18570:13:181"},"nodeType":"YulIf","src":"18567:39:181"},{"nodeType":"YulAssignment","src":"18615:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18626:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"18629:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18622:3:181"},"nodeType":"YulFunctionCall","src":"18622:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"18615:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"18540:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"18543:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"18549:3:181","type":""}],"src":"18509:128:181"},{"body":{"nodeType":"YulBlock","src":"18695:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"18705:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"18714:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18709:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"18774:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18799:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"18804:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18795:3:181"},"nodeType":"YulFunctionCall","src":"18795:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18818:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"18823:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18814:3:181"},"nodeType":"YulFunctionCall","src":"18814:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18808:5:181"},"nodeType":"YulFunctionCall","src":"18808:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18788:6:181"},"nodeType":"YulFunctionCall","src":"18788:39:181"},"nodeType":"YulExpressionStatement","src":"18788:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18735:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"18738:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18732:2:181"},"nodeType":"YulFunctionCall","src":"18732:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18746:19:181","statements":[{"nodeType":"YulAssignment","src":"18748:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18757:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"18760:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18753:3:181"},"nodeType":"YulFunctionCall","src":"18753:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18748:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"18728:3:181","statements":[]},"src":"18724:113:181"},{"body":{"nodeType":"YulBlock","src":"18863:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18876:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"18881:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18872:3:181"},"nodeType":"YulFunctionCall","src":"18872:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"18890:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18865:6:181"},"nodeType":"YulFunctionCall","src":"18865:27:181"},"nodeType":"YulExpressionStatement","src":"18865:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18852:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"18855:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18849:2:181"},"nodeType":"YulFunctionCall","src":"18849:13:181"},"nodeType":"YulIf","src":"18846:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"18673:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"18678:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"18683:6:181","type":""}],"src":"18642:258:181"},{"body":{"nodeType":"YulBlock","src":"19294:397:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19311:3:181"},{"hexValue":"416363657373436f6e74726f6c3a206163636f756e7420","kind":"string","nodeType":"YulLiteral","src":"19316:25:181","type":"","value":"AccessControl: account "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19304:6:181"},"nodeType":"YulFunctionCall","src":"19304:38:181"},"nodeType":"YulExpressionStatement","src":"19304:38:181"},{"nodeType":"YulVariableDeclaration","src":"19351:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19371:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19365:5:181"},"nodeType":"YulFunctionCall","src":"19365:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"19355:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19413:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"19421:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19409:3:181"},"nodeType":"YulFunctionCall","src":"19409:17:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19432:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"19437:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19428:3:181"},"nodeType":"YulFunctionCall","src":"19428:12:181"},{"name":"length","nodeType":"YulIdentifier","src":"19442:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"19387:21:181"},"nodeType":"YulFunctionCall","src":"19387:62:181"},"nodeType":"YulExpressionStatement","src":"19387:62:181"},{"nodeType":"YulVariableDeclaration","src":"19458:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19472:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"19477:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19468:3:181"},"nodeType":"YulFunctionCall","src":"19468:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"19462:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"19504:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"19508:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19500:3:181"},"nodeType":"YulFunctionCall","src":"19500:11:181"},{"hexValue":"206973206d697373696e6720726f6c6520","kind":"string","nodeType":"YulLiteral","src":"19513:19:181","type":"","value":" is missing role "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19493:6:181"},"nodeType":"YulFunctionCall","src":"19493:40:181"},"nodeType":"YulExpressionStatement","src":"19493:40:181"},{"nodeType":"YulVariableDeclaration","src":"19542:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19564:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19558:5:181"},"nodeType":"YulFunctionCall","src":"19558:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"19546:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19606:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"19614:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19602:3:181"},"nodeType":"YulFunctionCall","src":"19602:17:181"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"19625:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"19629:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19621:3:181"},"nodeType":"YulFunctionCall","src":"19621:11:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"19634:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"19580:21:181"},"nodeType":"YulFunctionCall","src":"19580:63:181"},"nodeType":"YulExpressionStatement","src":"19580:63:181"},{"nodeType":"YulAssignment","src":"19652:33:181","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"19667:2:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"19671:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19663:3:181"},"nodeType":"YulFunctionCall","src":"19663:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"19682:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19659:3:181"},"nodeType":"YulFunctionCall","src":"19659:26:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19652:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"19262:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19267:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19275:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19286:3:181","type":""}],"src":"18905:786:181"},{"body":{"nodeType":"YulBlock","src":"19817:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19834:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19845:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19827:6:181"},"nodeType":"YulFunctionCall","src":"19827:21:181"},"nodeType":"YulExpressionStatement","src":"19827:21:181"},{"nodeType":"YulVariableDeclaration","src":"19857:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19877:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19871:5:181"},"nodeType":"YulFunctionCall","src":"19871:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"19861:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19904:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19915:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19900:3:181"},"nodeType":"YulFunctionCall","src":"19900:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"19920:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19893:6:181"},"nodeType":"YulFunctionCall","src":"19893:34:181"},"nodeType":"YulExpressionStatement","src":"19893:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19962:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"19970:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19958:3:181"},"nodeType":"YulFunctionCall","src":"19958:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19979:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19990:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19975:3:181"},"nodeType":"YulFunctionCall","src":"19975:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"19995:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"19936:21:181"},"nodeType":"YulFunctionCall","src":"19936:66:181"},"nodeType":"YulExpressionStatement","src":"19936:66:181"},{"nodeType":"YulAssignment","src":"20011:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20027:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20046:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"20054:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20042:3:181"},"nodeType":"YulFunctionCall","src":"20042:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20063:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20059:3:181"},"nodeType":"YulFunctionCall","src":"20059:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20038:3:181"},"nodeType":"YulFunctionCall","src":"20038:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20023:3:181"},"nodeType":"YulFunctionCall","src":"20023:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"20070:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20019:3:181"},"nodeType":"YulFunctionCall","src":"20019:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20011:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19786:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19797:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19808:4:181","type":""}],"src":"19696:383:181"},{"body":{"nodeType":"YulBlock","src":"20258:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20275:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20286:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20268:6:181"},"nodeType":"YulFunctionCall","src":"20268:21:181"},"nodeType":"YulExpressionStatement","src":"20268:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20309:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20320:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20305:3:181"},"nodeType":"YulFunctionCall","src":"20305:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"20325:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20298:6:181"},"nodeType":"YulFunctionCall","src":"20298:30:181"},"nodeType":"YulExpressionStatement","src":"20298:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20348:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20359:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20344:3:181"},"nodeType":"YulFunctionCall","src":"20344:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973","kind":"string","nodeType":"YulLiteral","src":"20364:34:181","type":"","value":"TimelockController: operation is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20337:6:181"},"nodeType":"YulFunctionCall","src":"20337:62:181"},"nodeType":"YulExpressionStatement","src":"20337:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20419:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20430:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20415:3:181"},"nodeType":"YulFunctionCall","src":"20415:18:181"},{"hexValue":"206e6f74207265616479","kind":"string","nodeType":"YulLiteral","src":"20435:12:181","type":"","value":" not ready"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20408:6:181"},"nodeType":"YulFunctionCall","src":"20408:40:181"},"nodeType":"YulExpressionStatement","src":"20408:40:181"},{"nodeType":"YulAssignment","src":"20457:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20469:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20480:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20465:3:181"},"nodeType":"YulFunctionCall","src":"20465:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20457:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20235:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20249:4:181","type":""}],"src":"20084:406:181"},{"body":{"nodeType":"YulBlock","src":"20669:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20686:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20697:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20679:6:181"},"nodeType":"YulFunctionCall","src":"20679:21:181"},"nodeType":"YulExpressionStatement","src":"20679:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20720:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20731:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20716:3:181"},"nodeType":"YulFunctionCall","src":"20716:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"20736:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20709:6:181"},"nodeType":"YulFunctionCall","src":"20709:30:181"},"nodeType":"YulExpressionStatement","src":"20709:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20759:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20770:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20755:3:181"},"nodeType":"YulFunctionCall","src":"20755:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a206d697373696e672064657065","kind":"string","nodeType":"YulLiteral","src":"20775:34:181","type":"","value":"TimelockController: missing depe"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20748:6:181"},"nodeType":"YulFunctionCall","src":"20748:62:181"},"nodeType":"YulExpressionStatement","src":"20748:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20830:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20841:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20826:3:181"},"nodeType":"YulFunctionCall","src":"20826:18:181"},{"hexValue":"6e64656e6379","kind":"string","nodeType":"YulLiteral","src":"20846:8:181","type":"","value":"ndency"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20819:6:181"},"nodeType":"YulFunctionCall","src":"20819:36:181"},"nodeType":"YulExpressionStatement","src":"20819:36:181"},{"nodeType":"YulAssignment","src":"20864:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20876:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"20887:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20872:3:181"},"nodeType":"YulFunctionCall","src":"20872:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20864:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20646:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20660:4:181","type":""}],"src":"20495:402:181"},{"body":{"nodeType":"YulBlock","src":"21049:124:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21072:3:181"},{"name":"value0","nodeType":"YulIdentifier","src":"21077:6:181"},{"name":"value1","nodeType":"YulIdentifier","src":"21085:6:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"21059:12:181"},"nodeType":"YulFunctionCall","src":"21059:33:181"},"nodeType":"YulExpressionStatement","src":"21059:33:181"},{"nodeType":"YulVariableDeclaration","src":"21101:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21115:3:181"},{"name":"value1","nodeType":"YulIdentifier","src":"21120:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21111:3:181"},"nodeType":"YulFunctionCall","src":"21111:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21105:2:181","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"21143:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"21147:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21136:6:181"},"nodeType":"YulFunctionCall","src":"21136:13:181"},"nodeType":"YulExpressionStatement","src":"21136:13:181"},{"nodeType":"YulAssignment","src":"21158:9:181","value":{"name":"_1","nodeType":"YulIdentifier","src":"21165:2:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21158:3:181"}]}]},"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":"21017:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21022:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21030:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21041:3:181","type":""}],"src":"20902:271:181"},{"body":{"nodeType":"YulBlock","src":"21352:241:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21369:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21380:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21362:6:181"},"nodeType":"YulFunctionCall","src":"21362:21:181"},"nodeType":"YulExpressionStatement","src":"21362:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21403:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21414:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21399:3:181"},"nodeType":"YulFunctionCall","src":"21399:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"21419:2:181","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21392:6:181"},"nodeType":"YulFunctionCall","src":"21392:30:181"},"nodeType":"YulExpressionStatement","src":"21392:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21442:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21453:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21438:3:181"},"nodeType":"YulFunctionCall","src":"21438:18:181"},{"hexValue":"54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e672074","kind":"string","nodeType":"YulLiteral","src":"21458:34:181","type":"","value":"TimelockController: underlying t"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21431:6:181"},"nodeType":"YulFunctionCall","src":"21431:62:181"},"nodeType":"YulExpressionStatement","src":"21431:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21513:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21524:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21509:3:181"},"nodeType":"YulFunctionCall","src":"21509:18:181"},{"hexValue":"72616e73616374696f6e207265766572746564","kind":"string","nodeType":"YulLiteral","src":"21529:21:181","type":"","value":"ransaction reverted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21502:6:181"},"nodeType":"YulFunctionCall","src":"21502:49:181"},"nodeType":"YulExpressionStatement","src":"21502:49:181"},{"nodeType":"YulAssignment","src":"21560:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21572:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21583:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21568:3:181"},"nodeType":"YulFunctionCall","src":"21568:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21560:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21329:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21343:4:181","type":""}],"src":"21178:415:181"},{"body":{"nodeType":"YulBlock","src":"21650:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"21709:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21711:16:181"},"nodeType":"YulFunctionCall","src":"21711:18:181"},"nodeType":"YulExpressionStatement","src":"21711:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21681:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21674:6:181"},"nodeType":"YulFunctionCall","src":"21674:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21667:6:181"},"nodeType":"YulFunctionCall","src":"21667:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"21689:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21700:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21696:3:181"},"nodeType":"YulFunctionCall","src":"21696:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"21704:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"21692:3:181"},"nodeType":"YulFunctionCall","src":"21692:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21686:2:181"},"nodeType":"YulFunctionCall","src":"21686:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21663:3:181"},"nodeType":"YulFunctionCall","src":"21663:45:181"},"nodeType":"YulIf","src":"21660:71:181"},{"nodeType":"YulAssignment","src":"21740:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21755:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"21758:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"21751:3:181"},"nodeType":"YulFunctionCall","src":"21751:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"21740:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"21629:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"21632:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"21638:7:181","type":""}],"src":"21598:168:181"},{"body":{"nodeType":"YulBlock","src":"21818:89:181","statements":[{"body":{"nodeType":"YulBlock","src":"21845:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21847:16:181"},"nodeType":"YulFunctionCall","src":"21847:18:181"},"nodeType":"YulExpressionStatement","src":"21847:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21838:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21831:6:181"},"nodeType":"YulFunctionCall","src":"21831:13:181"},"nodeType":"YulIf","src":"21828:39:181"},{"nodeType":"YulAssignment","src":"21876:25:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21887:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21898:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21894:3:181"},"nodeType":"YulFunctionCall","src":"21894:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21883:3:181"},"nodeType":"YulFunctionCall","src":"21883:18:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21876:3:181"}]}]},"name":"decrement_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21800:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"21810:3:181","type":""}],"src":"21771:136:181"},{"body":{"nodeType":"YulBlock","src":"22086:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22103:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22114:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22096:6:181"},"nodeType":"YulFunctionCall","src":"22096:21:181"},"nodeType":"YulExpressionStatement","src":"22096:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22137:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22148:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22133:3:181"},"nodeType":"YulFunctionCall","src":"22133:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"22153:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22126:6:181"},"nodeType":"YulFunctionCall","src":"22126:30:181"},"nodeType":"YulExpressionStatement","src":"22126:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22187:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22172:3:181"},"nodeType":"YulFunctionCall","src":"22172:18:181"},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","kind":"string","nodeType":"YulLiteral","src":"22192:34:181","type":"","value":"Strings: hex length insufficient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22165:6:181"},"nodeType":"YulFunctionCall","src":"22165:62:181"},"nodeType":"YulExpressionStatement","src":"22165:62:181"},{"nodeType":"YulAssignment","src":"22236:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22248:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22259:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22244:3:181"},"nodeType":"YulFunctionCall","src":"22244:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22236:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22063:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22077:4:181","type":""}],"src":"21912:356:181"}]},"contents":"{\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_bytes_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_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value2 := value2_1\n value3 := value3_1\n value4 := calldataload(add(headStart, 96))\n value5 := calldataload(add(headStart, 128))\n value6 := calldataload(add(headStart, 160))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := 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 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_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value2 := value2_1\n value3 := value3_1\n value4 := calldataload(add(headStart, 96))\n value5 := calldataload(add(headStart, 128))\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 panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n mstore(add(add(array_1, _1), 0x20), 0)\n array := array_1\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, shl(224, 0xffffffff)))\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(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_array_address_dyn_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, shl(5, length)), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n let value4_1, value5_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n value6 := calldataload(add(headStart, 96))\n value7 := calldataload(add(headStart, 128))\n value8 := calldataload(add(headStart, 160))\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n let value4_1, value5_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n value6 := calldataload(add(headStart, 96))\n value7 := calldataload(add(headStart, 128))\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := shl(5, _1)\n let dst := allocate_memory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, _3), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(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_array_uint256_dyn(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_bytes(add(headStart, offset_2), dataEnd)\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_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_encode_bytes_calldata(start, length, pos) -> end\n {\n mstore(pos, length)\n calldatacopy(add(pos, 0x20), start, length)\n mstore(add(add(pos, length), 0x20), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 160)\n tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 160))\n mstore(add(headStart, 96), value4)\n mstore(add(headStart, 128), value5)\n }\n function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 96))\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"TimelockController: caller must \")\n mstore(add(headStart, 96), \"be timelock\")\n tail := add(headStart, 128)\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_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 160)\n tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 160))\n mstore(add(headStart, 96), value4)\n mstore(add(headStart, 128), value5)\n }\n function abi_encode_tuple_t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"TimelockController: length misma\")\n mstore(add(headStart, 96), \"tch\")\n tail := add(headStart, 128)\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_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 access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_array_bytes_calldata_dyn_calldata(value, length, pos) -> end\n {\n mstore(pos, length)\n let _1 := 0x20\n let updated_pos := add(pos, _1)\n let pos_1 := updated_pos\n pos := updated_pos\n let tail := add(pos_1, shl(5, length))\n let srcPtr := value\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, pos_1))\n let rel_offset_of_tail := calldataload(srcPtr)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), value), not(30)))) { revert(0, 0) }\n let value_1 := add(rel_offset_of_tail, value)\n let length_1 := calldataload(value_1)\n if gt(length_1, 0xffffffffffffffff) { revert(0, 0) }\n if sgt(value, sub(calldatasize(), length_1)) { revert(0, 0) }\n tail := abi_encode_bytes_calldata(add(value_1, _1), length_1, tail)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n end := tail\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 160)\n mstore(headStart, 160)\n let pos := tail_1\n mstore(tail_1, value1)\n pos := add(headStart, 192)\n let srcPtr := value0\n let i := 0\n for { } lt(i, value1) { i := add(i, 1) }\n {\n mstore(pos, and(abi_decode_address(srcPtr), sub(shl(160, 1), 1)))\n let _1 := 0x20\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(add(headStart, 0x20), sub(pos, headStart))\n mstore(pos, value3)\n if gt(value3, sub(shl(251, 1), 1)) { revert(0, 0) }\n let length := shl(5, value3)\n calldatacopy(add(pos, 0x20), value2, length)\n let _2 := add(pos, length)\n let _3 := add(_2, 0x20)\n mstore(_3, 0)\n mstore(add(headStart, 64), add(sub(_2, headStart), 0x20))\n tail := abi_encode_array_bytes_calldata_dyn_calldata(value4, value5, _3)\n mstore(add(headStart, 96), value6)\n mstore(add(headStart, 128), value7)\n }\n function abi_encode_tuple_t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"TimelockController: operation ca\")\n mstore(add(headStart, 96), \"nnot be cancelled\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"TimelockController: operation al\")\n mstore(add(headStart, 96), \"ready scheduled\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"TimelockController: insufficient\")\n mstore(add(headStart, 96), \" delay\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"TimelockController: operation is\")\n mstore(add(headStart, 96), \" not ready\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"TimelockController: missing depe\")\n mstore(add(headStart, 96), \"ndency\")\n tail := add(headStart, 128)\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_t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"TimelockController: underlying t\")\n mstore(add(headStart, 96), \"ransaction reverted\")\n tail := add(headStart, 128)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610582578063e38335e5146105a2578063f23a6e61146105b5578063f27a0c92146105e157600080fd5b8063bc197c8114610509578063c4d252f514610535578063d45c44351461055557600080fd5b806391d14854116100c657806391d1485414610480578063a217fddf146104a0578063b08e51c0146104b5578063b1c5f427146104e957600080fd5b80638065657f1461040c5780638f2a0bb01461042c5780638f61f4f51461044c57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038c57806336568abe146103ac578063584b153e146103cc57806364d62353146103ec57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036c57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e23660046113c0565b6105f6565b005b3480156101f557600080fd5b50610209610204366004611434565b61068b565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a236600461145e565b6106b6565b3480156102b357600080fd5b506102096102c23660046114c9565b61076b565b3480156102d357600080fd5b506102f26102e2366004611597565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b506102526103263660046114c9565b60009081526020819052604090206001015490565b34801561034757600080fd5b506102096103563660046114c9565b6000908152600160208190526040909120541490565b34801561037857600080fd5b506101e76103873660046115fe565b610791565b34801561039857600080fd5b506102096103a73660046114c9565b6107bb565b3480156103b857600080fd5b506101e76103c73660046115fe565b6107d4565b3480156103d857600080fd5b506102096103e73660046114c9565b610857565b3480156103f857600080fd5b506101e76104073660046114c9565b61086d565b34801561041857600080fd5b5061025261042736600461145e565b610911565b34801561043857600080fd5b506101e761044736600461166e565b610950565b34801561045857600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048c57600080fd5b5061020961049b3660046115fe565b610aa2565b3480156104ac57600080fd5b50610252600081565b3480156104c157600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f557600080fd5b5061025261050436600461171f565b610acb565b34801561051557600080fd5b506102f2610524366004611846565b63bc197c8160e01b95945050505050565b34801561054157600080fd5b506101e76105503660046114c9565b610b10565b34801561056157600080fd5b506102526105703660046114c9565b60009081526001602052604090205490565b34801561058e57600080fd5b506101e761059d3660046115fe565b610be5565b6101e76105b036600461171f565b610c0a565b3480156105c157600080fd5b506102f26105d03660046118ef565b63f23a6e6160e01b95945050505050565b3480156105ed57600080fd5b50600254610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062081610d94565b6000610630898989898989610911565b905061063c8184610da1565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106789695949392919061197c565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b14806106b057506106b082610e90565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106e2816000610aa2565b6106f0576106f08133610ec5565b6000610700888888888888610911565b905061070c8185610f1e565b61071888888888610fba565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161075094939291906119b9565b60405180910390a36107618161108d565b5050505050505050565b60008181526001602052604081205460018111801561078a5750428111155b9392505050565b6000828152602081905260409020600101546107ac81610d94565b6107b683836110c6565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146108495760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610853828261114a565b5050565b60008181526001602081905260408220546107cd565b3330146108d05760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610840565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b600086868686868660405160200161092e9695949392919061197c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161097a81610d94565b8887146109995760405162461bcd60e51b8152600401610840906119eb565b8885146109b85760405162461bcd60e51b8152600401610840906119eb565b60006109ca8b8b8b8b8b8b8b8b610acb565b90506109d68184610da1565b60005b8a811015610a945780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a1657610a16611a2e565b9050602002016020810190610a2b9190611a44565b8d8d86818110610a3d57610a3d611a2e565b905060200201358c8c87818110610a5657610a56611a2e565b9050602002810190610a689190611a5f565b8c8b604051610a7c9695949392919061197c565b60405180910390a3610a8d81611abb565b90506109d9565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610aec989796959493929190611b66565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b3a81610d94565b610b4382610857565b610ba95760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610840565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610c0081610d94565b6107b6838361114a565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c36816000610aa2565b610c4457610c448133610ec5565b878614610c635760405162461bcd60e51b8152600401610840906119eb565b878414610c825760405162461bcd60e51b8152600401610840906119eb565b6000610c948a8a8a8a8a8a8a8a610acb565b9050610ca08185610f1e565b60005b89811015610d7e5760008b8b83818110610cbf57610cbf611a2e565b9050602002016020810190610cd49190611a44565b905060008a8a84818110610cea57610cea611a2e565b9050602002013590503660008a8a86818110610d0857610d08611a2e565b9050602002810190610d1a9190611a5f565b91509150610d2a84848484610fba565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d6194939291906119b9565b60405180910390a35050505080610d7790611abb565b9050610ca3565b50610d888161108d565b50505050505050505050565b610d9e8133610ec5565b50565b610daa826107bb565b15610e0f5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610840565b600254811015610e705760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610840565b610e7a8142611c11565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106b057506301ffc9a760e01b6001600160e01b03198316146106b0565b610ecf8282610aa2565b61085357610edc816111af565b610ee78360206111c1565b604051602001610ef8929190611c59565b60408051601f198184030181529082905262461bcd60e51b825261084091600401611cce565b610f278261076b565b610f435760405162461bcd60e51b815260040161084090611d01565b801580610f5f5750600081815260016020819052604090912054145b6108535760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610840565b6000846001600160a01b0316848484604051610fd7929190611d4b565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50509050806110865760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610840565b5050505050565b6110968161076b565b6110b25760405162461bcd60e51b815260040161084090611d01565b600090815260016020819052604090912055565b6110d08282610aa2565b610853576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111063390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111548282610aa2565b15610853576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106b06001600160a01b03831660145b606060006111d0836002611d5b565b6111db906002611c11565b6001600160401b038111156111f2576111f26114e2565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b509050600360fc1b8160008151811061123757611237611a2e565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061126657611266611a2e565b60200101906001600160f81b031916908160001a905350600061128a846002611d5b565b611295906001611c11565b90505b600181111561130d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112c9576112c9611a2e565b1a60f81b8282815181106112df576112df611a2e565b60200101906001600160f81b031916908160001a90535060049490941c9361130681611d7a565b9050611298565b50831561078a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610840565b80356001600160a01b038116811461137357600080fd5b919050565b60008083601f84011261138a57600080fd5b5081356001600160401b038111156113a157600080fd5b6020830191508360208285010111156113b957600080fd5b9250929050565b600080600080600080600060c0888a0312156113db57600080fd5b6113e48861135c565b96506020880135955060408801356001600160401b0381111561140657600080fd5b6114128a828b01611378565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561144657600080fd5b81356001600160e01b03198116811461078a57600080fd5b60008060008060008060a0878903121561147757600080fd5b6114808761135c565b95506020870135945060408701356001600160401b038111156114a257600080fd5b6114ae89828a01611378565b979a9699509760608101359660809091013595509350505050565b6000602082840312156114db57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611520576115206114e2565b604052919050565b600082601f83011261153957600080fd5b81356001600160401b03811115611552576115526114e2565b611565601f8201601f19166020016114f8565b81815284602083860101111561157a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156115ad57600080fd5b6115b68561135c565b93506115c46020860161135c565b92506040850135915060608501356001600160401b038111156115e657600080fd5b6115f287828801611528565b91505092959194509250565b6000806040838503121561161157600080fd5b823591506116216020840161135c565b90509250929050565b60008083601f84011261163c57600080fd5b5081356001600160401b0381111561165357600080fd5b6020830191508360208260051b85010111156113b957600080fd5b600080600080600080600080600060c08a8c03121561168c57600080fd5b89356001600160401b03808211156116a357600080fd5b6116af8d838e0161162a565b909b50995060208c01359150808211156116c857600080fd5b6116d48d838e0161162a565b909950975060408c01359150808211156116ed57600080fd5b506116fa8c828d0161162a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561173b57600080fd5b88356001600160401b038082111561175257600080fd5b61175e8c838d0161162a565b909a50985060208b013591508082111561177757600080fd5b6117838c838d0161162a565b909850965060408b013591508082111561179c57600080fd5b506117a98b828c0161162a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126117d857600080fd5b813560206001600160401b038211156117f3576117f36114e2565b8160051b6118028282016114f8565b928352848101820192828101908785111561181c57600080fd5b83870192505b8483101561183b57823582529183019190830190611822565b979650505050505050565b600080600080600060a0868803121561185e57600080fd5b6118678661135c565b94506118756020870161135c565b935060408601356001600160401b038082111561189157600080fd5b61189d89838a016117c7565b945060608801359150808211156118b357600080fd5b6118bf89838a016117c7565b935060808801359150808211156118d557600080fd5b506118e288828901611528565b9150509295509295909350565b600080600080600060a0868803121561190757600080fd5b6119108661135c565b945061191e6020870161135c565b9350604086013592506060860135915060808601356001600160401b0381111561194757600080fd5b6118e288828901611528565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006119a460a083018688611953565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006119e1606083018486611953565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5657600080fd5b61078a8261135c565b6000808335601e19843603018112611a7657600080fd5b8301803591506001600160401b03821115611a9057600080fd5b6020019150368190038213156113b957600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611acf57611acf611aa5565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611b595782840389528135601e19883603018112611b1157600080fd5b870180356001600160401b03811115611b2957600080fd5b803603891315611b3857600080fd5b611b458682898501611953565b9a87019a9550505090840190600101611af0565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611ba7576001600160a01b03611b928461135c565b16825260209283019290910190600101611b79565b5083810360208501528881526001600160fb1b03891115611bc757600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611bf881888a611ad6565b6060850196909652505050608001529695505050505050565b60008219821115611c2457611c24611aa5565b500190565b60005b83811015611c44578181015183820152602001611c2c565b83811115611c53576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c91816017850160208801611c29565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611cc2816028840160208801611c29565b01602801949350505050565b6020815260008251806020840152611ced816040850160208701611c29565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611d7557611d75611aa5565b500290565b600081611d8957611d89611aa5565b50600019019056fea2646970667358221220f250c1e51fcf31d4fababc71c75b9061472f69f12e91794f574e703d7d89bba164736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1BB JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8065657F GT PUSH2 0xEC JUMPI DUP1 PUSH4 0xBC197C81 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x582 JUMPI DUP1 PUSH4 0xE38335E5 EQ PUSH2 0x5A2 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x5B5 JUMPI DUP1 PUSH4 0xF27A0C92 EQ PUSH2 0x5E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x509 JUMPI DUP1 PUSH4 0xC4D252F5 EQ PUSH2 0x535 JUMPI DUP1 PUSH4 0xD45C4435 EQ PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x4A0 JUMPI DUP1 PUSH4 0xB08E51C0 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0xB1C5F427 EQ PUSH2 0x4E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8065657F EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0x8F2A0BB0 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x8F61F4F5 EQ PUSH2 0x44C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x159 JUMPI DUP1 PUSH4 0x31D50750 GT PUSH2 0x133 JUMPI DUP1 PUSH4 0x31D50750 EQ PUSH2 0x38C JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x584B153E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x64D62353 EQ PUSH2 0x3EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0x2AB0F529 EQ PUSH2 0x33B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xD3CF6FC GT PUSH2 0x195 JUMPI DUP1 PUSH4 0xD3CF6FC EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x134008D3 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x13BC9F20 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1D5062A EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x7BD0265 EQ PUSH2 0x21E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x1C2 JUMPI STOP 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 0x13C0 JUMP JUMPDEST PUSH2 0x5F6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x1434 JUMP JUMPDEST PUSH2 0x68B 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 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0x5F58E3A2316349923CE3780F8D587DB2D72378AED66A8261C916544FA6846CA5 DUP2 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x6B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x76B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1597 JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x317 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x326 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x356 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x378 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x387 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x791 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x7BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x3C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x7D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x857 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x407 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x86D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x427 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x911 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x166E JUMP JUMPDEST PUSH2 0x950 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x49B CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xAA2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x504 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xACB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x515 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x524 CALLDATASIZE PUSH1 0x4 PUSH2 0x1846 JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x541 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x550 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x59D CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x5B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xC0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x5D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x18EF JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x252 JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x620 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x630 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x63C DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP12 DUP12 DUP12 DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x678 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH2 0x6B0 DUP3 PUSH2 0xE90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0x6E2 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x6F0 JUMPI PUSH2 0x6F0 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x700 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x70C DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH2 0x718 DUP9 DUP9 DUP9 DUP9 PUSH2 0xFBA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP11 DUP11 DUP11 DUP11 PUSH1 0x40 MLOAD PUSH2 0x750 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x761 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 DUP2 GT DUP1 ISZERO PUSH2 0x78A JUMPI POP TIMESTAMP DUP2 GT ISZERO JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x7AC DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x10C6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP2 SWAP1 JUMPDEST GT SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x849 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x853 DUP3 DUP3 PUSH2 0x114A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD PUSH2 0x7CD JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A2063616C6C6572206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x62652074696D656C6F636B PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x92E SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x97A DUP2 PUSH2 0xD94 JUMP JUMPDEST DUP9 DUP8 EQ PUSH2 0x999 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP9 DUP6 EQ PUSH2 0x9B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9CA DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D6 DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP11 DUP2 LT ISZERO PUSH2 0xA94 JUMPI DUP1 DUP3 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP15 DUP15 DUP6 DUP2 DUP2 LT PUSH2 0xA16 JUMPI PUSH2 0xA16 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA2B SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST DUP14 DUP14 DUP7 DUP2 DUP2 LT PUSH2 0xA3D JUMPI PUSH2 0xA3D PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD DUP13 DUP13 DUP8 DUP2 DUP2 LT PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xA68 SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST DUP13 DUP12 PUSH1 0x40 MLOAD PUSH2 0xA7C SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xA8D DUP2 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D9 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAEC SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 PUSH2 0xB3A DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0xB43 DUP3 PUSH2 0x857 JUMP JUMPDEST PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206361 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x1B9B9BDD0818994818D85B98D95B1B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 PUSH32 0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70 SWAP2 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xC00 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x114A JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0xC36 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0xC44 JUMPI PUSH2 0xC44 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST DUP8 DUP7 EQ PUSH2 0xC63 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP8 DUP5 EQ PUSH2 0xC82 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC94 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA0 DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP12 DUP12 DUP4 DUP2 DUP2 LT PUSH2 0xCBF JUMPI PUSH2 0xCBF PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xCD4 SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP11 DUP11 DUP5 DUP2 DUP2 LT PUSH2 0xCEA JUMPI PUSH2 0xCEA PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP11 DUP11 DUP7 DUP2 DUP2 LT PUSH2 0xD08 JUMPI PUSH2 0xD08 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xD1A SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xD2A DUP5 DUP5 DUP5 DUP5 PUSH2 0xFBA JUMP JUMPDEST DUP5 DUP7 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD61 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP DUP1 PUSH2 0xD77 SWAP1 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA3 JUMP JUMPDEST POP PUSH2 0xD88 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD9E DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xDAA DUP3 PUSH2 0x7BB JUMP JUMPDEST ISZERO PUSH2 0xE0F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E20616C PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x1C9958591E481CD8DA19591D5B1959 PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 LT ISZERO PUSH2 0xE70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x2064656C6179 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH2 0xE7A DUP2 TIMESTAMP PUSH2 0x1C11 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x6B0 JUMP JUMPDEST PUSH2 0xECF DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH2 0xEDC DUP2 PUSH2 0x11AF JUMP JUMPDEST PUSH2 0xEE7 DUP4 PUSH1 0x20 PUSH2 0x11C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xEF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1C59 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x840 SWAP2 PUSH1 0x4 ADD PUSH2 0x1CCE JUMP JUMPDEST PUSH2 0xF27 DUP3 PUSH2 0x76B JUMP JUMPDEST PUSH2 0xF43 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1D01 JUMP JUMPDEST DUP1 ISZERO DUP1 PUSH2 0xF5F JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206D697373696E672064657065 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x6E64656E6379 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD7 SWAP3 SWAP2 SWAP1 PUSH2 0x1D4B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1014 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 0x1019 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1086 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20756E6465726C79696E672074 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1C985B9CD858DD1A5BDB881C995D995C9D1959 PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1096 DUP2 PUSH2 0x76B JUMP JUMPDEST PUSH2 0x10B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1D01 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x10D0 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1106 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x1154 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x6B0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x11D0 DUP4 PUSH1 0x2 PUSH2 0x1D5B JUMP JUMPDEST PUSH2 0x11DB SWAP1 PUSH1 0x2 PUSH2 0x1C11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11F2 JUMPI PUSH2 0x11F2 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x121C JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1237 JUMPI PUSH2 0x1237 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1266 JUMPI PUSH2 0x1266 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x128A DUP5 PUSH1 0x2 PUSH2 0x1D5B JUMP JUMPDEST PUSH2 0x1295 SWAP1 PUSH1 0x1 PUSH2 0x1C11 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x130D JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x12C9 JUMPI PUSH2 0x12C9 PUSH2 0x1A2E JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12DF JUMPI PUSH2 0x12DF PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1306 DUP2 PUSH2 0x1D7A JUMP JUMPDEST SWAP1 POP PUSH2 0x1298 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x840 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x138A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x13DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13E4 DUP9 PUSH2 0x135C JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1412 DUP11 DUP3 DUP12 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP9 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1480 DUP8 PUSH2 0x135C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x14A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14AE DUP10 DUP3 DUP11 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP8 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0x80 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1520 JUMPI PUSH2 0x1520 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1552 JUMPI PUSH2 0x1552 PUSH2 0x14E2 JUMP JUMPDEST PUSH2 0x1565 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x14F8 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x157A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x15AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15B6 DUP6 PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH2 0x15C4 PUSH1 0x20 DUP7 ADD PUSH2 0x135C JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x15E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15F2 DUP8 DUP3 DUP9 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1621 PUSH1 0x20 DUP5 ADD PUSH2 0x135C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x163C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1653 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x168C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x16A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16AF DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16D4 DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16FA DUP13 DUP3 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP8 SWAP9 PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x173B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x175E DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1783 DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x179C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17A9 DUP12 DUP3 DUP13 ADD PUSH2 0x162A JUMP JUMPDEST SWAP10 SWAP13 SWAP9 SWAP12 POP SWAP7 SWAP10 SWAP6 SWAP9 SWAP7 SWAP8 PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x17D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x17F3 JUMPI PUSH2 0x17F3 PUSH2 0x14E2 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1802 DUP3 DUP3 ADD PUSH2 0x14F8 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x181C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x183B JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1822 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x185E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1867 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x1875 PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x189D DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18BF DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1907 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1910 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x191E PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1947 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP8 AND DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19A4 PUSH1 0xA0 DUP4 ADD DUP7 DUP9 PUSH2 0x1953 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x80 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19E1 PUSH1 0x60 DUP4 ADD DUP5 DUP7 PUSH2 0x1953 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206C656E677468206D69736D61 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0xE8C6D PUSH1 0xEB SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78A DUP3 PUSH2 0x135C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1A76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1A90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1ACF JUMPI PUSH2 0x1ACF PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP6 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP5 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x1B59 JUMPI DUP3 DUP5 SUB DUP10 MSTORE DUP2 CALLDATALOAD PUSH1 0x1E NOT DUP9 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1B11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 ADD DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1B29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP10 SGT ISZERO PUSH2 0x1B38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B45 DUP7 DUP3 DUP10 DUP6 ADD PUSH2 0x1953 JUMP JUMPDEST SWAP11 DUP8 ADD SWAP11 SWAP6 POP POP POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1AF0 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP1 DUP3 MSTORE DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 DUP10 PUSH1 0xC0 DUP4 ADD DUP3 JUMPDEST DUP12 DUP2 LT ISZERO PUSH2 0x1BA7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B92 DUP5 PUSH2 0x135C JUMP JUMPDEST AND DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1B79 JUMP JUMPDEST POP DUP4 DUP2 SUB PUSH1 0x20 DUP6 ADD MSTORE DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xFB SHL SUB DUP10 GT ISZERO PUSH2 0x1BC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x5 SHL SWAP2 POP DUP2 DUP11 PUSH1 0x20 DUP4 ADD CALLDATACOPY DUP2 DUP2 ADD SWAP2 POP POP PUSH1 0x20 DUP2 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1BF8 DUP2 DUP9 DUP11 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0x80 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C24 JUMPI PUSH2 0x1C24 PUSH2 0x1AA5 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C44 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1C2C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1C53 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x1C91 DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C29 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x1CC2 DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C29 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1CED DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1C29 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206973 PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x206E6F74207265616479 PUSH1 0xB0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1D75 JUMPI PUSH2 0x1D75 PUSH2 0x1AA5 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x1D89 JUMPI PUSH2 0x1D89 PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE POP 0xC1 0xE5 0x1F 0xCF BALANCE 0xD4 STATICCALL 0xBA 0xBC PUSH18 0xC75B9061472F69F12E91794F574E703D7D89 0xBB LOG1 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1030:13261:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7618:402;;;;;;;;;;-1:-1:-1;7618:402:26;;;;;:::i;:::-;;:::i;:::-;;4770:228;;;;;;;;;;-1:-1:-1;4770:228:26;;;;;:::i;:::-;;:::i;:::-;;;1763:14:181;;1756:22;1738:41;;1726:2;1711:18;4770:228:26;;;;;;;;1272:66;;;;;;;;;;;;1312:26;1272:66;;;;;1936:25:181;;;1924:2;1909:18;1272:66:26;1790:177:181;1116:78:26;;;;;;;;;;;;1162:32;1116:78;;10216:459;;;;;;:::i;:::-;;:::i;5580:208::-;;;;;;;;;;-1:-1:-1;5580:208:26;;;;;:::i;:::-;;:::i;13466:200::-;;;;;;;;;;-1:-1:-1;13466:200:26;;;;;:::i;:::-;-1:-1:-1;;;13466:200:26;;;;;;;;;;-1:-1:-1;;;;;;4502:33:181;;;4484:52;;4472:2;4457:18;13466:200:26;4340:202:181;4378:129:4;;;;;;;;;;-1:-1:-1;4378:129:4;;;;;:::i;:::-;4452:7;4478:12;;;;;;;;;;:22;;;;4378:129;5867:136:26;;;;;;;;;;-1:-1:-1;5867:136:26;;;;;:::i;:::-;5933:9;6249:15;;;1470:1;6249:15;;;;;;;;;5961:35;;5867:136;4803:145:4;;;;;;;;;;-1:-1:-1;4803:145:4;;;;;:::i;:::-;;:::i;5154:123:26:-;;;;;;;;;;-1:-1:-1;5154:123:26;;;;;:::i;:::-;;:::i;5912:214:4:-;;;;;;;;;;-1:-1:-1;5912:214:4;;;;;:::i;:::-;;:::i;5359:141:26:-;;;;;;;;;;-1:-1:-1;5359:141:26;;;;;:::i;:::-;;:::i;13156:236::-;;;;;;;;;;-1:-1:-1;13156:236:26;;;;;:::i;:::-;;:::i;6673:284::-;;;;;;;;;;-1:-1:-1;6673:284:26;;;;;:::i;:::-;;:::i;8274:713::-;;;;;;;;;;-1:-1:-1;8274:713:26;;;;;:::i;:::-;;:::i;1200:66::-;;;;;;;;;;;;1240:26;1200:66;;2895:145:4;;;;;;;;;;-1:-1:-1;2895:145:4;;;;;:::i;:::-;;:::i;2027:49::-;;;;;;;;;;-1:-1:-1;2027:49:4;2072:4;2027:49;;1344:68:26;;;;;;;;;;;;1385:27;1344:68;;7073:325;;;;;;;;;;-1:-1:-1;7073:325:26;;;;;:::i;:::-;;:::i;14042:247::-;;;;;;;;;;-1:-1:-1;14042:247:26;;;;;:::i;:::-;-1:-1:-1;;;14042:247:26;;;;;;;;9512:230;;;;;;;;;;-1:-1:-1;9512:230:26;;;;;:::i;:::-;;:::i;6150:121::-;;;;;;;;;;-1:-1:-1;6150:121:26;;;;;:::i;:::-;6213:17;6249:15;;;:11;:15;;;;;;;6150:121;5228:147:4;;;;;;;;;;-1:-1:-1;5228:147:4;;;;;:::i;:::-;;:::i;10935:883:26:-;;;;;;:::i;:::-;;:::i;13742:219::-;;;;;;;;;;-1:-1:-1;13742:219:26;;;;;:::i;:::-;-1:-1:-1;;;13742:219:26;;;;;;;;6457:103;;;;;;;;;;-1:-1:-1;6544:9:26;;6457:103;;7618:402;1240:26;2505:16:4;2516:4;2505:10;:16::i;:::-;7841:10:26::1;7854:53;7868:6;7876:5;7883:4;;7889:11;7902:4;7854:13;:53::i;:::-;7841:66;;7917:20;7927:2;7931:5;7917:9;:20::i;:::-;7970:1;7966:2;7952:61;7973:6;7981:5;7988:4;;7994:11;8007:5;7952:61;;;;;;;;;;;:::i;:::-;;;;;;;;7831:189;7618:402:::0;;;;;;;;:::o;4770:228::-;4879:4;-1:-1:-1;;;;;;4902:49:26;;-1:-1:-1;;;4902:49:26;;:89;;;4955:36;4979:11;4955:23;:36::i;:::-;4895:96;4770:228;-1:-1:-1;;4770:228:26:o;10216:459::-;1312:26;4473:25;4481:4;4495:1;4473:7;:25::i;:::-;4468:87;;4514:30;4525:4;719:10:138;4514::26;:30::i;:::-;10436:10:::1;10449:56;10463:6;10471:5;10478:7;;10487:11;10500:4;10449:13;:56::i;:::-;10436:69;;10516:28;10528:2;10532:11;10516;:28::i;:::-;10554:32;10563:6;10571:5;10578:7;;10554:8;:32::i;:::-;10618:1;10614:2;10601:43;10621:6;10629:5;10636:7;;10601:43;;;;;;;;;:::i;:::-;;;;;;;;10654:14;10665:2;10654:10;:14::i;:::-;10426:249;10216:459:::0;;;;;;;:::o;5580:208::-;5647:10;6249:15;;;:11;:15;;;;;;1470:1;5722:9;:27;:59;;;;;5766:15;5753:9;:28;;5722:59;5715:66;5580:208;-1:-1:-1;;;5580:208:26:o;4803:145:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4916:25:::1;4927:4;4933:7;4916:10;:25::i;:::-;4803:145:::0;;;:::o;5154:123:26:-;5216:15;6249;;;:11;:15;;;;;;5216;;5250:16;:20;;5154:123;-1:-1:-1;;5154:123:26:o;5912:214:4:-;-1:-1:-1;;;;;6007:23:4;;719:10:138;6007:23:4;5999:83;;;;-1:-1:-1;;;5999:83:4;;11826:2:181;5999:83:4;;;11808:21:181;11865:2;11845:18;;;11838:30;11904:34;11884:18;;;11877:62;-1:-1:-1;;;11955:18:181;;;11948:45;12010:19;;5999:83:4;;;;;;;;;6093:26;6105:4;6111:7;6093:11;:26::i;:::-;5912:214;;:::o;5359:141:26:-;5428:12;6249:15;;;1470:1;6249:15;;;;;;;;5459:16;6150:121;13156:236;13230:10;13252:4;13230:27;13222:83;;;;-1:-1:-1;;;13222:83:26;;12242:2:181;13222:83:26;;;12224:21:181;12281:2;12261:18;;;12254:30;12320:34;12300:18;;;12293:62;-1:-1:-1;;;12371:18:181;;;12364:41;12422:19;;13222:83:26;12040:407:181;13222:83:26;13335:9;;13320:35;;;12626:25:181;;;12682:2;12667:18;;12660:34;;;13320:35:26;;12599:18:181;13320:35:26;;;;;;;13365:9;:20;13156:236::o;6673:284::-;6858:12;6910:6;6918:5;6925:4;;6931:11;6944:4;6899:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6889:61;;;;;;6882:68;;6673:284;;;;;;;;:::o;8274:713::-;1240:26;2505:16:4;2516:4;2505:10;:16::i;:::-;8540:31:26;;::::1;8532:79;;;;-1:-1:-1::0;;;8532:79:26::1;;;;;;;:::i;:::-;8629:33:::0;;::::1;8621:81;;;;-1:-1:-1::0;;;8621:81:26::1;;;;;;;:::i;:::-;8713:10;8726:64;8745:7;;8754:6;;8762:8;;8772:11;8785:4;8726:18;:64::i;:::-;8713:77;;8800:20;8810:2;8814:5;8800:9;:20::i;:::-;8835:9;8830:151;8850:18:::0;;::::1;8830:151;;;8912:1;8908:2;8894:76;8915:7;;8923:1;8915:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8927:6;;8934:1;8927:9;;;;;;;:::i;:::-;;;;;;;8938:8;;8947:1;8938:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;8951;8964:5;8894:76;;;;;;;;;;;:::i;:::-;;;;;;;;8870:3;::::0;::::1;:::i;:::-;;;8830:151;;;;8522:465;8274:713:::0;;;;;;;;;;:::o;2895:145:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;;;;2895:145::o;7073:325:26:-;7293:12;7345:7;;7354:6;;7362:8;;7372:11;7385:4;7334:56;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7324:67;;;;;;7317:74;;7073:325;;;;;;;;;;:::o;9512:230::-;1385:27;2505:16:4;2516:4;2505:10;:16::i;:::-;9598:22:26::1;9617:2;9598:18;:22::i;:::-;9590:84;;;::::0;-1:-1:-1;;;9590:84:26;;17470:2:181;9590:84:26::1;::::0;::::1;17452:21:181::0;17509:2;17489:18;;;17482:30;17548:34;17528:18;;;17521:62;-1:-1:-1;;;17599:18:181;;;17592:47;17656:19;;9590:84:26::1;17268:413:181::0;9590:84:26::1;9691:15;::::0;;;:11:::1;:15;::::0;;;;;9684:22;;;9722:13;9703:2;;9722:13:::1;::::0;::::1;9512:230:::0;;:::o;5228:147:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5342:26:::1;5354:4;5360:7;5342:11;:26::i;10935:883:26:-:0;1312:26;4473:25;4481:4;4495:1;4473:7;:25::i;:::-;4468:87;;4514:30;4525:4;719:10:138;4514::26;:30::i;:::-;11195:31;;::::1;11187:79;;;;-1:-1:-1::0;;;11187:79:26::1;;;;;;;:::i;:::-;11284:33:::0;;::::1;11276:81;;;;-1:-1:-1::0;;;11276:81:26::1;;;;;;;:::i;:::-;11368:10;11381:64;11400:7;;11409:6;;11417:8;;11427:11;11440:4;11381:18;:64::i;:::-;11368:77;;11456:28;11468:2;11472:11;11456;:28::i;:::-;11499:9;11494:294;11514:18:::0;;::::1;11494:294;;;11553:14;11570:7;;11578:1;11570:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11553:27;;11594:13;11610:6;;11617:1;11610:9;;;;;;;:::i;:::-;;;;;;;11594:25;;11633:22;;11658:8;;11667:1;11658:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11633:36;;;;11683:32;11692:6;11700:5;11707:7;;11683:8;:32::i;:::-;11751:1;11747:2;11734:43;11754:6;11762:5;11769:7;;11734:43;;;;;;;;;:::i;:::-;;;;;;;;11539:249;;;;11534:3;;;;:::i;:::-;;;11494:294;;;;11797:14;11808:2;11797:10;:14::i;:::-;11177:641;10935:883:::0;;;;;;;;;:::o;3334:103:4:-;3400:30;3411:4;719:10:138;4514::26;:30::i;3400::4:-;3334:103;:::o;9089:281:26:-;9162:15;9174:2;9162:11;:15::i;:::-;9161:16;9153:76;;;;-1:-1:-1;;;9153:76:26;;17888:2:181;9153:76:26;;;17870:21:181;17927:2;17907:18;;;17900:30;17966:34;17946:18;;;17939:62;-1:-1:-1;;;18017:18:181;;;18010:45;18072:19;;9153:76:26;17686:411:181;9153:76:26;6544:9;;9247:5;:22;;9239:73;;;;-1:-1:-1;;;9239:73:26;;18304:2:181;9239:73:26;;;18286:21:181;18343:2;18323:18;;;18316:30;18382:34;18362:18;;;18355:62;-1:-1:-1;;;18433:18:181;;;18426:36;18479:19;;9239:73:26;18102:402:181;9239:73:26;9340:23;9358:5;9340:15;:23;:::i;:::-;9322:15;;;;:11;:15;;;;;;:41;;;;-1:-1:-1;9089:281:26:o;2606:202:4:-;2691:4;-1:-1:-1;;;;;;2714:47:4;;-1:-1:-1;;;2714:47:4;;:87;;-1:-1:-1;;;;;;;;;;937:40:153;;;2765:36:4;829:155:153;3718:479:4;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:390;;3989:28;4009:7;3989:19;:28::i;:::-;4088:38;4116:4;4123:2;4088:19;:38::i;:::-;3896:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:252:4;;;;;;;;;;-1:-1:-1;;;3844:336:4;;;;;;;:::i;12229:277:26:-;12314:20;12331:2;12314:16;:20::i;:::-;12306:75;;;;-1:-1:-1;;;12306:75:26;;;;;;;:::i;:::-;12399:25;;;:57;;-1:-1:-1;5933:9:26;6249:15;;;1470:1;6249:15;;;;;;;;;5961:35;12428:28;12391:108;;;;-1:-1:-1;;;12391:108:26;;20697:2:181;12391:108:26;;;20679:21:181;20736:2;20716:18;;;20709:30;20775:34;20755:18;;;20748:62;-1:-1:-1;;;20826:18:181;;;20819:36;20872:19;;12391:108:26;20495:402:181;11881:265:26;12009:12;12027:6;-1:-1:-1;;;;;12027:11:26;12046:5;12053:4;;12027:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12008:50;;;12076:7;12068:71;;;;-1:-1:-1;;;12068:71:26;;21380:2:181;12068:71:26;;;21362:21:181;21419:2;21399:18;;;21392:30;21458:34;21438:18;;;21431:62;-1:-1:-1;;;21509:18:181;;;21502:49;21568:19;;12068:71:26;21178:415:181;12068:71:26;11998:148;11881:265;;;;:::o;12588:175::-;12646:20;12663:2;12646:16;:20::i;:::-;12638:75;;;;-1:-1:-1;;;12638:75:26;;;;;;;:::i;:::-;12723:15;;;;1470:1;12723:15;;;;;;;;:33;12588:175::o;7461:233:4:-;7544:22;7552:4;7558:7;7544;:22::i;:::-;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;7865:234::-;7948:22;7956:4;7962:7;7948;:22::i;:::-;7944:149;;;8018:5;7986:12;;;;;;;;;;;-1:-1:-1;;;;;7986:29:4;;;;;;;;;;:37;;-1:-1:-1;;7986:37:4;;;8042:40;719:10:138;;7986:12:4;;8042:40;;8018:5;8042:40;7865:234;;:::o;2102:149:143:-;2160:13;2192:52;-1:-1:-1;;;;;2204:22:143;;311:2;1513:437;1588:13;1613:19;1645:10;1649:6;1645:1;:10;:::i;:::-;:14;;1658:1;1645:14;:::i;:::-;-1:-1:-1;;;;;1635:25:143;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1635:25:143;;1613:47;;-1:-1:-1;;;1670:6:143;1677:1;1670:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1670:15:143;;;;;;;;;-1:-1:-1;;;1695:6:143;1702:1;1695:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1695:15:143;;;;;;;;-1:-1:-1;1725:9:143;1737:10;1741:6;1737:1;:10;:::i;:::-;:14;;1750:1;1737:14;:::i;:::-;1725:26;;1720:128;1757:1;1753;:5;1720:128;;;-1:-1:-1;;;1800:5:143;1808:3;1800:11;1791:21;;;;;;;:::i;:::-;;;;1779:6;1786:1;1779:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;1779:33:143;;;;;;;;-1:-1:-1;1836:1:143;1826:11;;;;;1760:3;;;:::i;:::-;;;1720:128;;;-1:-1:-1;1865:10:143;;1857:55;;;;-1:-1:-1;;;1857:55:143;;22114:2:181;1857:55:143;;;22096:21:181;;;22133:18;;;22126:30;22192:34;22172:18;;;22165:62;22244:18;;1857:55:143;21912:356:181;14:173;82:20;;-1:-1:-1;;;;;131:31:181;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:347::-;243:8;253:6;307:3;300:4;292:6;288:17;284:27;274:55;;325:1;322;315:12;274:55;-1:-1:-1;348:20:181;;-1:-1:-1;;;;;380:30:181;;377:50;;;423:1;420;413:12;377:50;460:4;452:6;448:17;436:29;;512:3;505:4;496:6;488;484:19;480:30;477:39;474:59;;;529:1;526;519:12;474:59;192:347;;;;;:::o;544:758::-;659:6;667;675;683;691;699;707;760:3;748:9;739:7;735:23;731:33;728:53;;;777:1;774;767:12;728:53;800:29;819:9;800:29;:::i;:::-;790:39;;876:2;865:9;861:18;848:32;838:42;;931:2;920:9;916:18;903:32;-1:-1:-1;;;;;950:6:181;947:30;944:50;;;990:1;987;980:12;944:50;1029:58;1079:7;1070:6;1059:9;1055:22;1029:58;:::i;:::-;544:758;;;;-1:-1:-1;1106:8:181;1188:2;1173:18;;1160:32;;1239:3;1224:19;;1211:33;;-1:-1:-1;1291:3:181;1276:19;;;1263:33;;-1:-1:-1;544:758:181;-1:-1:-1;;;;544:758:181:o;1307:286::-;1365:6;1418:2;1406:9;1397:7;1393:23;1389:32;1386:52;;;1434:1;1431;1424:12;1386:52;1460:23;;-1:-1:-1;;;;;;1512:32:181;;1502:43;;1492:71;;1559:1;1556;1549:12;1972:689;2078:6;2086;2094;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2211:29;2230:9;2211:29;:::i;:::-;2201:39;;2287:2;2276:9;2272:18;2259:32;2249:42;;2342:2;2331:9;2327:18;2314:32;-1:-1:-1;;;;;2361:6:181;2358:30;2355:50;;;2401:1;2398;2391:12;2355:50;2440:58;2490:7;2481:6;2470:9;2466:22;2440:58;:::i;:::-;1972:689;;;;-1:-1:-1;2517:8:181;2599:2;2584:18;;2571:32;;2650:3;2635:19;;;2622:33;;-1:-1:-1;1972:689:181;-1:-1:-1;;;;1972:689:181:o;2666:180::-;2725:6;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;-1:-1:-1;2817:23:181;;2666:180;-1:-1:-1;2666:180:181:o;2851:127::-;2912:10;2907:3;2903:20;2900:1;2893:31;2943:4;2940:1;2933:15;2967:4;2964:1;2957:15;2983:275;3054:2;3048:9;3119:2;3100:13;;-1:-1:-1;;3096:27:181;3084:40;;-1:-1:-1;;;;;3139:34:181;;3175:22;;;3136:62;3133:88;;;3201:18;;:::i;:::-;3237:2;3230:22;2983:275;;-1:-1:-1;2983:275:181:o;3263:530::-;3305:5;3358:3;3351:4;3343:6;3339:17;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3412:6;3399:20;-1:-1:-1;;;;;3434:2:181;3431:26;3428:52;;;3460:18;;:::i;:::-;3504:55;3547:2;3528:13;;-1:-1:-1;;3524:27:181;3553:4;3520:38;3504:55;:::i;:::-;3584:2;3575:7;3568:19;3630:3;3623:4;3618:2;3610:6;3606:15;3602:26;3599:35;3596:55;;;3647:1;3644;3637:12;3596:55;3712:2;3705:4;3697:6;3693:17;3686:4;3677:7;3673:18;3660:55;3760:1;3735:16;;;3753:4;3731:27;3724:38;;;;3739:7;3263:530;-1:-1:-1;;;3263:530:181:o;3798:537::-;3893:6;3901;3909;3917;3970:3;3958:9;3949:7;3945:23;3941:33;3938:53;;;3987:1;3984;3977:12;3938:53;4010:29;4029:9;4010:29;:::i;:::-;4000:39;;4058:38;4092:2;4081:9;4077:18;4058:38;:::i;:::-;4048:48;;4143:2;4132:9;4128:18;4115:32;4105:42;;4198:2;4187:9;4183:18;4170:32;-1:-1:-1;;;;;4217:6:181;4214:30;4211:50;;;4257:1;4254;4247:12;4211:50;4280:49;4321:7;4312:6;4301:9;4297:22;4280:49;:::i;:::-;4270:59;;;3798:537;;;;;;;:::o;4547:254::-;4615:6;4623;4676:2;4664:9;4655:7;4651:23;4647:32;4644:52;;;4692:1;4689;4682:12;4644:52;4728:9;4715:23;4705:33;;4757:38;4791:2;4780:9;4776:18;4757:38;:::i;:::-;4747:48;;4547:254;;;;;:::o;4991:367::-;5054:8;5064:6;5118:3;5111:4;5103:6;5099:17;5095:27;5085:55;;5136:1;5133;5126:12;5085:55;-1:-1:-1;5159:20:181;;-1:-1:-1;;;;;5191:30:181;;5188:50;;;5234:1;5231;5224:12;5188:50;5271:4;5263:6;5259:17;5247:29;;5331:3;5324:4;5314:6;5311:1;5307:14;5299:6;5295:27;5291:38;5288:47;5285:67;;;5348:1;5345;5338:12;5363:1306;5559:6;5567;5575;5583;5591;5599;5607;5615;5623;5676:3;5664:9;5655:7;5651:23;5647:33;5644:53;;;5693:1;5690;5683:12;5644:53;5733:9;5720:23;-1:-1:-1;;;;;5803:2:181;5795:6;5792:14;5789:34;;;5819:1;5816;5809:12;5789:34;5858:70;5920:7;5911:6;5900:9;5896:22;5858:70;:::i;:::-;5947:8;;-1:-1:-1;5832:96:181;-1:-1:-1;6035:2:181;6020:18;;6007:32;;-1:-1:-1;6051:16:181;;;6048:36;;;6080:1;6077;6070:12;6048:36;6119:72;6183:7;6172:8;6161:9;6157:24;6119:72;:::i;:::-;6210:8;;-1:-1:-1;6093:98:181;-1:-1:-1;6298:2:181;6283:18;;6270:32;;-1:-1:-1;6314:16:181;;;6311:36;;;6343:1;6340;6333:12;6311:36;;6382:72;6446:7;6435:8;6424:9;6420:24;6382:72;:::i;:::-;5363:1306;;;;-1:-1:-1;5363:1306:181;;;;6473:8;;6555:2;6540:18;;6527:32;;6606:3;6591:19;;6578:33;;-1:-1:-1;6658:3:181;6643:19;6630:33;;-1:-1:-1;5363:1306:181;-1:-1:-1;;;;5363:1306:181:o;6674:1237::-;6861:6;6869;6877;6885;6893;6901;6909;6917;6970:3;6958:9;6949:7;6945:23;6941:33;6938:53;;;6987:1;6984;6977:12;6938:53;7027:9;7014:23;-1:-1:-1;;;;;7097:2:181;7089:6;7086:14;7083:34;;;7113:1;7110;7103:12;7083:34;7152:70;7214:7;7205:6;7194:9;7190:22;7152:70;:::i;:::-;7241:8;;-1:-1:-1;7126:96:181;-1:-1:-1;7329:2:181;7314:18;;7301:32;;-1:-1:-1;7345:16:181;;;7342:36;;;7374:1;7371;7364:12;7342:36;7413:72;7477:7;7466:8;7455:9;7451:24;7413:72;:::i;:::-;7504:8;;-1:-1:-1;7387:98:181;-1:-1:-1;7592:2:181;7577:18;;7564:32;;-1:-1:-1;7608:16:181;;;7605:36;;;7637:1;7634;7627:12;7605:36;;7676:72;7740:7;7729:8;7718:9;7714:24;7676:72;:::i;:::-;6674:1237;;;;-1:-1:-1;6674:1237:181;;;;7767:8;;7849:2;7834:18;;7821:32;;7900:3;7885:19;7872:33;;-1:-1:-1;6674:1237:181;-1:-1:-1;;;;6674:1237:181:o;7916:712::-;7970:5;8023:3;8016:4;8008:6;8004:17;8000:27;7990:55;;8041:1;8038;8031:12;7990:55;8077:6;8064:20;8103:4;-1:-1:-1;;;;;8122:2:181;8119:26;8116:52;;;8148:18;;:::i;:::-;8194:2;8191:1;8187:10;8217:28;8241:2;8237;8233:11;8217:28;:::i;:::-;8279:15;;;8349;;;8345:24;;;8310:12;;;;8381:15;;;8378:35;;;8409:1;8406;8399:12;8378:35;8445:2;8437:6;8433:15;8422:26;;8457:142;8473:6;8468:3;8465:15;8457:142;;;8539:17;;8527:30;;8490:12;;;;8577;;;;8457:142;;;8617:5;7916:712;-1:-1:-1;;;;;;;7916:712:181:o;8633:943::-;8787:6;8795;8803;8811;8819;8872:3;8860:9;8851:7;8847:23;8843:33;8840:53;;;8889:1;8886;8879:12;8840:53;8912:29;8931:9;8912:29;:::i;:::-;8902:39;;8960:38;8994:2;8983:9;8979:18;8960:38;:::i;:::-;8950:48;;9049:2;9038:9;9034:18;9021:32;-1:-1:-1;;;;;9113:2:181;9105:6;9102:14;9099:34;;;9129:1;9126;9119:12;9099:34;9152:61;9205:7;9196:6;9185:9;9181:22;9152:61;:::i;:::-;9142:71;;9266:2;9255:9;9251:18;9238:32;9222:48;;9295:2;9285:8;9282:16;9279:36;;;9311:1;9308;9301:12;9279:36;9334:63;9389:7;9378:8;9367:9;9363:24;9334:63;:::i;:::-;9324:73;;9450:3;9439:9;9435:19;9422:33;9406:49;;9480:2;9470:8;9467:16;9464:36;;;9496:1;9493;9486:12;9464:36;;9519:51;9562:7;9551:8;9540:9;9536:24;9519:51;:::i;:::-;9509:61;;;8633:943;;;;;;;;:::o;9763:606::-;9867:6;9875;9883;9891;9899;9952:3;9940:9;9931:7;9927:23;9923:33;9920:53;;;9969:1;9966;9959:12;9920:53;9992:29;10011:9;9992:29;:::i;:::-;9982:39;;10040:38;10074:2;10063:9;10059:18;10040:38;:::i;:::-;10030:48;;10125:2;10114:9;10110:18;10097:32;10087:42;;10176:2;10165:9;10161:18;10148:32;10138:42;;10231:3;10220:9;10216:19;10203:33;-1:-1:-1;;;;;10251:6:181;10248:30;10245:50;;;10291:1;10288;10281:12;10245:50;10314:49;10355:7;10346:6;10335:9;10331:22;10314:49;:::i;10374:266::-;10462:6;10457:3;10450:19;10514:6;10507:5;10500:4;10495:3;10491:14;10478:43;-1:-1:-1;10566:1:181;10541:16;;;10559:4;10537:27;;;10530:38;;;;10622:2;10601:15;;;-1:-1:-1;;10597:29:181;10588:39;;;10584:50;;10374:266::o;10645:557::-;10943:1;10939;10934:3;10930:11;10926:19;10918:6;10914:32;10903:9;10896:51;10983:6;10978:2;10967:9;10963:18;10956:34;11026:3;11021:2;11010:9;11006:18;10999:31;10877:4;11047:62;11104:3;11093:9;11089:19;11081:6;11073;11047:62;:::i;:::-;11140:2;11125:18;;11118:34;;;;-1:-1:-1;11183:3:181;11168:19;11161:35;11039:70;10645:557;-1:-1:-1;;;;10645:557:181:o;11207:412::-;11449:1;11445;11440:3;11436:11;11432:19;11424:6;11420:32;11409:9;11402:51;11489:6;11484:2;11473:9;11469:18;11462:34;11532:2;11527;11516:9;11512:18;11505:30;11383:4;11552:61;11609:2;11598:9;11594:18;11586:6;11578;11552:61;:::i;:::-;11544:69;11207:412;-1:-1:-1;;;;;;11207:412:181:o;13267:399::-;13469:2;13451:21;;;13508:2;13488:18;;;13481:30;13547:34;13542:2;13527:18;;13520:62;-1:-1:-1;;;13613:2:181;13598:18;;13591:33;13656:3;13641:19;;13267:399::o;13671:127::-;13732:10;13727:3;13723:20;13720:1;13713:31;13763:4;13760:1;13753:15;13787:4;13784:1;13777:15;13803:186;13862:6;13915:2;13903:9;13894:7;13890:23;13886:32;13883:52;;;13931:1;13928;13921:12;13883:52;13954:29;13973:9;13954:29;:::i;13994:521::-;14071:4;14077:6;14137:11;14124:25;14231:2;14227:7;14216:8;14200:14;14196:29;14192:43;14172:18;14168:68;14158:96;;14250:1;14247;14240:12;14158:96;14277:33;;14329:20;;;-1:-1:-1;;;;;;14361:30:181;;14358:50;;;14404:1;14401;14394:12;14358:50;14437:4;14425:17;;-1:-1:-1;14468:14:181;14464:27;;;14454:38;;14451:58;;;14505:1;14502;14495:12;14520:127;14581:10;14576:3;14572:20;14569:1;14562:31;14612:4;14609:1;14602:15;14636:4;14633:1;14626:15;14652:135;14691:3;-1:-1:-1;;14712:17:181;;14709:43;;;14732:18;;:::i;:::-;-1:-1:-1;14779:1:181;14768:13;;14652:135::o;14792:1030::-;14899:6;14894:3;14887:19;14869:3;14925:4;14966:2;14961:3;14957:12;14991:11;15018;15011:18;;15068:6;15065:1;15061:14;15054:5;15050:26;15038:38;;15099:5;15122:1;15132:664;15146:6;15143:1;15140:13;15132:664;;;15217:5;15211:4;15207:16;15202:3;15195:29;15276:6;15263:20;15366:2;15362:7;15354:5;15338:14;15334:26;15330:40;15310:18;15306:65;15296:93;;15385:1;15382;15375:12;15296:93;15417:30;;15476:21;;-1:-1:-1;;;;;15513:32:181;;15510:52;;;15558:1;15555;15548:12;15510:52;15609:8;15593:14;15589:29;15582:5;15578:41;15575:61;;;15632:1;15629;15622:12;15575:61;15657:59;15711:4;15701:8;15696:2;15687:7;15683:16;15657:59;:::i;:::-;15774:12;;;;15649:67;-1:-1:-1;;;15739:15:181;;;;15168:1;15161:9;15132:664;;;-1:-1:-1;15812:4:181;;14792:1030;-1:-1:-1;;;;;;;14792:1030:181:o;15827:1436::-;16279:3;16292:22;;;16264:19;;16349:22;;;16231:4;16429:6;16402:3;16387:19;;16231:4;16463:235;16477:6;16474:1;16471:13;16463:235;;;-1:-1:-1;;;;;16542:26:181;16561:6;16542:26;:::i;:::-;16538:52;16526:65;;16614:4;16673:15;;;;16638:12;;;;16499:1;16492:9;16463:235;;;-1:-1:-1;16736:19:181;;;16729:4;16714:20;;16707:49;16765:19;;;-1:-1:-1;;;;;16796:31:181;;16793:51;;;16840:1;16837;16830:12;16793:51;16874:6;16871:1;16867:14;16853:28;;16927:6;16919;16912:4;16907:3;16903:14;16890:44;16962:6;16957:3;16953:16;16943:26;;;16996:4;16992:2;16988:13;17021:1;17017:2;17010:13;17083:4;17071:9;17067:2;17063:18;17059:29;17054:2;17043:9;17039:18;17032:57;17106:64;17167:2;17159:6;17151;17106:64;:::i;:::-;17201:2;17186:18;;17179:34;;;;-1:-1:-1;;;17244:3:181;17229:19;17222:35;17098:72;15827:1436;-1:-1:-1;;;;;;15827:1436:181:o;18509:128::-;18549:3;18580:1;18576:6;18573:1;18570:13;18567:39;;;18586:18;;:::i;:::-;-1:-1:-1;18622:9:181;;18509:128::o;18642:258::-;18714:1;18724:113;18738:6;18735:1;18732:13;18724:113;;;18814:11;;;18808:18;18795:11;;;18788:39;18760:2;18753:10;18724:113;;;18855:6;18852:1;18849:13;18846:48;;;18890:1;18881:6;18876:3;18872:16;18865:27;18846:48;;18642:258;;;:::o;18905:786::-;19316:25;19311:3;19304:38;19286:3;19371:6;19365:13;19387:62;19442:6;19437:2;19432:3;19428:12;19421:4;19413:6;19409:17;19387:62;:::i;:::-;-1:-1:-1;;;19508:2:181;19468:16;;;19500:11;;;19493:40;19558:13;;19580:63;19558:13;19629:2;19621:11;;19614:4;19602:17;;19580:63;:::i;:::-;19663:17;19682:2;19659:26;;18905:786;-1:-1:-1;;;;18905:786:181:o;19696:383::-;19845:2;19834:9;19827:21;19808:4;19877:6;19871:13;19920:6;19915:2;19904:9;19900:18;19893:34;19936:66;19995:6;19990:2;19979:9;19975:18;19970:2;19962:6;19958:15;19936:66;:::i;:::-;20063:2;20042:15;-1:-1:-1;;20038:29:181;20023:45;;;;20070:2;20019:54;;19696:383;-1:-1:-1;;19696:383:181:o;20084:406::-;20286:2;20268:21;;;20325:2;20305:18;;;20298:30;20364:34;20359:2;20344:18;;20337:62;-1:-1:-1;;;20430:2:181;20415:18;;20408:40;20480:3;20465:19;;20084:406::o;20902:271::-;21085:6;21077;21072:3;21059:33;21041:3;21111:16;;21136:13;;;21111:16;20902:271;-1:-1:-1;20902:271:181:o;21598:168::-;21638:7;21704:1;21700;21696:6;21692:14;21689:1;21686:21;21681:1;21674:9;21667:17;21663:45;21660:71;;;21711:18;;:::i;:::-;-1:-1:-1;21751:9:181;;21598:168::o;21771:136::-;21810:3;21838:5;21828:39;;21847:18;;:::i;:::-;-1:-1:-1;;;21883:18:181;;21771:136::o"},"methodIdentifiers":{"CANCELLER_ROLE()":"b08e51c0","DEFAULT_ADMIN_ROLE()":"a217fddf","EXECUTOR_ROLE()":"07bd0265","PROPOSER_ROLE()":"8f61f4f5","TIMELOCK_ADMIN_ROLE()":"0d3cf6fc","cancel(bytes32)":"c4d252f5","execute(address,uint256,bytes,bytes32,bytes32)":"134008d3","executeBatch(address[],uint256[],bytes[],bytes32,bytes32)":"e38335e5","getMinDelay()":"f27a0c92","getRoleAdmin(bytes32)":"248a9ca3","getTimestamp(bytes32)":"d45c4435","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hashOperation(address,uint256,bytes,bytes32,bytes32)":"8065657f","hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)":"b1c5f427","isOperation(bytes32)":"31d50750","isOperationDone(bytes32)":"2ab0f529","isOperationPending(bytes32)":"584b153e","isOperationReady(bytes32)":"13bc9f20","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","schedule(address,uint256,bytes,bytes32,bytes32,uint256)":"01d5062a","scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)":"8f2a0bb0","supportsInterface(bytes4)":"01ffc9a7","updateDelay(uint256)":"64d62353"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minDelay\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"proposers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"executors\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"CallExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"CallScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Cancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"MinDelayChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CANCELLER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMELOCK_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperationBatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"registered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationDone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"done\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"pending\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationReady\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ready\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"schedule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"scheduleBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDelay\",\"type\":\"uint256\"}],\"name\":\"updateDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Contract module which acts as a timelocked controller. When set as the owner of an `Ownable` smart contract, it enforces a timelock on all `onlyOwner` maintenance operations. This gives time for users of the controlled contract to exit before a potentially dangerous maintenance operation is applied. By default, this contract is self administered, meaning administration tasks have to go through the timelock process. The proposer (resp executor) role is in charge of proposing (resp executing) operations. A common use case is to position this {TimelockController} as the owner of a smart contract, with a multisig or a DAO as the sole proposer. _Available since v3.3._\",\"events\":{\"CallExecuted(bytes32,uint256,address,uint256,bytes)\":{\"details\":\"Emitted when a call is performed as part of operation `id`.\"},\"CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)\":{\"details\":\"Emitted when a call is scheduled as part of operation `id`.\"},\"Cancelled(bytes32)\":{\"details\":\"Emitted when operation `id` is cancelled.\"},\"MinDelayChange(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay for future operations is modified.\"}},\"kind\":\"dev\",\"methods\":{\"cancel(bytes32)\":{\"details\":\"Cancel an operation. Requirements: - the caller must have the 'canceller' role.\"},\"constructor\":{\"details\":\"Initializes the contract with the following parameters: - `minDelay`: initial minimum delay for operations - `proposers`: accounts to be granted proposer and canceller roles - `executors`: accounts to be granted executor role - `admin`: optional account to be granted admin role; disable with zero address IMPORTANT: The optional admin can aid with initial configuration of roles after deployment without being subject to delay, but this role should be subsequently renounced in favor of administration through timelocked proposals. Previous versions of this contract would assign this admin to the deployer automatically and should be renounced as well.\"},\"execute(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role.\"},\"executeBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role.\"},\"getMinDelay()\":{\"details\":\"Returns the minimum delay for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTimestamp(bytes32)\":{\"details\":\"Returns the timestamp at with an operation becomes ready (0 for unset operations, 1 for done operations).\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"hashOperation(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a single transaction.\"},\"hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a batch of transactions.\"},\"isOperation(bytes32)\":{\"details\":\"Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations.\"},\"isOperationDone(bytes32)\":{\"details\":\"Returns whether an operation is done or not.\"},\"isOperationPending(bytes32)\":{\"details\":\"Returns whether an operation is pending or not.\"},\"isOperationReady(bytes32)\":{\"details\":\"Returns whether an operation is ready or not.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"schedule(address,uint256,bytes,bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a single transaction. Emits a {CallScheduled} event. Requirements: - the caller must have the 'proposer' role.\"},\"scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a batch of transactions. Emits one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateDelay(uint256)\":{\"details\":\"Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/TimelockController.sol\":\"TimelockController\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/governance/TimelockController.sol\":{\"keccak256\":\"0xf3ffa69c5f7c9ebb35775be2f3b27389550a102f0e1cdfff99a54663c7b162ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f4294b5223d7823b86c0bd92516cca895f800b8db605df60d088ed89a05fede\",\"dweb:/ipfs/QmRfMZ9JYTuKYFrmkn4C3CQLnd7GxLKswBxJwpYB6HDEvD\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol":{"GovernorCompatibilityBravo":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getActions","outputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReceipt","outputs":[{"components":[{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint96","name":"votes","type":"uint96"}],"internalType":"struct IGovernorCompatibilityBravo.Receipt","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"},{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"executed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","cancel(uint256)":"40e58ee5","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","execute(uint256)":"fe0d94c1","getActions(uint256)":"328dd982","getReceipt(uint256,address)":"e23a9a52","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalEta(uint256)":"ab58fb8e","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","proposals(uint256)":"013cf08b","propose(address[],uint256[],bytes[],string)":"7d5e81e2","propose(address[],uint256[],string[],bytes[],string)":"da95691a","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","queue(uint256)":"ddf0b009","quorum(uint256)":"f8ce560a","quorumVotes()":"24bc1a64","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getActions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getReceipt\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"hasVoted\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"votes\",\"type\":\"uint96\"}],\"internalType\":\"struct IGovernorCompatibilityBravo.Receipt\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"queue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Compatibility layer that implements GovernorBravo compatibility on to of {Governor}. This compatibility layer includes a voting system and requires a {IGovernorTimelock} compatible module to be added through inheritance. It does not include token bindings, not does it include any variable upgrade patterns. NOTE: When using this module, you may need to enable the Solidity optimizer to avoid hitting the contract size limit. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"cancel(uint256)\":{\"details\":\"Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"execute(uint256)\":{\"details\":\"See {IGovernorCompatibilityBravo-execute}.\"},\"getActions(uint256)\":{\"details\":\"See {IGovernorCompatibilityBravo-getActions}.\"},\"getReceipt(uint256,address)\":{\"details\":\"See {IGovernorCompatibilityBravo-getReceipt}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"See {IGovernor-hasVoted}.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"proposals(uint256)\":{\"details\":\"See {IGovernorCompatibilityBravo-proposals}.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"propose(address[],uint256[],string[],bytes[],string)\":{\"details\":\"See {IGovernorCompatibilityBravo-propose}.\"},\"queue(uint256)\":{\"details\":\"See {IGovernorCompatibilityBravo-queue}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"quorumVotes()\":{\"details\":\"See {IGovernorCompatibilityBravo-quorumVotes}.\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol\":\"GovernorCompatibilityBravo\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol\":{\"keccak256\":\"0x1d0669727d5a3a494c488154ec134c678b3656a19ba8d7a266633805762e2c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d18815c767686eda97ac79c702fcd8b41446ee7294b8914b58b17d188215e7ef\",\"dweb:/ipfs/QmaYySjLUymDLECXDPysobBXD9nVN2EnovGGrXKwY8YgFw\"]},\"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol\":{\"keccak256\":\"0xdea65ff0ab861d22fd79938e8c101243c073e20b4842cb80809d5ff8fd4fa605\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bae74fe80dd57f46765355849a82ffd1ebc3e95516943d2b60271bcbb678d3e\",\"dweb:/ipfs/QmSVin53Fot6tF6iSb2Vx3mrFEMZ3WPKjzyvgL1vVwyX8y\"]},\"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol\":{\"keccak256\":\"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614\",\"dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol":{"IGovernorCompatibilityBravo":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getActions","outputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReceipt","outputs":[{"components":[{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint96","name":"votes","type":"uint96"}],"internalType":"struct IGovernorCompatibilityBravo.Receipt","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"},{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"executed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"COUNTING_MODE()":"dd4e2ba5","cancel(uint256)":"40e58ee5","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","execute(uint256)":"fe0d94c1","getActions(uint256)":"328dd982","getReceipt(uint256,address)":"e23a9a52","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposals(uint256)":"013cf08b","propose(address[],uint256[],bytes[],string)":"7d5e81e2","propose(address[],uint256[],string[],bytes[],string)":"da95691a","queue(uint256)":"ddf0b009","quorum(uint256)":"f8ce560a","quorumVotes()":"24bc1a64","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getActions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getReceipt\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"hasVoted\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"votes\",\"type\":\"uint96\"}],\"internalType\":\"struct IGovernorCompatibilityBravo.Receipt\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"queue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface extension that adds missing functions to the {Governor} core to provide `GovernorBravo` compatibility. _Available since v4.3._\",\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"cancel(uint256)\":{\"details\":\"Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold.\"},\"castVote(uint256,uint8)\":{\"details\":\"Cast a vote Emits a {VoteCast} event.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote using the user's cryptographic signature. Emits a {VoteCast} event.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"Cast a vote with a reason Emits a {VoteCast} event.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature. Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalExecuted} event. Note: some module can modify the requirements for execution, for example by adding an additional timelock.\"},\"execute(uint256)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"Executes a queued proposal if eta has passed\\\"_.\"},\"getActions(uint256)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"Gets actions of a proposal\\\"_.\"},\"getReceipt(uint256,address)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"Gets the receipt for a voter on a given proposal\\\"_.\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Hashing function used to (re)build the proposal id from the proposal details..\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"proposalDeadline(uint256)\":{\"details\":\"Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"proposalSnapshot(uint256)\":{\"details\":\"Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.\"},\"proposals(uint256)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The official record of all proposals ever proposed\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends {IGovernor-votingPeriod} blocks after the voting starts. Emits a {ProposalCreated} event.\"},\"propose(address[],uint256[],string[],bytes[],string)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"Function used to propose a new proposal\\\"_.\"},\"queue(uint256)\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"Queues a proposal of state succeeded\\\"_.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"quorumVotes()\":{\"details\":\"Part of the Governor Bravo's interface.\"},\"state(uint256)\":{\"details\":\"Current state of a proposal, following Compound's convention\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"getVotesWithParams(address,uint256,bytes)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"module:core\"},\"name()\":{\"notice\":\"module:core\"},\"proposalDeadline(uint256)\":{\"notice\":\"module:core\"},\"proposalSnapshot(uint256)\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"version()\":{\"notice\":\"module:core\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol\":\"IGovernorCompatibilityBravo\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol\":{\"keccak256\":\"0xdea65ff0ab861d22fd79938e8c101243c073e20b4842cb80809d5ff8fd4fa605\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bae74fe80dd57f46765355849a82ffd1ebc3e95516943d2b60271bcbb678d3e\",\"dweb:/ipfs/QmSVin53Fot6tF6iSb2Vx3mrFEMZ3WPKjzyvgL1vVwyX8y\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol":{"GovernorCountingSimple":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalVotes","outputs":[{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","proposalVotes(uint256)":"544ffc9c","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for simple, 3 options, vote counting. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"See {IGovernor-COUNTING_MODE}.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"See {IGovernor-hasVoted}.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"proposalVotes(uint256)\":{\"details\":\"Accessor to the internal vote counts.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol\":\"GovernorCountingSimple\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol\":{\"keccak256\":\"0x0f9c01248b04279913cc08936e9d15494ec3700c21768a175f91e72ba52c7789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60518084110ae055e83e9d75c47334aabb3e9db45f6895557bb4ad7f1a658b91\",\"dweb:/ipfs/QmVKJnESDYK52gy59iMChFibs4XWuUxRNxo23zY72h2crY\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol":{"GovernorPreventLateQuorum":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"oldVoteExtension","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"newVoteExtension","type":"uint64"}],"name":"LateQuorumVoteExtensionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"extendedDeadline","type":"uint64"}],"name":"ProposalExtended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lateQuorumVoteExtension","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newVoteExtension","type":"uint64"}],"name":"setLateQuorumVoteExtension","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","lateQuorumVoteExtension()":"32b8113e","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","setLateQuorumVoteExtension(uint64)":"d07f91e9","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"oldVoteExtension\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newVoteExtension\",\"type\":\"uint64\"}],\"name\":\"LateQuorumVoteExtensionSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"extendedDeadline\",\"type\":\"uint64\"}],\"name\":\"ProposalExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lateQuorumVoteExtension\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVoteExtension\",\"type\":\"uint64\"}],\"name\":\"setLateQuorumVoteExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"A module that ensures there is a minimum voting period after quorum is reached. This prevents a large voter from swaying a vote and triggering quorum at the last minute, by ensuring there is always time for other voters to react and try to oppose the decision. If a vote causes quorum to be reached, the proposal's voting period may be extended so that it does not end before at least a given number of blocks have passed (the \\\"vote extension\\\" parameter). This parameter can be set by the governance executor (e.g. through a governance proposal). _Available since v4.5._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"events\":{\"LateQuorumVoteExtensionSet(uint64,uint64)\":{\"details\":\"Emitted when the {lateQuorumVoteExtension} parameter is changed.\"},\"ProposalExtended(uint256,uint64)\":{\"details\":\"Emitted when a proposal deadline is pushed back due to reaching quorum late in its voting period.\"}},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Initializes the vote extension parameter: the number of blocks that are required to pass since a proposal reaches quorum until its voting period ends. If necessary the voting period will be extended beyond the one set at proposal creation.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"lateQuorumVoteExtension()\":{\"details\":\"Returns the current value of the vote extension parameter: the number of blocks that are required to pass from the time a proposal reaches quorum until its voting period ends.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"Returns the proposal deadline, which may have been extended beyond that set at proposal creation, if the proposal reached quorum late in the voting period. See {Governor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"setLateQuorumVoteExtension(uint64)\":{\"details\":\"Changes the {lateQuorumVoteExtension}. This operation can only be performed by the governance executor, generally through a governance proposal. Emits a {LateQuorumVoteExtensionSet} event.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol\":\"GovernorPreventLateQuorum\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol\":{\"keccak256\":\"0x3e1bfe525856a653adc11e9bcc7f696388836367a7a44d61ef4bfa39f77c2956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e11a995fe4320817af5ce55bc3b82ce25c65485cb9f86271489d2bd8bbd27\",\"dweb:/ipfs/QmZj9YxUVNGe68cADcoiuPGW2M5mWf3SedCdfdzabfVowR\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol":{"GovernorProposalThreshold":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for proposal restriction to token holders with a minimum balance. _Available since v4.3._ _Deprecated since v4.4._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol\":\"GovernorProposalThreshold\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol\":{\"keccak256\":\"0x31907aa581adbb35e29c8d2b0490044b57f4b4c897b44d4d2af78e4226548abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8307e7f2a9466f3ffdf6e1c7ab85297424ba1a102bd8635a72fd23e79808b536\",\"dweb:/ipfs/QmcQRGoS77Yv4tD32bjn1qL966CtsN7WJLoxsDbtqRYSXE\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol":{"GovernorSettings":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldProposalThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newProposalThreshold","type":"uint256"}],"name":"ProposalThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingDelay","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingDelay","type":"uint256"}],"name":"VotingDelaySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newProposalThreshold","type":"uint256"}],"name":"setProposalThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingDelay","type":"uint256"}],"name":"setVotingDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"setVotingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","setProposalThreshold(uint256)":"ece40cc1","setVotingDelay(uint256)":"70b0f660","setVotingPeriod(uint256)":"ea0217cf","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldProposalThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newProposalThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingDelay\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingDelay\",\"type\":\"uint256\"}],\"name\":\"VotingDelaySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newProposalThreshold\",\"type\":\"uint256\"}],\"name\":\"setProposalThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingDelay\",\"type\":\"uint256\"}],\"name\":\"setVotingDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for settings updatable through governance. _Available since v4.4._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Initialize the governance parameters.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"See {Governor-proposalThreshold}.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"setProposalThreshold(uint256)\":{\"details\":\"Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event.\"},\"setVotingDelay(uint256)\":{\"details\":\"Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event.\"},\"setVotingPeriod(uint256)\":{\"details\":\"Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"See {IGovernor-votingDelay}.\"},\"votingPeriod()\":{\"details\":\"See {IGovernor-votingPeriod}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol\":\"GovernorSettings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol\":{\"keccak256\":\"0xab3781f09dfb447d0c2f5bbb2aafc9ff86333f16c61580ab85d7c8a87491eab9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58571bc89cd0e54fa9af6b41e53e2110c6f5767eb691af8ad88759dbde07b3fd\",\"dweb:/ipfs/QmbeoatuYT5ukpGLWZh4DHb7yrC3TpBbm9hDdWwkdUuUy4\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol":{"GovernorTimelockCompound":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"__acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ICompoundTimelock","name":"newTimelock","type":"address"}],"name":"updateTimelock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","__acceptAdmin()":"b9a61961","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalEta(uint256)":"ab58fb8e","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","updateTimelock(address)":"a890c910","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__acceptAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ICompoundTimelock\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"updateTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} that binds the execution process to a Compound Timelock. This adds a delay, enforced by the external timelock to all successful proposal (in addition to the voting duration). The {Governor} needs to be the admin of the timelock for any operation to be performed. A public, unrestricted, {GovernorTimelockCompound-__acceptAdmin} is available to accept ownership of the timelock. Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be inaccessible. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"events\":{\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"}},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"__acceptAdmin()\":{\"details\":\"Accept admin right over the timelock.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Set the timelock.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalEta(uint256)\":{\"details\":\"Public accessor to check the eta of a queued proposal\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Function to queue a proposal to the timelock.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"Overridden version of the {Governor-state} function with added support for the `Queued` and `Expired` status.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"timelock()\":{\"details\":\"Public accessor to check the address of the timelock\"},\"updateTimelock(address)\":{\"details\":\"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. For security reasons, the timelock must be handed over to another admin before setting up a new one. The two operations (hand over the timelock) and do the update can be batched in a single proposal. Note that if the timelock admin has been handed over in a previous operation, we refuse updates made through the timelock if admin of the timelock has already been accepted and the operation is executed outside the scope of governance. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol\":\"GovernorTimelockCompound\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol\":{\"keccak256\":\"0xb43240222dd2abdc1c4c73919e6940aca6944b61432774f6fbeb541637abd72d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86d129171c0d9942846c69d4125a73e0a52c32c88da6568b1446ed7aa86fd79a\",\"dweb:/ipfs/QmPpjvVQaoF2N9v29FhqGmbnrEg5urLR5HmFnaXVbsjLfV\"]},\"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol\":{\"keccak256\":\"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614\",\"dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]},\"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol\":{\"keccak256\":\"0xbb847e7ce33564a0fc1d8ace380ddd8d123c6f152deff483ff56a5a9b975c8dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7cfdb27a0d002ebb7a19fb8caaef1a4ba2c0904e7d1f92b7d8960a77037348c\",\"dweb:/ipfs/QmZpwJngkVZuUtqhduKBMo1TxpUgqQJFaAZ4JiMm13Nny2\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol":{"GovernorTimelockControl":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract TimelockController","name":"newTimelock","type":"address"}],"name":"updateTimelock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalEta(uint256)":"ab58fb8e","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","updateTimelock(address)":"a890c910","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TimelockController\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"updateTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly. Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be inaccessible. WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively executing a Denial of Service attack. This risk will be mitigated in a future release. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"events\":{\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"}},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Set the timelock.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalEta(uint256)\":{\"details\":\"Public accessor to check the eta of a queued proposal\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Function to queue a proposal to the timelock.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"Overridden version of the {Governor-state} function with added support for the `Queued` status.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"timelock()\":{\"details\":\"Public accessor to check the address of the timelock\"},\"updateTimelock(address)\":{\"details\":\"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol\":\"GovernorTimelockControl\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/TimelockController.sol\":{\"keccak256\":\"0xf3ffa69c5f7c9ebb35775be2f3b27389550a102f0e1cdfff99a54663c7b162ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f4294b5223d7823b86c0bd92516cca895f800b8db605df60d088ed89a05fede\",\"dweb:/ipfs/QmRfMZ9JYTuKYFrmkn4C3CQLnd7GxLKswBxJwpYB6HDEvD\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol\":{\"keccak256\":\"0xde79bde0691601228cdf27fc2fdc85cb01eea836d41780e6e73f778e0a886a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490f0e0d12ff73a9f891930c842630d4d50f0088562801d635a68319a772e19\",\"dweb:/ipfs/QmeSBTTHkxiXQ5hnJyhpCGAA42XFGfNPZxfRnkK28x4Aii\"]},\"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol\":{\"keccak256\":\"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614\",\"dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol":{"GovernorVotes":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IVotes","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IVotes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol\":\"GovernorVotes\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol\":{\"keccak256\":\"0xf818ee82b0faf7938ced9fcc851600b17202c8f6b1b33e01035702cadda684bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aaea7133e6c40ce2c9c2235c72ffec8befbe50c6df0414565675f2648562484\",\"dweb:/ipfs/QmSvUuPuorTqpscvfmhV4PCJCjJDFpMmjcxTnJUB64cj98\"]},\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol":{"GovernorVotesComp":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract ERC20VotesComp","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract ERC20VotesComp\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for voting weight extraction from a Comp token. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol\":\"GovernorVotesComp\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol\":{\"keccak256\":\"0xbfec829e1a6a48d0cf891eba6c1a05d73ac161ad5700f1d70c1702ac41e83617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee38594da50c12a23502c5dac9bde11aad2873d573f913d9c35c2fe62310df26\",\"dweb:/ipfs/QmcAMDFod3PyabaFZ7wrPZqTTrYkiBgYpcYRCApBaZNBRr\"]},\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x701d39aea4bce743cbc051a7f5ad0f27ee18f3eb38b5303e33b0eb7a54c0608d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e93c025465734c2adc943a0db1aa5d2e249e741f3ee28ed60eaf2944a080b693\",\"dweb:/ipfs/Qmc7tA4E2356bzms761sJYwRMh9JVtK8hG5hivHiPjL4pg\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol\":{\"keccak256\":\"0x3e2cf78abe35170695b26fb9f820fe7bfeed607604f4d6c1261f811704c79f16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d677e79ed97d35fa1fa3df7b45df9de5947e0939bb7229bfb05bc00fef9ed45\",\"dweb:/ipfs/QmRiFfC3KJH6KX7hP5cdasrxvEVbB2Fy8UJDDbf2xNSax9\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":{\"keccak256\":\"0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7\",\"dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol":{"GovernorVotesQuorumFraction":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IVotes","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","updateQuorumNumerator(uint256)":"06f3f9e6","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IVotes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a fraction of the total supply. _Available since v4.3._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"constructor\":{\"details\":\"Initialize quorum as a fraction of the token's total supply. The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be customized by overriding {quorumDenominator}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific block number. See {quorumDenominator}.\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol\":\"GovernorVotesQuorumFraction\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/Governor.sol\":{\"keccak256\":\"0x57da86c5f5c46ab8f2cf67ada4258567a9270f89499690f40ed8160788733a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fab32423b6dbc9cf70737380a9444731acbe042945b65674858e064370be3a\",\"dweb:/ipfs/QmPLopcmcMBLkazDRVEVgts5ADMjXBba1vqtZcRGCRHtbF\"]},\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol\":{\"keccak256\":\"0xf818ee82b0faf7938ced9fcc851600b17202c8f6b1b33e01035702cadda684bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aaea7133e6c40ce2c9c2235c72ffec8befbe50c6df0414565675f2648562484\",\"dweb:/ipfs/QmSvUuPuorTqpscvfmhV4PCJCjJDFpMmjcxTnJUB64cj98\"]},\"contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol\":{\"keccak256\":\"0x78a9387835f2dd3409988348661df2724630c7bb31bb3da54146c568460c42af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe76999864eaa47e124dfa6f3124eb5d42d5ef705508fb8ad696372f0f40da92\",\"dweb:/ipfs/Qmbjd3L2Rz1sp9rZ5yzwCH2nQFZTQThR9naCkGZY5DVN2p\"]},\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x676d65383d5311b6c1fe9c6b580a32abd0a5582d1d5d2b67f388153578a9bbc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520ee8207d98ba4aae20941a8d48673e60c89b8aaf4e91eb99c6d7fc2d57ce2e\",\"dweb:/ipfs/QmTCZisUyrBMkVMDY7nQ8jCaV87yZhsQ5dG7QNbbD6ViJe\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol":{"IGovernorTimelock":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"params","type":"bytes"}],"name":"VoteCastWithParams","type":"event"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"COUNTING_MODE()":"dd4e2ba5","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","proposalDeadline(uint256)":"c01f9e37","proposalEta(uint256)":"ab58fb8e","proposalSnapshot(uint256)":"2d63f693","propose(address[],uint256[],bytes[],string)":"7d5e81e2","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of the {IGovernor} for timelock supporting modules. _Available since v4.3._\",\"kind\":\"dev\",\"methods\":{\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,uint8)\":{\"details\":\"Cast a vote Emits a {VoteCast} event.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote using the user's cryptographic signature. Emits a {VoteCast} event.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"Cast a vote with a reason Emits a {VoteCast} event.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature. Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalExecuted} event. Note: some module can modify the requirements for execution, for example by adding an additional timelock.\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Hashing function used to (re)build the proposal id from the proposal details..\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"proposalDeadline(uint256)\":{\"details\":\"Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"proposalSnapshot(uint256)\":{\"details\":\"Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends {IGovernor-votingPeriod} blocks after the voting starts. Emits a {ProposalCreated} event.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\"},\"state(uint256)\":{\"details\":\"Current state of a proposal, following Compound's convention\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingDelay()\":{\"details\":\"Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"getVotesWithParams(address,uint256,bytes)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"module:core\"},\"name()\":{\"notice\":\"module:core\"},\"proposalDeadline(uint256)\":{\"notice\":\"module:core\"},\"proposalSnapshot(uint256)\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"version()\":{\"notice\":\"module:core\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol\":\"IGovernorTimelock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0xa52d593ff06a2353f78fa149da31f2ca94f03d1eff99bde41977fa2fe985a92f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d275abef31363d629e2a1a06f439bb7d2f26f66545ddb61f74b174de6f034a8\",\"dweb:/ipfs/QmPfjkyNcfiiZnPtYCvGfSHikbYzZxut3D4pBhBZ2VwfoT\"]},\"contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol\":{\"keccak256\":\"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614\",\"dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol":{"IVotes":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":\"IVotes\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/governance/utils/Votes.sol":{"Votes":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","nonces(address)":"7ecebe00"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is a base abstract contract that tracks voting units, which are a measure of voting power that can be transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of \\\"representative\\\" that will pool delegated voting units from different accounts and can then use it to vote in decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. This contract is often combined with a token contract such that voting units correspond to token units. For an example, see {ERC721Votes}. The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the cost of this history tracking optional. When using this module the derived contract must implement {_getVotingUnits} (for example, make it return {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the previous example, it would be included in {ERC721-_beforeTokenTransfer}). _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/governance/utils/Votes.sol\":\"Votes\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0xbf868a3a3cd497eb5896303474d25b9b5fe487ba30391db0a3e5b950573498d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://463a8a3be23b60a30f621c275c3195740501dc69a202b8364b383b5dc5470f0d\",\"dweb:/ipfs/Qma8bNQEtBeoG1N2tqiPN6dYPbp3S4WGN6eBXAopjYEPjV\"]},\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x676d65383d5311b6c1fe9c6b580a32abd0a5582d1d5d2b67f388153578a9bbc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520ee8207d98ba4aae20941a8d48673e60c89b8aaf4e91eb99c6d7fc2d57ce2e\",\"dweb:/ipfs/QmTCZisUyrBMkVMDY7nQ8jCaV87yZhsQ5dG7QNbbD6ViJe\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol":{"IERC1271":{"abi":[{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"magicValue","type":"bytes4"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"isValidSignature(bytes32,bytes)":"1626ba7e"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"magicValue\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC1271 standard signature validation method for contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271]. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"isValidSignature(bytes32,bytes)\":{\"details\":\"Should return whether the signature provided is valid for the provided data\",\"params\":{\"hash\":\"Hash of the data to be signed\",\"signature\":\"Signature byte array associated with _data\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol\":\"IERC1271\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e\",\"dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol":{"IERC1363":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferFromAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approveAndCall(address,uint256)":"3177029f","approveAndCall(address,uint256,bytes)":"cae9ca51","balanceOf(address)":"70a08231","supportsInterface(bytes4)":"01ffc9a7","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferAndCall(address,uint256)":"1296ee62","transferAndCall(address,uint256,bytes)":"4000aea0","transferFrom(address,address,uint256)":"23b872dd","transferFromAndCall(address,address,uint256)":"d8fbe994","transferFromAndCall(address,address,uint256,bytes)":"c1d34b89"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"approveAndCall(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender and then call `onApprovalReceived` on spender.\",\"params\":{\"spender\":\"address The address which will spend the funds\",\"value\":\"uint256 The amount of tokens to be spent\"}},\"approveAndCall(address,uint256,bytes)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender and then call `onApprovalReceived` on spender.\",\"params\":{\"data\":\"bytes Additional data with no specified format, sent in call to `spender`\",\"spender\":\"address The address which will spend the funds\",\"value\":\"uint256 The amount of tokens to be spent\"}},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferAndCall(address,uint256)\":{\"details\":\"Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\",\"params\":{\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 The amount of tokens to be transferred\"},\"returns\":{\"_0\":\"true unless throwing\"}},\"transferAndCall(address,uint256,bytes)\":{\"details\":\"Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver\",\"params\":{\"data\":\"bytes Additional data with no specified format, sent in call to `to`\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 The amount of tokens to be transferred\"},\"returns\":{\"_0\":\"true unless throwing\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFromAndCall(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another and then call `onTransferReceived` on receiver\",\"params\":{\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 The amount of tokens to be transferred\"},\"returns\":{\"_0\":\"true unless throwing\"}},\"transferFromAndCall(address,address,uint256,bytes)\":{\"details\":\"Transfer tokens from one address to another and then call `onTransferReceived` on receiver\",\"params\":{\"data\":\"bytes Additional data with no specified format, sent in call to `to`\",\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 The amount of tokens to be transferred\"},\"returns\":{\"_0\":\"true unless throwing\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol\":\"IERC1363\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x0f19d157a55fb71e9a451a6c096eb46cdb00cd9788948cfdb725259c69a3698d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73be21521f8e898e2a875000cd3a99128f28d19eaa4c3489b1df8af9642860ef\",\"dweb:/ipfs/QmdxyaPPefmETfe8rZnW9VywWkKcgJutV4GXhQk1hCjHqG\"]},\"contracts/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"contracts/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol":{"IERC1363Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onTransferReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onTransferReceived(address,address,uint256,bytes)":"88a7ca5c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onTransferReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onTransferReceived(address,address,uint256,bytes)\":{\"details\":\"Any ERC1363 smart contract calls this function on the recipient after a `transfer` or a `transferFrom`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the token contract address is always the message sender.\",\"params\":{\"data\":\"bytes Additional data with no specified format\",\"from\":\"address The address which are token transferred from\",\"operator\":\"address The address which called `transferAndCall` or `transferFromAndCall` function\",\"value\":\"uint256 The amount of tokens transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onTransferReceived(address,address,uint256,bytes)\\\"))` unless throwing\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onTransferReceived(address,address,uint256,bytes)\":{\"notice\":\"Handle the receipt of ERC1363 tokens\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol\":\"IERC1363Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol\":{\"keccak256\":\"0x28584e7e468ad231d928452d1b8f73a50a1f38097e4c3b07dbfbe4d60f675761\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282e71f94c0e322a2db794f3bf328e7c46187872a65f78301c8137572574f7a3\",\"dweb:/ipfs/QmP1QuKWCtMnexeoK9GAk4qakFhEJzxEmRocEugjdSE4bR\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol":{"IERC1363Spender":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onApprovalReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onApprovalReceived(address,uint256,bytes)":"7b04a2d0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onApprovalReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onApprovalReceived(address,uint256,bytes)\":{\"details\":\"Any ERC1363 smart contract calls this function on the recipient after an `approve`. This function MAY throw to revert and reject the approval. Return of other than the magic value MUST result in the transaction being reverted. Note: the token contract address is always the message sender.\",\"params\":{\"data\":\"bytes Additional data with no specified format\",\"owner\":\"address The address which called `approveAndCall` function\",\"value\":\"uint256 The amount of tokens to be spent\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onApprovalReceived(address,uint256,bytes)\\\"))` unless throwing\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onApprovalReceived(address,uint256,bytes)\":{\"notice\":\"Handle the approval of ERC1363 tokens\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol\":\"IERC1363Spender\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol\":{\"keccak256\":\"0x64051f64615addb4c98fa379d4b70c6b7ddb038345a84c6a2bb56b966fd0a966\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b08ae60e259d1ef49728e9a766ed79339e92baf7df6417f900e418d8b21aef8\",\"dweb:/ipfs/QmZhYy3a3BVFZvDpc8DXvtC6Po8NGyz53ygHRq3rP1ZXJp\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol":{"IERC2309":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"ConsecutiveTransfer","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-2309: ERC-721 Consecutive Transfer Extension. _Available since v4.8._\",\"events\":{\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when the tokens from `fromTokenId` to `toTokenId` are transferred from `fromAddress` to `toAddress`.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol\":\"IERC2309\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol\":{\"keccak256\":\"0x769b8c97e7ceca35514f85dcf77ea7e9da1c9a3b3b9c119dda811cd8394aa601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://113df79cc1cae24c055be91b41febfa2dbb28089c969547f7ca3ca5d23d308f6\",\"dweb:/ipfs/QmTwrtF69W9G3t9VbUjF6P1m6jNW4dh6y3kE5vQqUdsSnr\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol":{"IERC2981":{"abi":[{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"royaltyInfo(uint256,uint256)":"2a55205a","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the NFT Royalty Standard. A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal support for royalty payments across all NFT marketplaces and ecosystem participants. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"details\":\"Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of exchange. The royalty amount is denominated and should be paid in that same unit of exchange.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol\":\"IERC2981\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0xa812eed728198acd2c30d06950a5bea8d68436e4f694dd892273266ec2f79f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5522afc5c222c810d9ad67c45f37cb7169452fcf76692cad10ac8153c068daa\",\"dweb:/ipfs/QmX4XgnDp7pyvojQ6g5tacrUMCf7TED2qC2vERH9Xh9feZ\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol":{"IERC3156FlashBorrower":{"abi":[{"inputs":[{"internalType":"address","name":"initiator","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onFlashLoan","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onFlashLoan(address,address,uint256,uint256,bytes)":"23e30c8b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onFlashLoan\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC3156 FlashBorrower, as defined in https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"onFlashLoan(address,address,uint256,uint256,bytes)\":{\"details\":\"Receive a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"fee\":\"The additional amount of tokens to repay.\",\"initiator\":\"The initiator of the loan.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The keccak256 hash of \\\"IERC3156FlashBorrower.onFlashLoan\\\"\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol\":\"IERC3156FlashBorrower\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x294520bb88c710bb1d3c21285f9b531acb5cb9950d77eaeef5598c7328afedb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6ea5de496f90e56940f98692c4869e78e8fc6952a416318e3986674d0aef27d\",\"dweb:/ipfs/QmeDAgZDoMBBdEYB8LTgAy7DLc1footigkkmLuT1qwvxQv\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol":{"IERC3156FlashLender":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"flashFee(address,uint256)":"d9d98ce4","flashLoan(address,address,uint256,bytes)":"5cffe9de","maxFlashLoan(address)":"613255ab"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC3156 FlashLender, as defined in https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol\":\"IERC3156FlashLender\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x294520bb88c710bb1d3c21285f9b531acb5cb9950d77eaeef5598c7328afedb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6ea5de496f90e56940f98692c4869e78e8fc6952a416318e3986674d0aef27d\",\"dweb:/ipfs/QmeDAgZDoMBBdEYB8LTgAy7DLc1footigkkmLuT1qwvxQv\"]},\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x0d9159aa6c1a0d8006fb152b0aee46a0f9b8938575ede1a0d7e186b3bc79c8d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbfca0b4091d2f0caa762a3da47b56613d3ad06d1ce2a78dc2660be4febe49a\",\"dweb:/ipfs/QmeV9wZXFgdeUptik1GBzGn9NQfQQdXqRZF1m52jz9tdCY\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol":{"IERC4626":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"assetTokenAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"maxAssets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"maxShares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"maxShares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"maxAssets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"totalManagedAssets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","asset()":"38d52e0f","balanceOf(address)":"70a08231","convertToAssets(uint256)":"07a2d13a","convertToShares(uint256)":"c6e6f592","decimals()":"313ce567","deposit(uint256,address)":"6e553f65","maxDeposit(address)":"402d267d","maxMint(address)":"c63d75b6","maxRedeem(address)":"d905777e","maxWithdraw(address)":"ce96cb77","mint(uint256,address)":"94bf804d","name()":"06fdde03","previewDeposit(uint256)":"ef8b30f7","previewMint(uint256)":"b3d7f6b9","previewRedeem(uint256)":"4cdad506","previewWithdraw(uint256)":"0a28a477","redeem(uint256,address,address)":"ba087652","symbol()":"95d89b41","totalAssets()":"01e1d114","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(uint256,address,address)":"b460af94"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"assetTokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAssets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxShares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxShares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAssets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalManagedAssets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC4626 \\\"Tokenized Vault Standard\\\", as defined in https://eips.ethereum.org/EIPS/eip-4626[ERC-4626]. _Available since v4.7._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"asset()\":{\"details\":\"Returns the address of the underlying token used for the Vault for accounting, depositing, and withdrawing. - MUST be an ERC-20 token contract. - MUST NOT revert.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"convertToAssets(uint256)\":{\"details\":\"Returns the amount of assets that the Vault would exchange for the amount of shares provided, in an ideal scenario where all the conditions are met. - MUST NOT be inclusive of any fees that are charged against assets in the Vault. - MUST NOT show any variations depending on the caller. - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange. - MUST NOT revert. NOTE: This calculation MAY NOT reflect the \\u201cper-user\\u201d price-per-share, and instead should reflect the \\u201caverage-user\\u2019s\\u201d price-per-share, meaning what the average user should expect to see when exchanging to and from.\"},\"convertToShares(uint256)\":{\"details\":\"Returns the amount of shares that the Vault would exchange for the amount of assets provided, in an ideal scenario where all the conditions are met. - MUST NOT be inclusive of any fees that are charged against assets in the Vault. - MUST NOT show any variations depending on the caller. - MUST NOT reflect slippage or other on-chain conditions, when performing the actual exchange. - MUST NOT revert. NOTE: This calculation MAY NOT reflect the \\u201cper-user\\u201d price-per-share, and instead should reflect the \\u201caverage-user\\u2019s\\u201d price-per-share, meaning what the average user should expect to see when exchanging to and from.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"deposit(uint256,address)\":{\"details\":\"Mints shares Vault shares to receiver by depositing exactly amount of underlying tokens. - MUST emit the Deposit event. - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the deposit execution, and are accounted for during deposit. - MUST revert if all of assets cannot be deposited (due to deposit limit being reached, slippage, the user not approving enough underlying tokens to the Vault contract, etc). NOTE: most implementations will require pre-approval of the Vault with the Vault\\u2019s underlying asset token.\"},\"maxDeposit(address)\":{\"details\":\"Returns the maximum amount of the underlying asset that can be deposited into the Vault for the receiver, through a deposit call. - MUST return a limited value if receiver is subject to some deposit limit. - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of assets that may be deposited. - MUST NOT revert.\"},\"maxMint(address)\":{\"details\":\"Returns the maximum amount of the Vault shares that can be minted for the receiver, through a mint call. - MUST return a limited value if receiver is subject to some mint limit. - MUST return 2 ** 256 - 1 if there is no limit on the maximum amount of shares that may be minted. - MUST NOT revert.\"},\"maxRedeem(address)\":{\"details\":\"Returns the maximum amount of Vault shares that can be redeemed from the owner balance in the Vault, through a redeem call. - MUST return a limited value if owner is subject to some withdrawal limit or timelock. - MUST return balanceOf(owner) if owner is not subject to any withdrawal limit or timelock. - MUST NOT revert.\"},\"maxWithdraw(address)\":{\"details\":\"Returns the maximum amount of the underlying asset that can be withdrawn from the owner balance in the Vault, through a withdraw call. - MUST return a limited value if owner is subject to some withdrawal limit or timelock. - MUST NOT revert.\"},\"mint(uint256,address)\":{\"details\":\"Mints exactly shares Vault shares to receiver by depositing amount of underlying tokens. - MUST emit the Deposit event. - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the mint execution, and are accounted for during mint. - MUST revert if all of shares cannot be minted (due to deposit limit being reached, slippage, the user not approving enough underlying tokens to the Vault contract, etc). NOTE: most implementations will require pre-approval of the Vault with the Vault\\u2019s underlying asset token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"previewDeposit(uint256)\":{\"details\":\"Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given current on-chain conditions. - MUST return as close to and no more than the exact amount of Vault shares that would be minted in a deposit call in the same transaction. I.e. deposit should return the same or more shares as previewDeposit if called in the same transaction. - MUST NOT account for deposit limits like those returned from maxDeposit and should always act as though the deposit would be accepted, regardless if the user has enough tokens approved, etc. - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees. - MUST NOT revert. NOTE: any unfavorable discrepancy between convertToShares and previewDeposit SHOULD be considered slippage in share price or some other type of condition, meaning the depositor will lose assets by depositing.\"},\"previewMint(uint256)\":{\"details\":\"Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given current on-chain conditions. - MUST return as close to and no fewer than the exact amount of assets that would be deposited in a mint call in the same transaction. I.e. mint should return the same or fewer assets as previewMint if called in the same transaction. - MUST NOT account for mint limits like those returned from maxMint and should always act as though the mint would be accepted, regardless if the user has enough tokens approved, etc. - MUST be inclusive of deposit fees. Integrators should be aware of the existence of deposit fees. - MUST NOT revert. NOTE: any unfavorable discrepancy between convertToAssets and previewMint SHOULD be considered slippage in share price or some other type of condition, meaning the depositor will lose assets by minting.\"},\"previewRedeem(uint256)\":{\"details\":\"Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block, given current on-chain conditions. - MUST return as close to and no more than the exact amount of assets that would be withdrawn in a redeem call in the same transaction. I.e. redeem should return the same or more assets as previewRedeem if called in the same transaction. - MUST NOT account for redemption limits like those returned from maxRedeem and should always act as though the redemption would be accepted, regardless if the user has enough shares, etc. - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees. - MUST NOT revert. NOTE: any unfavorable discrepancy between convertToAssets and previewRedeem SHOULD be considered slippage in share price or some other type of condition, meaning the depositor will lose assets by redeeming.\"},\"previewWithdraw(uint256)\":{\"details\":\"Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block, given current on-chain conditions. - MUST return as close to and no fewer than the exact amount of Vault shares that would be burned in a withdraw call in the same transaction. I.e. withdraw should return the same or fewer shares as previewWithdraw if called in the same transaction. - MUST NOT account for withdrawal limits like those returned from maxWithdraw and should always act as though the withdrawal would be accepted, regardless if the user has enough shares, etc. - MUST be inclusive of withdrawal fees. Integrators should be aware of the existence of withdrawal fees. - MUST NOT revert. NOTE: any unfavorable discrepancy between convertToShares and previewWithdraw SHOULD be considered slippage in share price or some other type of condition, meaning the depositor will lose assets by depositing.\"},\"redeem(uint256,address,address)\":{\"details\":\"Burns exactly shares from owner and sends assets of underlying tokens to receiver. - MUST emit the Withdraw event. - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the redeem execution, and are accounted for during redeem. - MUST revert if all of shares cannot be redeemed (due to withdrawal limit being reached, slippage, the owner not having enough shares, etc). NOTE: some implementations will require pre-requesting to the Vault before a withdrawal may be performed. Those methods should be performed separately.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalAssets()\":{\"details\":\"Returns the total amount of the underlying asset that is \\u201cmanaged\\u201d by Vault. - SHOULD include any compounding that occurs from yield. - MUST be inclusive of any fees that are charged against assets in the Vault. - MUST NOT revert.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"withdraw(uint256,address,address)\":{\"details\":\"Burns shares from owner and sends exactly assets of underlying tokens to receiver. - MUST emit the Withdraw event. - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the withdraw execution, and are accounted for during withdraw. - MUST revert if all of assets cannot be withdrawn (due to withdrawal limit being reached, slippage, the owner not having enough shares, etc). Note that some implementations will require pre-requesting to the Vault before a withdrawal may be performed. Those methods should be performed separately.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol\":\"IERC4626\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol\":{\"keccak256\":\"0xd82776ed6975a5939668e068f995acb1394c2f60a12a9ef3f14cacb91b5a8fd4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f381a6a834cd8d5296b819365ffd39d192ab7ac3d458b894a612d1c3b92f03f\",\"dweb:/ipfs/QmTRQE9c57bHGtuubLp8fMAA5jfsb1BR5s7iPd9cWSPfKm\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"IERC1822Proxiable":{"abi":[{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"proxiableUUID()":"52d1902d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol":{"IERC2612":{"abi":[{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol\":\"IERC2612\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol\":{\"keccak256\":\"0x793a4e84a6e312204c1842d181202ea90ff9a20627588063044ae596f8abc1b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655a10e4af27afda3ff5739534d7b1a8335626811e408c781b9b154c3bf613a5\",\"dweb:/ipfs/QmSaNesqh56aLVP7nqqqUa9Rkk7vARu8CFWoXyA98bpJHW\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol":{"ERC2771Context":{"abi":[{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","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":{"isTrustedForwarder(address)":"572b6c05"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"}],\"name\":\"isTrustedForwarder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Context variant with ERC2771 support.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"}},\"stateVariables\":{\"_trustedForwarder\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol\":\"ERC2771Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol\":{\"keccak256\":\"0xb6a3e264c7fc4ec11d244561232b0f49dbccc75ce3d14e5f0181cf134fa6db29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2998b5ee446069e5d22a9e95e23793cc7db8b371be4ef6ac1244280ae3c44654\",\"dweb:/ipfs/QmQcPBgUH6eYpa4ewTYvQS4FdJS6GcCyj9hpk6Z4P3KyHL\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol":{"MinimalForwarder":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct MinimalForwarder.ForwardRequest","name":"req","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct MinimalForwarder.ForwardRequest","name":"req","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23382":{"entryPoint":null,"id":23382,"parameterSlots":2,"returnSlots":0},"@_9196":{"entryPoint":null,"id":9196,"parameterSlots":0,"returnSlots":0},"@_buildDomainSeparator_23438":{"entryPoint":null,"id":23438,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:505:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"227:276:181","statements":[{"nodeType":"YulAssignment","src":"237:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"260:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"245:3:181"},"nodeType":"YulFunctionCall","src":"245:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"237:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"280:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"291:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"273:6:181"},"nodeType":"YulFunctionCall","src":"273:25:181"},"nodeType":"YulExpressionStatement","src":"273:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"318:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"329:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"314:3:181"},"nodeType":"YulFunctionCall","src":"314:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"334:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"307:6:181"},"nodeType":"YulFunctionCall","src":"307:34:181"},"nodeType":"YulExpressionStatement","src":"307:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"361:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"372:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"357:3:181"},"nodeType":"YulFunctionCall","src":"357:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"377:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"350:6:181"},"nodeType":"YulFunctionCall","src":"350:34:181"},"nodeType":"YulExpressionStatement","src":"350:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"404:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"415:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"400:3:181"},"nodeType":"YulFunctionCall","src":"400:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"420:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:181"},"nodeType":"YulFunctionCall","src":"393:34:181"},"nodeType":"YulExpressionStatement","src":"393:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"447:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"458:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"443:3:181"},"nodeType":"YulFunctionCall","src":"443:19:181"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"468:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"484:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"489:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"480:3:181"},"nodeType":"YulFunctionCall","src":"480:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"493:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"476:3:181"},"nodeType":"YulFunctionCall","src":"476:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"464:3:181"},"nodeType":"YulFunctionCall","src":"464:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"436:6:181"},"nodeType":"YulFunctionCall","src":"436:61:181"},"nodeType":"YulExpressionStatement","src":"436:61:181"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"164:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"175:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"183:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"191:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"199:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"207:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"218:4:181","type":""}],"src":"14:489:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\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 }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"61014060405234801561001157600080fd5b50604080518082018252601081526f26b4b734b6b0b62337b93bb0b93232b960811b602080830191825283518085019094526005845264302e302e3160d81b908401528151902060e08190527fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc1991638118856101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6100fb8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c052610120525061011092505050565b60805160a05160c05160e0516101005161012051610a4c61015f60003960006104ec0152600061053b015260006105160152600061046f01526000610499015260006104c30152610a4c6000f3fe6080604052600436106100345760003560e01c80632d0335ab1461003957806347153f8214610082578063bf5d3bdb146100a3575b600080fd5b34801561004557600080fd5b5061006f6100543660046107e4565b6001600160a01b031660009081526020819052604090205490565b6040519081526020015b60405180910390f35b610095610090366004610814565b6100d3565b6040516100799291906108e3565b3480156100af57600080fd5b506100c36100be366004610814565b61026c565b6040519015158152602001610079565b600060606100e285858561026c565b61014e5760405162461bcd60e51b815260206004820152603260248201527f4d696e696d616c466f727761726465723a207369676e617475726520646f6573604482015271081b9bdd081b585d18da081c995c5d595cdd60721b60648201526084015b60405180910390fd5b61015d6080860135600161091f565b60008061016d60208901896107e4565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000808660200160208101906101a791906107e4565b6001600160a01b0316606088013560408901356101c760a08b018b610945565b6101d460208d018d6107e4565b6040516020016101e69392919061098c565b60408051601f1981840301815290829052610200916109b2565b600060405180830381858888f193505050503d806000811461023e576040519150601f19603f3d011682016040523d82523d6000602084013e610243565b606091505b509092509050610258603f60608901356109ce565b5a1161026057fe5b90969095509350505050565b60008061037f84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061037992507fdd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e4891506102dc905060208a018a6107e4565b6102ec60408b0160208c016107e4565b60408b013560608c013560808d013561030860a08f018f610945565b6040516103169291906109f0565b6040805191829003822060208301989098526001600160a01b0396871690820152949093166060850152608084019190915260a083015260c082015260e081019190915261010001604051602081830303815290604052805190602001206103ea565b9061043e565b9050608085013560008061039660208901896107e4565b6001600160a01b03166001600160a01b03168152602001908152602001600020541480156103e157506103cc60208601866107e4565b6001600160a01b0316816001600160a01b0316145b95945050505050565b60006104386103f7610462565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b600080600061044d8585610589565b9150915061045a816105cf565b509392505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156104bb57507f000000000000000000000000000000000000000000000000000000000000000046145b156104e557507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000808251604114156105c05760208301516040840151606085015160001a6105b487828585610720565b945094505050506105c8565b506000905060025b9250929050565b60008160048111156105e3576105e3610a00565b14156105ec5750565b600181600481111561060057610600610a00565b141561064e5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610145565b600281600481111561066257610662610a00565b14156106b05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610145565b60038160048111156106c4576106c4610a00565b141561071d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610145565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561075757506000905060036107db565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156107ab573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166107d4576000600192509250506107db565b9150600090505b94509492505050565b6000602082840312156107f657600080fd5b81356001600160a01b038116811461080d57600080fd5b9392505050565b60008060006040848603121561082957600080fd5b833567ffffffffffffffff8082111561084157600080fd5b9085019060c0828803121561085557600080fd5b9093506020850135908082111561086b57600080fd5b818601915086601f83011261087f57600080fd5b81358181111561088e57600080fd5b8760208285010111156108a057600080fd5b6020830194508093505050509250925092565b60005b838110156108ce5781810151838201526020016108b6565b838111156108dd576000848401525b50505050565b8215158152604060208201526000825180604084015261090a8160608501602087016108b3565b601f01601f1916919091016060019392505050565b6000821982111561094057634e487b7160e01b600052601160045260246000fd5b500190565b6000808335601e1984360301811261095c57600080fd5b83018035915067ffffffffffffffff82111561097757600080fd5b6020019150368190038213156105c857600080fd5b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600082516109c48184602087016108b3565b9190910192915050565b6000826109eb57634e487b7160e01b600052601260045260246000fd5b500490565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220eb484b18ca59dd78eac8dd90bff85e6c263cd9704c2fd98b3132b91f9168d95464736f6c63430008090033","opcodes":"PUSH2 0x140 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x10 DUP2 MSTORE PUSH16 0x26B4B734B6B0B62337B93BB0B93232B9 PUSH1 0x81 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 DUP3 MSTORE DUP4 MLOAD DUP1 DUP6 ADD SWAP1 SWAP5 MSTORE PUSH1 0x5 DUP5 MSTORE PUSH5 0x302E302E31 PUSH1 0xD8 SHL SWAP1 DUP5 ADD MSTORE DUP2 MLOAD SWAP1 KECCAK256 PUSH1 0xE0 DUP2 SWAP1 MSTORE PUSH32 0xAE209A0B48F21C054280F2455D32CF309387644879D9ACBD8FFC199163811885 PUSH2 0x100 DUP2 SWAP1 MSTORE CHAINID PUSH1 0xA0 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH2 0xFB DUP2 DUP5 DUP5 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0xC0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x80 MSTORE ADDRESS PUSH1 0xC0 MSTORE PUSH2 0x120 MSTORE POP PUSH2 0x110 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0x100 MLOAD PUSH2 0x120 MLOAD PUSH2 0xA4C PUSH2 0x15F PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x4EC ADD MSTORE PUSH1 0x0 PUSH2 0x53B ADD MSTORE PUSH1 0x0 PUSH2 0x516 ADD MSTORE PUSH1 0x0 PUSH2 0x46F ADD MSTORE PUSH1 0x0 PUSH2 0x499 ADD MSTORE PUSH1 0x0 PUSH2 0x4C3 ADD MSTORE PUSH2 0xA4C PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x47153F82 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0xBF5D3BDB EQ PUSH2 0xA3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x814 JUMP JUMPDEST PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP3 SWAP2 SWAP1 PUSH2 0x8E3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC3 PUSH2 0xBE CALLDATASIZE PUSH1 0x4 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x79 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH2 0xE2 DUP6 DUP6 DUP6 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x14E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D616C466F727761726465723A207369676E617475726520646F6573 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x81B9BDD081B585D18DA081C995C5D595CDD PUSH1 0x72 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x15D PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH2 0x91F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16D PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH1 0x20 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH1 0x40 DUP10 ADD CALLDATALOAD PUSH2 0x1C7 PUSH1 0xA0 DUP12 ADD DUP12 PUSH2 0x945 JUMP JUMPDEST PUSH2 0x1D4 PUSH1 0x20 DUP14 ADD DUP14 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1E6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x98C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x200 SWAP2 PUSH2 0x9B2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x23E 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 0x243 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x258 PUSH1 0x3F PUSH1 0x60 DUP10 ADD CALLDATALOAD PUSH2 0x9CE JUMP JUMPDEST GAS GT PUSH2 0x260 JUMPI INVALID JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37F DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x379 SWAP3 POP PUSH32 0xDD8F4B70B0F4393E889BD39128A30628A78B61816A9EB8199759E7A349657E48 SWAP2 POP PUSH2 0x2DC SWAP1 POP PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0x7E4 JUMP JUMPDEST PUSH2 0x2EC PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 DUP12 ADD CALLDATALOAD PUSH1 0x60 DUP13 ADD CALLDATALOAD PUSH1 0x80 DUP14 ADD CALLDATALOAD PUSH2 0x308 PUSH1 0xA0 DUP16 ADD DUP16 PUSH2 0x945 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x316 SWAP3 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x20 DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND SWAP1 DUP3 ADD MSTORE SWAP5 SWAP1 SWAP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x3EA JUMP JUMPDEST SWAP1 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP PUSH1 0x80 DUP6 ADD CALLDATALOAD PUSH1 0x0 DUP1 PUSH2 0x396 PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ DUP1 ISZERO PUSH2 0x3E1 JUMPI POP PUSH2 0x3CC PUSH1 0x20 DUP7 ADD DUP7 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x438 PUSH2 0x3F7 PUSH2 0x462 JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x42 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x62 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x44D DUP6 DUP6 PUSH2 0x589 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x45A DUP2 PUSH2 0x5CF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 ISZERO PUSH2 0x4BB JUMPI POP PUSH32 0x0 CHAINID EQ JUMPDEST ISZERO PUSH2 0x4E5 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH32 0x0 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 DUP3 DUP5 ADD MSTORE PUSH32 0x0 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xC0 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 EQ ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x5B4 DUP8 DUP3 DUP6 DUP6 PUSH2 0x720 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x5C8 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x5E3 JUMPI PUSH2 0x5E3 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x5EC JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x600 JUMPI PUSH2 0x600 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x64E 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 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x145 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x662 JUMPI PUSH2 0x662 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x6B0 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 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x145 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x6C4 JUMPI PUSH2 0x6C4 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x71D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x145 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x757 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x7D4 JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x7DB JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x80D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x829 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x841 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP6 ADD SWAP1 PUSH1 0xC0 DUP3 DUP9 SUB SLT ISZERO PUSH2 0x855 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x86B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x87F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x88E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8CE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x8B6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8DD JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x90A DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x940 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x95C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x5C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP5 DUP3 CALLDATACOPY PUSH1 0x60 SWAP2 SWAP1 SWAP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x9C4 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x8B3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x9EB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV 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 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB BASEFEE 0x4B XOR 0xCA MSIZE 0xDD PUSH25 0xEAC8DD90BFF85E6C263CD9704C2FD98B3132B91F9168D95464 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"768:2055:69:-:0;;;1209:52;;;;;;;;;-1:-1:-1;2464:602:146;;;;;;;;;;;-1:-1:-1;;;2464:602:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:602:146;;;;2550:22;;;;2787:25;;;;2606;2822:31;;;;2882:13;2863:32;;2464:602;;;2660:117;2932:58;2660:117;2550:22;2606:25;3642:73;;;;;;273:25:181;;;314:18;;;307:34;;;357:18;;;350:34;;;3686:13:146;400:18:181;;;393:34;3709:4:146;443:19:181;;;436:61;3606:7:146;;245:19:181;;3642:73:146;;;;;;;;;;;;3632:84;;;;;;3625:91;;3466:257;;;;;;2932:58;2905:85;;3023:4;3000:28;;3038:21;;-1:-1:-1;768:2055:69;;-1:-1:-1;;;768:2055:69;14:489:181;768:2055:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_buildDomainSeparator_23438":{"entryPoint":null,"id":23438,"parameterSlots":3,"returnSlots":1},"@_domainSeparatorV4_23411":{"entryPoint":1122,"id":23411,"parameterSlots":0,"returnSlots":1},"@_hashTypedDataV4_23454":{"entryPoint":1002,"id":23454,"parameterSlots":1,"returnSlots":1},"@_throwError_22994":{"entryPoint":1487,"id":22994,"parameterSlots":1,"returnSlots":0},"@execute_9326":{"entryPoint":211,"id":9326,"parameterSlots":3,"returnSlots":2},"@getNonce_9208":{"entryPoint":null,"id":9208,"parameterSlots":1,"returnSlots":1},"@recover_23067":{"entryPoint":1086,"id":23067,"parameterSlots":2,"returnSlots":1},"@toTypedDataHash_23300":{"entryPoint":null,"id":23300,"parameterSlots":2,"returnSlots":1},"@tryRecover_23040":{"entryPoint":1417,"id":23040,"parameterSlots":2,"returnSlots":2},"@tryRecover_23208":{"entryPoint":1824,"id":23208,"parameterSlots":4,"returnSlots":2},"@verify_9260":{"entryPoint":620,"id":9260,"parameterSlots":3,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2020,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_ForwardRequest_$9179_calldata_ptrt_bytes_calldata_ptr":{"entryPoint":2068,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":2544,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed":{"entryPoint":2444,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":2482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":2275,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0a1000a56588b05caffad06969cd7617cd0867f6c7d159cd7e5aa9b3c93b18ae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__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},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":2373,"id":null,"parameterSlots":2,"returnSlots":2},"checked_add_t_uint256":{"entryPoint":2335,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":2510,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":2227,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x21":{"entryPoint":2560,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7823:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:216:181","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:181"},"nodeType":"YulFunctionCall","src":"132:12:181"},"nodeType":"YulExpressionStatement","src":"132:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:181"},"nodeType":"YulFunctionCall","src":"101:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:181"},"nodeType":"YulFunctionCall","src":"97:32:181"},"nodeType":"YulIf","src":"94:52:181"},{"nodeType":"YulVariableDeclaration","src":"155:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"181:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"168:12:181"},"nodeType":"YulFunctionCall","src":"168:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"159:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:181"},"nodeType":"YulFunctionCall","src":"256:12:181"},"nodeType":"YulExpressionStatement","src":"256:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"213:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"224:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"239:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"244:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"231:3:181"},"nodeType":"YulFunctionCall","src":"231:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"220:3:181"},"nodeType":"YulFunctionCall","src":"220:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"210:2:181"},"nodeType":"YulFunctionCall","src":"210:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"203:6:181"},"nodeType":"YulFunctionCall","src":"203:50:181"},"nodeType":"YulIf","src":"200:70:181"},{"nodeType":"YulAssignment","src":"279:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:181","type":""}],"src":"14:286:181"},{"body":{"nodeType":"YulBlock","src":"406:76:181","statements":[{"nodeType":"YulAssignment","src":"416:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"428:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"439:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"424:3:181"},"nodeType":"YulFunctionCall","src":"424:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"416:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"469:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"451:6:181"},"nodeType":"YulFunctionCall","src":"451:25:181"},"nodeType":"YulExpressionStatement","src":"451:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"375:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"386:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"397:4:181","type":""}],"src":"305:177:181"},{"body":{"nodeType":"YulBlock","src":"627:723:181","statements":[{"body":{"nodeType":"YulBlock","src":"673:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"682:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"685:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"675:6:181"},"nodeType":"YulFunctionCall","src":"675:12:181"},"nodeType":"YulExpressionStatement","src":"675:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"648:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"657:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"644:3:181"},"nodeType":"YulFunctionCall","src":"644:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"669:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"640:3:181"},"nodeType":"YulFunctionCall","src":"640:32:181"},"nodeType":"YulIf","src":"637:52:181"},{"nodeType":"YulVariableDeclaration","src":"698:37:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"725:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"712:12:181"},"nodeType":"YulFunctionCall","src":"712:23:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"702:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"744:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"754:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"748:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"799:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"808:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"811:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"801:6:181"},"nodeType":"YulFunctionCall","src":"801:12:181"},"nodeType":"YulExpressionStatement","src":"801:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"787:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"795:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"784:2:181"},"nodeType":"YulFunctionCall","src":"784:14:181"},"nodeType":"YulIf","src":"781:34:181"},{"nodeType":"YulVariableDeclaration","src":"824:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"838:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"849:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"834:3:181"},"nodeType":"YulFunctionCall","src":"834:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"828:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"895:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"904:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"907:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"897:6:181"},"nodeType":"YulFunctionCall","src":"897:12:181"},"nodeType":"YulExpressionStatement","src":"897:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"876:7:181"},{"name":"_2","nodeType":"YulIdentifier","src":"885:2:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"872:3:181"},"nodeType":"YulFunctionCall","src":"872:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"890:3:181","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"868:3:181"},"nodeType":"YulFunctionCall","src":"868:26:181"},"nodeType":"YulIf","src":"865:46:181"},{"nodeType":"YulAssignment","src":"920:12:181","value":{"name":"_2","nodeType":"YulIdentifier","src":"930:2:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"920:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"941:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"974:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"985:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"970:3:181"},"nodeType":"YulFunctionCall","src":"970:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"957:12:181"},"nodeType":"YulFunctionCall","src":"957:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"945:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1018:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1027:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1030:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1020:6:181"},"nodeType":"YulFunctionCall","src":"1020:12:181"},"nodeType":"YulExpressionStatement","src":"1020:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1004:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1014:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1001:2:181"},"nodeType":"YulFunctionCall","src":"1001:16:181"},"nodeType":"YulIf","src":"998:36:181"},{"nodeType":"YulVariableDeclaration","src":"1043:34:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1057:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1068:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1053:3:181"},"nodeType":"YulFunctionCall","src":"1053:24:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1047:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1125:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1134:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1137:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1127:6:181"},"nodeType":"YulFunctionCall","src":"1127:12:181"},"nodeType":"YulExpressionStatement","src":"1127:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1104:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1108:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1100:3:181"},"nodeType":"YulFunctionCall","src":"1100:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1115:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1096:3:181"},"nodeType":"YulFunctionCall","src":"1096:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1089:6:181"},"nodeType":"YulFunctionCall","src":"1089:35:181"},"nodeType":"YulIf","src":"1086:55:181"},{"nodeType":"YulVariableDeclaration","src":"1150:30:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1177:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1164:12:181"},"nodeType":"YulFunctionCall","src":"1164:16:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1154:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1207:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1216:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1219:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1209:6:181"},"nodeType":"YulFunctionCall","src":"1209:12:181"},"nodeType":"YulExpressionStatement","src":"1209:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1195:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1203:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1192:2:181"},"nodeType":"YulFunctionCall","src":"1192:14:181"},"nodeType":"YulIf","src":"1189:34:181"},{"body":{"nodeType":"YulBlock","src":"1273:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1285:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1275:6:181"},"nodeType":"YulFunctionCall","src":"1275:12:181"},"nodeType":"YulExpressionStatement","src":"1275:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1246:2:181"},{"name":"length","nodeType":"YulIdentifier","src":"1250:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1242:3:181"},"nodeType":"YulFunctionCall","src":"1242:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"1259:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1238:3:181"},"nodeType":"YulFunctionCall","src":"1238:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1264:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1235:2:181"},"nodeType":"YulFunctionCall","src":"1235:37:181"},"nodeType":"YulIf","src":"1232:57:181"},{"nodeType":"YulAssignment","src":"1298:21:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1312:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1316:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1308:3:181"},"nodeType":"YulFunctionCall","src":"1308:11:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1298:6:181"}]},{"nodeType":"YulAssignment","src":"1328:16:181","value":{"name":"length","nodeType":"YulIdentifier","src":"1338:6:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1328:6:181"}]}]},"name":"abi_decode_tuple_t_struct$_ForwardRequest_$9179_calldata_ptrt_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"577:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"588:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"600:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"608:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"616:6:181","type":""}],"src":"487:863:181"},{"body":{"nodeType":"YulBlock","src":"1408:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"1418:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1427:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1422:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1487:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1512:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"1517:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1508:3:181"},"nodeType":"YulFunctionCall","src":"1508:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1531:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"1536:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1527:3:181"},"nodeType":"YulFunctionCall","src":"1527:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1521:5:181"},"nodeType":"YulFunctionCall","src":"1521:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1501:6:181"},"nodeType":"YulFunctionCall","src":"1501:39:181"},"nodeType":"YulExpressionStatement","src":"1501:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1448:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1451:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1445:2:181"},"nodeType":"YulFunctionCall","src":"1445:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1459:19:181","statements":[{"nodeType":"YulAssignment","src":"1461:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1470:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"1473:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1466:3:181"},"nodeType":"YulFunctionCall","src":"1466:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1461:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1441:3:181","statements":[]},"src":"1437:113:181"},{"body":{"nodeType":"YulBlock","src":"1576:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1589:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1594:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1585:3:181"},"nodeType":"YulFunctionCall","src":"1585:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"1603:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1578:6:181"},"nodeType":"YulFunctionCall","src":"1578:27:181"},"nodeType":"YulExpressionStatement","src":"1578:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1565:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1568:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1562:2:181"},"nodeType":"YulFunctionCall","src":"1562:13:181"},"nodeType":"YulIf","src":"1559:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1386:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1391:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"1396:6:181","type":""}],"src":"1355:258:181"},{"body":{"nodeType":"YulBlock","src":"1759:321:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1776:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1801:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1794:6:181"},"nodeType":"YulFunctionCall","src":"1794:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1787:6:181"},"nodeType":"YulFunctionCall","src":"1787:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1769:6:181"},"nodeType":"YulFunctionCall","src":"1769:41:181"},"nodeType":"YulExpressionStatement","src":"1769:41:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1830:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1841:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1826:3:181"},"nodeType":"YulFunctionCall","src":"1826:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1846:2:181","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1819:6:181"},"nodeType":"YulFunctionCall","src":"1819:30:181"},"nodeType":"YulExpressionStatement","src":"1819:30:181"},{"nodeType":"YulVariableDeclaration","src":"1858:27:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1878:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1872:5:181"},"nodeType":"YulFunctionCall","src":"1872:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1862:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1905:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1916:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1901:3:181"},"nodeType":"YulFunctionCall","src":"1901:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1921:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1894:6:181"},"nodeType":"YulFunctionCall","src":"1894:34:181"},"nodeType":"YulExpressionStatement","src":"1894:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1963:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1971:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1959:3:181"},"nodeType":"YulFunctionCall","src":"1959:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1980:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1991:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1976:3:181"},"nodeType":"YulFunctionCall","src":"1976:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1996:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1937:21:181"},"nodeType":"YulFunctionCall","src":"1937:66:181"},"nodeType":"YulExpressionStatement","src":"1937:66:181"},{"nodeType":"YulAssignment","src":"2012:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2028:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2047:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2055:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:181"},"nodeType":"YulFunctionCall","src":"2043:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2064:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2060:3:181"},"nodeType":"YulFunctionCall","src":"2060:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2039:3:181"},"nodeType":"YulFunctionCall","src":"2039:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2024:3:181"},"nodeType":"YulFunctionCall","src":"2024:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"2071:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2020:3:181"},"nodeType":"YulFunctionCall","src":"2020:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2012:4:181"}]}]},"name":"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1720:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1731:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1739:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1750:4:181","type":""}],"src":"1618:462:181"},{"body":{"nodeType":"YulBlock","src":"2180:92:181","statements":[{"nodeType":"YulAssignment","src":"2190:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2202:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2213:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2198:3:181"},"nodeType":"YulFunctionCall","src":"2198:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2190:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2232:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2257:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2250:6:181"},"nodeType":"YulFunctionCall","src":"2250:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2243:6:181"},"nodeType":"YulFunctionCall","src":"2243:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2225:6:181"},"nodeType":"YulFunctionCall","src":"2225:41:181"},"nodeType":"YulExpressionStatement","src":"2225:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2149:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2160:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2171:4:181","type":""}],"src":"2085:187:181"},{"body":{"nodeType":"YulBlock","src":"2451:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2468:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2479:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2461:6:181"},"nodeType":"YulFunctionCall","src":"2461:21:181"},"nodeType":"YulExpressionStatement","src":"2461:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2502:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2513:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2498:3:181"},"nodeType":"YulFunctionCall","src":"2498:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2518:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2491:6:181"},"nodeType":"YulFunctionCall","src":"2491:30:181"},"nodeType":"YulExpressionStatement","src":"2491:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2541:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2552:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2537:3:181"},"nodeType":"YulFunctionCall","src":"2537:18:181"},{"hexValue":"4d696e696d616c466f727761726465723a207369676e617475726520646f6573","kind":"string","nodeType":"YulLiteral","src":"2557:34:181","type":"","value":"MinimalForwarder: signature does"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2530:6:181"},"nodeType":"YulFunctionCall","src":"2530:62:181"},"nodeType":"YulExpressionStatement","src":"2530:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2612:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2623:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2608:3:181"},"nodeType":"YulFunctionCall","src":"2608:18:181"},{"hexValue":"206e6f74206d617463682072657175657374","kind":"string","nodeType":"YulLiteral","src":"2628:20:181","type":"","value":" not match request"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2601:6:181"},"nodeType":"YulFunctionCall","src":"2601:48:181"},"nodeType":"YulExpressionStatement","src":"2601:48:181"},{"nodeType":"YulAssignment","src":"2658:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2670:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2681:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2666:3:181"},"nodeType":"YulFunctionCall","src":"2666:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2658:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0a1000a56588b05caffad06969cd7617cd0867f6c7d159cd7e5aa9b3c93b18ae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2428:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2442:4:181","type":""}],"src":"2277:414:181"},{"body":{"nodeType":"YulBlock","src":"2744:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"2779:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2800:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2807:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2812:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2803:3:181"},"nodeType":"YulFunctionCall","src":"2803:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2793:6:181"},"nodeType":"YulFunctionCall","src":"2793:31:181"},"nodeType":"YulExpressionStatement","src":"2793:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2844:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2847:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2837:6:181"},"nodeType":"YulFunctionCall","src":"2837:15:181"},"nodeType":"YulExpressionStatement","src":"2837:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2872:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2875:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2865:6:181"},"nodeType":"YulFunctionCall","src":"2865:15:181"},"nodeType":"YulExpressionStatement","src":"2865:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2760:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2767:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2763:3:181"},"nodeType":"YulFunctionCall","src":"2763:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2757:2:181"},"nodeType":"YulFunctionCall","src":"2757:13:181"},"nodeType":"YulIf","src":"2754:136:181"},{"nodeType":"YulAssignment","src":"2899:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2910:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"2913:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2906:3:181"},"nodeType":"YulFunctionCall","src":"2906:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2899:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2727:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2730:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2736:3:181","type":""}],"src":"2696:225:181"},{"body":{"nodeType":"YulBlock","src":"3020:427:181","statements":[{"nodeType":"YulVariableDeclaration","src":"3030:51:181","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"3069:11:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3056:12:181"},"nodeType":"YulFunctionCall","src":"3056:25:181"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"3034:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3170:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3179:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3182:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3172:6:181"},"nodeType":"YulFunctionCall","src":"3172:12:181"},"nodeType":"YulExpressionStatement","src":"3172:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"3104:18:181"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"3132:12:181"},"nodeType":"YulFunctionCall","src":"3132:14:181"},{"name":"base_ref","nodeType":"YulIdentifier","src":"3148:8:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3128:3:181"},"nodeType":"YulFunctionCall","src":"3128:29:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3163:2:181","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3159:3:181"},"nodeType":"YulFunctionCall","src":"3159:7:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3124:3:181"},"nodeType":"YulFunctionCall","src":"3124:43:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3100:3:181"},"nodeType":"YulFunctionCall","src":"3100:68:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3093:6:181"},"nodeType":"YulFunctionCall","src":"3093:76:181"},"nodeType":"YulIf","src":"3090:96:181"},{"nodeType":"YulVariableDeclaration","src":"3195:47:181","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"3213:8:181"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"3223:18:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3209:3:181"},"nodeType":"YulFunctionCall","src":"3209:33:181"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"3199:6:181","type":""}]},{"nodeType":"YulAssignment","src":"3251:30:181","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"3274:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3261:12:181"},"nodeType":"YulFunctionCall","src":"3261:20:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3251:6:181"}]},{"body":{"nodeType":"YulBlock","src":"3324:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3333:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3336:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3326:6:181"},"nodeType":"YulFunctionCall","src":"3326:12:181"},"nodeType":"YulExpressionStatement","src":"3326:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3296:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3304:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3293:2:181"},"nodeType":"YulFunctionCall","src":"3293:30:181"},"nodeType":"YulIf","src":"3290:50:181"},{"nodeType":"YulAssignment","src":"3349:25:181","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"3361:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3369:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3357:3:181"},"nodeType":"YulFunctionCall","src":"3357:17:181"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"3349:4:181"}]},{"body":{"nodeType":"YulBlock","src":"3425:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3434:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3437:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3427:6:181"},"nodeType":"YulFunctionCall","src":"3427:12:181"},"nodeType":"YulExpressionStatement","src":"3427:12:181"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"3390:4:181"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"3400:12:181"},"nodeType":"YulFunctionCall","src":"3400:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"3416:6:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3396:3:181"},"nodeType":"YulFunctionCall","src":"3396:27:181"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"3386:3:181"},"nodeType":"YulFunctionCall","src":"3386:38:181"},"nodeType":"YulIf","src":"3383:58:181"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"2977:8:181","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"2987:11:181","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"3003:4:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"3009:6:181","type":""}],"src":"2926:521:181"},{"body":{"nodeType":"YulBlock","src":"3627:207:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3650:3:181"},{"name":"value0","nodeType":"YulIdentifier","src":"3655:6:181"},{"name":"value1","nodeType":"YulIdentifier","src":"3663:6:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3637:12:181"},"nodeType":"YulFunctionCall","src":"3637:33:181"},"nodeType":"YulExpressionStatement","src":"3637:33:181"},{"nodeType":"YulVariableDeclaration","src":"3679:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3693:3:181"},{"name":"value1","nodeType":"YulIdentifier","src":"3698:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3689:3:181"},"nodeType":"YulFunctionCall","src":"3689:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3683:2:181","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3721:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3725:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3714:6:181"},"nodeType":"YulFunctionCall","src":"3714:13:181"},"nodeType":"YulExpressionStatement","src":"3714:13:181"},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3743:2:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3755:2:181","type":"","value":"96"},{"name":"value2","nodeType":"YulIdentifier","src":"3759:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3751:3:181"},"nodeType":"YulFunctionCall","src":"3751:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3772:26:181","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3768:3:181"},"nodeType":"YulFunctionCall","src":"3768:31:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3747:3:181"},"nodeType":"YulFunctionCall","src":"3747:53:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3736:6:181"},"nodeType":"YulFunctionCall","src":"3736:65:181"},"nodeType":"YulExpressionStatement","src":"3736:65:181"},{"nodeType":"YulAssignment","src":"3810:18:181","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3821:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3825:2:181","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3817:3:181"},"nodeType":"YulFunctionCall","src":"3817:11:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3810:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3587:3:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3592:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3600:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3608:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3619:3:181","type":""}],"src":"3452:382:181"},{"body":{"nodeType":"YulBlock","src":"3976:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"3986:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4006:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4000:5:181"},"nodeType":"YulFunctionCall","src":"4000:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3990:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4048:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4056:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4044:3:181"},"nodeType":"YulFunctionCall","src":"4044:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"4063:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"4068:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4022:21:181"},"nodeType":"YulFunctionCall","src":"4022:53:181"},"nodeType":"YulExpressionStatement","src":"4022:53:181"},{"nodeType":"YulAssignment","src":"4084:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4095:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"4100:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4091:3:181"},"nodeType":"YulFunctionCall","src":"4091:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4084:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3952:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3957:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3968:3:181","type":""}],"src":"3839:274:181"},{"body":{"nodeType":"YulBlock","src":"4164:171:181","statements":[{"body":{"nodeType":"YulBlock","src":"4195:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4216:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4223:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4228:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4219:3:181"},"nodeType":"YulFunctionCall","src":"4219:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4209:6:181"},"nodeType":"YulFunctionCall","src":"4209:31:181"},"nodeType":"YulExpressionStatement","src":"4209:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4260:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4263:4:181","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4253:6:181"},"nodeType":"YulFunctionCall","src":"4253:15:181"},"nodeType":"YulExpressionStatement","src":"4253:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4288:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4291:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4281:6:181"},"nodeType":"YulFunctionCall","src":"4281:15:181"},"nodeType":"YulExpressionStatement","src":"4281:15:181"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"4184:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4177:6:181"},"nodeType":"YulFunctionCall","src":"4177:9:181"},"nodeType":"YulIf","src":"4174:132:181"},{"nodeType":"YulAssignment","src":"4315:14:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4324:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"4327:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4320:3:181"},"nodeType":"YulFunctionCall","src":"4320:9:181"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"4315:1:181"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4149:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"4152:1:181","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"4158:1:181","type":""}],"src":"4118:217:181"},{"body":{"nodeType":"YulBlock","src":"4487:124:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4510:3:181"},{"name":"value0","nodeType":"YulIdentifier","src":"4515:6:181"},{"name":"value1","nodeType":"YulIdentifier","src":"4523:6:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4497:12:181"},"nodeType":"YulFunctionCall","src":"4497:33:181"},"nodeType":"YulExpressionStatement","src":"4497:33:181"},{"nodeType":"YulVariableDeclaration","src":"4539:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4553:3:181"},{"name":"value1","nodeType":"YulIdentifier","src":"4558:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4549:3:181"},"nodeType":"YulFunctionCall","src":"4549:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4543:2:181","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"4581:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"4585:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4574:6:181"},"nodeType":"YulFunctionCall","src":"4574:13:181"},"nodeType":"YulExpressionStatement","src":"4574:13:181"},{"nodeType":"YulAssignment","src":"4596:9:181","value":{"name":"_1","nodeType":"YulIdentifier","src":"4603:2:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4596:3:181"}]}]},"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":"4455:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4460:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4468:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4479:3:181","type":""}],"src":"4340:271:181"},{"body":{"nodeType":"YulBlock","src":"4885:394:181","statements":[{"nodeType":"YulAssignment","src":"4895:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4907:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4918:3:181","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4903:3:181"},"nodeType":"YulFunctionCall","src":"4903:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4895:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4938:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"4949:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4931:6:181"},"nodeType":"YulFunctionCall","src":"4931:25:181"},"nodeType":"YulExpressionStatement","src":"4931:25:181"},{"nodeType":"YulVariableDeclaration","src":"4965:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4983:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4988:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4979:3:181"},"nodeType":"YulFunctionCall","src":"4979:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"4992:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4975:3:181"},"nodeType":"YulFunctionCall","src":"4975:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4969:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5014:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5025:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5010:3:181"},"nodeType":"YulFunctionCall","src":"5010:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5034:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5042:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5030:3:181"},"nodeType":"YulFunctionCall","src":"5030:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5003:6:181"},"nodeType":"YulFunctionCall","src":"5003:43:181"},"nodeType":"YulExpressionStatement","src":"5003:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5066:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5077:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5062:3:181"},"nodeType":"YulFunctionCall","src":"5062:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"5086:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5094:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5082:3:181"},"nodeType":"YulFunctionCall","src":"5082:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5055:6:181"},"nodeType":"YulFunctionCall","src":"5055:43:181"},"nodeType":"YulExpressionStatement","src":"5055:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5118:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5129:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5114:3:181"},"nodeType":"YulFunctionCall","src":"5114:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"5134:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5107:6:181"},"nodeType":"YulFunctionCall","src":"5107:34:181"},"nodeType":"YulExpressionStatement","src":"5107:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5161:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5172:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5157:3:181"},"nodeType":"YulFunctionCall","src":"5157:19:181"},{"name":"value4","nodeType":"YulIdentifier","src":"5178:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5150:6:181"},"nodeType":"YulFunctionCall","src":"5150:35:181"},"nodeType":"YulExpressionStatement","src":"5150:35:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5205:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5216:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5201:3:181"},"nodeType":"YulFunctionCall","src":"5201:19:181"},{"name":"value5","nodeType":"YulIdentifier","src":"5222:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5194:6:181"},"nodeType":"YulFunctionCall","src":"5194:35:181"},"nodeType":"YulExpressionStatement","src":"5194:35:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5249:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5260:3:181","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5245:3:181"},"nodeType":"YulFunctionCall","src":"5245:19:181"},{"name":"value6","nodeType":"YulIdentifier","src":"5266:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5238:6:181"},"nodeType":"YulFunctionCall","src":"5238:35:181"},"nodeType":"YulExpressionStatement","src":"5238:35:181"}]},"name":"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4806:9:181","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4817:6:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4825:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4833:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4841:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4849:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4857:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4865:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4876:4:181","type":""}],"src":"4616:663:181"},{"body":{"nodeType":"YulBlock","src":"5532:144:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5549:3:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5558:3:181","type":"","value":"240"},{"kind":"number","nodeType":"YulLiteral","src":"5563:4:181","type":"","value":"6401"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5554:3:181"},"nodeType":"YulFunctionCall","src":"5554:14:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5542:6:181"},"nodeType":"YulFunctionCall","src":"5542:27:181"},"nodeType":"YulExpressionStatement","src":"5542:27:181"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5589:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"5594:1:181","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5585:3:181"},"nodeType":"YulFunctionCall","src":"5585:11:181"},{"name":"value0","nodeType":"YulIdentifier","src":"5598:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5578:6:181"},"nodeType":"YulFunctionCall","src":"5578:27:181"},"nodeType":"YulExpressionStatement","src":"5578:27:181"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5625:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"5630:2:181","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5621:3:181"},"nodeType":"YulFunctionCall","src":"5621:12:181"},{"name":"value1","nodeType":"YulIdentifier","src":"5635:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5614:6:181"},"nodeType":"YulFunctionCall","src":"5614:28:181"},"nodeType":"YulExpressionStatement","src":"5614:28:181"},{"nodeType":"YulAssignment","src":"5651:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5662:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"5667:2:181","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5658:3:181"},"nodeType":"YulFunctionCall","src":"5658:12:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5651:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5500:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5505:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5513:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5524:3:181","type":""}],"src":"5284:392:181"},{"body":{"nodeType":"YulBlock","src":"5713:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5730:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5737:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5742:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5733:3:181"},"nodeType":"YulFunctionCall","src":"5733:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5723:6:181"},"nodeType":"YulFunctionCall","src":"5723:31:181"},"nodeType":"YulExpressionStatement","src":"5723:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5770:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5773:4:181","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5763:6:181"},"nodeType":"YulFunctionCall","src":"5763:15:181"},"nodeType":"YulExpressionStatement","src":"5763:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5794:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5797:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5787:6:181"},"nodeType":"YulFunctionCall","src":"5787:15:181"},"nodeType":"YulExpressionStatement","src":"5787:15:181"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"5681:127:181"},{"body":{"nodeType":"YulBlock","src":"5987:174:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6004:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6015:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5997:6:181"},"nodeType":"YulFunctionCall","src":"5997:21:181"},"nodeType":"YulExpressionStatement","src":"5997:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6038:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6049:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6034:3:181"},"nodeType":"YulFunctionCall","src":"6034:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6054:2:181","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6027:6:181"},"nodeType":"YulFunctionCall","src":"6027:30:181"},"nodeType":"YulExpressionStatement","src":"6027:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6077:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6088:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6073:3:181"},"nodeType":"YulFunctionCall","src":"6073:18:181"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","kind":"string","nodeType":"YulLiteral","src":"6093:26:181","type":"","value":"ECDSA: invalid signature"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6066:6:181"},"nodeType":"YulFunctionCall","src":"6066:54:181"},"nodeType":"YulExpressionStatement","src":"6066:54:181"},{"nodeType":"YulAssignment","src":"6129:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6141:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6152:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6137:3:181"},"nodeType":"YulFunctionCall","src":"6137:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6129:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5964:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5978:4:181","type":""}],"src":"5813:348:181"},{"body":{"nodeType":"YulBlock","src":"6340:181:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6357:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6368:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6350:6:181"},"nodeType":"YulFunctionCall","src":"6350:21:181"},"nodeType":"YulExpressionStatement","src":"6350:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6391:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6402:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6387:3:181"},"nodeType":"YulFunctionCall","src":"6387:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6407:2:181","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6380:6:181"},"nodeType":"YulFunctionCall","src":"6380:30:181"},"nodeType":"YulExpressionStatement","src":"6380:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6430:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6441:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6426:3:181"},"nodeType":"YulFunctionCall","src":"6426:18:181"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","kind":"string","nodeType":"YulLiteral","src":"6446:33:181","type":"","value":"ECDSA: invalid signature length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6419:6:181"},"nodeType":"YulFunctionCall","src":"6419:61:181"},"nodeType":"YulExpressionStatement","src":"6419:61:181"},{"nodeType":"YulAssignment","src":"6489:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6501:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6512:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6497:3:181"},"nodeType":"YulFunctionCall","src":"6497:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6489:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6317:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6331:4:181","type":""}],"src":"6166:355:181"},{"body":{"nodeType":"YulBlock","src":"6700:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6717:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6728:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6710:6:181"},"nodeType":"YulFunctionCall","src":"6710:21:181"},"nodeType":"YulExpressionStatement","src":"6710:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6751:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6762:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6747:3:181"},"nodeType":"YulFunctionCall","src":"6747:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6767:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6740:6:181"},"nodeType":"YulFunctionCall","src":"6740:30:181"},"nodeType":"YulExpressionStatement","src":"6740:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6790:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6801:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6786:3:181"},"nodeType":"YulFunctionCall","src":"6786:18:181"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c","kind":"string","nodeType":"YulLiteral","src":"6806:34:181","type":"","value":"ECDSA: invalid signature 's' val"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6779:6:181"},"nodeType":"YulFunctionCall","src":"6779:62:181"},"nodeType":"YulExpressionStatement","src":"6779:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6861:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6872:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6857:3:181"},"nodeType":"YulFunctionCall","src":"6857:18:181"},{"hexValue":"7565","kind":"string","nodeType":"YulLiteral","src":"6877:4:181","type":"","value":"ue"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6850:6:181"},"nodeType":"YulFunctionCall","src":"6850:32:181"},"nodeType":"YulExpressionStatement","src":"6850:32:181"},{"nodeType":"YulAssignment","src":"6891:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6903:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6914:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6899:3:181"},"nodeType":"YulFunctionCall","src":"6899:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6891:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6677:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6691:4:181","type":""}],"src":"6526:398:181"},{"body":{"nodeType":"YulBlock","src":"7142:276:181","statements":[{"nodeType":"YulAssignment","src":"7152:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7164:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7175:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7160:3:181"},"nodeType":"YulFunctionCall","src":"7160:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7152:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7195:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"7206:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7188:6:181"},"nodeType":"YulFunctionCall","src":"7188:25:181"},"nodeType":"YulExpressionStatement","src":"7188:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7233:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7244:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7229:3:181"},"nodeType":"YulFunctionCall","src":"7229:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"7249:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7222:6:181"},"nodeType":"YulFunctionCall","src":"7222:34:181"},"nodeType":"YulExpressionStatement","src":"7222:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7276:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7287:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7272:3:181"},"nodeType":"YulFunctionCall","src":"7272:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"7292:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7265:6:181"},"nodeType":"YulFunctionCall","src":"7265:34:181"},"nodeType":"YulExpressionStatement","src":"7265:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7319:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7330:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7315:3:181"},"nodeType":"YulFunctionCall","src":"7315:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"7335:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7308:6:181"},"nodeType":"YulFunctionCall","src":"7308:34:181"},"nodeType":"YulExpressionStatement","src":"7308:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7362:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7373:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7358:3:181"},"nodeType":"YulFunctionCall","src":"7358:19:181"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"7383:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7399:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7404:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7395:3:181"},"nodeType":"YulFunctionCall","src":"7395:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"7408:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7391:3:181"},"nodeType":"YulFunctionCall","src":"7391:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7379:3:181"},"nodeType":"YulFunctionCall","src":"7379:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7351:6:181"},"nodeType":"YulFunctionCall","src":"7351:61:181"},"nodeType":"YulExpressionStatement","src":"7351:61:181"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7079:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7090:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7098:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7106:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7114:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7122:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7133:4:181","type":""}],"src":"6929:489:181"},{"body":{"nodeType":"YulBlock","src":"7604:217:181","statements":[{"nodeType":"YulAssignment","src":"7614:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7626:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7637:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7622:3:181"},"nodeType":"YulFunctionCall","src":"7622:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7614:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7657:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"7668:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7650:6:181"},"nodeType":"YulFunctionCall","src":"7650:25:181"},"nodeType":"YulExpressionStatement","src":"7650:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7695:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7706:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7691:3:181"},"nodeType":"YulFunctionCall","src":"7691:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7715:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7723:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7711:3:181"},"nodeType":"YulFunctionCall","src":"7711:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7684:6:181"},"nodeType":"YulFunctionCall","src":"7684:45:181"},"nodeType":"YulExpressionStatement","src":"7684:45:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7749:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7760:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7745:3:181"},"nodeType":"YulFunctionCall","src":"7745:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"7765:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7738:6:181"},"nodeType":"YulFunctionCall","src":"7738:34:181"},"nodeType":"YulExpressionStatement","src":"7738:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7792:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7803:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7788:3:181"},"nodeType":"YulFunctionCall","src":"7788:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"7808:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7781:6:181"},"nodeType":"YulFunctionCall","src":"7781:34:181"},"nodeType":"YulExpressionStatement","src":"7781:34:181"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7549:9:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7560:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7568:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7576:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7584:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7595:4:181","type":""}],"src":"7423:398:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\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_struct$_ForwardRequest_$9179_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 192) { revert(0, 0) }\n value0 := _2\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let _3 := add(headStart, offset_1)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_3)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_3, length), 32), dataEnd) { revert(0, 0) }\n value1 := add(_3, 32)\n value2 := length\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, iszero(iszero(value0)))\n mstore(add(headStart, 32), 64)\n let length := mload(value1)\n mstore(add(headStart, 64), length)\n copy_memory_to_memory(add(value1, 32), add(headStart, 96), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\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_stringliteral_0a1000a56588b05caffad06969cd7617cd0867f6c7d159cd7e5aa9b3c93b18ae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"MinimalForwarder: signature does\")\n mstore(add(headStart, 96), \" not match request\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n mstore(_1, and(shl(96, value2), not(0xffffffffffffffffffffffff)))\n end := add(_1, 20)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\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_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_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 224)\n mstore(headStart, value0)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n }\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, shl(240, 6401))\n mstore(add(pos, 2), value0)\n mstore(add(pos, 34), value1)\n end := add(pos, 66)\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_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__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), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__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), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\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 }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"23307":[{"length":32,"start":1219}],"23309":[{"length":32,"start":1177}],"23311":[{"length":32,"start":1135}],"23313":[{"length":32,"start":1302}],"23315":[{"length":32,"start":1339}],"23317":[{"length":32,"start":1260}]},"linkReferences":{},"object":"6080604052600436106100345760003560e01c80632d0335ab1461003957806347153f8214610082578063bf5d3bdb146100a3575b600080fd5b34801561004557600080fd5b5061006f6100543660046107e4565b6001600160a01b031660009081526020819052604090205490565b6040519081526020015b60405180910390f35b610095610090366004610814565b6100d3565b6040516100799291906108e3565b3480156100af57600080fd5b506100c36100be366004610814565b61026c565b6040519015158152602001610079565b600060606100e285858561026c565b61014e5760405162461bcd60e51b815260206004820152603260248201527f4d696e696d616c466f727761726465723a207369676e617475726520646f6573604482015271081b9bdd081b585d18da081c995c5d595cdd60721b60648201526084015b60405180910390fd5b61015d6080860135600161091f565b60008061016d60208901896107e4565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000808660200160208101906101a791906107e4565b6001600160a01b0316606088013560408901356101c760a08b018b610945565b6101d460208d018d6107e4565b6040516020016101e69392919061098c565b60408051601f1981840301815290829052610200916109b2565b600060405180830381858888f193505050503d806000811461023e576040519150601f19603f3d011682016040523d82523d6000602084013e610243565b606091505b509092509050610258603f60608901356109ce565b5a1161026057fe5b90969095509350505050565b60008061037f84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061037992507fdd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e4891506102dc905060208a018a6107e4565b6102ec60408b0160208c016107e4565b60408b013560608c013560808d013561030860a08f018f610945565b6040516103169291906109f0565b6040805191829003822060208301989098526001600160a01b0396871690820152949093166060850152608084019190915260a083015260c082015260e081019190915261010001604051602081830303815290604052805190602001206103ea565b9061043e565b9050608085013560008061039660208901896107e4565b6001600160a01b03166001600160a01b03168152602001908152602001600020541480156103e157506103cc60208601866107e4565b6001600160a01b0316816001600160a01b0316145b95945050505050565b60006104386103f7610462565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b600080600061044d8585610589565b9150915061045a816105cf565b509392505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156104bb57507f000000000000000000000000000000000000000000000000000000000000000046145b156104e557507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000808251604114156105c05760208301516040840151606085015160001a6105b487828585610720565b945094505050506105c8565b506000905060025b9250929050565b60008160048111156105e3576105e3610a00565b14156105ec5750565b600181600481111561060057610600610a00565b141561064e5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610145565b600281600481111561066257610662610a00565b14156106b05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610145565b60038160048111156106c4576106c4610a00565b141561071d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610145565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561075757506000905060036107db565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156107ab573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166107d4576000600192509250506107db565b9150600090505b94509492505050565b6000602082840312156107f657600080fd5b81356001600160a01b038116811461080d57600080fd5b9392505050565b60008060006040848603121561082957600080fd5b833567ffffffffffffffff8082111561084157600080fd5b9085019060c0828803121561085557600080fd5b9093506020850135908082111561086b57600080fd5b818601915086601f83011261087f57600080fd5b81358181111561088e57600080fd5b8760208285010111156108a057600080fd5b6020830194508093505050509250925092565b60005b838110156108ce5781810151838201526020016108b6565b838111156108dd576000848401525b50505050565b8215158152604060208201526000825180604084015261090a8160608501602087016108b3565b601f01601f1916919091016060019392505050565b6000821982111561094057634e487b7160e01b600052601160045260246000fd5b500190565b6000808335601e1984360301811261095c57600080fd5b83018035915067ffffffffffffffff82111561097757600080fd5b6020019150368190038213156105c857600080fd5b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600082516109c48184602087016108b3565b9190910192915050565b6000826109eb57634e487b7160e01b600052601260045260246000fd5b500490565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220eb484b18ca59dd78eac8dd90bff85e6c263cd9704c2fd98b3132b91f9168d95464736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x47153F82 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0xBF5D3BDB EQ PUSH2 0xA3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x814 JUMP JUMPDEST PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP3 SWAP2 SWAP1 PUSH2 0x8E3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC3 PUSH2 0xBE CALLDATASIZE PUSH1 0x4 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x79 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH2 0xE2 DUP6 DUP6 DUP6 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x14E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D616C466F727761726465723A207369676E617475726520646F6573 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x81B9BDD081B585D18DA081C995C5D595CDD PUSH1 0x72 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x15D PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH2 0x91F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16D PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH1 0x20 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH1 0x40 DUP10 ADD CALLDATALOAD PUSH2 0x1C7 PUSH1 0xA0 DUP12 ADD DUP12 PUSH2 0x945 JUMP JUMPDEST PUSH2 0x1D4 PUSH1 0x20 DUP14 ADD DUP14 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1E6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x98C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x200 SWAP2 PUSH2 0x9B2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x23E 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 0x243 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x258 PUSH1 0x3F PUSH1 0x60 DUP10 ADD CALLDATALOAD PUSH2 0x9CE JUMP JUMPDEST GAS GT PUSH2 0x260 JUMPI INVALID JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37F DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x379 SWAP3 POP PUSH32 0xDD8F4B70B0F4393E889BD39128A30628A78B61816A9EB8199759E7A349657E48 SWAP2 POP PUSH2 0x2DC SWAP1 POP PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0x7E4 JUMP JUMPDEST PUSH2 0x2EC PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 DUP12 ADD CALLDATALOAD PUSH1 0x60 DUP13 ADD CALLDATALOAD PUSH1 0x80 DUP14 ADD CALLDATALOAD PUSH2 0x308 PUSH1 0xA0 DUP16 ADD DUP16 PUSH2 0x945 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x316 SWAP3 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x20 DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND SWAP1 DUP3 ADD MSTORE SWAP5 SWAP1 SWAP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x3EA JUMP JUMPDEST SWAP1 PUSH2 0x43E JUMP JUMPDEST SWAP1 POP PUSH1 0x80 DUP6 ADD CALLDATALOAD PUSH1 0x0 DUP1 PUSH2 0x396 PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ DUP1 ISZERO PUSH2 0x3E1 JUMPI POP PUSH2 0x3CC PUSH1 0x20 DUP7 ADD DUP7 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x438 PUSH2 0x3F7 PUSH2 0x462 JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x42 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x62 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x44D DUP6 DUP6 PUSH2 0x589 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x45A DUP2 PUSH2 0x5CF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 ISZERO PUSH2 0x4BB JUMPI POP PUSH32 0x0 CHAINID EQ JUMPDEST ISZERO PUSH2 0x4E5 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH32 0x0 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 DUP3 DUP5 ADD MSTORE PUSH32 0x0 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xC0 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 EQ ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x5B4 DUP8 DUP3 DUP6 DUP6 PUSH2 0x720 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x5C8 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x5E3 JUMPI PUSH2 0x5E3 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x5EC JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x600 JUMPI PUSH2 0x600 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x64E 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 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x145 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x662 JUMPI PUSH2 0x662 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x6B0 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 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x145 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x6C4 JUMPI PUSH2 0x6C4 PUSH2 0xA00 JUMP JUMPDEST EQ ISZERO PUSH2 0x71D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x145 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x757 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x7D4 JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x7DB JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x80D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x829 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x841 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP6 ADD SWAP1 PUSH1 0xC0 DUP3 DUP9 SUB SLT ISZERO PUSH2 0x855 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x86B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x87F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x88E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x8A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8CE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x8B6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8DD JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x90A DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x8B3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x940 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x95C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x5C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP5 DUP3 CALLDATACOPY PUSH1 0x60 SWAP2 SWAP1 SWAP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x9C4 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x8B3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x9EB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV 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 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB BASEFEE 0x4B XOR 0xCA MSIZE 0xDD PUSH25 0xEAC8DD90BFF85E6C263CD9704C2FD98B3132B91F9168D95464 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"768:2055:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1267:99;;;;;;;;;;-1:-1:-1;1267:99:69;;;;;:::i;:::-;-1:-1:-1;;;;;1346:13:69;1320:7;1346:13;;;;;;;;;;;;1267:99;;;;451:25:181;;;439:2;424:18;1267:99:69;;;;;;;;1740:1081;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1372:362::-;;;;;;;;;;-1:-1:-1;1372:362:69;;;;;:::i;:::-;;:::i;:::-;;;2250:14:181;;2243:22;2225:41;;2213:2;2198:18;1372:362:69;2085:187:181;1740:1081:69;1860:4;1866:12;1902:22;1909:3;1914:9;;1902:6;:22::i;:::-;1894:85;;;;-1:-1:-1;;;1894:85:69;;2479:2:181;1894:85:69;;;2461:21:181;2518:2;2498:18;;;2491:30;2557:34;2537:18;;;2530:62;-1:-1:-1;;;2608:18:181;;;2601:48;2666:19;;1894:85:69;;;;;;;;;2009:13;:9;;;;2021:1;2009:13;:::i;:::-;1989:7;;1997:8;;;;:3;:8;:::i;:::-;-1:-1:-1;;;;;1989:17:69;-1:-1:-1;;;;;1989:17:69;;;;;;;;;;;;:33;;;;2034:12;2048:23;2075:3;:6;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2075:11:69;2092:7;;;;2108:9;;;;2149:8;;;;2092:3;2149:8;:::i;:::-;2159;;;;:3;:8;:::i;:::-;2132:36;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2132:36:69;;;;;;;;;;2075:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2033:145:69;;-1:-1:-1;2033:145:69;-1:-1:-1;2342:12:69;2352:2;2342:7;;;;:12;:::i;:::-;2329:9;:25;2325:451;;2743:9;2325:451;2794:7;;;;-1:-1:-1;1740:1081:69;-1:-1:-1;;;;1740:1081:69:o;1372:362::-;1464:4;1480:14;1497:161;1648:9;;1497:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1497:142:69;;-1:-1:-1;1049:103:69;;-1:-1:-1;1559:8:69;;-1:-1:-1;1559:8:69;;;:3;:8;:::i;:::-;1569:6;;;;;;;;:::i;:::-;1577:9;;;;1588:7;;;;1597:9;;;;1618:8;;;;1577:3;1618:8;:::i;:::-;1608:19;;;;;;;:::i;:::-;;;;;;;;;;1537:91;;;4931:25:181;;;;-1:-1:-1;;;;;5030:15:181;;;5010:18;;;5003:43;5082:15;;;;5062:18;;;5055:43;5114:18;;;5107:34;;;;5157:19;;;5150:35;5201:19;;;5194:35;5245:19;;;5238:35;;;;4903:19;;1537:91:69;;;;;;;;;;;;1527:102;;;;;;1497:16;:142::i;:::-;:150;;:161::i;:::-;1480:178;-1:-1:-1;1696:9:69;;;;1675:7;;1683:8;;;;1696:3;1683:8;:::i;:::-;-1:-1:-1;;;;;1675:17:69;-1:-1:-1;;;;;1675:17:69;;;;;;;;;;;;;:30;:52;;;;-1:-1:-1;1719:8:69;;;;:3;:8;:::i;:::-;-1:-1:-1;;;;;1709:18:69;:6;-1:-1:-1;;;;;1709:18:69;;1675:52;1668:59;1372:362;-1:-1:-1;;;;;1372:362:69:o;4348:165:146:-;4425:7;4451:55;4473:20;:18;:20::i;:::-;4495:10;8470:57:145;;-1:-1:-1;;;8470:57:145;;;5542:27:181;5585:11;;;5578:27;;;5621:12;;;5614:28;;;8434:7:145;;5658:12:181;;8470:57:145;;;;;;;;;;;;8460:68;;;;;;8453:75;;8341:194;;;;;4451:55:146;4444:62;4348:165;-1:-1:-1;;4348:165:146:o;3661:227:145:-;3739:7;3759:17;3778:18;3800:27;3811:4;3817:9;3800:10;:27::i;:::-;3758:69;;;;3837:18;3849:5;3837:11;:18::i;:::-;-1:-1:-1;3872:9:145;3661:227;-1:-1:-1;;;3661:227:145:o;3152:308:146:-;3205:7;3236:4;-1:-1:-1;;;;;3245:12:146;3228:29;;:66;;;;;3278:16;3261:13;:33;3228:66;3224:230;;;-1:-1:-1;3317:24:146;;3152:308::o;3224:230::-;-1:-1:-1;3642:73:146;;;3401:10;3642:73;;;;7188:25:181;;;;3413:12:146;7229:18:181;;;7222:34;3427:15:146;7272:18:181;;;7265:34;3686:13:146;7315:18:181;;;7308:34;3709:4:146;7358:19:181;;;;7351:61;;;;3642:73:146;;;;;;;;;;7160:19:181;;;;3642:73:146;;;3632:84;;;;;;3152:308::o;2145:730:145:-;2226:7;2235:12;2263:9;:16;2283:2;2263:22;2259:610;;;2599:4;2584:20;;2578:27;2648:4;2633:20;;2627:27;2705:4;2690:20;;2684:27;2301:9;2676:36;2746:25;2757:4;2676:36;2578:27;2627;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;-1:-1:-1;2818:1:145;;-1:-1:-1;2822:35:145;2259:610;2145:730;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;;788:34;;-1:-1:-1;;;788:34:145;;6015:2:181;788:34:145;;;5997:21:181;6054:2;6034:18;;;6027:30;6093:26;6073:18;;;6066:54;6137:18;;788:34:145;5813:348:181;730:345:145;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;;903:41;;-1:-1:-1;;;903:41:145;;6368:2:181;903:41:145;;;6350:21:181;6407:2;6387:18;;;6380:30;6446:33;6426:18;;;6419:61;6497:18;;903:41:145;6166:355:181;839:236:145;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;;1020:44;;-1:-1:-1;;;1020:44:145;;6728:2:181;1020:44:145;;;6710:21:181;6767:2;6747:18;;;6740:30;6806:34;6786:18;;;6779:62;-1:-1:-1;;;6857:18:181;;;6850:32;6899:19;;1020:44:145;6526:398:181;961:114:145;570:511;:::o;5069:1494::-;5195:7;;6119:66;6106:79;;6102:161;;;-1:-1:-1;6217:1:145;;-1:-1:-1;6221:30:145;6201:51;;6102:161;6374:24;;;6357:14;6374:24;;;;;;;;;7650:25:181;;;7723:4;7711:17;;7691:18;;;7684:45;;;;7745:18;;;7738:34;;;7788:18;;;7781:34;;;6374:24:145;;7622:19:181;;6374:24:145;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6374:24:145;;-1:-1:-1;;6374:24:145;;;-1:-1:-1;;;;;;;6412:20:145;;6408:101;;6464:1;6468:29;6448:50;;;;;;;6408:101;6527:6;-1:-1:-1;6535:20:145;;-1:-1:-1;5069:1494:145;;;;;;;;:::o;14:286:181:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:181;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:181:o;487:863::-;600:6;608;616;669:2;657:9;648:7;644:23;640:32;637:52;;;685:1;682;675:12;637:52;725:9;712:23;754:18;795:2;787:6;784:14;781:34;;;811:1;808;801:12;781:34;834:22;;;;890:3;872:16;;;868:26;865:46;;;907:1;904;897:12;865:46;930:2;;-1:-1:-1;985:2:181;970:18;;957:32;;1001:16;;;998:36;;;1030:1;1027;1020:12;998:36;1068:8;1057:9;1053:24;1043:34;;1115:7;1108:4;1104:2;1100:13;1096:27;1086:55;;1137:1;1134;1127:12;1086:55;1177:2;1164:16;1203:2;1195:6;1192:14;1189:34;;;1219:1;1216;1209:12;1189:34;1264:7;1259:2;1250:6;1246:2;1242:15;1238:24;1235:37;1232:57;;;1285:1;1282;1275:12;1232:57;1316:2;1312;1308:11;1298:21;;1338:6;1328:16;;;;;487:863;;;;;:::o;1355:258::-;1427:1;1437:113;1451:6;1448:1;1445:13;1437:113;;;1527:11;;;1521:18;1508:11;;;1501:39;1473:2;1466:10;1437:113;;;1568:6;1565:1;1562:13;1559:48;;;1603:1;1594:6;1589:3;1585:16;1578:27;1559:48;;1355:258;;;:::o;1618:462::-;1801:6;1794:14;1787:22;1776:9;1769:41;1846:2;1841;1830:9;1826:18;1819:30;1750:4;1878:6;1872:13;1921:6;1916:2;1905:9;1901:18;1894:34;1937:66;1996:6;1991:2;1980:9;1976:18;1971:2;1963:6;1959:15;1937:66;:::i;:::-;2064:2;2043:15;-1:-1:-1;;2039:29:181;2024:45;;;;2071:2;2020:54;;1618:462;-1:-1:-1;;;1618:462:181:o;2696:225::-;2736:3;2767:1;2763:6;2760:1;2757:13;2754:136;;;2812:10;2807:3;2803:20;2800:1;2793:31;2847:4;2844:1;2837:15;2875:4;2872:1;2865:15;2754:136;-1:-1:-1;2906:9:181;;2696:225::o;2926:521::-;3003:4;3009:6;3069:11;3056:25;3163:2;3159:7;3148:8;3132:14;3128:29;3124:43;3104:18;3100:68;3090:96;;3182:1;3179;3172:12;3090:96;3209:33;;3261:20;;;-1:-1:-1;3304:18:181;3293:30;;3290:50;;;3336:1;3333;3326:12;3290:50;3369:4;3357:17;;-1:-1:-1;3400:14:181;3396:27;;;3386:38;;3383:58;;;3437:1;3434;3427:12;3452:382;3663:6;3655;3650:3;3637:33;3755:2;3751:15;;;;-1:-1:-1;;3747:53:181;3689:16;;3736:65;;;3825:2;3817:11;;3452:382;-1:-1:-1;3452:382:181:o;3839:274::-;3968:3;4006:6;4000:13;4022:53;4068:6;4063:3;4056:4;4048:6;4044:17;4022:53;:::i;:::-;4091:16;;;;;3839:274;-1:-1:-1;;3839:274:181:o;4118:217::-;4158:1;4184;4174:132;;4228:10;4223:3;4219:20;4216:1;4209:31;4263:4;4260:1;4253:15;4291:4;4288:1;4281:15;4174:132;-1:-1:-1;4320:9:181;;4118:217::o;4340:271::-;4523:6;4515;4510:3;4497:33;4479:3;4549:16;;4574:13;;;4549:16;4340:271;-1:-1:-1;4340:271:181:o;5681:127::-;5742:10;5737:3;5733:20;5730:1;5723:31;5773:4;5770:1;5763:15;5797:4;5794:1;5787:15"},"methodIdentifiers":{"execute((address,address,uint256,uint256,uint256,bytes),bytes)":"47153f82","getNonce(address)":"2d0335ab","verify((address,address,uint256,uint256,uint256,bytes),bytes)":"bf5d3bdb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct MinimalForwarder.ForwardRequest\",\"name\":\"req\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct MinimalForwarder.ForwardRequest\",\"name\":\"req\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Simple minimal forwarder to be used together with an ERC2771 compatible contract. See {ERC2771Context}. MinimalForwarder is mainly meant for testing, as it is missing features to be a good production-ready forwarder. This contract does not intend to have all the properties that are needed for a sound forwarding system. A fully functioning forwarding system with good properties requires more complexity. We suggest you look at other projects such as the GSN which do have the goal of building a system like that.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol\":\"MinimalForwarder\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol\":{\"keccak256\":\"0xc38f078acfe8e3e6b62db677673cb0c9414d3666aea286ac9fe46fba60a36c88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2aaf94ab2d10518f65769b00e8c151bb36479d18f30f0813870223bce2e0f264\",\"dweb:/ipfs/QmdhA5QuULqq9WZKaeuLGqZbHzpQPc2vDhfj37AZHYA12m\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/Clones.sol":{"Clones":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ae9c800548a8830679e949c6d2b127ec5baaa1baff37c1fd464b8618f271600464736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAE SWAP13 DUP1 SDIV BASEFEE 0xA8 DUP4 MOD PUSH26 0xE949C6D2B127EC5BAAA1BAFF37C1FD464B8618F271600464736F PUSH13 0x63430008090033000000000000 ","sourceMap":"755:3281:70:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;755:3281:70;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ae9c800548a8830679e949c6d2b127ec5baaa1baff37c1fd464b8618f271600464736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAE SWAP13 DUP1 SDIV BASEFEE 0xA8 DUP4 MOD PUSH26 0xE949C6D2B127EC5BAAA1BAFF37C1FD464B8618F271600464736F PUSH13 0x63430008090033000000000000 ","sourceMap":"755:3281:70:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for deploying minimal proxy contracts, also known as \\\"clones\\\". > To simply and cheaply clone contract functionality in an immutable way, this standard specifies > a minimal bytecode implementation that delegates all calls to a known, fixed address. The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2` (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the deterministic method. _Available since v3.4._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/Clones.sol\":\"Clones\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x888d64d221d52c31d015b76e50ca1af5ef8ff076550810b49cea6b01d8267a10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4da0f451fe5aefdb95204dbec4a9448a8a2b00a444864bb5dbf7162da842a0f7\",\"dweb:/ipfs/QmYciAwNiJzgGMAqSTUANwMjy5HykNUvmkQ5PQhNTRqrB5\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"ERC1967Proxy":{"abi":[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_9431":{"entryPoint":null,"id":9431,"parameterSlots":2,"returnSlots":0},"@_revert_20687":{"entryPoint":690,"id":20687,"parameterSlots":2,"returnSlots":0},"@_setImplementation_9500":{"entryPoint":215,"id":9500,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCall_9545":{"entryPoint":53,"id":9545,"parameterSlots":3,"returnSlots":0},"@_upgradeTo_9515":{"entryPoint":107,"id":9515,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":171,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":425,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":561,"id":22517,"parameterSlots":1,"returnSlots":1},"@isContract_20376":{"entryPoint":546,"id":20376,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":564,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory":{"entryPoint":798,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1004,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1032,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":754,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":732,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2900:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"199:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"209:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"218:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"213:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"303:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"308:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"299:3:181"},"nodeType":"YulFunctionCall","src":"299:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"322:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"327:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"318:3:181"},"nodeType":"YulFunctionCall","src":"318:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"312:5:181"},"nodeType":"YulFunctionCall","src":"312:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"292:6:181"},"nodeType":"YulFunctionCall","src":"292:39:181"},"nodeType":"YulExpressionStatement","src":"292:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"239:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"242:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"236:2:181"},"nodeType":"YulFunctionCall","src":"236:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"250:19:181","statements":[{"nodeType":"YulAssignment","src":"252:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"261:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"264:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"257:3:181"},"nodeType":"YulFunctionCall","src":"257:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"252:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"232:3:181","statements":[]},"src":"228:113:181"},{"body":{"nodeType":"YulBlock","src":"367:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"380:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"385:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"376:3:181"},"nodeType":"YulFunctionCall","src":"376:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"394:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"369:6:181"},"nodeType":"YulFunctionCall","src":"369:27:181"},"nodeType":"YulExpressionStatement","src":"369:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"356:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"359:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:181"},"nodeType":"YulFunctionCall","src":"353:13:181"},"nodeType":"YulIf","src":"350:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"177:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"182:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"187:6:181","type":""}],"src":"146:258:181"},{"body":{"nodeType":"YulBlock","src":"516:943:181","statements":[{"body":{"nodeType":"YulBlock","src":"562:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"571:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"574:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"564:6:181"},"nodeType":"YulFunctionCall","src":"564:12:181"},"nodeType":"YulExpressionStatement","src":"564:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"537:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"546:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"533:3:181"},"nodeType":"YulFunctionCall","src":"533:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"558:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"529:3:181"},"nodeType":"YulFunctionCall","src":"529:32:181"},"nodeType":"YulIf","src":"526:52:181"},{"nodeType":"YulVariableDeclaration","src":"587:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"606:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"600:5:181"},"nodeType":"YulFunctionCall","src":"600:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"591:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"679:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"688:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"691:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"681:6:181"},"nodeType":"YulFunctionCall","src":"681:12:181"},"nodeType":"YulExpressionStatement","src":"681:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"638:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"649:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"664:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"669:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"660:3:181"},"nodeType":"YulFunctionCall","src":"660:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"673:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"656:3:181"},"nodeType":"YulFunctionCall","src":"656:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"645:3:181"},"nodeType":"YulFunctionCall","src":"645:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"635:2:181"},"nodeType":"YulFunctionCall","src":"635:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"628:6:181"},"nodeType":"YulFunctionCall","src":"628:50:181"},"nodeType":"YulIf","src":"625:70:181"},{"nodeType":"YulAssignment","src":"704:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"714:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"704:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"728:39:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"752:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"763:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"748:3:181"},"nodeType":"YulFunctionCall","src":"748:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"742:5:181"},"nodeType":"YulFunctionCall","src":"742:25:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"732:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"776:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"794:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"798:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"790:3:181"},"nodeType":"YulFunctionCall","src":"790:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"802:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"786:3:181"},"nodeType":"YulFunctionCall","src":"786:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"780:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"831:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"840:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"843:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"833:6:181"},"nodeType":"YulFunctionCall","src":"833:12:181"},"nodeType":"YulExpressionStatement","src":"833:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"819:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"827:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"816:2:181"},"nodeType":"YulFunctionCall","src":"816:14:181"},"nodeType":"YulIf","src":"813:34:181"},{"nodeType":"YulVariableDeclaration","src":"856:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"870:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"881:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"866:3:181"},"nodeType":"YulFunctionCall","src":"866:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"860:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"936:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"945:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"948:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"938:6:181"},"nodeType":"YulFunctionCall","src":"938:12:181"},"nodeType":"YulExpressionStatement","src":"938:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"915:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"919:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"911:3:181"},"nodeType":"YulFunctionCall","src":"911:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"926:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"907:3:181"},"nodeType":"YulFunctionCall","src":"907:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"900:6:181"},"nodeType":"YulFunctionCall","src":"900:35:181"},"nodeType":"YulIf","src":"897:55:181"},{"nodeType":"YulVariableDeclaration","src":"961:19:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"977:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"971:5:181"},"nodeType":"YulFunctionCall","src":"971:9:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"965:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1003:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1005:16:181"},"nodeType":"YulFunctionCall","src":"1005:18:181"},"nodeType":"YulExpressionStatement","src":"1005:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"995:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"999:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"992:2:181"},"nodeType":"YulFunctionCall","src":"992:10:181"},"nodeType":"YulIf","src":"989:36:181"},{"nodeType":"YulVariableDeclaration","src":"1034:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1048:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1044:3:181"},"nodeType":"YulFunctionCall","src":"1044:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1038:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1060:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1080:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1074:5:181"},"nodeType":"YulFunctionCall","src":"1074:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1064:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1092:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1114:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1138:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1142:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1134:3:181"},"nodeType":"YulFunctionCall","src":"1134:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1149:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1130:3:181"},"nodeType":"YulFunctionCall","src":"1130:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"1154:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1126:3:181"},"nodeType":"YulFunctionCall","src":"1126:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1159:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1122:3:181"},"nodeType":"YulFunctionCall","src":"1122:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1110:3:181"},"nodeType":"YulFunctionCall","src":"1110:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1096:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1222:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1224:16:181"},"nodeType":"YulFunctionCall","src":"1224:18:181"},"nodeType":"YulExpressionStatement","src":"1224:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1181:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1193:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1178:2:181"},"nodeType":"YulFunctionCall","src":"1178:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1201:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1213:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1198:2:181"},"nodeType":"YulFunctionCall","src":"1198:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1175:2:181"},"nodeType":"YulFunctionCall","src":"1175:46:181"},"nodeType":"YulIf","src":"1172:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1260:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1264:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1253:6:181"},"nodeType":"YulFunctionCall","src":"1253:22:181"},"nodeType":"YulExpressionStatement","src":"1253:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1291:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1299:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1284:6:181"},"nodeType":"YulFunctionCall","src":"1284:18:181"},"nodeType":"YulExpressionStatement","src":"1284:18:181"},{"body":{"nodeType":"YulBlock","src":"1348:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1357:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1360:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1350:6:181"},"nodeType":"YulFunctionCall","src":"1350:12:181"},"nodeType":"YulExpressionStatement","src":"1350:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1325:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1329:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1321:3:181"},"nodeType":"YulFunctionCall","src":"1321:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1334:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1317:3:181"},"nodeType":"YulFunctionCall","src":"1317:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1339:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1314:2:181"},"nodeType":"YulFunctionCall","src":"1314:33:181"},"nodeType":"YulIf","src":"1311:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1399:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1403:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1395:3:181"},"nodeType":"YulFunctionCall","src":"1395:11:181"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1412:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1420:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1408:3:181"},"nodeType":"YulFunctionCall","src":"1408:15:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1425:2:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1373:21:181"},"nodeType":"YulFunctionCall","src":"1373:55:181"},"nodeType":"YulExpressionStatement","src":"1373:55:181"},{"nodeType":"YulAssignment","src":"1437:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1447:6:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1437:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"474:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"485:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"497:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"505:6:181","type":""}],"src":"409:1050:181"},{"body":{"nodeType":"YulBlock","src":"1638:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1655:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1666:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1648:6:181"},"nodeType":"YulFunctionCall","src":"1648:21:181"},"nodeType":"YulExpressionStatement","src":"1648:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1689:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1700:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1685:3:181"},"nodeType":"YulFunctionCall","src":"1685:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1705:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1678:6:181"},"nodeType":"YulFunctionCall","src":"1678:30:181"},"nodeType":"YulExpressionStatement","src":"1678:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1728:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1739:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1724:3:181"},"nodeType":"YulFunctionCall","src":"1724:18:181"},{"hexValue":"455243313936373a206e657720696d706c656d656e746174696f6e206973206e","kind":"string","nodeType":"YulLiteral","src":"1744:34:181","type":"","value":"ERC1967: new implementation is n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1717:6:181"},"nodeType":"YulFunctionCall","src":"1717:62:181"},"nodeType":"YulExpressionStatement","src":"1717:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1799:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1810:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1795:3:181"},"nodeType":"YulFunctionCall","src":"1795:18:181"},{"hexValue":"6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"1815:15:181","type":"","value":"ot a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1788:6:181"},"nodeType":"YulFunctionCall","src":"1788:43:181"},"nodeType":"YulExpressionStatement","src":"1788:43:181"},{"nodeType":"YulAssignment","src":"1840:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1852:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1863:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1848:3:181"},"nodeType":"YulFunctionCall","src":"1848:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1840:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1615:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1629:4:181","type":""}],"src":"1464:409:181"},{"body":{"nodeType":"YulBlock","src":"2015:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2025:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2045:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2039:5:181"},"nodeType":"YulFunctionCall","src":"2039:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2029:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2087:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2095:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2083:3:181"},"nodeType":"YulFunctionCall","src":"2083:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"2102:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2107:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2061:21:181"},"nodeType":"YulFunctionCall","src":"2061:53:181"},"nodeType":"YulExpressionStatement","src":"2061:53:181"},{"nodeType":"YulAssignment","src":"2123:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2134:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2139:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2130:3:181"},"nodeType":"YulFunctionCall","src":"2130:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2123:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1991:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1996:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2007:3:181","type":""}],"src":"1878:274:181"},{"body":{"nodeType":"YulBlock","src":"2331:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2348:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2359:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2341:6:181"},"nodeType":"YulFunctionCall","src":"2341:21:181"},"nodeType":"YulExpressionStatement","src":"2341:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2382:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2393:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2378:3:181"},"nodeType":"YulFunctionCall","src":"2378:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2398:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2371:6:181"},"nodeType":"YulFunctionCall","src":"2371:30:181"},"nodeType":"YulExpressionStatement","src":"2371:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2421:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2432:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2417:3:181"},"nodeType":"YulFunctionCall","src":"2417:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"2437:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2410:6:181"},"nodeType":"YulFunctionCall","src":"2410:59:181"},"nodeType":"YulExpressionStatement","src":"2410:59:181"},{"nodeType":"YulAssignment","src":"2478:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2490:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2501:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2486:3:181"},"nodeType":"YulFunctionCall","src":"2486:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2478:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2308:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2322:4:181","type":""}],"src":"2157:353:181"},{"body":{"nodeType":"YulBlock","src":"2636:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2653:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2664:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2646:6:181"},"nodeType":"YulFunctionCall","src":"2646:21:181"},"nodeType":"YulExpressionStatement","src":"2646:21:181"},{"nodeType":"YulVariableDeclaration","src":"2676:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2696:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2690:5:181"},"nodeType":"YulFunctionCall","src":"2690:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2680:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2723:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2734:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2719:3:181"},"nodeType":"YulFunctionCall","src":"2719:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"2739:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2712:6:181"},"nodeType":"YulFunctionCall","src":"2712:34:181"},"nodeType":"YulExpressionStatement","src":"2712:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2781:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2789:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2777:3:181"},"nodeType":"YulFunctionCall","src":"2777:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2798:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2809:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2794:3:181"},"nodeType":"YulFunctionCall","src":"2794:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"2814:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2755:21:181"},"nodeType":"YulFunctionCall","src":"2755:66:181"},"nodeType":"YulExpressionStatement","src":"2755:66:181"},{"nodeType":"YulAssignment","src":"2830:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2846:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2865:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2873:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2861:3:181"},"nodeType":"YulFunctionCall","src":"2861:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2882:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2878:3:181"},"nodeType":"YulFunctionCall","src":"2878:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2857:3:181"},"nodeType":"YulFunctionCall","src":"2857:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2842:3:181"},"nodeType":"YulFunctionCall","src":"2842:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"2889:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2838:3:181"},"nodeType":"YulFunctionCall","src":"2838:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2830:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2605:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2616:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2627:4:181","type":""}],"src":"2515:383:181"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040526040516107353803806107358339810160408190526100229161031e565b61002e82826000610035565b505061043b565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161070e602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ec565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a0578251610299576001600160a01b0385163b6102995760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102aa565b6102aa83836102b2565b949350505050565b8151156102c25781518083602001fd5b8060405162461bcd60e51b81526004016101489190610408565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561030d5781810151838201526020016102f5565b838111156100645750506000910152565b6000806040838503121561033157600080fd5b82516001600160a01b038116811461034857600080fd5b60208401519092506001600160401b038082111561036557600080fd5b818501915085601f83011261037957600080fd5b81518181111561038b5761038b6102dc565b604051601f8201601f19908116603f011681019083821181831017156103b3576103b36102dc565b816040528281528860208487010111156103cc57600080fd5b6103dd8360208301602088016102f2565b80955050505050509250929050565b600082516103fe8184602087016102f2565b9190910192915050565b60208152600082518060208401526104278160408501602087016102f2565b601f01601f19169190910160400192915050565b6102c48061044a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e09190610218565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610234565b60005b838110156102035781810151838201526020016101eb565b83811115610212576000848401525b50505050565b6000825161022a8184602087016101e8565b9190910192915050565b60208152600082518060208401526102538160408501602087016101e8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202783c3105e98c54cd10f20fd69cf8ce568c4d171ece5e6634d24329636a7a83064736f6c63430008090033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x735 CODESIZE SUB DUP1 PUSH2 0x735 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x22 SWAP2 PUSH2 0x31E JUMP JUMPDEST PUSH2 0x2E DUP3 DUP3 PUSH1 0x0 PUSH2 0x35 JUMP JUMPDEST POP POP PUSH2 0x43B JUMP JUMPDEST PUSH2 0x3E DUP4 PUSH2 0x6B JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH2 0x4B JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x66 JUMPI PUSH2 0x64 DUP4 DUP4 PUSH2 0xAB PUSH1 0x20 SHL PUSH2 0x29 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x74 DUP2 PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xD0 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x70E PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x1A9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xEA DUP2 PUSH2 0x222 PUSH1 0x20 SHL PUSH2 0x55 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x151 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E657720696D706C656D656E746174696F6E206973206E PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1BDD08184818DBDB9D1C9858DD PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x188 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL PUSH2 0x231 PUSH1 0x20 SHL PUSH2 0x64 OR PUSH1 0x20 SHR JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x1C6 SWAP2 SWAP1 PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x201 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 0x206 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x218 DUP7 DUP4 DUP4 DUP8 PUSH2 0x234 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x2A0 JUMPI DUP3 MLOAD PUSH2 0x299 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x299 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x148 JUMP JUMPDEST POP DUP2 PUSH2 0x2AA JUMP JUMPDEST PUSH2 0x2AA DUP4 DUP4 PUSH2 0x2B2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x2C2 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x148 SWAP2 SWAP1 PUSH2 0x408 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2F5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x64 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x365 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x379 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x38B JUMPI PUSH2 0x38B PUSH2 0x2DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3B3 JUMPI PUSH2 0x3B3 PUSH2 0x2DC JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x3CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DD DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x2F2 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3FE DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x2F2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x427 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2C4 DUP1 PUSH2 0x44A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x17 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11 JUMPDEST PUSH2 0x27 PUSH2 0x22 PUSH2 0x67 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4E DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x268 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0xC3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9A PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xBE JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x218 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x11B 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 0x120 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x131 DUP7 DUP4 DUP4 DUP8 PUSH2 0x13B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1AC JUMPI DUP3 MLOAD PUSH2 0x1A5 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x1A5 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP2 PUSH2 0x1B6 JUMP JUMPDEST PUSH2 0x1B6 DUP4 DUP4 PUSH2 0x1BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x1CE JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19C SWAP2 SWAP1 PUSH2 0x234 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x203 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EB JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x212 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x22A DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1E8 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x253 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x706673582212202783C3 LT 0x5E SWAP9 0xC5 0x4C 0xD1 0xF KECCAK256 REVERT PUSH10 0xCF8CE568C4D171ECE5E6 PUSH4 0x4D243296 CALLDATASIZE 0xA7 0xA8 ADDRESS PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C65640000 ","sourceMap":"567:723:71:-:0;;;958:112;;;;;;;;;;;;;;;;;;:::i;:::-;1024:39;1042:6;1050:5;1057;1024:17;:39::i;:::-;958:112;;567:723;;2183:295:72;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;;;;;:53;;:::i;:::-;;2360:112;2183:295;;;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:72;;;;;;;;1897:152;:::o;6469:198:134:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;1532:259:72:-;1613:37;1632:17;1613:18;;;;;:37;;:::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:72;;1666:2:181;1605:95:72;;;1648:21:181;1705:2;1685:18;;;1678:30;1744:34;1724:18;;;1717:62;-1:-1:-1;;;1795:18:181;;;1788:43;1848:19;;1605:95:72;;;;;;;;;1767:17;1710:48;1030:66;1737:20;;1710:26;;;;;:48;;:::i;:::-;:74;;-1:-1:-1;;;;;;1710:74:72;-1:-1:-1;;;;;1710:74:72;;;;;;;;;;-1:-1:-1;1532:259:72:o;6853:325:134:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:134;;-1:-1:-1;7018:67:134;-1:-1:-1;7102:69:134;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;1175:320::-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;1614:190:142:-;1784:4;1614:190::o;7466:628:134:-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;2359:2:181;7908:60:134;;;2341:21:181;2398:2;2378:18;;;2371:30;2437:31;2417:18;;;2410:59;2486:18;;7908:60:134;2157:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:127:181:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:258;218:1;228:113;242:6;239:1;236:13;228:113;;;318:11;;;312:18;299:11;;;292:39;264:2;257:10;228:113;;;359:6;356:1;353:13;350:48;;;-1:-1:-1;;394:1:181;376:16;;369:27;146:258::o;409:1050::-;497:6;505;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;600:16;;-1:-1:-1;;;;;645:31:181;;635:42;;625:70;;691:1;688;681:12;625:70;763:2;748:18;;742:25;714:5;;-1:-1:-1;;;;;;816:14:181;;;813:34;;;843:1;840;833:12;813:34;881:6;870:9;866:22;856:32;;926:7;919:4;915:2;911:13;907:27;897:55;;948:1;945;938:12;897:55;977:2;971:9;999:2;995;992:10;989:36;;;1005:18;;:::i;:::-;1080:2;1074:9;1048:2;1134:13;;-1:-1:-1;;1130:22:181;;;1154:2;1126:31;1122:40;1110:53;;;1178:18;;;1198:22;;;1175:46;1172:72;;;1224:18;;:::i;:::-;1264:10;1260:2;1253:22;1299:2;1291:6;1284:18;1339:7;1334:2;1329;1325;1321:11;1317:20;1314:33;1311:53;;;1360:1;1357;1350:12;1311:53;1373:55;1425:2;1420;1412:6;1408:15;1403:2;1399;1395:11;1373:55;:::i;:::-;1447:6;1437:16;;;;;;;409:1050;;;;;:::o;1878:274::-;2007:3;2045:6;2039:13;2061:53;2107:6;2102:3;2095:4;2087:6;2083:17;2061:53;:::i;:::-;2130:16;;;;;1878:274;-1:-1:-1;;1878:274:181:o;2515:383::-;2664:2;2653:9;2646:21;2627:4;2696:6;2690:13;2739:6;2734:2;2723:9;2719:18;2712:34;2755:66;2814:6;2809:2;2798:9;2794:18;2789:2;2781:6;2777:15;2755:66;:::i;:::-;2882:2;2861:15;-1:-1:-1;;2857:29:181;2842:45;;;;2889:2;2838:54;;2515:383;-1:-1:-1;;2515:383:181:o;:::-;567:723:71;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_9800":{"entryPoint":null,"id":9800,"parameterSlots":0,"returnSlots":0},"@_9808":{"entryPoint":null,"id":9808,"parameterSlots":0,"returnSlots":0},"@_beforeFallback_9813":{"entryPoint":null,"id":9813,"parameterSlots":0,"returnSlots":0},"@_delegate_9773":{"entryPoint":159,"id":9773,"parameterSlots":1,"returnSlots":0},"@_fallback_9792":{"entryPoint":23,"id":9792,"parameterSlots":0,"returnSlots":0},"@_getImplementation_9476":{"entryPoint":null,"id":9476,"parameterSlots":0,"returnSlots":1},"@_implementation_9443":{"entryPoint":103,"id":9443,"parameterSlots":0,"returnSlots":1},"@_revert_20687":{"entryPoint":446,"id":20687,"parameterSlots":2,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":41,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":195,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":100,"id":22517,"parameterSlots":1,"returnSlots":1},"@isContract_20376":{"entryPoint":85,"id":20376,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":315,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":536,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":564,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":488,"id":null,"parameterSlots":3,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1299:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"67:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"77:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"86:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"81:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"146:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"171:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"176:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"167:3:181"},"nodeType":"YulFunctionCall","src":"167:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"190:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"195:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"186:3:181"},"nodeType":"YulFunctionCall","src":"186:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"180:5:181"},"nodeType":"YulFunctionCall","src":"180:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"160:6:181"},"nodeType":"YulFunctionCall","src":"160:39:181"},"nodeType":"YulExpressionStatement","src":"160:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"107:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"110:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"104:2:181"},"nodeType":"YulFunctionCall","src":"104:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"118:19:181","statements":[{"nodeType":"YulAssignment","src":"120:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"129:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"132:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"125:3:181"},"nodeType":"YulFunctionCall","src":"125:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"100:3:181","statements":[]},"src":"96:113:181"},{"body":{"nodeType":"YulBlock","src":"235:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"248:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"253:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"244:3:181"},"nodeType":"YulFunctionCall","src":"244:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"262:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"237:6:181"},"nodeType":"YulFunctionCall","src":"237:27:181"},"nodeType":"YulExpressionStatement","src":"237:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"224:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"227:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"221:2:181"},"nodeType":"YulFunctionCall","src":"221:13:181"},"nodeType":"YulIf","src":"218:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"45:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"50:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"55:6:181","type":""}],"src":"14:258:181"},{"body":{"nodeType":"YulBlock","src":"414:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"424:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"444:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"486:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"494:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"482:3:181"},"nodeType":"YulFunctionCall","src":"482:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"501:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"506:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"460:21:181"},"nodeType":"YulFunctionCall","src":"460:53:181"},"nodeType":"YulExpressionStatement","src":"460:53:181"},{"nodeType":"YulAssignment","src":"522:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"533:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"538:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"529:3:181"},"nodeType":"YulFunctionCall","src":"529:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"522:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"390:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"395:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"406:3:181","type":""}],"src":"277:274:181"},{"body":{"nodeType":"YulBlock","src":"730:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"747:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"758:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"740:6:181"},"nodeType":"YulFunctionCall","src":"740:21:181"},"nodeType":"YulExpressionStatement","src":"740:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"781:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"792:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:181"},"nodeType":"YulFunctionCall","src":"777:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"797:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"770:6:181"},"nodeType":"YulFunctionCall","src":"770:30:181"},"nodeType":"YulExpressionStatement","src":"770:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"820:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"831:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:181"},"nodeType":"YulFunctionCall","src":"816:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"836:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:181"},"nodeType":"YulFunctionCall","src":"809:59:181"},"nodeType":"YulExpressionStatement","src":"809:59:181"},{"nodeType":"YulAssignment","src":"877:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"889:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"900:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"885:3:181"},"nodeType":"YulFunctionCall","src":"885:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"877:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"707:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"721:4:181","type":""}],"src":"556:353:181"},{"body":{"nodeType":"YulBlock","src":"1035:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1052:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1063:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1045:6:181"},"nodeType":"YulFunctionCall","src":"1045:21:181"},"nodeType":"YulExpressionStatement","src":"1045:21:181"},{"nodeType":"YulVariableDeclaration","src":"1075:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1095:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1089:5:181"},"nodeType":"YulFunctionCall","src":"1089:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1079:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1122:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1133:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1118:3:181"},"nodeType":"YulFunctionCall","src":"1118:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1138:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1111:6:181"},"nodeType":"YulFunctionCall","src":"1111:34:181"},"nodeType":"YulExpressionStatement","src":"1111:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1180:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1188:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1176:3:181"},"nodeType":"YulFunctionCall","src":"1176:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1197:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1208:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:181"},"nodeType":"YulFunctionCall","src":"1193:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1213:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1154:21:181"},"nodeType":"YulFunctionCall","src":"1154:66:181"},"nodeType":"YulExpressionStatement","src":"1154:66:181"},{"nodeType":"YulAssignment","src":"1229:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1264:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1272:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1260:3:181"},"nodeType":"YulFunctionCall","src":"1260:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1281:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1277:3:181"},"nodeType":"YulFunctionCall","src":"1277:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1256:3:181"},"nodeType":"YulFunctionCall","src":"1256:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1241:3:181"},"nodeType":"YulFunctionCall","src":"1241:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"1288:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1237:3:181"},"nodeType":"YulFunctionCall","src":"1237:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1229:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1004:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1015:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1026:4:181","type":""}],"src":"914:383:181"}]},"contents":"{\n { }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e09190610218565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610234565b60005b838110156102035781810151838201526020016101eb565b83811115610212576000848401525b50505050565b6000825161022a8184602087016101e8565b9190910192915050565b60208152600082518060208401526102538160408501602087016101e8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202783c3105e98c54cd10f20fd69cf8ce568c4d171ece5e6634d24329636a7a83064736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x17 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11 JUMPDEST PUSH2 0x27 PUSH2 0x22 PUSH2 0x67 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4E DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x268 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0xC3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9A PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xBE JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x218 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x11B 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 0x120 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x131 DUP7 DUP4 DUP4 DUP8 PUSH2 0x13B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1AC JUMPI DUP3 MLOAD PUSH2 0x1A5 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x1A5 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP2 PUSH2 0x1B6 JUMP JUMPDEST PUSH2 0x1B6 DUP4 DUP4 PUSH2 0x1BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x1CE JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19C SWAP2 SWAP1 PUSH2 0x234 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x203 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EB JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x212 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x22A DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1E8 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x253 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x706673582212202783C3 LT 0x5E SWAP9 0xC5 0x4C 0xD1 0xF KECCAK256 REVERT PUSH10 0xCF8CE568C4D171ECE5E6 PUSH4 0x4D243296 CALLDATASIZE 0xA7 0xA8 ADDRESS PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"567:723:71:-:0;;;;;;2898:11:73;:9;:11::i;:::-;567:723:71;;2675:11:73;2322:110;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;6469:198:134:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;1175:320::-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;1614:190:142:-;1784:4;1614:190::o;1148:140:71:-;1215:12;1246:35;1030:66:72;1380:54;-1:-1:-1;;;;;1380:54:72;;1301:140;1246:35:71;1239:42;;1148:140;:::o;948:895:73:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;6853:325:134;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;758:2:181;7908:60:134;;;740:21:181;797:2;777:18;;;770:30;836:31;816:18;;;809:59;885:18;;7908:60:134;;;;;;;;;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:258:181:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:274::-;406:3;444:6;438:13;460:53;506:6;501:3;494:4;486:6;482:17;460:53;:::i;:::-;529:16;;;;;277:274;-1:-1:-1;;277:274:181:o;914:383::-;1063:2;1052:9;1045:21;1026:4;1095:6;1089:13;1138:6;1133:2;1122:9;1118:18;1111:34;1154:66;1213:6;1208:2;1197:9;1193:18;1188:2;1180:6;1176:15;1154:66;:::i;:::-;1281:2;1260:15;-1:-1:-1;;1256:29:181;1241:45;;;;1288:2;1237:54;;914:383;-1:-1:-1;;914:383:181:o"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `_logic`. If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"ERC1967Upgrade":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"delegatecall\",\"details\":\"This abstract contract provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. _Available since v4.1._\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1, and is validated in the constructor.\"},\"_BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\"},\"_IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1, and is validated in the constructor.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":\"ERC1967Upgrade\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/Proxy.sol":{"Proxy":{"abi":[{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol":{"BeaconProxy":{"abi":[{"inputs":[{"internalType":"address","name":"beacon","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_9839":{"entryPoint":null,"id":9839,"parameterSlots":2,"returnSlots":0},"@_revert_20687":{"entryPoint":1014,"id":20687,"parameterSlots":2,"returnSlots":0},"@_setBeacon_9723":{"entryPoint":271,"id":9723,"parameterSlots":1,"returnSlots":0},"@_upgradeBeaconToAndCall_9761":{"entryPoint":53,"id":9761,"parameterSlots":3,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":705,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":767,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":764,"id":22517,"parameterSlots":1,"returnSlots":1},"@isContract_20376":{"entryPoint":749,"id":20376,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":888,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":1056,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":1342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory":{"entryPoint":1150,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1369,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1397,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":1106,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":1084,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3622:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"74:117:181","statements":[{"nodeType":"YulAssignment","src":"84:22:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"99:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"93:5:181"},"nodeType":"YulFunctionCall","src":"93:13:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:181"}]},{"body":{"nodeType":"YulBlock","src":"169:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"178:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"181:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"171:6:181"},"nodeType":"YulFunctionCall","src":"171:12:181"},"nodeType":"YulExpressionStatement","src":"171:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"128:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"139:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"154:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"150:3:181"},"nodeType":"YulFunctionCall","src":"150:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"163:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"135:3:181"},"nodeType":"YulFunctionCall","src":"135:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"125:2:181"},"nodeType":"YulFunctionCall","src":"125:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"118:6:181"},"nodeType":"YulFunctionCall","src":"118:50:181"},"nodeType":"YulIf","src":"115:70:181"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"53:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:181","type":""}],"src":"14:177:181"},{"body":{"nodeType":"YulBlock","src":"228:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"245:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"252:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"257:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"248:3:181"},"nodeType":"YulFunctionCall","src":"248:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"238:6:181"},"nodeType":"YulFunctionCall","src":"238:31:181"},"nodeType":"YulExpressionStatement","src":"238:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"285:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"288:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"278:6:181"},"nodeType":"YulFunctionCall","src":"278:15:181"},"nodeType":"YulExpressionStatement","src":"278:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"309:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"312:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"302:6:181"},"nodeType":"YulFunctionCall","src":"302:15:181"},"nodeType":"YulExpressionStatement","src":"302:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"196:127:181"},{"body":{"nodeType":"YulBlock","src":"381:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"391:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"400:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"395:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"460:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"485:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"490:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:181"},"nodeType":"YulFunctionCall","src":"481:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"504:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"509:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"500:3:181"},"nodeType":"YulFunctionCall","src":"500:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:181"},"nodeType":"YulFunctionCall","src":"494:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"474:6:181"},"nodeType":"YulFunctionCall","src":"474:39:181"},"nodeType":"YulExpressionStatement","src":"474:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"421:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"424:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"418:2:181"},"nodeType":"YulFunctionCall","src":"418:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"432:19:181","statements":[{"nodeType":"YulAssignment","src":"434:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"443:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"446:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"439:3:181"},"nodeType":"YulFunctionCall","src":"439:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"434:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"414:3:181","statements":[]},"src":"410:113:181"},{"body":{"nodeType":"YulBlock","src":"549:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"562:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"567:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"558:3:181"},"nodeType":"YulFunctionCall","src":"558:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"576:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"551:6:181"},"nodeType":"YulFunctionCall","src":"551:27:181"},"nodeType":"YulExpressionStatement","src":"551:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"538:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"541:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"535:2:181"},"nodeType":"YulFunctionCall","src":"535:13:181"},"nodeType":"YulIf","src":"532:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"359:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"364:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"369:6:181","type":""}],"src":"328:258:181"},{"body":{"nodeType":"YulBlock","src":"698:861:181","statements":[{"body":{"nodeType":"YulBlock","src":"744:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"753:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"756:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"746:6:181"},"nodeType":"YulFunctionCall","src":"746:12:181"},"nodeType":"YulExpressionStatement","src":"746:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"719:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"728:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"715:3:181"},"nodeType":"YulFunctionCall","src":"715:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"740:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"711:3:181"},"nodeType":"YulFunctionCall","src":"711:32:181"},"nodeType":"YulIf","src":"708:52:181"},{"nodeType":"YulAssignment","src":"769:50:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"809:9:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"779:29:181"},"nodeType":"YulFunctionCall","src":"779:40:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"769:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"828:39:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"852:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"863:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"848:3:181"},"nodeType":"YulFunctionCall","src":"848:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"842:5:181"},"nodeType":"YulFunctionCall","src":"842:25:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"832:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"876:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"894:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"898:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"890:3:181"},"nodeType":"YulFunctionCall","src":"890:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"902:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"886:3:181"},"nodeType":"YulFunctionCall","src":"886:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"880:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"931:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"940:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"943:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"933:6:181"},"nodeType":"YulFunctionCall","src":"933:12:181"},"nodeType":"YulExpressionStatement","src":"933:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"919:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"927:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"916:2:181"},"nodeType":"YulFunctionCall","src":"916:14:181"},"nodeType":"YulIf","src":"913:34:181"},{"nodeType":"YulVariableDeclaration","src":"956:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"970:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"981:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"966:3:181"},"nodeType":"YulFunctionCall","src":"966:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"960:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1036:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1045:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1048:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1038:6:181"},"nodeType":"YulFunctionCall","src":"1038:12:181"},"nodeType":"YulExpressionStatement","src":"1038:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1015:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1019:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1011:3:181"},"nodeType":"YulFunctionCall","src":"1011:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1026:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1007:3:181"},"nodeType":"YulFunctionCall","src":"1007:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:181"},"nodeType":"YulFunctionCall","src":"1000:35:181"},"nodeType":"YulIf","src":"997:55:181"},{"nodeType":"YulVariableDeclaration","src":"1061:19:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1077:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1071:5:181"},"nodeType":"YulFunctionCall","src":"1071:9:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1065:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1103:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1105:16:181"},"nodeType":"YulFunctionCall","src":"1105:18:181"},"nodeType":"YulExpressionStatement","src":"1105:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1095:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1099:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1092:2:181"},"nodeType":"YulFunctionCall","src":"1092:10:181"},"nodeType":"YulIf","src":"1089:36:181"},{"nodeType":"YulVariableDeclaration","src":"1134:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1148:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1144:3:181"},"nodeType":"YulFunctionCall","src":"1144:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1138:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1160:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1180:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1174:5:181"},"nodeType":"YulFunctionCall","src":"1174:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1164:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1192:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1214:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1238:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1242:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1234:3:181"},"nodeType":"YulFunctionCall","src":"1234:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1249:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1230:3:181"},"nodeType":"YulFunctionCall","src":"1230:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"1254:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1226:3:181"},"nodeType":"YulFunctionCall","src":"1226:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1259:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1222:3:181"},"nodeType":"YulFunctionCall","src":"1222:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1210:3:181"},"nodeType":"YulFunctionCall","src":"1210:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1196:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1322:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1324:16:181"},"nodeType":"YulFunctionCall","src":"1324:18:181"},"nodeType":"YulExpressionStatement","src":"1324:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1281:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1293:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1278:2:181"},"nodeType":"YulFunctionCall","src":"1278:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1301:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1313:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1298:2:181"},"nodeType":"YulFunctionCall","src":"1298:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1275:2:181"},"nodeType":"YulFunctionCall","src":"1275:46:181"},"nodeType":"YulIf","src":"1272:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1360:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1364:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1353:6:181"},"nodeType":"YulFunctionCall","src":"1353:22:181"},"nodeType":"YulExpressionStatement","src":"1353:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1391:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1399:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1384:6:181"},"nodeType":"YulFunctionCall","src":"1384:18:181"},"nodeType":"YulExpressionStatement","src":"1384:18:181"},{"body":{"nodeType":"YulBlock","src":"1448:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1457:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1460:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1450:6:181"},"nodeType":"YulFunctionCall","src":"1450:12:181"},"nodeType":"YulExpressionStatement","src":"1450:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1425:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1429:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1421:3:181"},"nodeType":"YulFunctionCall","src":"1421:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1434:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1417:3:181"},"nodeType":"YulFunctionCall","src":"1417:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1439:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1414:2:181"},"nodeType":"YulFunctionCall","src":"1414:33:181"},"nodeType":"YulIf","src":"1411:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1499:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1503:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1495:3:181"},"nodeType":"YulFunctionCall","src":"1495:11:181"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1512:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1520:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1508:3:181"},"nodeType":"YulFunctionCall","src":"1508:15:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1525:2:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1473:21:181"},"nodeType":"YulFunctionCall","src":"1473:55:181"},"nodeType":"YulExpressionStatement","src":"1473:55:181"},{"nodeType":"YulAssignment","src":"1537:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1547:6:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1537:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"656:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"667:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"679:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"687:6:181","type":""}],"src":"591:968:181"},{"body":{"nodeType":"YulBlock","src":"1645:127:181","statements":[{"body":{"nodeType":"YulBlock","src":"1691:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1700:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1703:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1693:6:181"},"nodeType":"YulFunctionCall","src":"1693:12:181"},"nodeType":"YulExpressionStatement","src":"1693:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1666:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1675:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1662:3:181"},"nodeType":"YulFunctionCall","src":"1662:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1687:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1658:3:181"},"nodeType":"YulFunctionCall","src":"1658:32:181"},"nodeType":"YulIf","src":"1655:52:181"},{"nodeType":"YulAssignment","src":"1716:50:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1756:9:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"1726:29:181"},"nodeType":"YulFunctionCall","src":"1726:40:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1716:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1611:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1622:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1634:6:181","type":""}],"src":"1564:208:181"},{"body":{"nodeType":"YulBlock","src":"1951:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1968:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1979:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1961:6:181"},"nodeType":"YulFunctionCall","src":"1961:21:181"},"nodeType":"YulExpressionStatement","src":"1961:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2002:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2013:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1998:3:181"},"nodeType":"YulFunctionCall","src":"1998:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2018:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1991:6:181"},"nodeType":"YulFunctionCall","src":"1991:30:181"},"nodeType":"YulExpressionStatement","src":"1991:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2041:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2052:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2037:3:181"},"nodeType":"YulFunctionCall","src":"2037:18:181"},{"hexValue":"455243313936373a206e657720626561636f6e206973206e6f74206120636f6e","kind":"string","nodeType":"YulLiteral","src":"2057:34:181","type":"","value":"ERC1967: new beacon is not a con"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2030:6:181"},"nodeType":"YulFunctionCall","src":"2030:62:181"},"nodeType":"YulExpressionStatement","src":"2030:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2112:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2123:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2108:3:181"},"nodeType":"YulFunctionCall","src":"2108:18:181"},{"hexValue":"7472616374","kind":"string","nodeType":"YulLiteral","src":"2128:7:181","type":"","value":"tract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2101:6:181"},"nodeType":"YulFunctionCall","src":"2101:35:181"},"nodeType":"YulExpressionStatement","src":"2101:35:181"},{"nodeType":"YulAssignment","src":"2145:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2157:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2168:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2153:3:181"},"nodeType":"YulFunctionCall","src":"2153:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2145:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1928:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1942:4:181","type":""}],"src":"1777:401:181"},{"body":{"nodeType":"YulBlock","src":"2357:238:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2374:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2385:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2367:6:181"},"nodeType":"YulFunctionCall","src":"2367:21:181"},"nodeType":"YulExpressionStatement","src":"2367:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2408:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2419:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2404:3:181"},"nodeType":"YulFunctionCall","src":"2404:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2424:2:181","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2397:6:181"},"nodeType":"YulFunctionCall","src":"2397:30:181"},"nodeType":"YulExpressionStatement","src":"2397:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2447:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2458:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2443:3:181"},"nodeType":"YulFunctionCall","src":"2443:18:181"},{"hexValue":"455243313936373a20626561636f6e20696d706c656d656e746174696f6e2069","kind":"string","nodeType":"YulLiteral","src":"2463:34:181","type":"","value":"ERC1967: beacon implementation i"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2436:6:181"},"nodeType":"YulFunctionCall","src":"2436:62:181"},"nodeType":"YulExpressionStatement","src":"2436:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2518:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2529:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2514:3:181"},"nodeType":"YulFunctionCall","src":"2514:18:181"},{"hexValue":"73206e6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"2534:18:181","type":"","value":"s not a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2507:6:181"},"nodeType":"YulFunctionCall","src":"2507:46:181"},"nodeType":"YulExpressionStatement","src":"2507:46:181"},{"nodeType":"YulAssignment","src":"2562:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2574:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2585:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2570:3:181"},"nodeType":"YulFunctionCall","src":"2570:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2562:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2334:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2348:4:181","type":""}],"src":"2183:412:181"},{"body":{"nodeType":"YulBlock","src":"2737:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2747:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2767:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2761:5:181"},"nodeType":"YulFunctionCall","src":"2761:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2751:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2809:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2817:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2805:3:181"},"nodeType":"YulFunctionCall","src":"2805:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"2824:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2829:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2783:21:181"},"nodeType":"YulFunctionCall","src":"2783:53:181"},"nodeType":"YulExpressionStatement","src":"2783:53:181"},{"nodeType":"YulAssignment","src":"2845:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2856:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2861:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2852:3:181"},"nodeType":"YulFunctionCall","src":"2852:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2845:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2713:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2718:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2729:3:181","type":""}],"src":"2600:274:181"},{"body":{"nodeType":"YulBlock","src":"3053:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3070:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3081:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3063:6:181"},"nodeType":"YulFunctionCall","src":"3063:21:181"},"nodeType":"YulExpressionStatement","src":"3063:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3104:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3115:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3100:3:181"},"nodeType":"YulFunctionCall","src":"3100:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3120:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3093:6:181"},"nodeType":"YulFunctionCall","src":"3093:30:181"},"nodeType":"YulExpressionStatement","src":"3093:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3143:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3154:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3139:3:181"},"nodeType":"YulFunctionCall","src":"3139:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"3159:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3132:6:181"},"nodeType":"YulFunctionCall","src":"3132:59:181"},"nodeType":"YulExpressionStatement","src":"3132:59:181"},{"nodeType":"YulAssignment","src":"3200:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3212:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3223:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3208:3:181"},"nodeType":"YulFunctionCall","src":"3208:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3200:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3030:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3044:4:181","type":""}],"src":"2879:353:181"},{"body":{"nodeType":"YulBlock","src":"3358:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3375:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3386:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3368:6:181"},"nodeType":"YulFunctionCall","src":"3368:21:181"},"nodeType":"YulExpressionStatement","src":"3368:21:181"},{"nodeType":"YulVariableDeclaration","src":"3398:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3418:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3412:5:181"},"nodeType":"YulFunctionCall","src":"3412:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3402:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3445:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3456:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3441:3:181"},"nodeType":"YulFunctionCall","src":"3441:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3461:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3434:6:181"},"nodeType":"YulFunctionCall","src":"3434:34:181"},"nodeType":"YulExpressionStatement","src":"3434:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3503:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3511:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3499:3:181"},"nodeType":"YulFunctionCall","src":"3499:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3520:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3531:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3516:3:181"},"nodeType":"YulFunctionCall","src":"3516:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3536:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3477:21:181"},"nodeType":"YulFunctionCall","src":"3477:66:181"},"nodeType":"YulExpressionStatement","src":"3477:66:181"},{"nodeType":"YulAssignment","src":"3552:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3568:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3587:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3595:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3583:3:181"},"nodeType":"YulFunctionCall","src":"3583:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3604:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3600:3:181"},"nodeType":"YulFunctionCall","src":"3600:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3579:3:181"},"nodeType":"YulFunctionCall","src":"3579:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3564:3:181"},"nodeType":"YulFunctionCall","src":"3564:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"3611:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3560:3:181"},"nodeType":"YulFunctionCall","src":"3560:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3552:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3327:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3338:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3349:4:181","type":""}],"src":"3237:383:181"}]},"contents":"{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC1967: new beacon is not a con\")\n mstore(add(headStart, 96), \"tract\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"ERC1967: beacon implementation i\")\n mstore(add(headStart, 96), \"s not a contract\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405260405161093b38038061093b8339810160408190526100229161047e565b61002e82826000610035565b50506105a8565b61003e8361010f565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b1561010a57610108836001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100c057600080fd5b505afa1580156100d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f8919061053e565b836102c160201b6100291760201c565b505b505050565b610122816102ed60201b6100551760201c565b6101815760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b610204816001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101bd57600080fd5b505afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f5919061053e565b6102ed60201b6100551760201c565b6102695760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610178565b806102a07fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b6102fc60201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606102e68383604051806060016040528060278152602001610914602791396102ff565b9392505050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b03168560405161031c9190610559565b600060405180830381855af49150503d8060008114610357576040519150601f19603f3d011682016040523d82523d6000602084013e61035c565b606091505b50909250905061036e86838387610378565b9695505050505050565b606083156103e45782516103dd576001600160a01b0385163b6103dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610178565b50816103ee565b6103ee83836103f6565b949350505050565b8151156104065781518083602001fd5b8060405162461bcd60e51b81526004016101789190610575565b80516001600160a01b038116811461043757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561046d578181015183820152602001610455565b838111156101085750506000910152565b6000806040838503121561049157600080fd5b61049a83610420565b60208401519092506001600160401b03808211156104b757600080fd5b818501915085601f8301126104cb57600080fd5b8151818111156104dd576104dd61043c565b604051601f8201601f19908116603f011681019083821181831017156105055761050561043c565b8160405282815288602084870101111561051e57600080fd5b61052f836020830160208801610452565b80955050505050509250929050565b60006020828403121561055057600080fd5b6102e682610420565b6000825161056b818460208701610452565b9190910192915050565b6020815260008251806020840152610594816040850160208701610452565b601f01601f19169190910160400192915050565b61035d806105b76000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61010f565b565b606061004e838360405180606001604052806027815260200161030160279139610133565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100d257600080fd5b505afa1580156100e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010a9190610258565b905090565b3660008037600080366000845af43d6000803e80801561012e573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161015091906102b1565b600060405180830381855af49150503d806000811461018b576040519150601f19603f3d011682016040523d82523d6000602084013e610190565b606091505b50915091506101a1868383876101ab565b9695505050505050565b6060831561021c578251610215576001600160a01b0385163b6102155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610226565b610226838361022e565b949350505050565b81511561023e5781518083602001fd5b8060405162461bcd60e51b815260040161020c91906102cd565b60006020828403121561026a57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561029c578181015183820152602001610284565b838111156102ab576000848401525b50505050565b600082516102c3818460208701610281565b9190910192915050565b60208152600082518060208401526102ec816040850160208701610281565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ad22f2e19153688202786ad392c8502229156f0b0689c0a529f141ed7eddbe0564736f6c63430008090033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x93B CODESIZE SUB DUP1 PUSH2 0x93B DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x22 SWAP2 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x2E DUP3 DUP3 PUSH1 0x0 PUSH2 0x35 JUMP JUMPDEST POP POP PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x3E DUP4 PUSH2 0x10F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0x1CF3B03A6CF19FA2BABA4DF148E9DCABEDEA7F8A5C07840E207E5C089BE95D3E SWAP1 PUSH1 0x0 SWAP1 LOG2 PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH2 0x7F JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x10A JUMPI PUSH2 0x108 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5C60DA1B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0x53E JUMP JUMPDEST DUP4 PUSH2 0x2C1 PUSH1 0x20 SHL PUSH2 0x29 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x122 DUP2 PUSH2 0x2ED PUSH1 0x20 SHL PUSH2 0x55 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x181 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E657720626561636F6E206973206E6F74206120636F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1D1C9858DD PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x204 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5C60DA1B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x53E JUMP JUMPDEST PUSH2 0x2ED PUSH1 0x20 SHL PUSH2 0x55 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x269 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A20626561636F6E20696D706C656D656E746174696F6E2069 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x1CC81B9BDD08184818DBDB9D1C9858DD PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x178 JUMP JUMPDEST DUP1 PUSH2 0x2A0 PUSH32 0xA3F0AD74E5423AEBFD80D3EF4346578335A9A72AEAEE59FF6CB3582B35133D50 PUSH1 0x0 SHL PUSH2 0x2FC PUSH1 0x20 SHL PUSH2 0x64 OR PUSH1 0x20 SHR JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x2E6 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x914 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x2FF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x31C SWAP2 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x357 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 0x35C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x36E DUP7 DUP4 DUP4 DUP8 PUSH2 0x378 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x3E4 JUMPI DUP3 MLOAD PUSH2 0x3DD JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x3DD 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x178 JUMP JUMPDEST POP DUP2 PUSH2 0x3EE JUMP JUMPDEST PUSH2 0x3EE DUP4 DUP4 PUSH2 0x3F6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x406 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0x575 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x46D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x455 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x108 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x49A DUP4 PUSH2 0x420 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x4DD JUMPI PUSH2 0x4DD PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x505 JUMPI PUSH2 0x505 PUSH2 0x43C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x52F DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x452 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E6 DUP3 PUSH2 0x420 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x56B DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x452 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x594 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x452 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x35D DUP1 PUSH2 0x5B7 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x17 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11 JUMPDEST PUSH2 0x27 PUSH2 0x22 PUSH2 0x67 JUMP JUMPDEST PUSH2 0x10F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4E DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x301 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x133 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9A PUSH32 0xA3F0AD74E5423AEBFD80D3EF4346578335A9A72AEAEE59FF6CB3582B35133D50 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5C60DA1B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10A SWAP2 SWAP1 PUSH2 0x258 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x12E JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x2B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x18B 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 0x190 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1A1 DUP7 DUP4 DUP4 DUP8 PUSH2 0x1AB JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x21C JUMPI DUP3 MLOAD PUSH2 0x215 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x215 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP2 PUSH2 0x226 JUMP JUMPDEST PUSH2 0x226 DUP4 DUP4 PUSH2 0x22E JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x23E JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x29C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x284 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2AB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2C3 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x281 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2EC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x281 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x70667358221220AD22F2 0xE1 SWAP2 MSTORE8 PUSH9 0x8202786AD392C85022 0x29 ISZERO PUSH16 0xB0689C0A529F141ED7EDDBE0564736F PUSH13 0x63430008090033416464726573 PUSH20 0x3A206C6F772D6C6576656C2064656C6567617465 KECCAK256 PUSH4 0x616C6C20 PUSH7 0x61696C65640000 ","sourceMap":"580:1515:74:-:0;;;1060:116;;;;;;;;;;;;;;;;;;:::i;:::-;1125:44;1149:6;1157:4;1163:5;1125:23;:44::i;:::-;1060:116;;580:1515;;6168:343:72;6304:21;6315:9;6304:10;:21::i;:::-;6340:25;;-1:-1:-1;;;;;6340:25:72;;;;;;;;6393:1;6379:4;:11;:15;:28;;;;6398:9;6379:28;6375:130;;;6423:71;6460:9;-1:-1:-1;;;;;6452:33:72;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6489:4;6423:28;;;;;:71;;:::i;:::-;;6375:130;6168:343;;;:::o;5494:371::-;5559:29;5578:9;5559:18;;;;;:29;;:::i;:::-;5551:79;;;;-1:-1:-1;;;5551:79:72;;1979:2:181;5551:79:72;;;1961:21:181;2018:2;1998:18;;;1991:30;2057:34;2037:18;;;2030:62;-1:-1:-1;;;2108:18:181;;;2101:35;2153:19;;5551:79:72;;;;;;;;;5661:55;5688:9;-1:-1:-1;;;;;5680:33:72;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5661:18;;;;;:55;;:::i;:::-;5640:150;;;;-1:-1:-1;;;5640:150:72;;2385:2:181;5640:150:72;;;2367:21:181;2424:2;2404:18;;;2397:30;2463:34;2443:18;;;2436:62;-1:-1:-1;;;2514:18:181;;;2507:46;2570:19;;5640:150:72;2183:412:181;5640:150:72;5849:9;5800:40;5043:66;5827:12;;5800:26;;;;;:40;;:::i;:::-;:58;;-1:-1:-1;;;;;;5800:58:72;-1:-1:-1;;;;;5800:58:72;;;;;;;;;;-1:-1:-1;5494:371:72:o;6469:198:134:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;1175:320::-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;1614:190:142:-;1784:4;1614:190::o;6853:325:134:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:134;;-1:-1:-1;7018:67:134;-1:-1:-1;7102:69:134;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;3081:2:181;7908:60:134;;;3063:21:181;3120:2;3100:18;;;3093:30;3159:31;3139:18;;;3132:59;3208:18;;7908:60:134;2879:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:177:181:-;93:13;;-1:-1:-1;;;;;135:31:181;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:258;400:1;410:113;424:6;421:1;418:13;410:113;;;500:11;;;494:18;481:11;;;474:39;446:2;439:10;410:113;;;541:6;538:1;535:13;532:48;;;-1:-1:-1;;576:1:181;558:16;;551:27;328:258::o;591:968::-;679:6;687;740:2;728:9;719:7;715:23;711:32;708:52;;;756:1;753;746:12;708:52;779:40;809:9;779:40;:::i;:::-;863:2;848:18;;842:25;769:50;;-1:-1:-1;;;;;;916:14:181;;;913:34;;;943:1;940;933:12;913:34;981:6;970:9;966:22;956:32;;1026:7;1019:4;1015:2;1011:13;1007:27;997:55;;1048:1;1045;1038:12;997:55;1077:2;1071:9;1099:2;1095;1092:10;1089:36;;;1105:18;;:::i;:::-;1180:2;1174:9;1148:2;1234:13;;-1:-1:-1;;1230:22:181;;;1254:2;1226:31;1222:40;1210:53;;;1278:18;;;1298:22;;;1275:46;1272:72;;;1324:18;;:::i;:::-;1364:10;1360:2;1353:22;1399:2;1391:6;1384:18;1439:7;1434:2;1429;1425;1421:11;1417:20;1414:33;1411:53;;;1460:1;1457;1450:12;1411:53;1473:55;1525:2;1520;1512:6;1508:15;1503:2;1499;1495:11;1473:55;:::i;:::-;1547:6;1537:16;;;;;;;591:968;;;;;:::o;1564:208::-;1634:6;1687:2;1675:9;1666:7;1662:23;1658:32;1655:52;;;1703:1;1700;1693:12;1655:52;1726:40;1756:9;1726:40;:::i;2600:274::-;2729:3;2767:6;2761:13;2783:53;2829:6;2824:3;2817:4;2809:6;2805:17;2783:53;:::i;:::-;2852:16;;;;;2600:274;-1:-1:-1;;2600:274:181:o;3237:383::-;3386:2;3375:9;3368:21;3349:4;3418:6;3412:13;3461:6;3456:2;3445:9;3441:18;3434:34;3477:66;3536:6;3531:2;3520:9;3516:18;3511:2;3503:6;3499:15;3477:66;:::i;:::-;3604:2;3583:15;-1:-1:-1;;3579:29:181;3564:45;;;;3611:2;3560:54;;3237:383;-1:-1:-1;;3237:383:181:o;:::-;580:1515:74;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_9800":{"entryPoint":null,"id":9800,"parameterSlots":0,"returnSlots":0},"@_9808":{"entryPoint":null,"id":9808,"parameterSlots":0,"returnSlots":0},"@_beforeFallback_9813":{"entryPoint":null,"id":9813,"parameterSlots":0,"returnSlots":0},"@_delegate_9773":{"entryPoint":271,"id":9773,"parameterSlots":1,"returnSlots":0},"@_fallback_9792":{"entryPoint":23,"id":9792,"parameterSlots":0,"returnSlots":0},"@_getBeacon_9687":{"entryPoint":null,"id":9687,"parameterSlots":0,"returnSlots":1},"@_implementation_9864":{"entryPoint":103,"id":9864,"parameterSlots":0,"returnSlots":1},"@_revert_20687":{"entryPoint":558,"id":20687,"parameterSlots":2,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":41,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":307,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":100,"id":22517,"parameterSlots":1,"returnSlots":1},"@isContract_20376":{"entryPoint":85,"id":20376,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":427,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":600,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":689,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":717,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":641,"id":null,"parameterSlots":3,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1594:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"95:209:181","statements":[{"body":{"nodeType":"YulBlock","src":"141:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"153:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"143:6:181"},"nodeType":"YulFunctionCall","src":"143:12:181"},"nodeType":"YulExpressionStatement","src":"143:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"116:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"125:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"112:3:181"},"nodeType":"YulFunctionCall","src":"112:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"137:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"108:3:181"},"nodeType":"YulFunctionCall","src":"108:32:181"},"nodeType":"YulIf","src":"105:52:181"},{"nodeType":"YulVariableDeclaration","src":"166:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"185:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"179:5:181"},"nodeType":"YulFunctionCall","src":"179:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"170:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"258:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"267:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"270:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"260:6:181"},"nodeType":"YulFunctionCall","src":"260:12:181"},"nodeType":"YulExpressionStatement","src":"260:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"217:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"228:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"243:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"252:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"224:3:181"},"nodeType":"YulFunctionCall","src":"224:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"214:2:181"},"nodeType":"YulFunctionCall","src":"214:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"207:6:181"},"nodeType":"YulFunctionCall","src":"207:50:181"},"nodeType":"YulIf","src":"204:70:181"},{"nodeType":"YulAssignment","src":"283:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"293:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"283:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"61:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"72:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"84:6:181","type":""}],"src":"14:290:181"},{"body":{"nodeType":"YulBlock","src":"362:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"372:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"381:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"376:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"441:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"466:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"471:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"462:3:181"},"nodeType":"YulFunctionCall","src":"462:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"485:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"490:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:181"},"nodeType":"YulFunctionCall","src":"481:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"475:5:181"},"nodeType":"YulFunctionCall","src":"475:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"455:6:181"},"nodeType":"YulFunctionCall","src":"455:39:181"},"nodeType":"YulExpressionStatement","src":"455:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"402:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"405:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"399:2:181"},"nodeType":"YulFunctionCall","src":"399:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"413:19:181","statements":[{"nodeType":"YulAssignment","src":"415:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"424:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"427:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"420:3:181"},"nodeType":"YulFunctionCall","src":"420:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"415:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"395:3:181","statements":[]},"src":"391:113:181"},{"body":{"nodeType":"YulBlock","src":"530:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"543:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"548:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"539:3:181"},"nodeType":"YulFunctionCall","src":"539:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"557:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"532:6:181"},"nodeType":"YulFunctionCall","src":"532:27:181"},"nodeType":"YulExpressionStatement","src":"532:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"519:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"522:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"516:2:181"},"nodeType":"YulFunctionCall","src":"516:13:181"},"nodeType":"YulIf","src":"513:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"340:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"345:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"350:6:181","type":""}],"src":"309:258:181"},{"body":{"nodeType":"YulBlock","src":"709:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"719:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"739:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"733:5:181"},"nodeType":"YulFunctionCall","src":"733:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"723:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"781:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"789:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:181"},"nodeType":"YulFunctionCall","src":"777:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"796:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"801:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"755:21:181"},"nodeType":"YulFunctionCall","src":"755:53:181"},"nodeType":"YulExpressionStatement","src":"755:53:181"},{"nodeType":"YulAssignment","src":"817:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"828:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"833:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"824:3:181"},"nodeType":"YulFunctionCall","src":"824:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"817:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"685:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"690:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"701:3:181","type":""}],"src":"572:274:181"},{"body":{"nodeType":"YulBlock","src":"1025:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1042:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1053:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1035:6:181"},"nodeType":"YulFunctionCall","src":"1035:21:181"},"nodeType":"YulExpressionStatement","src":"1035:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1076:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1087:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1072:3:181"},"nodeType":"YulFunctionCall","src":"1072:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1092:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1065:6:181"},"nodeType":"YulFunctionCall","src":"1065:30:181"},"nodeType":"YulExpressionStatement","src":"1065:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1115:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1126:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1111:3:181"},"nodeType":"YulFunctionCall","src":"1111:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"1131:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1104:6:181"},"nodeType":"YulFunctionCall","src":"1104:59:181"},"nodeType":"YulExpressionStatement","src":"1104:59:181"},{"nodeType":"YulAssignment","src":"1172:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1195:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1180:3:181"},"nodeType":"YulFunctionCall","src":"1180:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1172:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1002:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1016:4:181","type":""}],"src":"851:353:181"},{"body":{"nodeType":"YulBlock","src":"1330:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1347:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1358:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1340:6:181"},"nodeType":"YulFunctionCall","src":"1340:21:181"},"nodeType":"YulExpressionStatement","src":"1340:21:181"},{"nodeType":"YulVariableDeclaration","src":"1370:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1390:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1384:5:181"},"nodeType":"YulFunctionCall","src":"1384:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1374:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1417:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1428:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1413:3:181"},"nodeType":"YulFunctionCall","src":"1413:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1433:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1406:6:181"},"nodeType":"YulFunctionCall","src":"1406:34:181"},"nodeType":"YulExpressionStatement","src":"1406:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1475:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1483:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1471:3:181"},"nodeType":"YulFunctionCall","src":"1471:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1492:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1503:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1488:3:181"},"nodeType":"YulFunctionCall","src":"1488:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1508:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1449:21:181"},"nodeType":"YulFunctionCall","src":"1449:66:181"},"nodeType":"YulExpressionStatement","src":"1449:66:181"},{"nodeType":"YulAssignment","src":"1524:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1540:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1559:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1567:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1555:3:181"},"nodeType":"YulFunctionCall","src":"1555:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1576:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1572:3:181"},"nodeType":"YulFunctionCall","src":"1572:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1551:3:181"},"nodeType":"YulFunctionCall","src":"1551:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1536:3:181"},"nodeType":"YulFunctionCall","src":"1536:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"1583:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1532:3:181"},"nodeType":"YulFunctionCall","src":"1532:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1524:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1299:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1310:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1321:4:181","type":""}],"src":"1209:383:181"}]},"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 function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040523661001357610011610017565b005b6100115b610027610022610067565b61010f565b565b606061004e838360405180606001604052806027815260200161030160279139610133565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100d257600080fd5b505afa1580156100e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010a9190610258565b905090565b3660008037600080366000845af43d6000803e80801561012e573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161015091906102b1565b600060405180830381855af49150503d806000811461018b576040519150601f19603f3d011682016040523d82523d6000602084013e610190565b606091505b50915091506101a1868383876101ab565b9695505050505050565b6060831561021c578251610215576001600160a01b0385163b6102155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610226565b610226838361022e565b949350505050565b81511561023e5781518083602001fd5b8060405162461bcd60e51b815260040161020c91906102cd565b60006020828403121561026a57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561029c578181015183820152602001610284565b838111156102ab576000848401525b50505050565b600082516102c3818460208701610281565b9190910192915050565b60208152600082518060208401526102ec816040850160208701610281565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ad22f2e19153688202786ad392c8502229156f0b0689c0a529f141ed7eddbe0564736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x17 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11 JUMPDEST PUSH2 0x27 PUSH2 0x22 PUSH2 0x67 JUMP JUMPDEST PUSH2 0x10F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4E DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x301 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x133 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9A PUSH32 0xA3F0AD74E5423AEBFD80D3EF4346578335A9A72AEAEE59FF6CB3582B35133D50 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5C60DA1B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10A SWAP2 SWAP1 PUSH2 0x258 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x12E JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x2B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x18B 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 0x190 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1A1 DUP7 DUP4 DUP4 DUP8 PUSH2 0x1AB JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x21C JUMPI DUP3 MLOAD PUSH2 0x215 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x215 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP2 PUSH2 0x226 JUMP JUMPDEST PUSH2 0x226 DUP4 DUP4 PUSH2 0x22E JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x23E JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x29C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x284 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2AB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2C3 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x281 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2EC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x281 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x70667358221220AD22F2 0xE1 SWAP2 MSTORE8 PUSH9 0x8202786AD392C85022 0x29 ISZERO PUSH16 0xB0689C0A529F141ED7EDDBE0564736F PUSH13 0x63430008090033000000000000 ","sourceMap":"580:1515:74:-:0;;;;;;2898:11:73;:9;:11::i;:::-;580:1515:74;;2675:11:73;2322:110;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;6469:198:134:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;1175:320::-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;1614:190:142:-;1784:4;1614:190::o;1444:138:74:-;1511:7;1545:12;5043:66:72;5359:46;-1:-1:-1;;;;;5359:46:72;;5288:124;1545:12:74;-1:-1:-1;;;;;1537:36:74;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1530:45;;1444:138;:::o;948:895:73:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;6853:325:134;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;1053:2:181;7908:60:134;;;1035:21:181;1092:2;1072:18;;;1065:30;1131:31;1111:18;;;1104:59;1180:18;;7908:60:134;;;;;;;;;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:290:181:-;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:181;;214:42;;204:70;;270:1;267;260:12;309:258;381:1;391:113;405:6;402:1;399:13;391:113;;;481:11;;;475:18;462:11;;;455:39;427:2;420:10;391:113;;;522:6;519:1;516:13;513:48;;;557:1;548:6;543:3;539:16;532:27;513:48;;309:258;;;:::o;572:274::-;701:3;739:6;733:13;755:53;801:6;796:3;789:4;781:6;777:17;755:53;:::i;:::-;824:16;;;;;572:274;-1:-1:-1;;572:274:181:o;1209:383::-;1358:2;1347:9;1340:21;1321:4;1390:6;1384:13;1433:6;1428:2;1417:9;1413:18;1406:34;1449:66;1508:6;1503:2;1492:9;1488:18;1483:2;1475:6;1471:15;1449:66;:::i;:::-;1576:2;1555:15;-1:-1:-1;;1551:29:181;1536:45;;;;1583:2;1532:54;;1209:383;-1:-1:-1;;1209:383:181:o"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}. The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't conflict with the storage layout of the implementation behind the proxy. _Available since v3.4._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the proxy with `beacon`. If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - `beacon` must be a contract with the interface {IBeacon}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol\":\"BeaconProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"IBeacon":{"abi":[{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"implementation()":"5c60da1b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol":{"UpgradeableBeacon":{"abi":[{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_1329":{"entryPoint":null,"id":1329,"parameterSlots":0,"returnSlots":0},"@_9918":{"entryPoint":null,"id":9918,"parameterSlots":1,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setImplementation_9964":{"entryPoint":151,"id":9964,"parameterSlots":1,"returnSlots":0},"@_transferOwnership_1417":{"entryPoint":71,"id":1417,"parameterSlots":1,"returnSlots":0},"@isContract_20376":{"entryPoint":322,"id":20376,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":337,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:726:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"95:209:181","statements":[{"body":{"nodeType":"YulBlock","src":"141:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"153:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"143:6:181"},"nodeType":"YulFunctionCall","src":"143:12:181"},"nodeType":"YulExpressionStatement","src":"143:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"116:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"125:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"112:3:181"},"nodeType":"YulFunctionCall","src":"112:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"137:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"108:3:181"},"nodeType":"YulFunctionCall","src":"108:32:181"},"nodeType":"YulIf","src":"105:52:181"},{"nodeType":"YulVariableDeclaration","src":"166:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"185:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"179:5:181"},"nodeType":"YulFunctionCall","src":"179:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"170:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"258:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"267:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"270:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"260:6:181"},"nodeType":"YulFunctionCall","src":"260:12:181"},"nodeType":"YulExpressionStatement","src":"260:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"217:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"228:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"243:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"252:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"224:3:181"},"nodeType":"YulFunctionCall","src":"224:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"214:2:181"},"nodeType":"YulFunctionCall","src":"214:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"207:6:181"},"nodeType":"YulFunctionCall","src":"207:50:181"},"nodeType":"YulIf","src":"204:70:181"},{"nodeType":"YulAssignment","src":"283:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"293:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"283:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"61:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"72:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"84:6:181","type":""}],"src":"14:290:181"},{"body":{"nodeType":"YulBlock","src":"483:241:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"500:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"511:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"493:6:181"},"nodeType":"YulFunctionCall","src":"493:21:181"},"nodeType":"YulExpressionStatement","src":"493:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"534:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"545:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"530:3:181"},"nodeType":"YulFunctionCall","src":"530:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"550:2:181","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"523:6:181"},"nodeType":"YulFunctionCall","src":"523:30:181"},"nodeType":"YulExpressionStatement","src":"523:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"573:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"584:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"569:3:181"},"nodeType":"YulFunctionCall","src":"569:18:181"},{"hexValue":"5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f","kind":"string","nodeType":"YulLiteral","src":"589:34:181","type":"","value":"UpgradeableBeacon: implementatio"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"562:6:181"},"nodeType":"YulFunctionCall","src":"562:62:181"},"nodeType":"YulExpressionStatement","src":"562:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"644:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"655:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"640:3:181"},"nodeType":"YulFunctionCall","src":"640:18:181"},{"hexValue":"6e206973206e6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"660:21:181","type":"","value":"n is not a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"633:6:181"},"nodeType":"YulFunctionCall","src":"633:49:181"},"nodeType":"YulExpressionStatement","src":"633:49:181"},{"nodeType":"YulAssignment","src":"691:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"703:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"714:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"699:3:181"},"nodeType":"YulFunctionCall","src":"699:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"691:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"460:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"474:4:181","type":""}],"src":"309:415:181"}]},"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 function abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"UpgradeableBeacon: implementatio\")\n mstore(add(headStart, 96), \"n is not a contract\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b506040516104e43803806104e483398101604081905261002f91610151565b61003833610047565b61004181610097565b50610181565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6100aa8161014260201b6101a01760201c565b6101205760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03163b151590565b60006020828403121561016357600080fd5b81516001600160a01b038116811461017a57600080fd5b9392505050565b610354806101906000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100b3575b600080fd5b61006f61006a3660046102ee565b6100c6565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f61010e565b6000546001600160a01b031661007e565b61006f6100c13660046102ee565b610122565b6100ce6101af565b6100d781610209565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6101166101af565b610120600061029e565b565b61012a6101af565b6001600160a01b0381166101945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61019d8161029e565b50565b6001600160a01b03163b151590565b6000546001600160a01b031633146101205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161018b565b6001600160a01b0381163b61027c5760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b606482015260840161018b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561030057600080fd5b81356001600160a01b038116811461031757600080fd5b939250505056fea26469706673582212206f459b7c3c574351f969149ca94cd2cdb47cdb9624abcd165649ae9439b8a38164736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x4E4 CODESIZE SUB DUP1 PUSH2 0x4E4 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x151 JUMP JUMPDEST PUSH2 0x38 CALLER PUSH2 0x47 JUMP JUMPDEST PUSH2 0x41 DUP2 PUSH2 0x97 JUMP JUMPDEST POP PUSH2 0x181 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0xAA DUP2 PUSH2 0x142 PUSH1 0x20 SHL PUSH2 0x1A0 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x120 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5570677261646561626C65426561636F6E3A20696D706C656D656E746174696F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6E206973206E6F74206120636F6E747261637400000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x354 DUP1 PUSH2 0x190 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 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xB3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x6A CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE JUMP JUMPDEST PUSH2 0xC6 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6F PUSH2 0x10E JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7E JUMP JUMPDEST PUSH2 0x6F PUSH2 0xC1 CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE JUMP JUMPDEST PUSH2 0x122 JUMP JUMPDEST PUSH2 0xCE PUSH2 0x1AF JUMP JUMPDEST PUSH2 0xD7 DUP2 PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x116 PUSH2 0x1AF JUMP JUMPDEST PUSH2 0x120 PUSH1 0x0 PUSH2 0x29E JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x12A PUSH2 0x1AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x194 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x19D DUP2 PUSH2 0x29E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x120 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x18B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND EXTCODESIZE PUSH2 0x27C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5570677261646561626C65426561636F6E3A20696D706C656D656E746174696F PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1B881A5CC81B9BDD08184818DBDB9D1C9858DD PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x18B JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x317 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0x459B7C3C574351F969149CA94CD2CDB4 PUSH29 0xDB9624ABCD165649AE9439B8A38164736F6C6343000809003300000000 ","sourceMap":"543:1496:76:-:0;;;931:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:9;719:10:138;936:18:9;:32::i;:::-;978:35:76;997:15;978:18;:35::i;:::-;931:89;543:1496;;2433:187:9;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;1811:226:76:-;1892:37;1911:17;1892:18;;;;;:37;;:::i;:::-;1884:101;;;;-1:-1:-1;;;1884:101:76;;511:2:181;1884:101:76;;;493:21:181;550:2;530:18;;;523:30;589:34;569:18;;;562:62;660:21;640:18;;;633:49;699:19;;1884:101:76;;;;;;;;1995:15;:35;;-1:-1:-1;;;;;;1995:35:76;-1:-1:-1;;;;;1995:35:76;;;;;;;;;;1811:226::o;1175:320:134:-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;14:290:181:-;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:181;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:181:o;309:415::-;543:1496:76;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_1360":{"entryPoint":431,"id":1360,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setImplementation_9964":{"entryPoint":521,"id":9964,"parameterSlots":1,"returnSlots":0},"@_transferOwnership_1417":{"entryPoint":670,"id":1417,"parameterSlots":1,"returnSlots":0},"@implementation_9928":{"entryPoint":null,"id":9928,"parameterSlots":0,"returnSlots":1},"@isContract_20376":{"entryPoint":416,"id":20376,"parameterSlots":1,"returnSlots":1},"@owner_1346":{"entryPoint":null,"id":1346,"parameterSlots":0,"returnSlots":1},"@renounceOwnership_1374":{"entryPoint":270,"id":1374,"parameterSlots":0,"returnSlots":0},"@transferOwnership_1397":{"entryPoint":290,"id":1397,"parameterSlots":1,"returnSlots":0},"@upgradeTo_9945":{"entryPoint":198,"id":9945,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address":{"entryPoint":750,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1698:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:216:181","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:181"},"nodeType":"YulFunctionCall","src":"132:12:181"},"nodeType":"YulExpressionStatement","src":"132:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:181"},"nodeType":"YulFunctionCall","src":"101:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:181"},"nodeType":"YulFunctionCall","src":"97:32:181"},"nodeType":"YulIf","src":"94:52:181"},{"nodeType":"YulVariableDeclaration","src":"155:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"181:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"168:12:181"},"nodeType":"YulFunctionCall","src":"168:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"159:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:181"},"nodeType":"YulFunctionCall","src":"256:12:181"},"nodeType":"YulExpressionStatement","src":"256:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"213:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"224:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"239:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"244:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"231:3:181"},"nodeType":"YulFunctionCall","src":"231:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"220:3:181"},"nodeType":"YulFunctionCall","src":"220:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"210:2:181"},"nodeType":"YulFunctionCall","src":"210:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"203:6:181"},"nodeType":"YulFunctionCall","src":"203:50:181"},"nodeType":"YulIf","src":"200:70:181"},{"nodeType":"YulAssignment","src":"279:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:181","type":""}],"src":"14:286:181"},{"body":{"nodeType":"YulBlock","src":"406:102:181","statements":[{"nodeType":"YulAssignment","src":"416:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"428:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"439:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"424:3:181"},"nodeType":"YulFunctionCall","src":"424:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"416:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"473:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"489:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"494:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"485:3:181"},"nodeType":"YulFunctionCall","src":"485:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"498:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"481:3:181"},"nodeType":"YulFunctionCall","src":"481:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"469:3:181"},"nodeType":"YulFunctionCall","src":"469:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"451:6:181"},"nodeType":"YulFunctionCall","src":"451:51:181"},"nodeType":"YulExpressionStatement","src":"451:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"375:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"386:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"397:4:181","type":""}],"src":"305:203:181"},{"body":{"nodeType":"YulBlock","src":"687:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"704:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"715:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"697:6:181"},"nodeType":"YulFunctionCall","src":"697:21:181"},"nodeType":"YulExpressionStatement","src":"697:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"738:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"749:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"734:3:181"},"nodeType":"YulFunctionCall","src":"734:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"754:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"727:6:181"},"nodeType":"YulFunctionCall","src":"727:30:181"},"nodeType":"YulExpressionStatement","src":"727:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"777:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"788:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"773:3:181"},"nodeType":"YulFunctionCall","src":"773:18:181"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"793:34:181","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"766:6:181"},"nodeType":"YulFunctionCall","src":"766:62:181"},"nodeType":"YulExpressionStatement","src":"766:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"848:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"859:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"844:3:181"},"nodeType":"YulFunctionCall","src":"844:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"864:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"837:6:181"},"nodeType":"YulFunctionCall","src":"837:36:181"},"nodeType":"YulExpressionStatement","src":"837:36:181"},{"nodeType":"YulAssignment","src":"882:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"894:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"905:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"890:3:181"},"nodeType":"YulFunctionCall","src":"890:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"882:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"664:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"678:4:181","type":""}],"src":"513:402:181"},{"body":{"nodeType":"YulBlock","src":"1094:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1111:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1122:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1104:6:181"},"nodeType":"YulFunctionCall","src":"1104:21:181"},"nodeType":"YulExpressionStatement","src":"1104:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1145:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1156:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1141:3:181"},"nodeType":"YulFunctionCall","src":"1141:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1161:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1134:6:181"},"nodeType":"YulFunctionCall","src":"1134:30:181"},"nodeType":"YulExpressionStatement","src":"1134:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1195:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1180:3:181"},"nodeType":"YulFunctionCall","src":"1180:18:181"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"1200:34:181","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1173:6:181"},"nodeType":"YulFunctionCall","src":"1173:62:181"},"nodeType":"YulExpressionStatement","src":"1173:62:181"},{"nodeType":"YulAssignment","src":"1244:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1256:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1267:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1252:3:181"},"nodeType":"YulFunctionCall","src":"1252:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1244:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1071:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1085:4:181","type":""}],"src":"920:356:181"},{"body":{"nodeType":"YulBlock","src":"1455:241:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1472:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1483:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1465:6:181"},"nodeType":"YulFunctionCall","src":"1465:21:181"},"nodeType":"YulExpressionStatement","src":"1465:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1506:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1517:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1502:3:181"},"nodeType":"YulFunctionCall","src":"1502:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1522:2:181","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1495:6:181"},"nodeType":"YulFunctionCall","src":"1495:30:181"},"nodeType":"YulExpressionStatement","src":"1495:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1545:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1556:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1541:3:181"},"nodeType":"YulFunctionCall","src":"1541:18:181"},{"hexValue":"5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f","kind":"string","nodeType":"YulLiteral","src":"1561:34:181","type":"","value":"UpgradeableBeacon: implementatio"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1534:6:181"},"nodeType":"YulFunctionCall","src":"1534:62:181"},"nodeType":"YulExpressionStatement","src":"1534:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1616:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1627:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1612:3:181"},"nodeType":"YulFunctionCall","src":"1612:18:181"},{"hexValue":"6e206973206e6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"1632:21:181","type":"","value":"n is not a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1605:6:181"},"nodeType":"YulFunctionCall","src":"1605:49:181"},"nodeType":"YulExpressionStatement","src":"1605:49:181"},{"nodeType":"YulAssignment","src":"1663:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1675:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1686:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1671:3:181"},"nodeType":"YulFunctionCall","src":"1671:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1663:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1432:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1446:4:181","type":""}],"src":"1281:415:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\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_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5ccca6b0666a32006e874c0f8fc30910124098b6e8e91ea2ea1baa45ce41f1e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"UpgradeableBeacon: implementatio\")\n mstore(add(headStart, 96), \"n is not a contract\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100b3575b600080fd5b61006f61006a3660046102ee565b6100c6565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f61010e565b6000546001600160a01b031661007e565b61006f6100c13660046102ee565b610122565b6100ce6101af565b6100d781610209565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6101166101af565b610120600061029e565b565b61012a6101af565b6001600160a01b0381166101945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61019d8161029e565b50565b6001600160a01b03163b151590565b6000546001600160a01b031633146101205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161018b565b6001600160a01b0381163b61027c5760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b606482015260840161018b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561030057600080fd5b81356001600160a01b038116811461031757600080fd5b939250505056fea26469706673582212206f459b7c3c574351f969149ca94cd2cdb47cdb9624abcd165649ae9439b8a38164736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xB3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x6A CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE JUMP JUMPDEST PUSH2 0xC6 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6F PUSH2 0x10E JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7E JUMP JUMPDEST PUSH2 0x6F PUSH2 0xC1 CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE JUMP JUMPDEST PUSH2 0x122 JUMP JUMPDEST PUSH2 0xCE PUSH2 0x1AF JUMP JUMPDEST PUSH2 0xD7 DUP2 PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x116 PUSH2 0x1AF JUMP JUMPDEST PUSH2 0x120 PUSH1 0x0 PUSH2 0x29E JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x12A PUSH2 0x1AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x194 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x19D DUP2 PUSH2 0x29E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x120 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x18B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND EXTCODESIZE PUSH2 0x27C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5570677261646561626C65426561636F6E3A20696D706C656D656E746174696F PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1B881A5CC81B9BDD08184818DBDB9D1C9858DD PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x18B JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x317 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0x459B7C3C574351F969149CA94CD2CDB4 PUSH29 0xDB9624ABCD165649AE9439B8A38164736F6C6343000809003300000000 ","sourceMap":"543:1496:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1469:167;;;;;;:::i;:::-;;:::i;:::-;;1098:112;1188:15;;-1:-1:-1;;;;;1188:15:76;1098:112;;;-1:-1:-1;;;;;469:32:181;;;451:51;;439:2;424:18;1098:112:76;;;;;;;1831:101:9;;;:::i;1201:85::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;1201:85;;2081:198;;;;;;:::i;:::-;;:::i;1469:167:76:-;1094:13:9;:11;:13::i;:::-;1550:37:76::1;1569:17;1550:18;:37::i;:::-;1602:27;::::0;-1:-1:-1;;;;;1602:27:76;::::1;::::0;::::1;::::0;;;::::1;1469:167:::0;:::o;1831:101:9:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2081:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:9;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:9;;715:2:181;2161:73:9::1;::::0;::::1;697:21:181::0;754:2;734:18;;;727:30;793:34;773:18;;;766:62;-1:-1:-1;;;844:18:181;;;837:36;890:19;;2161:73:9::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1175:320:134:-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;1359:130:9:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;719:10:138;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;1122:2:181;1414:68:9;;;1104:21:181;;;1141:18;;;1134:30;1200:34;1180:18;;;1173:62;1252:18;;1414:68:9;920:356:181;1811:226:76;-1:-1:-1;;;;;1465:19:134;;;1884:101:76;;;;-1:-1:-1;;;1884:101:76;;1483:2:181;1884:101:76;;;1465:21:181;1522:2;1502:18;;;1495:30;1561:34;1541:18;;;1534:62;-1:-1:-1;;;1612:18:181;;;1605:49;1671:19;;1884:101:76;1281:415:181;1884:101:76;1995:15;:35;;-1:-1:-1;;;;;;1995:35:76;-1:-1:-1;;;;;1995:35:76;;;;;;;;;;1811:226::o;2433:187:9:-;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:286:181:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:181;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:181:o"},"methodIdentifiers":{"implementation()":"5c60da1b","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their implementation contract, which is where they will delegate all function calls. An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon.\",\"events\":{\"Upgraded(address)\":{\"details\":\"Emitted when the implementation returned by the beacon is changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Sets the address of the initial implementation, and the deployer account as the owner who can upgrade the beacon.\"},\"implementation()\":{\"details\":\"Returns the current implementation address.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"details\":\"Upgrades the beacon to a new implementation. Emits an {Upgraded} event. Requirements: - msg.sender must be the owner of the contract. - `newImplementation` must be a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol\":\"UpgradeableBeacon\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x6ec71aef5659f3f74011169948d2fcda8c6599be5bb38f986380a8737f96cc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://362f12aebd1022d643235e6a7fa6ccfb38c13f3a0d1b006d5d1aea51af4bb852\",\"dweb:/ipfs/QmSUQ7pM4UnBawMfP2Di8EqawxaoU195DgsSLxHejvSpPz\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol":{"ProxyAdmin":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeProxyAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"}],"name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"}],"name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_1329":{"entryPoint":null,"id":1329,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":31,"id":1417,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61069a8061007e6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610499565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee3660046104bd565b610229565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f36600461050c565b610291565b34801561013057600080fd5b506100d161013f3660046104bd565b610300565b34801561015057600080fd5b506100d161015f366004610499565b610336565b34801561017057600080fd5b506100a061017f366004610499565b6103b4565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d91906105e2565b949350505050565b61021d6103da565b6102276000610434565b565b6102316103da565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561027557600080fd5b505af1158015610289573d6000803e3d6000fd5b505050505050565b6102996103da565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102c990869086906004016105ff565b6000604051808303818588803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b5050505050505050565b6103086103da565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe69060240161025b565b61033e6103da565b6001600160a01b0381166103a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103b181610434565b50565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103b157600080fd5b6000602082840312156104ab57600080fd5b81356104b681610484565b9392505050565b600080604083850312156104d057600080fd5b82356104db81610484565b915060208301356104eb81610484565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052157600080fd5b833561052c81610484565b9250602084013561053c81610484565b9150604084013567ffffffffffffffff8082111561055957600080fd5b818601915086601f83011261056d57600080fd5b81358181111561057f5761057f6104f6565b604051601f8201601f19908116603f011681019083821181831017156105a7576105a76104f6565b816040528281528960208487010111156105c057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f457600080fd5b81516104b681610484565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561063b5785810183015185820160600152820161061f565b8181111561064d576000606083870101525b50601f01601f19169290920160600194935050505056fea26469706673582212209306966424a239e84f3d19cc9413c9d01ad6d2a8c25ddcf0f433e395122affba64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A CALLER PUSH2 0x1F JUMP JUMPDEST PUSH2 0x6F JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x69A DUP1 PUSH2 0x7E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9623609D GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x99A88EC4 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0xF3B7DEAD EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x204E1C7A EQ PUSH2 0x80 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x7EFF275E EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA0 PUSH2 0x9B CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x184 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x215 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD JUMP JUMPDEST PUSH2 0x229 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xA0 JUMP JUMPDEST PUSH2 0xD1 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0x50C JUMP JUMPDEST PUSH2 0x291 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x13F CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD JUMP JUMPDEST PUSH2 0x300 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x336 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA0 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP1 PUSH4 0x5C60DA1B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1E5 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 0x1EA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x5E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x227 PUSH1 0x0 PUSH2 0x434 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x231 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8F28397 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0x8F283970 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x289 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x299 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x2C9 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x308 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1B2CE7F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0x3659CFE6 SWAP1 PUSH1 0x24 ADD PUSH2 0x25B JUMP JUMPDEST PUSH2 0x33E PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3B1 DUP2 PUSH2 0x434 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP1 PUSH4 0x3E14691 PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x39F JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4B6 DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4DB DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4EB DUP2 PUSH2 0x484 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x521 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x52C DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x53C DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x57F JUMPI PUSH2 0x57F PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x5A7 JUMPI PUSH2 0x5A7 PUSH2 0x4F6 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x4B6 DUP2 PUSH2 0x484 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x63B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x61F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 MOD SWAP7 PUSH5 0x24A239E84F RETURNDATASIZE NOT 0xCC SWAP5 SGT 0xC9 0xD0 BYTE 0xD6 0xD2 0xA8 0xC2 0x5D 0xDC CREATE DELEGATECALL CALLER 0xE3 SWAP6 SLT 0x2A SELFDESTRUCT 0xBA PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"435:2404:77:-:0;;;;;;;;;;;;-1:-1:-1;936:32:9;719:10:138;936:18:9;:32::i;:::-;435:2404:77;;2433:187:9;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;435:2404:77:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_1360":{"entryPoint":986,"id":1360,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":1076,"id":1417,"parameterSlots":1,"returnSlots":0},"@changeProxyAdmin_10058":{"entryPoint":553,"id":10058,"parameterSlots":2,"returnSlots":0},"@getProxyAdmin_10040":{"entryPoint":948,"id":10040,"parameterSlots":1,"returnSlots":1},"@getProxyImplementation_10006":{"entryPoint":388,"id":10006,"parameterSlots":1,"returnSlots":1},"@owner_1346":{"entryPoint":null,"id":1346,"parameterSlots":0,"returnSlots":1},"@renounceOwnership_1374":{"entryPoint":533,"id":1374,"parameterSlots":0,"returnSlots":0},"@transferOwnership_1397":{"entryPoint":822,"id":1397,"parameterSlots":1,"returnSlots":0},"@upgradeAndCall_10100":{"entryPoint":657,"id":10100,"parameterSlots":3,"returnSlots":0},"@upgrade_10076":{"entryPoint":768,"id":10076,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable_fromMemory":{"entryPoint":1506,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249":{"entryPoint":1177,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249t_address":{"entryPoint":1213,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249t_addresst_bytes_memory_ptr":{"entryPoint":1292,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__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_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1535,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":1270,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_contract_TransparentUpgradeableProxy":{"entryPoint":1156,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5202:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"88:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"152:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"161:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"164:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"154:6:181"},"nodeType":"YulFunctionCall","src":"154:12:181"},"nodeType":"YulExpressionStatement","src":"154:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"111:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"122:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"137:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"133:3:181"},"nodeType":"YulFunctionCall","src":"133:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"146:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"129:3:181"},"nodeType":"YulFunctionCall","src":"129:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"118:3:181"},"nodeType":"YulFunctionCall","src":"118:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"108:2:181"},"nodeType":"YulFunctionCall","src":"108:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"101:6:181"},"nodeType":"YulFunctionCall","src":"101:50:181"},"nodeType":"YulIf","src":"98:70:181"}]},"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"77:5:181","type":""}],"src":"14:160:181"},{"body":{"nodeType":"YulBlock","src":"286:206:181","statements":[{"body":{"nodeType":"YulBlock","src":"332:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"341:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"344:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"334:6:181"},"nodeType":"YulFunctionCall","src":"334:12:181"},"nodeType":"YulExpressionStatement","src":"334:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"307:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"303:3:181"},"nodeType":"YulFunctionCall","src":"303:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"328:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"299:3:181"},"nodeType":"YulFunctionCall","src":"299:32:181"},"nodeType":"YulIf","src":"296:52:181"},{"nodeType":"YulVariableDeclaration","src":"357:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"383:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"370:12:181"},"nodeType":"YulFunctionCall","src":"370:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"361:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"456:5:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"402:53:181"},"nodeType":"YulFunctionCall","src":"402:60:181"},"nodeType":"YulExpressionStatement","src":"402:60:181"},{"nodeType":"YulAssignment","src":"471:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"481:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"471:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"252:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"263:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"275:6:181","type":""}],"src":"179:313:181"},{"body":{"nodeType":"YulBlock","src":"598:102:181","statements":[{"nodeType":"YulAssignment","src":"608:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"620:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"631:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"616:3:181"},"nodeType":"YulFunctionCall","src":"616:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"608:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"650:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"665:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"681:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"686:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"677:3:181"},"nodeType":"YulFunctionCall","src":"677:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"690:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"673:3:181"},"nodeType":"YulFunctionCall","src":"673:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"661:3:181"},"nodeType":"YulFunctionCall","src":"661:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"643:6:181"},"nodeType":"YulFunctionCall","src":"643:51:181"},"nodeType":"YulExpressionStatement","src":"643:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"567:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"578:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"589:4:181","type":""}],"src":"497:203:181"},{"body":{"nodeType":"YulBlock","src":"829:359:181","statements":[{"body":{"nodeType":"YulBlock","src":"875:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"884:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"887:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"877:6:181"},"nodeType":"YulFunctionCall","src":"877:12:181"},"nodeType":"YulExpressionStatement","src":"877:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"850:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"859:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"871:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"842:3:181"},"nodeType":"YulFunctionCall","src":"842:32:181"},"nodeType":"YulIf","src":"839:52:181"},{"nodeType":"YulVariableDeclaration","src":"900:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"926:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"913:12:181"},"nodeType":"YulFunctionCall","src":"913:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"904:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"999:5:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"945:53:181"},"nodeType":"YulFunctionCall","src":"945:60:181"},"nodeType":"YulExpressionStatement","src":"945:60:181"},{"nodeType":"YulAssignment","src":"1014:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1024:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1014:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1038:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1070:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1081:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:181"},"nodeType":"YulFunctionCall","src":"1066:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1053:12:181"},"nodeType":"YulFunctionCall","src":"1053:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1042:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1148:7:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"1094:53:181"},"nodeType":"YulFunctionCall","src":"1094:62:181"},"nodeType":"YulExpressionStatement","src":"1094:62:181"},{"nodeType":"YulAssignment","src":"1165:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"1175:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1165:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"787:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"798:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"810:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"818:6:181","type":""}],"src":"705:483:181"},{"body":{"nodeType":"YulBlock","src":"1225:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1242:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1249:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1254:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1245:3:181"},"nodeType":"YulFunctionCall","src":"1245:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1235:6:181"},"nodeType":"YulFunctionCall","src":"1235:31:181"},"nodeType":"YulExpressionStatement","src":"1235:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1285:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1275:6:181"},"nodeType":"YulFunctionCall","src":"1275:15:181"},"nodeType":"YulExpressionStatement","src":"1275:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1306:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1309:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1299:6:181"},"nodeType":"YulFunctionCall","src":"1299:15:181"},"nodeType":"YulExpressionStatement","src":"1299:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1193:127:181"},{"body":{"nodeType":"YulBlock","src":"1475:1142:181","statements":[{"body":{"nodeType":"YulBlock","src":"1521:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1530:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1533:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1523:6:181"},"nodeType":"YulFunctionCall","src":"1523:12:181"},"nodeType":"YulExpressionStatement","src":"1523:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1496:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1505:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1492:3:181"},"nodeType":"YulFunctionCall","src":"1492:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1517:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1488:3:181"},"nodeType":"YulFunctionCall","src":"1488:32:181"},"nodeType":"YulIf","src":"1485:52:181"},{"nodeType":"YulVariableDeclaration","src":"1546:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1572:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1559:12:181"},"nodeType":"YulFunctionCall","src":"1559:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1550:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1645:5:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"1591:53:181"},"nodeType":"YulFunctionCall","src":"1591:60:181"},"nodeType":"YulExpressionStatement","src":"1591:60:181"},{"nodeType":"YulAssignment","src":"1660:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1670:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1660:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1684:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1716:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1727:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1712:3:181"},"nodeType":"YulFunctionCall","src":"1712:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1699:12:181"},"nodeType":"YulFunctionCall","src":"1699:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1688:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1794:7:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"1740:53:181"},"nodeType":"YulFunctionCall","src":"1740:62:181"},"nodeType":"YulExpressionStatement","src":"1740:62:181"},{"nodeType":"YulAssignment","src":"1811:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"1821:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1811:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1837:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1868:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1879:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1864:3:181"},"nodeType":"YulFunctionCall","src":"1864:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1851:12:181"},"nodeType":"YulFunctionCall","src":"1851:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1841:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1892:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1902:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1896:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1947:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1956:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1949:6:181"},"nodeType":"YulFunctionCall","src":"1949:12:181"},"nodeType":"YulExpressionStatement","src":"1949:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1935:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1943:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1932:2:181"},"nodeType":"YulFunctionCall","src":"1932:14:181"},"nodeType":"YulIf","src":"1929:34:181"},{"nodeType":"YulVariableDeclaration","src":"1972:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1986:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1997:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1982:3:181"},"nodeType":"YulFunctionCall","src":"1982:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1976:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2052:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2061:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2054:6:181"},"nodeType":"YulFunctionCall","src":"2054:12:181"},"nodeType":"YulExpressionStatement","src":"2054:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2031:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"2035:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2027:3:181"},"nodeType":"YulFunctionCall","src":"2027:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2042:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2023:3:181"},"nodeType":"YulFunctionCall","src":"2023:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2016:6:181"},"nodeType":"YulFunctionCall","src":"2016:35:181"},"nodeType":"YulIf","src":"2013:55:181"},{"nodeType":"YulVariableDeclaration","src":"2077:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2100:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2087:12:181"},"nodeType":"YulFunctionCall","src":"2087:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2081:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2126:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2128:16:181"},"nodeType":"YulFunctionCall","src":"2128:18:181"},"nodeType":"YulExpressionStatement","src":"2128:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2118:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2122:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2115:2:181"},"nodeType":"YulFunctionCall","src":"2115:10:181"},"nodeType":"YulIf","src":"2112:36:181"},{"nodeType":"YulVariableDeclaration","src":"2157:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2171:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2167:3:181"},"nodeType":"YulFunctionCall","src":"2167:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2161:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2183:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2203:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2197:5:181"},"nodeType":"YulFunctionCall","src":"2197:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2187:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2215:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2237:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2261:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"2265:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2257:3:181"},"nodeType":"YulFunctionCall","src":"2257:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2272:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2253:3:181"},"nodeType":"YulFunctionCall","src":"2253:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"2277:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2249:3:181"},"nodeType":"YulFunctionCall","src":"2249:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2282:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2245:3:181"},"nodeType":"YulFunctionCall","src":"2245:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2233:3:181"},"nodeType":"YulFunctionCall","src":"2233:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2219:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2345:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2347:16:181"},"nodeType":"YulFunctionCall","src":"2347:18:181"},"nodeType":"YulExpressionStatement","src":"2347:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2304:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2316:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2301:2:181"},"nodeType":"YulFunctionCall","src":"2301:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2324:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2336:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2321:2:181"},"nodeType":"YulFunctionCall","src":"2321:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2298:2:181"},"nodeType":"YulFunctionCall","src":"2298:46:181"},"nodeType":"YulIf","src":"2295:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2383:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2387:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2376:6:181"},"nodeType":"YulFunctionCall","src":"2376:22:181"},"nodeType":"YulExpressionStatement","src":"2376:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2414:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"2422:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2407:6:181"},"nodeType":"YulFunctionCall","src":"2407:18:181"},"nodeType":"YulExpressionStatement","src":"2407:18:181"},{"body":{"nodeType":"YulBlock","src":"2471:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2480:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2483:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2473:6:181"},"nodeType":"YulFunctionCall","src":"2473:12:181"},"nodeType":"YulExpressionStatement","src":"2473:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2448:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"2452:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2444:3:181"},"nodeType":"YulFunctionCall","src":"2444:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"2457:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:181"},"nodeType":"YulFunctionCall","src":"2440:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2462:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2437:2:181"},"nodeType":"YulFunctionCall","src":"2437:33:181"},"nodeType":"YulIf","src":"2434:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2513:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2521:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2509:3:181"},"nodeType":"YulFunctionCall","src":"2509:15:181"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2530:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"2534:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2526:3:181"},"nodeType":"YulFunctionCall","src":"2526:11:181"},{"name":"_3","nodeType":"YulIdentifier","src":"2539:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2496:12:181"},"nodeType":"YulFunctionCall","src":"2496:46:181"},"nodeType":"YulExpressionStatement","src":"2496:46:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2566:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"2574:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2562:3:181"},"nodeType":"YulFunctionCall","src":"2562:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"2579:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2558:3:181"},"nodeType":"YulFunctionCall","src":"2558:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"2584:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2551:6:181"},"nodeType":"YulFunctionCall","src":"2551:35:181"},"nodeType":"YulExpressionStatement","src":"2551:35:181"},{"nodeType":"YulAssignment","src":"2595:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2605:6:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2595:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1425:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1436:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1448:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1456:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1464:6:181","type":""}],"src":"1325:1292:181"},{"body":{"nodeType":"YulBlock","src":"2692:206:181","statements":[{"body":{"nodeType":"YulBlock","src":"2738:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2747:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2750:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2740:6:181"},"nodeType":"YulFunctionCall","src":"2740:12:181"},"nodeType":"YulExpressionStatement","src":"2740:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2713:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2722:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2709:3:181"},"nodeType":"YulFunctionCall","src":"2709:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2734:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2705:3:181"},"nodeType":"YulFunctionCall","src":"2705:32:181"},"nodeType":"YulIf","src":"2702:52:181"},{"nodeType":"YulVariableDeclaration","src":"2763:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2789:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2776:12:181"},"nodeType":"YulFunctionCall","src":"2776:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2767:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2862:5:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"2808:53:181"},"nodeType":"YulFunctionCall","src":"2808:60:181"},"nodeType":"YulExpressionStatement","src":"2808:60:181"},{"nodeType":"YulAssignment","src":"2877:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"2887:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2877:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2658:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2669:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2681:6:181","type":""}],"src":"2622:276:181"},{"body":{"nodeType":"YulBlock","src":"3094:76:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3111:3:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3120:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3125:10:181","type":"","value":"0x5c60da1b"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3116:3:181"},"nodeType":"YulFunctionCall","src":"3116:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3104:6:181"},"nodeType":"YulFunctionCall","src":"3104:33:181"},"nodeType":"YulExpressionStatement","src":"3104:33:181"},{"nodeType":"YulAssignment","src":"3146:18:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3157:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"3162:1:181","type":"","value":"4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3153:3:181"},"nodeType":"YulFunctionCall","src":"3153:11:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3146:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3078:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3086:3:181","type":""}],"src":"2903:267:181"},{"body":{"nodeType":"YulBlock","src":"3264:199:181","statements":[{"body":{"nodeType":"YulBlock","src":"3310:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3319:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3322:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3312:6:181"},"nodeType":"YulFunctionCall","src":"3312:12:181"},"nodeType":"YulExpressionStatement","src":"3312:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3285:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3294:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3281:3:181"},"nodeType":"YulFunctionCall","src":"3281:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3306:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3277:3:181"},"nodeType":"YulFunctionCall","src":"3277:32:181"},"nodeType":"YulIf","src":"3274:52:181"},{"nodeType":"YulVariableDeclaration","src":"3335:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3354:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3348:5:181"},"nodeType":"YulFunctionCall","src":"3348:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3339:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3427:5:181"}],"functionName":{"name":"validator_revert_contract_TransparentUpgradeableProxy","nodeType":"YulIdentifier","src":"3373:53:181"},"nodeType":"YulFunctionCall","src":"3373:60:181"},"nodeType":"YulExpressionStatement","src":"3373:60:181"},{"nodeType":"YulAssignment","src":"3442:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"3452:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3442:6:181"}]}]},"name":"abi_decode_tuple_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3230:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3241:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3253:6:181","type":""}],"src":"3175:288:181"},{"body":{"nodeType":"YulBlock","src":"3615:545:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3632:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3647:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3663:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3668:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3659:3:181"},"nodeType":"YulFunctionCall","src":"3659:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"3672:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3655:3:181"},"nodeType":"YulFunctionCall","src":"3655:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3643:3:181"},"nodeType":"YulFunctionCall","src":"3643:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3625:6:181"},"nodeType":"YulFunctionCall","src":"3625:51:181"},"nodeType":"YulExpressionStatement","src":"3625:51:181"},{"nodeType":"YulVariableDeclaration","src":"3685:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3695:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3689:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3717:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3728:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3713:3:181"},"nodeType":"YulFunctionCall","src":"3713:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3733:2:181","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3706:6:181"},"nodeType":"YulFunctionCall","src":"3706:30:181"},"nodeType":"YulExpressionStatement","src":"3706:30:181"},{"nodeType":"YulVariableDeclaration","src":"3745:27:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3765:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3759:5:181"},"nodeType":"YulFunctionCall","src":"3759:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3749:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3792:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3803:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3788:3:181"},"nodeType":"YulFunctionCall","src":"3788:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3808:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3781:6:181"},"nodeType":"YulFunctionCall","src":"3781:34:181"},"nodeType":"YulExpressionStatement","src":"3781:34:181"},{"nodeType":"YulVariableDeclaration","src":"3824:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3833:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3828:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3893:90:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3922:9:181"},{"name":"i","nodeType":"YulIdentifier","src":"3933:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3918:3:181"},"nodeType":"YulFunctionCall","src":"3918:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"3937:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3914:3:181"},"nodeType":"YulFunctionCall","src":"3914:26:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3956:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"3964:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3952:3:181"},"nodeType":"YulFunctionCall","src":"3952:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3968:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3948:3:181"},"nodeType":"YulFunctionCall","src":"3948:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3942:5:181"},"nodeType":"YulFunctionCall","src":"3942:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3907:6:181"},"nodeType":"YulFunctionCall","src":"3907:66:181"},"nodeType":"YulExpressionStatement","src":"3907:66:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3854:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"3857:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3851:2:181"},"nodeType":"YulFunctionCall","src":"3851:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3865:19:181","statements":[{"nodeType":"YulAssignment","src":"3867:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3876:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3879:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3872:3:181"},"nodeType":"YulFunctionCall","src":"3872:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3867:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"3847:3:181","statements":[]},"src":"3843:140:181"},{"body":{"nodeType":"YulBlock","src":"4017:66:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4046:9:181"},{"name":"length","nodeType":"YulIdentifier","src":"4057:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4042:3:181"},"nodeType":"YulFunctionCall","src":"4042:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"4066:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4038:3:181"},"nodeType":"YulFunctionCall","src":"4038:31:181"},{"kind":"number","nodeType":"YulLiteral","src":"4071:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4031:6:181"},"nodeType":"YulFunctionCall","src":"4031:42:181"},"nodeType":"YulExpressionStatement","src":"4031:42:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3998:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"4001:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3995:2:181"},"nodeType":"YulFunctionCall","src":"3995:13:181"},"nodeType":"YulIf","src":"3992:91:181"},{"nodeType":"YulAssignment","src":"4092:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4108:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4127:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4135:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4123:3:181"},"nodeType":"YulFunctionCall","src":"4123:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4144:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4140:3:181"},"nodeType":"YulFunctionCall","src":"4140:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4119:3:181"},"nodeType":"YulFunctionCall","src":"4119:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4104:3:181"},"nodeType":"YulFunctionCall","src":"4104:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"4151:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4100:3:181"},"nodeType":"YulFunctionCall","src":"4100:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4092:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3576:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3587:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3595:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3606:4:181","type":""}],"src":"3468:692:181"},{"body":{"nodeType":"YulBlock","src":"4339:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4356:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4367:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4349:6:181"},"nodeType":"YulFunctionCall","src":"4349:21:181"},"nodeType":"YulExpressionStatement","src":"4349:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4390:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4401:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4386:3:181"},"nodeType":"YulFunctionCall","src":"4386:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4406:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4379:6:181"},"nodeType":"YulFunctionCall","src":"4379:30:181"},"nodeType":"YulExpressionStatement","src":"4379:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4429:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4440:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4425:3:181"},"nodeType":"YulFunctionCall","src":"4425:18:181"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"4445:34:181","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4418:6:181"},"nodeType":"YulFunctionCall","src":"4418:62:181"},"nodeType":"YulExpressionStatement","src":"4418:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4500:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4511:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4496:3:181"},"nodeType":"YulFunctionCall","src":"4496:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"4516:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4489:6:181"},"nodeType":"YulFunctionCall","src":"4489:36:181"},"nodeType":"YulExpressionStatement","src":"4489:36:181"},{"nodeType":"YulAssignment","src":"4534:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4546:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4557:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4542:3:181"},"nodeType":"YulFunctionCall","src":"4542:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4534:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4316:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4330:4:181","type":""}],"src":"4165:402:181"},{"body":{"nodeType":"YulBlock","src":"4763:76:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4780:3:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4789:3:181","type":"","value":"230"},{"kind":"number","nodeType":"YulLiteral","src":"4794:10:181","type":"","value":"0x03e14691"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4785:3:181"},"nodeType":"YulFunctionCall","src":"4785:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4773:6:181"},"nodeType":"YulFunctionCall","src":"4773:33:181"},"nodeType":"YulExpressionStatement","src":"4773:33:181"},{"nodeType":"YulAssignment","src":"4815:18:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4826:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"4831:1:181","type":"","value":"4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4822:3:181"},"nodeType":"YulFunctionCall","src":"4822:11:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4815:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4747:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4755:3:181","type":""}],"src":"4572:267:181"},{"body":{"nodeType":"YulBlock","src":"5018:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5035:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5046:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5028:6:181"},"nodeType":"YulFunctionCall","src":"5028:21:181"},"nodeType":"YulExpressionStatement","src":"5028:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5069:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5080:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5065:3:181"},"nodeType":"YulFunctionCall","src":"5065:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5085:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5058:6:181"},"nodeType":"YulFunctionCall","src":"5058:30:181"},"nodeType":"YulExpressionStatement","src":"5058:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5119:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5104:3:181"},"nodeType":"YulFunctionCall","src":"5104:18:181"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"5124:34:181","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5097:6:181"},"nodeType":"YulFunctionCall","src":"5097:62:181"},"nodeType":"YulExpressionStatement","src":"5097:62:181"},{"nodeType":"YulAssignment","src":"5168:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5180:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5191:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5176:3:181"},"nodeType":"YulFunctionCall","src":"5176:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5168:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4995:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5009:4:181","type":""}],"src":"4844:356:181"}]},"contents":"{\n { }\n function validator_revert_contract_TransparentUpgradeableProxy(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$10249(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\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_contract$_TransparentUpgradeableProxy_$10249t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\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_tuple_t_contract$_TransparentUpgradeableProxy_$10249t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(224, 0x5c60da1b))\n end := add(pos, 4)\n }\n function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n let _1 := 32\n mstore(add(headStart, _1), 64)\n let length := mload(value1)\n mstore(add(headStart, 64), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 96), mload(add(add(value1, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 96), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(230, 0x03e14691))\n end := add(pos, 4)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610499565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee3660046104bd565b610229565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f36600461050c565b610291565b34801561013057600080fd5b506100d161013f3660046104bd565b610300565b34801561015057600080fd5b506100d161015f366004610499565b610336565b34801561017057600080fd5b506100a061017f366004610499565b6103b4565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d91906105e2565b949350505050565b61021d6103da565b6102276000610434565b565b6102316103da565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561027557600080fd5b505af1158015610289573d6000803e3d6000fd5b505050505050565b6102996103da565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102c990869086906004016105ff565b6000604051808303818588803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b5050505050505050565b6103086103da565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe69060240161025b565b61033e6103da565b6001600160a01b0381166103a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103b181610434565b50565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103b157600080fd5b6000602082840312156104ab57600080fd5b81356104b681610484565b9392505050565b600080604083850312156104d057600080fd5b82356104db81610484565b915060208301356104eb81610484565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052157600080fd5b833561052c81610484565b9250602084013561053c81610484565b9150604084013567ffffffffffffffff8082111561055957600080fd5b818601915086601f83011261056d57600080fd5b81358181111561057f5761057f6104f6565b604051601f8201601f19908116603f011681019083821181831017156105a7576105a76104f6565b816040528281528960208487010111156105c057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f457600080fd5b81516104b681610484565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561063b5785810183015185820160600152820161061f565b8181111561064d576000606083870101525b50601f01601f19169290920160600194935050505056fea26469706673582212209306966424a239e84f3d19cc9413c9d01ad6d2a8c25ddcf0f433e395122affba64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9623609D GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x99A88EC4 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0xF3B7DEAD EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x204E1C7A EQ PUSH2 0x80 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x7EFF275E EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA0 PUSH2 0x9B CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x184 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x215 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD JUMP JUMPDEST PUSH2 0x229 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xA0 JUMP JUMPDEST PUSH2 0xD1 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0x50C JUMP JUMPDEST PUSH2 0x291 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x13F CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD JUMP JUMPDEST PUSH2 0x300 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD1 PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x336 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA0 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x499 JUMP JUMPDEST PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP1 PUSH4 0x5C60DA1B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1E5 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 0x1EA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x5E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x227 PUSH1 0x0 PUSH2 0x434 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x231 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8F28397 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0x8F283970 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x289 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x299 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x2C9 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x308 PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1B2CE7F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0x3659CFE6 SWAP1 PUSH1 0x24 ADD PUSH2 0x25B JUMP JUMPDEST PUSH2 0x33E PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3B1 DUP2 PUSH2 0x434 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP1 PUSH4 0x3E14691 PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x39F JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4B6 DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4DB DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4EB DUP2 PUSH2 0x484 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x521 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x52C DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x53C DUP2 PUSH2 0x484 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x57F JUMPI PUSH2 0x57F PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x5A7 JUMPI PUSH2 0x5A7 PUSH2 0x4F6 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x4B6 DUP2 PUSH2 0x484 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x63B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x61F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 MOD SWAP7 PUSH5 0x24A239E84F RETURNDATASIZE NOT 0xCC SWAP5 SGT 0xC9 0xD0 BYTE 0xD6 0xD2 0xA8 0xC2 0x5D 0xDC CREATE DELEGATECALL CALLER 0xE3 SWAP6 SLT 0x2A SELFDESTRUCT 0xBA PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"435:2404:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:437;;;;;;;;;;-1:-1:-1;635:437:77;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;661:32:181;;;643:51;;631:2;616:18;635:437:77;;;;;;;1831:101:9;;;;;;;;;;;;;:::i;:::-;;1825:148:77;;;;;;;;;;-1:-1:-1;1825:148:77;;;;;:::i;:::-;;:::i;1201:85:9:-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;-1:-1:-1;;;;;1273:6:9;1201:85;;2593:244:77;;;;;;:::i;:::-;;:::i;2178:149::-;;;;;;;;;;-1:-1:-1;2178:149:77;;;;;:::i;:::-;;:::i;2081:198:9:-;;;;;;;;;;-1:-1:-1;2081:198:9;;;;;:::i;:::-;;:::i;1232:419:77:-;;;;;;;;;;-1:-1:-1;1232:419:77;;;;;:::i;:::-;;:::i;635:437::-;731:7;908:12;922:23;957:5;-1:-1:-1;;;;;949:25:77;:40;;;;-1:-1:-1;;;3104:33:181;;3162:1;3153:11;;2903:267;949:40:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;907:82;;;;1007:7;999:16;;;;;;1043:10;1032:33;;;;;;;;;;;;:::i;:::-;1025:40;635:437;-1:-1:-1;;;;635:437:77:o;1831:101:9:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;1825:148:77:-;1094:13:9;:11;:13::i;:::-;1939:27:77::1;::::0;-1:-1:-1;;;1939:27:77;;-1:-1:-1;;;;;661:32:181;;;1939:27:77::1;::::0;::::1;643:51:181::0;1939:17:77;::::1;::::0;::::1;::::0;616:18:181;;1939:27:77::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1825:148:::0;;:::o;2593:244::-;1094:13:9;:11;:13::i;:::-;2768:62:77::1;::::0;-1:-1:-1;;;2768:62:77;;-1:-1:-1;;;;;2768:22:77;::::1;::::0;::::1;::::0;2798:9:::1;::::0;2768:62:::1;::::0;2809:14;;2825:4;;2768:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;2593:244:::0;;;:::o;2178:149::-;1094:13:9;:11;:13::i;:::-;2289:31:77::1;::::0;-1:-1:-1;;;2289:31:77;;-1:-1:-1;;;;;661:32:181;;;2289:31:77::1;::::0;::::1;643:51:181::0;2289:15:77;::::1;::::0;::::1;::::0;616:18:181;;2289:31:77::1;497:203:181::0;2081:198:9;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:9;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:9;;4367:2:181;2161:73:9::1;::::0;::::1;4349:21:181::0;4406:2;4386:18;;;4379:30;4445:34;4425:18;;;4418:62;-1:-1:-1;;;4496:18:181;;;4489:36;4542:19;;2161:73:9::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1232:419:77:-;1319:7;1487:12;1501:23;1536:5;-1:-1:-1;;;;;1528:25:77;:40;;;;-1:-1:-1;;;4773:33:181;;4831:1;4822:11;;4572:267;1359:130:9;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;719:10:138;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;5046:2:181;1414:68:9;;;5028:21:181;;;5065:18;;;5058:30;5124:34;5104:18;;;5097:62;5176:18;;1414:68:9;4844:356:181;2433:187:9;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:160:181:-;-1:-1:-1;;;;;118:31:181;;108:42;;98:70;;164:1;161;154:12;179:313;275:6;328:2;316:9;307:7;303:23;299:32;296:52;;;344:1;341;334:12;296:52;383:9;370:23;402:60;456:5;402:60;:::i;:::-;481:5;179:313;-1:-1:-1;;;179:313:181:o;705:483::-;810:6;818;871:2;859:9;850:7;846:23;842:32;839:52;;;887:1;884;877:12;839:52;926:9;913:23;945:60;999:5;945:60;:::i;:::-;1024:5;-1:-1:-1;1081:2:181;1066:18;;1053:32;1094:62;1053:32;1094:62;:::i;:::-;1175:7;1165:17;;;705:483;;;;;:::o;1193:127::-;1254:10;1249:3;1245:20;1242:1;1235:31;1285:4;1282:1;1275:15;1309:4;1306:1;1299:15;1325:1292;1448:6;1456;1464;1517:2;1505:9;1496:7;1492:23;1488:32;1485:52;;;1533:1;1530;1523:12;1485:52;1572:9;1559:23;1591:60;1645:5;1591:60;:::i;:::-;1670:5;-1:-1:-1;1727:2:181;1712:18;;1699:32;1740:62;1699:32;1740:62;:::i;:::-;1821:7;-1:-1:-1;1879:2:181;1864:18;;1851:32;1902:18;1932:14;;;1929:34;;;1959:1;1956;1949:12;1929:34;1997:6;1986:9;1982:22;1972:32;;2042:7;2035:4;2031:2;2027:13;2023:27;2013:55;;2064:1;2061;2054:12;2013:55;2100:2;2087:16;2122:2;2118;2115:10;2112:36;;;2128:18;;:::i;:::-;2203:2;2197:9;2171:2;2257:13;;-1:-1:-1;;2253:22:181;;;2277:2;2249:31;2245:40;2233:53;;;2301:18;;;2321:22;;;2298:46;2295:72;;;2347:18;;:::i;:::-;2387:10;2383:2;2376:22;2422:2;2414:6;2407:18;2462:7;2457:2;2452;2448;2444:11;2440:20;2437:33;2434:53;;;2483:1;2480;2473:12;2434:53;2539:2;2534;2530;2526:11;2521:2;2513:6;2509:15;2496:46;2584:1;2579:2;2574;2566:6;2562:15;2558:24;2551:35;2605:6;2595:16;;;;;;;1325:1292;;;;;:::o;3175:288::-;3253:6;3306:2;3294:9;3285:7;3281:23;3277:32;3274:52;;;3322:1;3319;3312:12;3274:52;3354:9;3348:16;3373:60;3427:5;3373:60;:::i;3468:692::-;3672:1;3668;3663:3;3659:11;3655:19;3647:6;3643:32;3632:9;3625:51;3606:4;3695:2;3733;3728;3717:9;3713:18;3706:30;3765:6;3759:13;3808:6;3803:2;3792:9;3788:18;3781:34;3833:1;3843:140;3857:6;3854:1;3851:13;3843:140;;;3952:14;;;3948:23;;3942:30;3918:17;;;3937:2;3914:26;3907:66;3872:10;;3843:140;;;4001:6;3998:1;3995:13;3992:91;;;4071:1;4066:2;4057:6;4046:9;4042:22;4038:31;4031:42;3992:91;-1:-1:-1;4144:2:181;4123:15;-1:-1:-1;;4119:29:181;4104:45;;;;4151:2;4100:54;;3468:692;-1:-1:-1;;;;3468:692:181:o"},"methodIdentifiers":{"changeProxyAdmin(address,address)":"7eff275e","getProxyAdmin(address)":"f3b7dead","getProxyImplementation(address)":"204e1c7a","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","upgrade(address,address)":"99a88ec4","upgradeAndCall(address,address,bytes)":"9623609d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeProxyAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyImplementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"kind\":\"dev\",\"methods\":{\"changeProxyAdmin(address,address)\":{\"details\":\"Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`.\"},\"getProxyAdmin(address)\":{\"details\":\"Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"getProxyImplementation(address)\":{\"details\":\"Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgrade(address,address)\":{\"details\":\"Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x33b8603bfbef7f33d9308b79c79aa3db7eb19525fd1addd764285e834ca275d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ada1f59ac012751561c8fa066bddf1a8fb518fcb0ea2d64920797c1711aad0c\",\"dweb:/ipfs/QmTrY13qevgKDUAyQhFvMNLvbLuWaQprvDzvLdXWQwnoxA\"]},\"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"TransparentUpgradeableProxy":{"abi":[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"admin_","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"admin_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_10126":{"entryPoint":null,"id":10126,"parameterSlots":3,"returnSlots":0},"@_9431":{"entryPoint":null,"id":9431,"parameterSlots":2,"returnSlots":0},"@_changeAdmin_9665":{"entryPoint":138,"id":9665,"parameterSlots":1,"returnSlots":0},"@_getAdmin_9622":{"entryPoint":342,"id":9622,"parameterSlots":0,"returnSlots":1},"@_revert_20687":{"entryPoint":1038,"id":20687,"parameterSlots":2,"returnSlots":0},"@_setAdmin_9648":{"entryPoint":399,"id":9648,"parameterSlots":1,"returnSlots":0},"@_setImplementation_9500":{"entryPoint":580,"id":9500,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCall_9545":{"entryPoint":77,"id":9545,"parameterSlots":3,"returnSlots":0},"@_upgradeTo_9515":{"entryPoint":229,"id":9515,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":295,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":760,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":887,"id":22517,"parameterSlots":1,"returnSlots":1},"@isContract_20376":{"entryPoint":890,"id":20376,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":905,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":1083,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory":{"entryPoint":1181,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1405,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1435,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":1134,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":1112,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3801:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"74:117:181","statements":[{"nodeType":"YulAssignment","src":"84:22:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"99:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"93:5:181"},"nodeType":"YulFunctionCall","src":"93:13:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:181"}]},{"body":{"nodeType":"YulBlock","src":"169:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"178:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"181:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"171:6:181"},"nodeType":"YulFunctionCall","src":"171:12:181"},"nodeType":"YulExpressionStatement","src":"171:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"128:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"139:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"154:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"150:3:181"},"nodeType":"YulFunctionCall","src":"150:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"163:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"135:3:181"},"nodeType":"YulFunctionCall","src":"135:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"125:2:181"},"nodeType":"YulFunctionCall","src":"125:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"118:6:181"},"nodeType":"YulFunctionCall","src":"118:50:181"},"nodeType":"YulIf","src":"115:70:181"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"53:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:181","type":""}],"src":"14:177:181"},{"body":{"nodeType":"YulBlock","src":"228:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"245:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"252:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"257:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"248:3:181"},"nodeType":"YulFunctionCall","src":"248:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"238:6:181"},"nodeType":"YulFunctionCall","src":"238:31:181"},"nodeType":"YulExpressionStatement","src":"238:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"285:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"288:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"278:6:181"},"nodeType":"YulFunctionCall","src":"278:15:181"},"nodeType":"YulExpressionStatement","src":"278:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"309:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"312:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"302:6:181"},"nodeType":"YulFunctionCall","src":"302:15:181"},"nodeType":"YulExpressionStatement","src":"302:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"196:127:181"},{"body":{"nodeType":"YulBlock","src":"381:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"391:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"400:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"395:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"460:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"485:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"490:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:181"},"nodeType":"YulFunctionCall","src":"481:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"504:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"509:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"500:3:181"},"nodeType":"YulFunctionCall","src":"500:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:181"},"nodeType":"YulFunctionCall","src":"494:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"474:6:181"},"nodeType":"YulFunctionCall","src":"474:39:181"},"nodeType":"YulExpressionStatement","src":"474:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"421:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"424:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"418:2:181"},"nodeType":"YulFunctionCall","src":"418:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"432:19:181","statements":[{"nodeType":"YulAssignment","src":"434:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"443:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"446:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"439:3:181"},"nodeType":"YulFunctionCall","src":"439:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"434:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"414:3:181","statements":[]},"src":"410:113:181"},{"body":{"nodeType":"YulBlock","src":"549:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"562:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"567:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"558:3:181"},"nodeType":"YulFunctionCall","src":"558:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"576:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"551:6:181"},"nodeType":"YulFunctionCall","src":"551:27:181"},"nodeType":"YulExpressionStatement","src":"551:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"538:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"541:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"535:2:181"},"nodeType":"YulFunctionCall","src":"535:13:181"},"nodeType":"YulIf","src":"532:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"359:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"364:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"369:6:181","type":""}],"src":"328:258:181"},{"body":{"nodeType":"YulBlock","src":"715:929:181","statements":[{"body":{"nodeType":"YulBlock","src":"761:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"770:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"773:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"763:6:181"},"nodeType":"YulFunctionCall","src":"763:12:181"},"nodeType":"YulExpressionStatement","src":"763:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"736:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"745:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"732:3:181"},"nodeType":"YulFunctionCall","src":"732:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"757:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"728:3:181"},"nodeType":"YulFunctionCall","src":"728:32:181"},"nodeType":"YulIf","src":"725:52:181"},{"nodeType":"YulAssignment","src":"786:50:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"826:9:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"796:29:181"},"nodeType":"YulFunctionCall","src":"796:40:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"786:6:181"}]},{"nodeType":"YulAssignment","src":"845:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"889:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"900:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"885:3:181"},"nodeType":"YulFunctionCall","src":"885:18:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"855:29:181"},"nodeType":"YulFunctionCall","src":"855:49:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"845:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"913:39:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"937:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"948:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"933:3:181"},"nodeType":"YulFunctionCall","src":"933:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"927:5:181"},"nodeType":"YulFunctionCall","src":"927:25:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"917:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"961:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"979:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"983:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"975:3:181"},"nodeType":"YulFunctionCall","src":"975:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"987:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"971:3:181"},"nodeType":"YulFunctionCall","src":"971:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"965:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1016:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1025:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1028:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1018:6:181"},"nodeType":"YulFunctionCall","src":"1018:12:181"},"nodeType":"YulExpressionStatement","src":"1018:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1004:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1012:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1001:2:181"},"nodeType":"YulFunctionCall","src":"1001:14:181"},"nodeType":"YulIf","src":"998:34:181"},{"nodeType":"YulVariableDeclaration","src":"1041:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1055:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1066:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1051:3:181"},"nodeType":"YulFunctionCall","src":"1051:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1045:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1121:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1130:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1133:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1123:6:181"},"nodeType":"YulFunctionCall","src":"1123:12:181"},"nodeType":"YulExpressionStatement","src":"1123:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1100:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1104:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1096:3:181"},"nodeType":"YulFunctionCall","src":"1096:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1111:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1092:3:181"},"nodeType":"YulFunctionCall","src":"1092:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1085:6:181"},"nodeType":"YulFunctionCall","src":"1085:35:181"},"nodeType":"YulIf","src":"1082:55:181"},{"nodeType":"YulVariableDeclaration","src":"1146:19:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1162:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1156:5:181"},"nodeType":"YulFunctionCall","src":"1156:9:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1150:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1188:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1190:16:181"},"nodeType":"YulFunctionCall","src":"1190:18:181"},"nodeType":"YulExpressionStatement","src":"1190:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1180:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1184:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1177:2:181"},"nodeType":"YulFunctionCall","src":"1177:10:181"},"nodeType":"YulIf","src":"1174:36:181"},{"nodeType":"YulVariableDeclaration","src":"1219:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1233:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1229:3:181"},"nodeType":"YulFunctionCall","src":"1229:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1223:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1245:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1265:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1259:5:181"},"nodeType":"YulFunctionCall","src":"1259:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1249:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1277:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1299:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1323:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1327:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1319:3:181"},"nodeType":"YulFunctionCall","src":"1319:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1334:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1315:3:181"},"nodeType":"YulFunctionCall","src":"1315:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"1339:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1311:3:181"},"nodeType":"YulFunctionCall","src":"1311:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1344:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1307:3:181"},"nodeType":"YulFunctionCall","src":"1307:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1295:3:181"},"nodeType":"YulFunctionCall","src":"1295:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1281:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1407:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1409:16:181"},"nodeType":"YulFunctionCall","src":"1409:18:181"},"nodeType":"YulExpressionStatement","src":"1409:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1366:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1378:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1363:2:181"},"nodeType":"YulFunctionCall","src":"1363:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1386:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1398:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1383:2:181"},"nodeType":"YulFunctionCall","src":"1383:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1360:2:181"},"nodeType":"YulFunctionCall","src":"1360:46:181"},"nodeType":"YulIf","src":"1357:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1445:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1449:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1438:6:181"},"nodeType":"YulFunctionCall","src":"1438:22:181"},"nodeType":"YulExpressionStatement","src":"1438:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1476:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1484:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1469:6:181"},"nodeType":"YulFunctionCall","src":"1469:18:181"},"nodeType":"YulExpressionStatement","src":"1469:18:181"},{"body":{"nodeType":"YulBlock","src":"1533:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1542:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1545:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1535:6:181"},"nodeType":"YulFunctionCall","src":"1535:12:181"},"nodeType":"YulExpressionStatement","src":"1535:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1510:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1514:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1506:3:181"},"nodeType":"YulFunctionCall","src":"1506:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1519:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1502:3:181"},"nodeType":"YulFunctionCall","src":"1502:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1524:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1499:2:181"},"nodeType":"YulFunctionCall","src":"1499:33:181"},"nodeType":"YulIf","src":"1496:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1584:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1588:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1580:3:181"},"nodeType":"YulFunctionCall","src":"1580:11:181"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1597:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1605:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1593:3:181"},"nodeType":"YulFunctionCall","src":"1593:15:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1610:2:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1558:21:181"},"nodeType":"YulFunctionCall","src":"1558:55:181"},"nodeType":"YulExpressionStatement","src":"1558:55:181"},{"nodeType":"YulAssignment","src":"1622:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1632:6:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1622:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"665:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"676:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"688:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"696:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"704:6:181","type":""}],"src":"591:1053:181"},{"body":{"nodeType":"YulBlock","src":"1778:175:181","statements":[{"nodeType":"YulAssignment","src":"1788:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1800:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1811:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1796:3:181"},"nodeType":"YulFunctionCall","src":"1796:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1788:4:181"}]},{"nodeType":"YulVariableDeclaration","src":"1823:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1841:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1846:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1837:3:181"},"nodeType":"YulFunctionCall","src":"1837:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1850:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1833:3:181"},"nodeType":"YulFunctionCall","src":"1833:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1827:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1868:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1883:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1891:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1879:3:181"},"nodeType":"YulFunctionCall","src":"1879:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1861:6:181"},"nodeType":"YulFunctionCall","src":"1861:34:181"},"nodeType":"YulExpressionStatement","src":"1861:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1915:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1926:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:181"},"nodeType":"YulFunctionCall","src":"1911:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1935:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1943:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1931:3:181"},"nodeType":"YulFunctionCall","src":"1931:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1904:6:181"},"nodeType":"YulFunctionCall","src":"1904:43:181"},"nodeType":"YulExpressionStatement","src":"1904:43:181"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1739:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1750:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1758:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1769:4:181","type":""}],"src":"1649:304:181"},{"body":{"nodeType":"YulBlock","src":"2132:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2149:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2160:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2142:6:181"},"nodeType":"YulFunctionCall","src":"2142:21:181"},"nodeType":"YulExpressionStatement","src":"2142:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2183:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2194:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2179:3:181"},"nodeType":"YulFunctionCall","src":"2179:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2199:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2172:6:181"},"nodeType":"YulFunctionCall","src":"2172:30:181"},"nodeType":"YulExpressionStatement","src":"2172:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2222:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2233:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2218:3:181"},"nodeType":"YulFunctionCall","src":"2218:18:181"},{"hexValue":"455243313936373a206e65772061646d696e20697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"2238:34:181","type":"","value":"ERC1967: new admin is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2211:6:181"},"nodeType":"YulFunctionCall","src":"2211:62:181"},"nodeType":"YulExpressionStatement","src":"2211:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2293:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2304:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:181"},"nodeType":"YulFunctionCall","src":"2289:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"2309:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2282:6:181"},"nodeType":"YulFunctionCall","src":"2282:36:181"},"nodeType":"YulExpressionStatement","src":"2282:36:181"},{"nodeType":"YulAssignment","src":"2327:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2339:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2350:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2335:3:181"},"nodeType":"YulFunctionCall","src":"2335:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2327:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2109:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2123:4:181","type":""}],"src":"1958:402:181"},{"body":{"nodeType":"YulBlock","src":"2539:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2556:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2567:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2549:6:181"},"nodeType":"YulFunctionCall","src":"2549:21:181"},"nodeType":"YulExpressionStatement","src":"2549:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2590:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2601:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:181"},"nodeType":"YulFunctionCall","src":"2586:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2606:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2579:6:181"},"nodeType":"YulFunctionCall","src":"2579:30:181"},"nodeType":"YulExpressionStatement","src":"2579:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2629:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2640:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2625:3:181"},"nodeType":"YulFunctionCall","src":"2625:18:181"},{"hexValue":"455243313936373a206e657720696d706c656d656e746174696f6e206973206e","kind":"string","nodeType":"YulLiteral","src":"2645:34:181","type":"","value":"ERC1967: new implementation is n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2618:6:181"},"nodeType":"YulFunctionCall","src":"2618:62:181"},"nodeType":"YulExpressionStatement","src":"2618:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2700:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2711:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2696:3:181"},"nodeType":"YulFunctionCall","src":"2696:18:181"},{"hexValue":"6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"2716:15:181","type":"","value":"ot a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2689:6:181"},"nodeType":"YulFunctionCall","src":"2689:43:181"},"nodeType":"YulExpressionStatement","src":"2689:43:181"},{"nodeType":"YulAssignment","src":"2741:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2753:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2764:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2749:3:181"},"nodeType":"YulFunctionCall","src":"2749:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2741:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2516:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2530:4:181","type":""}],"src":"2365:409:181"},{"body":{"nodeType":"YulBlock","src":"2916:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2926:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2946:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2940:5:181"},"nodeType":"YulFunctionCall","src":"2940:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2930:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2988:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2996:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2984:3:181"},"nodeType":"YulFunctionCall","src":"2984:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"3003:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"3008:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2962:21:181"},"nodeType":"YulFunctionCall","src":"2962:53:181"},"nodeType":"YulExpressionStatement","src":"2962:53:181"},{"nodeType":"YulAssignment","src":"3024:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3035:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"3040:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3031:3:181"},"nodeType":"YulFunctionCall","src":"3031:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3024:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2892:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2897:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2908:3:181","type":""}],"src":"2779:274:181"},{"body":{"nodeType":"YulBlock","src":"3232:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3249:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3260:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3242:6:181"},"nodeType":"YulFunctionCall","src":"3242:21:181"},"nodeType":"YulExpressionStatement","src":"3242:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3283:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3294:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3279:3:181"},"nodeType":"YulFunctionCall","src":"3279:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3299:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3272:6:181"},"nodeType":"YulFunctionCall","src":"3272:30:181"},"nodeType":"YulExpressionStatement","src":"3272:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3322:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3333:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3318:3:181"},"nodeType":"YulFunctionCall","src":"3318:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"3338:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3311:6:181"},"nodeType":"YulFunctionCall","src":"3311:59:181"},"nodeType":"YulExpressionStatement","src":"3311:59:181"},{"nodeType":"YulAssignment","src":"3379:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3391:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3402:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3387:3:181"},"nodeType":"YulFunctionCall","src":"3387:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3379:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3209:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3223:4:181","type":""}],"src":"3058:353:181"},{"body":{"nodeType":"YulBlock","src":"3537:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3554:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3565:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3547:6:181"},"nodeType":"YulFunctionCall","src":"3547:21:181"},"nodeType":"YulExpressionStatement","src":"3547:21:181"},{"nodeType":"YulVariableDeclaration","src":"3577:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3597:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3591:5:181"},"nodeType":"YulFunctionCall","src":"3591:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3581:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3624:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3635:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3620:3:181"},"nodeType":"YulFunctionCall","src":"3620:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3640:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3613:6:181"},"nodeType":"YulFunctionCall","src":"3613:34:181"},"nodeType":"YulExpressionStatement","src":"3613:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3682:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3690:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3678:3:181"},"nodeType":"YulFunctionCall","src":"3678:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3710:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:181"},"nodeType":"YulFunctionCall","src":"3695:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3715:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3656:21:181"},"nodeType":"YulFunctionCall","src":"3656:66:181"},"nodeType":"YulExpressionStatement","src":"3656:66:181"},{"nodeType":"YulAssignment","src":"3731:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3747:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3766:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3774:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3762:3:181"},"nodeType":"YulFunctionCall","src":"3762:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3783:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3779:3:181"},"nodeType":"YulFunctionCall","src":"3779:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3758:3:181"},"nodeType":"YulFunctionCall","src":"3758:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3743:3:181"},"nodeType":"YulFunctionCall","src":"3743:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"3790:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3739:3:181"},"nodeType":"YulFunctionCall","src":"3739:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3731:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3506:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3517:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3528:4:181","type":""}],"src":"3416:383:181"}]},"contents":"{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n let offset := mload(add(headStart, 64))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value2 := memPtr\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405260405162000e9838038062000e9883398101604081905262000026916200049d565b828162000036828260006200004d565b50620000449050826200008a565b505050620005d0565b6200005883620000e5565b600082511180620000665750805b1562000085576200008383836200012760201b620002601760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000b562000156565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e2816200018f565b50565b620000f08162000244565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200014f838360405180606001604052806027815260200162000e7160279139620002f8565b9392505050565b60006200018060008051602062000e5183398151915260001b6200037760201b620002081760201c565b546001600160a01b0316919050565b6001600160a01b038116620001fa5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022360008051602062000e5183398151915260001b6200037760201b620002081760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200025a816200037a60201b6200028c1760201c565b620002be5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f1565b80620002237f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037760201b620002081760201c565b6060600080856001600160a01b0316856040516200031791906200057d565b600060405180830381855af49150503d806000811462000354576040519150601f19603f3d011682016040523d82523d6000602084013e62000359565b606091505b5090925090506200036d8683838762000389565b9695505050505050565b90565b6001600160a01b03163b151590565b60608315620003fa578251620003f2576001600160a01b0385163b620003f25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f1565b508162000406565b6200040683836200040e565b949350505050565b8151156200041f5781518083602001fd5b8060405162461bcd60e51b8152600401620001f191906200059b565b80516001600160a01b03811681146200045357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200048b57818101518382015260200162000471565b83811115620000835750506000910152565b600080600060608486031215620004b357600080fd5b620004be846200043b565b9250620004ce602085016200043b565b60408501519092506001600160401b0380821115620004ec57600080fd5b818601915086601f8301126200050157600080fd5b81518181111562000516576200051662000458565b604051601f8201601f19908116603f0116810190838211818310171562000541576200054162000458565b816040528281528960208487010111156200055b57600080fd5b6200056e8360208301602088016200046e565b80955050505050509250925092565b60008251620005918184602087016200046e565b9190910192915050565b6020815260008251806020840152620005bc8160408501602087016200046e565b601f01601f19169190910160400192915050565b61087180620005e06000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106fb565b610118565b61005b610093366004610716565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106fb565b61020b565b3480156100f557600080fd5b506100ad610235565b61010661029b565b61011661011161033a565b610344565b565b610120610368565b6001600160a01b0316336001600160a01b03161415610157576101548160405180602001604052806000815250600061039b565b50565b6101546100fe565b610167610368565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061039b915050565b505050565b6101c36100fe565b60006101da610368565b6001600160a01b0316336001600160a01b03161415610200576101fb61033a565b905090565b6102086100fe565b90565b610213610368565b6001600160a01b0316336001600160a01b0316141561015757610154816103c6565b600061023f610368565b6001600160a01b0316336001600160a01b03161415610200576101fb610368565b606061028583836040518060600160405280602781526020016108156027913961041a565b9392505050565b6001600160a01b03163b151590565b6102a3610368565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610492565b3660008037600080366000845af43d6000803e808015610363573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103a4836104ba565b6000825111806103b15750805b156101c3576103c08383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103ef610368565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816104fa565b6060600080856001600160a01b03168560405161043791906107c5565b600060405180830381855af49150503d8060008114610472576040519150601f19603f3d011682016040523d82523d6000602084013e610477565b606091505b5091509150610488868383876105a3565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61038c565b6104c381610621565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661055f5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561060f578251610608576001600160a01b0385163b6106085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610331565b5081610619565b61061983836106b5565b949350505050565b6001600160a01b0381163b61068e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610331565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610582565b8151156106c55781518083602001fd5b8060405162461bcd60e51b815260040161033191906107e1565b80356001600160a01b03811681146106f657600080fd5b919050565b60006020828403121561070d57600080fd5b610285826106df565b60008060006040848603121561072b57600080fd5b610734846106df565b9250602084013567ffffffffffffffff8082111561075157600080fd5b818601915086601f83011261076557600080fd5b81358181111561077457600080fd5b87602082850101111561078657600080fd5b6020830194508093505050509250925092565b60005b838110156107b457818101518382015260200161079c565b838111156103c05750506000910152565b600082516107d7818460208701610799565b9190910192915050565b6020815260008251806020840152610800816040850160208701610799565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220375058f4555e6337ab6eb3d9b5100dce96e4e302aec012172161b51540a1661564736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0xE98 CODESIZE SUB DUP1 PUSH3 0xE98 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x26 SWAP2 PUSH3 0x49D JUMP JUMPDEST DUP3 DUP2 PUSH3 0x36 DUP3 DUP3 PUSH1 0x0 PUSH3 0x4D JUMP JUMPDEST POP PUSH3 0x44 SWAP1 POP DUP3 PUSH3 0x8A JUMP JUMPDEST POP POP POP PUSH3 0x5D0 JUMP JUMPDEST PUSH3 0x58 DUP4 PUSH3 0xE5 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH3 0x66 JUMPI POP DUP1 JUMPDEST ISZERO PUSH3 0x85 JUMPI PUSH3 0x83 DUP4 DUP4 PUSH3 0x127 PUSH1 0x20 SHL PUSH3 0x260 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH32 0x7E644D79422F17C01E4894B5F4F588D331EBFA28653D42AE832DC59E38C9798F PUSH3 0xB5 PUSH3 0x156 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH3 0xE2 DUP2 PUSH3 0x18F JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0xF0 DUP2 PUSH3 0x244 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x14F DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xE71 PUSH1 0x27 SWAP2 CODECOPY PUSH3 0x2F8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x180 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE51 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 SHL PUSH3 0x377 PUSH1 0x20 SHL PUSH3 0x208 OR PUSH1 0x20 SHR JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x1FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E65772061646D696E20697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH3 0x223 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE51 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 SHL PUSH3 0x377 PUSH1 0x20 SHL PUSH3 0x208 OR PUSH1 0x20 SHR JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH3 0x25A DUP2 PUSH3 0x37A PUSH1 0x20 SHL PUSH3 0x28C OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x2BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E657720696D706C656D656E746174696F6E206973206E PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1BDD08184818DBDB9D1C9858DD PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x1F1 JUMP JUMPDEST DUP1 PUSH3 0x223 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL PUSH3 0x377 PUSH1 0x20 SHL PUSH3 0x208 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH3 0x317 SWAP2 SWAP1 PUSH3 0x57D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH3 0x354 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 PUSH3 0x359 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH3 0x36D DUP7 DUP4 DUP4 DUP8 PUSH3 0x389 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH3 0x3FA JUMPI DUP3 MLOAD PUSH3 0x3F2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH3 0x3F2 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x1F1 JUMP JUMPDEST POP DUP2 PUSH3 0x406 JUMP JUMPDEST PUSH3 0x406 DUP4 DUP4 PUSH3 0x40E JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH3 0x41F JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1F1 SWAP2 SWAP1 PUSH3 0x59B JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x48B JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x471 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x83 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x4BE DUP5 PUSH3 0x43B JUMP JUMPDEST SWAP3 POP PUSH3 0x4CE PUSH1 0x20 DUP6 ADD PUSH3 0x43B JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x4EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x516 JUMPI PUSH3 0x516 PUSH3 0x458 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x541 JUMPI PUSH3 0x541 PUSH3 0x458 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x56E DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH3 0x46E JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH3 0x591 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH3 0x46E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x5BC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH3 0x46E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x871 DUP1 PUSH3 0x5E0 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x8F283970 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0xE9 JUMPI PUSH2 0x5D JUMP JUMPDEST CALLDATASIZE PUSH2 0x5D JUMPI PUSH2 0x5B PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5B PUSH2 0xFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST PUSH2 0x5B PUSH2 0x93 CALLDATASIZE PUSH1 0x4 PUSH2 0x716 JUMP JUMPDEST PUSH2 0x15F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x20B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x235 JUMP JUMPDEST PUSH2 0x106 PUSH2 0x29B JUMP JUMPDEST PUSH2 0x116 PUSH2 0x111 PUSH2 0x33A JUMP JUMPDEST PUSH2 0x344 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x157 JUMPI PUSH2 0x154 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x39B JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x154 PUSH2 0xFE JUMP JUMPDEST PUSH2 0x167 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1C8 JUMPI PUSH2 0x1C3 DUP4 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH1 0x1 SWAP3 POP PUSH2 0x39B SWAP2 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0xFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DA PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x200 JUMPI PUSH2 0x1FB PUSH2 0x33A JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x208 PUSH2 0xFE JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x213 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x157 JUMPI PUSH2 0x154 DUP2 PUSH2 0x3C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23F PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x200 JUMPI PUSH2 0x1FB PUSH2 0x368 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x285 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x815 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x41A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x2A3 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E73706172656E745570677261646561626C6550726F78793A2061646D PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x696E2063616E6E6F742066616C6C6261636B20746F2070726F78792074617267 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1FB PUSH2 0x492 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x363 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A4 DUP4 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH2 0x3B1 JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x1C3 JUMPI PUSH2 0x3C0 DUP4 DUP4 PUSH2 0x260 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x7E644D79422F17C01E4894B5F4F588D331EBFA28653D42AE832DC59E38C9798F PUSH2 0x3EF PUSH2 0x368 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x154 DUP2 PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x437 SWAP2 SWAP1 PUSH2 0x7C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x472 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 0x477 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x488 DUP7 DUP4 DUP4 DUP8 PUSH2 0x5A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH2 0x38C JUMP JUMPDEST PUSH2 0x4C3 DUP2 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x55F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E65772061646D696E20697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x331 JUMP JUMPDEST DUP1 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x60F JUMPI DUP3 MLOAD PUSH2 0x608 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x608 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x331 JUMP JUMPDEST POP DUP2 PUSH2 0x619 JUMP JUMPDEST PUSH2 0x619 DUP4 DUP4 PUSH2 0x6B5 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND EXTCODESIZE PUSH2 0x68E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E657720696D706C656D656E746174696F6E206973206E PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1BDD08184818DBDB9D1C9858DD PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x331 JUMP JUMPDEST DUP1 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH2 0x582 JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x6C5 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x331 SWAP2 SWAP1 PUSH2 0x7E1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x6F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x285 DUP3 PUSH2 0x6DF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x72B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x734 DUP5 PUSH2 0x6DF JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x751 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x765 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x7B4 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x79C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3C0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x7D7 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x799 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x800 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x70667358221220375058 DELEGATECALL SSTORE 0x5E PUSH4 0x37AB6EB3 0xD9 0xB5 LT 0xD 0xCE SWAP7 0xE4 0xE3 MUL 0xAE 0xC0 SLT OR 0x21 PUSH2 0xB515 BLOCKHASH LOG1 PUSH7 0x1564736F6C6343 STOP ADDMOD MULMOD STOP CALLER 0xB5 BALANCE 0x27 PUSH9 0x4A568B3173AE13B9F8 0xA6 ADD PUSH15 0x243E63B6E8EE1178D6A717850B5D61 SUB COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C65640000 ","sourceMap":"1649:3469:78:-:0;;;1923:167;;;;;;;;;;;;;;;;;;:::i;:::-;2038:6;2046:5;1024:39:71;2038:6:78;2046:5;1057::71;1024:17;:39::i;:::-;-1:-1:-1;2063:20:78::1;::::0;-1:-1:-1;2076:6:78;2063:12:::1;:20::i;:::-;1923:167:::0;;;1649:3469;;2183:295:72;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;;;;;:53;;:::i;:::-;;2360:112;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1879:15:181;;;1861:34;;1931:15;;;1926:2;1911:18;;1904:43;1796:18;4688:35:72;;;;;;;4733:19;4743:8;4733:9;:19::i;:::-;4624:135;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:72;;;;;;;;1897:152;:::o;6469:198:134:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;4108:122:72:-;4152:7;4178:39;-1:-1:-1;;;;;;;;;;;4205:11:72;;4178:26;;;;;:39;;:::i;:::-;:45;-1:-1:-1;;;;;4178:45:72;;4108:122;-1:-1:-1;4108:122:72:o;4312:201::-;-1:-1:-1;;;;;4375:22:72;;4367:73;;;;-1:-1:-1;;;4367:73:72;;2160:2:181;4367:73:72;;;2142:21:181;2199:2;2179:18;;;2172:30;2238:34;2218:18;;;2211:62;-1:-1:-1;;;2289:18:181;;;2282:36;2335:19;;4367:73:72;;;;;;;;;4498:8;4450:39;-1:-1:-1;;;;;;;;;;;4477:11:72;;4450:26;;;;;:39;;:::i;:::-;:56;;-1:-1:-1;;;;;;4450:56:72;-1:-1:-1;;;;;4450:56:72;;;;;;;;;;-1:-1:-1;4312:201:72:o;1532:259::-;1613:37;1632:17;1613:18;;;;;:37;;:::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:72;;2567:2:181;1605:95:72;;;2549:21:181;2606:2;2586:18;;;2579:30;2645:34;2625:18;;;2618:62;-1:-1:-1;;;2696:18:181;;;2689:43;2749:19;;1605:95:72;2365:409:181;1605:95:72;1767:17;1710:48;1030:66;1737:20;;1710:26;;;;;:48;;:::i;6853:325:134:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:134;;-1:-1:-1;7018:67:134;-1:-1:-1;7102:69:134;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;1614:190:142:-;1784:4;1614:190::o;1175:320:134:-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;3260:2:181;7908:60:134;;;3242:21:181;3299:2;3279:18;;;3272:30;3338:31;3318:18;;;3311:59;3387:18;;7908:60:134;3058:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:177:181:-;93:13;;-1:-1:-1;;;;;135:31:181;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:258;400:1;410:113;424:6;421:1;418:13;410:113;;;500:11;;;494:18;481:11;;;474:39;446:2;439:10;410:113;;;541:6;538:1;535:13;532:48;;;-1:-1:-1;;576:1:181;558:16;;551:27;328:258::o;591:1053::-;688:6;696;704;757:2;745:9;736:7;732:23;728:32;725:52;;;773:1;770;763:12;725:52;796:40;826:9;796:40;:::i;:::-;786:50;;855:49;900:2;889:9;885:18;855:49;:::i;:::-;948:2;933:18;;927:25;845:59;;-1:-1:-1;;;;;;1001:14:181;;;998:34;;;1028:1;1025;1018:12;998:34;1066:6;1055:9;1051:22;1041:32;;1111:7;1104:4;1100:2;1096:13;1092:27;1082:55;;1133:1;1130;1123:12;1082:55;1162:2;1156:9;1184:2;1180;1177:10;1174:36;;;1190:18;;:::i;:::-;1265:2;1259:9;1233:2;1319:13;;-1:-1:-1;;1315:22:181;;;1339:2;1311:31;1307:40;1295:53;;;1363:18;;;1383:22;;;1360:46;1357:72;;;1409:18;;:::i;:::-;1449:10;1445:2;1438:22;1484:2;1476:6;1469:18;1524:7;1519:2;1514;1510;1506:11;1502:20;1499:33;1496:53;;;1545:1;1542;1535:12;1496:53;1558:55;1610:2;1605;1597:6;1593:15;1588:2;1584;1580:11;1558:55;:::i;:::-;1632:6;1622:16;;;;;;;591:1053;;;;;:::o;2779:274::-;2908:3;2946:6;2940:13;2962:53;3008:6;3003:3;2996:4;2988:6;2984:17;2962:53;:::i;:::-;3031:16;;;;;2779:274;-1:-1:-1;;2779:274:181:o;3416:383::-;3565:2;3554:9;3547:21;3528:4;3597:6;3591:13;3640:6;3635:2;3624:9;3620:18;3613:34;3656:66;3715:6;3710:2;3699:9;3695:18;3690:2;3682:6;3678:15;3656:66;:::i;:::-;3783:2;3762:15;-1:-1:-1;;3758:29:181;3743:45;;;;3790:2;3739:54;;3416:383;-1:-1:-1;;3416:383:181:o;:::-;1649:3469:78;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_9800":{"entryPoint":null,"id":9800,"parameterSlots":0,"returnSlots":0},"@_9808":{"entryPoint":null,"id":9808,"parameterSlots":0,"returnSlots":0},"@_beforeFallback_10248":{"entryPoint":667,"id":10248,"parameterSlots":0,"returnSlots":0},"@_beforeFallback_9813":{"entryPoint":null,"id":9813,"parameterSlots":0,"returnSlots":0},"@_changeAdmin_9665":{"entryPoint":966,"id":9665,"parameterSlots":1,"returnSlots":0},"@_delegate_9773":{"entryPoint":836,"id":9773,"parameterSlots":1,"returnSlots":0},"@_fallback_9792":{"entryPoint":254,"id":9792,"parameterSlots":0,"returnSlots":0},"@_getAdmin_9622":{"entryPoint":872,"id":9622,"parameterSlots":0,"returnSlots":1},"@_getImplementation_9476":{"entryPoint":1170,"id":9476,"parameterSlots":0,"returnSlots":1},"@_implementation_9443":{"entryPoint":826,"id":9443,"parameterSlots":0,"returnSlots":1},"@_revert_20687":{"entryPoint":1717,"id":20687,"parameterSlots":2,"returnSlots":0},"@_setAdmin_9648":{"entryPoint":1274,"id":9648,"parameterSlots":1,"returnSlots":0},"@_setImplementation_9500":{"entryPoint":1569,"id":9500,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCall_9545":{"entryPoint":923,"id":9545,"parameterSlots":3,"returnSlots":0},"@_upgradeTo_9515":{"entryPoint":1210,"id":9515,"parameterSlots":1,"returnSlots":0},"@admin_10156":{"entryPoint":565,"id":10156,"parameterSlots":0,"returnSlots":1},"@changeAdmin_10183":{"entryPoint":523,"id":10183,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_20575":{"entryPoint":608,"id":20575,"parameterSlots":2,"returnSlots":1},"@functionDelegateCall_20604":{"entryPoint":1050,"id":20604,"parameterSlots":3,"returnSlots":1},"@getAddressSlot_22517":{"entryPoint":null,"id":22517,"parameterSlots":1,"returnSlots":1},"@implementation_10170":{"entryPoint":464,"id":10170,"parameterSlots":0,"returnSlots":1},"@isContract_20376":{"entryPoint":652,"id":20376,"parameterSlots":1,"returnSlots":1},"@upgradeToAndCall_10218":{"entryPoint":351,"id":10218,"parameterSlots":3,"returnSlots":0},"@upgradeTo_10201":{"entryPoint":280,"id":10201,"parameterSlots":1,"returnSlots":0},"@verifyCallResultFromTarget_20643":{"entryPoint":1443,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_address":{"entryPoint":1759,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1787,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_calldata_ptr":{"entryPoint":1814,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1989,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2017,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":1945,"id":null,"parameterSlots":3,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4151:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:181","statements":[{"nodeType":"YulAssignment","src":"73:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:181"},"nodeType":"YulFunctionCall","src":"82:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:181"}]},{"body":{"nodeType":"YulBlock","src":"165:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:181"},"nodeType":"YulFunctionCall","src":"167:12:181"},"nodeType":"YulExpressionStatement","src":"167:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:181"},"nodeType":"YulFunctionCall","src":"142:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:181"},"nodeType":"YulFunctionCall","src":"131:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:181"},"nodeType":"YulFunctionCall","src":"121:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:181"},"nodeType":"YulFunctionCall","src":"114:50:181"},"nodeType":"YulIf","src":"111:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:181","type":""}],"src":"14:173:181"},{"body":{"nodeType":"YulBlock","src":"262:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"308:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:181"},"nodeType":"YulFunctionCall","src":"310:12:181"},"nodeType":"YulExpressionStatement","src":"310:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"283:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"292:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"279:3:181"},"nodeType":"YulFunctionCall","src":"279:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"304:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"275:3:181"},"nodeType":"YulFunctionCall","src":"275:32:181"},"nodeType":"YulIf","src":"272:52:181"},{"nodeType":"YulAssignment","src":"333:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"362:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"343:18:181"},"nodeType":"YulFunctionCall","src":"343:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"333:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"228:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"239:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"251:6:181","type":""}],"src":"192:186:181"},{"body":{"nodeType":"YulBlock","src":"489:559:181","statements":[{"body":{"nodeType":"YulBlock","src":"535:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"544:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"547:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"537:6:181"},"nodeType":"YulFunctionCall","src":"537:12:181"},"nodeType":"YulExpressionStatement","src":"537:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"510:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"519:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"506:3:181"},"nodeType":"YulFunctionCall","src":"506:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"531:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"502:3:181"},"nodeType":"YulFunctionCall","src":"502:32:181"},"nodeType":"YulIf","src":"499:52:181"},{"nodeType":"YulAssignment","src":"560:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"589:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"570:18:181"},"nodeType":"YulFunctionCall","src":"570:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"560:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"608:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"639:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"650:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"635:3:181"},"nodeType":"YulFunctionCall","src":"635:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"622:12:181"},"nodeType":"YulFunctionCall","src":"622:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"612:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"663:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"673:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"667:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"718:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"727:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"730:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"720:6:181"},"nodeType":"YulFunctionCall","src":"720:12:181"},"nodeType":"YulExpressionStatement","src":"720:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"706:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"714:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"703:2:181"},"nodeType":"YulFunctionCall","src":"703:14:181"},"nodeType":"YulIf","src":"700:34:181"},{"nodeType":"YulVariableDeclaration","src":"743:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"757:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"768:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"753:3:181"},"nodeType":"YulFunctionCall","src":"753:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"747:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"823:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"832:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"835:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"825:6:181"},"nodeType":"YulFunctionCall","src":"825:12:181"},"nodeType":"YulExpressionStatement","src":"825:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"802:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"806:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"798:3:181"},"nodeType":"YulFunctionCall","src":"798:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"813:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"794:3:181"},"nodeType":"YulFunctionCall","src":"794:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"787:6:181"},"nodeType":"YulFunctionCall","src":"787:35:181"},"nodeType":"YulIf","src":"784:55:181"},{"nodeType":"YulVariableDeclaration","src":"848:30:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"875:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"862:12:181"},"nodeType":"YulFunctionCall","src":"862:16:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"852:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"905:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"914:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"917:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"907:6:181"},"nodeType":"YulFunctionCall","src":"907:12:181"},"nodeType":"YulExpressionStatement","src":"907:12:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"893:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"901:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"890:2:181"},"nodeType":"YulFunctionCall","src":"890:14:181"},"nodeType":"YulIf","src":"887:34:181"},{"body":{"nodeType":"YulBlock","src":"971:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"980:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"983:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"973:6:181"},"nodeType":"YulFunctionCall","src":"973:12:181"},"nodeType":"YulExpressionStatement","src":"973:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"944:2:181"},{"name":"length","nodeType":"YulIdentifier","src":"948:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"940:3:181"},"nodeType":"YulFunctionCall","src":"940:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"957:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"936:3:181"},"nodeType":"YulFunctionCall","src":"936:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"962:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"933:2:181"},"nodeType":"YulFunctionCall","src":"933:37:181"},"nodeType":"YulIf","src":"930:57:181"},{"nodeType":"YulAssignment","src":"996:21:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1010:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1014:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1006:3:181"},"nodeType":"YulFunctionCall","src":"1006:11:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"996:6:181"}]},{"nodeType":"YulAssignment","src":"1026:16:181","value":{"name":"length","nodeType":"YulIdentifier","src":"1036:6:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1026:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"439:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"450:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"462:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"470:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"478:6:181","type":""}],"src":"383:665:181"},{"body":{"nodeType":"YulBlock","src":"1154:102:181","statements":[{"nodeType":"YulAssignment","src":"1164:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1187:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1172:3:181"},"nodeType":"YulFunctionCall","src":"1172:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1164:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1206:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1221:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1237:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1242:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1233:3:181"},"nodeType":"YulFunctionCall","src":"1233:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1246:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1229:3:181"},"nodeType":"YulFunctionCall","src":"1229:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1217:3:181"},"nodeType":"YulFunctionCall","src":"1217:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1199:6:181"},"nodeType":"YulFunctionCall","src":"1199:51:181"},"nodeType":"YulExpressionStatement","src":"1199:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1123:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1134:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1145:4:181","type":""}],"src":"1053:203:181"},{"body":{"nodeType":"YulBlock","src":"1435:296:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1452:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1463:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1445:6:181"},"nodeType":"YulFunctionCall","src":"1445:21:181"},"nodeType":"YulExpressionStatement","src":"1445:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1486:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1497:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1482:3:181"},"nodeType":"YulFunctionCall","src":"1482:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1502:2:181","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1475:6:181"},"nodeType":"YulFunctionCall","src":"1475:30:181"},"nodeType":"YulExpressionStatement","src":"1475:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1536:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1521:3:181"},"nodeType":"YulFunctionCall","src":"1521:18:181"},{"hexValue":"5472616e73706172656e745570677261646561626c6550726f78793a2061646d","kind":"string","nodeType":"YulLiteral","src":"1541:34:181","type":"","value":"TransparentUpgradeableProxy: adm"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1514:6:181"},"nodeType":"YulFunctionCall","src":"1514:62:181"},"nodeType":"YulExpressionStatement","src":"1514:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1596:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1607:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1592:3:181"},"nodeType":"YulFunctionCall","src":"1592:18:181"},{"hexValue":"696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267","kind":"string","nodeType":"YulLiteral","src":"1612:34:181","type":"","value":"in cannot fallback to proxy targ"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1585:6:181"},"nodeType":"YulFunctionCall","src":"1585:62:181"},"nodeType":"YulExpressionStatement","src":"1585:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1678:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:181"},"nodeType":"YulFunctionCall","src":"1663:19:181"},{"hexValue":"6574","kind":"string","nodeType":"YulLiteral","src":"1684:4:181","type":"","value":"et"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1656:6:181"},"nodeType":"YulFunctionCall","src":"1656:33:181"},"nodeType":"YulExpressionStatement","src":"1656:33:181"},{"nodeType":"YulAssignment","src":"1698:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1710:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1721:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1706:3:181"},"nodeType":"YulFunctionCall","src":"1706:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1698:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1412:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1426:4:181","type":""}],"src":"1261:470:181"},{"body":{"nodeType":"YulBlock","src":"1865:175:181","statements":[{"nodeType":"YulAssignment","src":"1875:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1887:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1898:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1883:3:181"},"nodeType":"YulFunctionCall","src":"1883:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1875:4:181"}]},{"nodeType":"YulVariableDeclaration","src":"1910:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1928:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1933:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1924:3:181"},"nodeType":"YulFunctionCall","src":"1924:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1937:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1920:3:181"},"nodeType":"YulFunctionCall","src":"1920:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1914:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1955:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1970:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1978:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1966:3:181"},"nodeType":"YulFunctionCall","src":"1966:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1948:6:181"},"nodeType":"YulFunctionCall","src":"1948:34:181"},"nodeType":"YulExpressionStatement","src":"1948:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2002:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2013:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1998:3:181"},"nodeType":"YulFunctionCall","src":"1998:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"2022:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2030:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2018:3:181"},"nodeType":"YulFunctionCall","src":"2018:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1991:6:181"},"nodeType":"YulFunctionCall","src":"1991:43:181"},"nodeType":"YulExpressionStatement","src":"1991:43:181"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1826:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1837:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1845:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1856:4:181","type":""}],"src":"1736:304:181"},{"body":{"nodeType":"YulBlock","src":"2098:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2108:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2117:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2112:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2177:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2202:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"2207:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2198:3:181"},"nodeType":"YulFunctionCall","src":"2198:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2221:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"2226:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2217:3:181"},"nodeType":"YulFunctionCall","src":"2217:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2211:5:181"},"nodeType":"YulFunctionCall","src":"2211:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2191:6:181"},"nodeType":"YulFunctionCall","src":"2191:39:181"},"nodeType":"YulExpressionStatement","src":"2191:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2138:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"2141:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2135:2:181"},"nodeType":"YulFunctionCall","src":"2135:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2149:19:181","statements":[{"nodeType":"YulAssignment","src":"2151:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2160:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"2163:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2156:3:181"},"nodeType":"YulFunctionCall","src":"2156:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2151:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"2131:3:181","statements":[]},"src":"2127:113:181"},{"body":{"nodeType":"YulBlock","src":"2266:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2279:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2284:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2275:3:181"},"nodeType":"YulFunctionCall","src":"2275:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"2293:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2268:6:181"},"nodeType":"YulFunctionCall","src":"2268:27:181"},"nodeType":"YulExpressionStatement","src":"2268:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2255:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"2258:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2252:2:181"},"nodeType":"YulFunctionCall","src":"2252:13:181"},"nodeType":"YulIf","src":"2249:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2076:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"2081:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"2086:6:181","type":""}],"src":"2045:258:181"},{"body":{"nodeType":"YulBlock","src":"2445:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2455:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2475:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2469:5:181"},"nodeType":"YulFunctionCall","src":"2469:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2459:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2517:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2525:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2513:3:181"},"nodeType":"YulFunctionCall","src":"2513:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"2532:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2537:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2491:21:181"},"nodeType":"YulFunctionCall","src":"2491:53:181"},"nodeType":"YulExpressionStatement","src":"2491:53:181"},{"nodeType":"YulAssignment","src":"2553:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2564:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"2569:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2560:3:181"},"nodeType":"YulFunctionCall","src":"2560:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2553:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2421:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2426:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2437:3:181","type":""}],"src":"2308:274:181"},{"body":{"nodeType":"YulBlock","src":"2761:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2778:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2789:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2771:6:181"},"nodeType":"YulFunctionCall","src":"2771:21:181"},"nodeType":"YulExpressionStatement","src":"2771:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2812:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2823:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2808:3:181"},"nodeType":"YulFunctionCall","src":"2808:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2828:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2801:6:181"},"nodeType":"YulFunctionCall","src":"2801:30:181"},"nodeType":"YulExpressionStatement","src":"2801:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2851:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2862:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2847:3:181"},"nodeType":"YulFunctionCall","src":"2847:18:181"},{"hexValue":"455243313936373a206e65772061646d696e20697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"2867:34:181","type":"","value":"ERC1967: new admin is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2840:6:181"},"nodeType":"YulFunctionCall","src":"2840:62:181"},"nodeType":"YulExpressionStatement","src":"2840:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2922:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2933:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2918:3:181"},"nodeType":"YulFunctionCall","src":"2918:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"2938:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2911:6:181"},"nodeType":"YulFunctionCall","src":"2911:36:181"},"nodeType":"YulExpressionStatement","src":"2911:36:181"},{"nodeType":"YulAssignment","src":"2956:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2968:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2979:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2964:3:181"},"nodeType":"YulFunctionCall","src":"2964:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2956:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2738:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2752:4:181","type":""}],"src":"2587:402:181"},{"body":{"nodeType":"YulBlock","src":"3168:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3185:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3196:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3178:6:181"},"nodeType":"YulFunctionCall","src":"3178:21:181"},"nodeType":"YulExpressionStatement","src":"3178:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3219:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3230:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3215:3:181"},"nodeType":"YulFunctionCall","src":"3215:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3235:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3208:6:181"},"nodeType":"YulFunctionCall","src":"3208:30:181"},"nodeType":"YulExpressionStatement","src":"3208:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3258:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3269:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3254:3:181"},"nodeType":"YulFunctionCall","src":"3254:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"3274:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3247:6:181"},"nodeType":"YulFunctionCall","src":"3247:59:181"},"nodeType":"YulExpressionStatement","src":"3247:59:181"},{"nodeType":"YulAssignment","src":"3315:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3327:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3338:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3323:3:181"},"nodeType":"YulFunctionCall","src":"3323:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3315:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3145:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3159:4:181","type":""}],"src":"2994:353:181"},{"body":{"nodeType":"YulBlock","src":"3526:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3543:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3554:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3536:6:181"},"nodeType":"YulFunctionCall","src":"3536:21:181"},"nodeType":"YulExpressionStatement","src":"3536:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3577:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3588:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3573:3:181"},"nodeType":"YulFunctionCall","src":"3573:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3593:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3566:6:181"},"nodeType":"YulFunctionCall","src":"3566:30:181"},"nodeType":"YulExpressionStatement","src":"3566:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3616:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3627:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3612:3:181"},"nodeType":"YulFunctionCall","src":"3612:18:181"},{"hexValue":"455243313936373a206e657720696d706c656d656e746174696f6e206973206e","kind":"string","nodeType":"YulLiteral","src":"3632:34:181","type":"","value":"ERC1967: new implementation is n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3605:6:181"},"nodeType":"YulFunctionCall","src":"3605:62:181"},"nodeType":"YulExpressionStatement","src":"3605:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3687:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3698:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3683:3:181"},"nodeType":"YulFunctionCall","src":"3683:18:181"},{"hexValue":"6f74206120636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"3703:15:181","type":"","value":"ot a contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3676:6:181"},"nodeType":"YulFunctionCall","src":"3676:43:181"},"nodeType":"YulExpressionStatement","src":"3676:43:181"},{"nodeType":"YulAssignment","src":"3728:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3740:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3751:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3736:3:181"},"nodeType":"YulFunctionCall","src":"3736:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3728:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3503:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3517:4:181","type":""}],"src":"3352:409:181"},{"body":{"nodeType":"YulBlock","src":"3887:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3904:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3915:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3897:6:181"},"nodeType":"YulFunctionCall","src":"3897:21:181"},"nodeType":"YulExpressionStatement","src":"3897:21:181"},{"nodeType":"YulVariableDeclaration","src":"3927:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3947:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3941:5:181"},"nodeType":"YulFunctionCall","src":"3941:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3931:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3974:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3985:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3970:3:181"},"nodeType":"YulFunctionCall","src":"3970:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"3990:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3963:6:181"},"nodeType":"YulFunctionCall","src":"3963:34:181"},"nodeType":"YulExpressionStatement","src":"3963:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4032:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4040:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4028:3:181"},"nodeType":"YulFunctionCall","src":"4028:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4049:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4060:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4045:3:181"},"nodeType":"YulFunctionCall","src":"4045:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"4065:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4006:21:181"},"nodeType":"YulFunctionCall","src":"4006:66:181"},"nodeType":"YulExpressionStatement","src":"4006:66:181"},{"nodeType":"YulAssignment","src":"4081:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4097:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4116:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4124:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4112:3:181"},"nodeType":"YulFunctionCall","src":"4112:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4133:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4129:3:181"},"nodeType":"YulFunctionCall","src":"4129:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4108:3:181"},"nodeType":"YulFunctionCall","src":"4108:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4093:3:181"},"nodeType":"YulFunctionCall","src":"4093:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"4140:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4089:3:181"},"nodeType":"YulFunctionCall","src":"4089:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4081:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3856:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3867:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3878:4:181","type":""}],"src":"3766:383:181"}]},"contents":"{\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 abi_decode_tuple_t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value1 := add(_2, 32)\n value2 := length\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_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 66)\n mstore(add(headStart, 64), \"TransparentUpgradeableProxy: adm\")\n mstore(add(headStart, 96), \"in cannot fallback to proxy targ\")\n mstore(add(headStart, 128), \"et\")\n tail := add(headStart, 160)\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106fb565b610118565b61005b610093366004610716565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106fb565b61020b565b3480156100f557600080fd5b506100ad610235565b61010661029b565b61011661011161033a565b610344565b565b610120610368565b6001600160a01b0316336001600160a01b03161415610157576101548160405180602001604052806000815250600061039b565b50565b6101546100fe565b610167610368565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061039b915050565b505050565b6101c36100fe565b60006101da610368565b6001600160a01b0316336001600160a01b03161415610200576101fb61033a565b905090565b6102086100fe565b90565b610213610368565b6001600160a01b0316336001600160a01b0316141561015757610154816103c6565b600061023f610368565b6001600160a01b0316336001600160a01b03161415610200576101fb610368565b606061028583836040518060600160405280602781526020016108156027913961041a565b9392505050565b6001600160a01b03163b151590565b6102a3610368565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610492565b3660008037600080366000845af43d6000803e808015610363573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103a4836104ba565b6000825111806103b15750805b156101c3576103c08383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103ef610368565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816104fa565b6060600080856001600160a01b03168560405161043791906107c5565b600060405180830381855af49150503d8060008114610472576040519150601f19603f3d011682016040523d82523d6000602084013e610477565b606091505b5091509150610488868383876105a3565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61038c565b6104c381610621565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661055f5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561060f578251610608576001600160a01b0385163b6106085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610331565b5081610619565b61061983836106b5565b949350505050565b6001600160a01b0381163b61068e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610331565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610582565b8151156106c55781518083602001fd5b8060405162461bcd60e51b815260040161033191906107e1565b80356001600160a01b03811681146106f657600080fd5b919050565b60006020828403121561070d57600080fd5b610285826106df565b60008060006040848603121561072b57600080fd5b610734846106df565b9250602084013567ffffffffffffffff8082111561075157600080fd5b818601915086601f83011261076557600080fd5b81358181111561077457600080fd5b87602082850101111561078657600080fd5b6020830194508093505050509250925092565b60005b838110156107b457818101518382015260200161079c565b838111156103c05750506000910152565b600082516107d7818460208701610799565b9190910192915050565b6020815260008251806020840152610800816040850160208701610799565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220375058f4555e6337ab6eb3d9b5100dce96e4e302aec012172161b51540a1661564736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x8F283970 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0xE9 JUMPI PUSH2 0x5D JUMP JUMPDEST CALLDATASIZE PUSH2 0x5D JUMPI PUSH2 0x5B PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5B PUSH2 0xFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST PUSH2 0x5B PUSH2 0x93 CALLDATASIZE PUSH1 0x4 PUSH2 0x716 JUMP JUMPDEST PUSH2 0x15F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x6FB JUMP JUMPDEST PUSH2 0x20B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x235 JUMP JUMPDEST PUSH2 0x106 PUSH2 0x29B JUMP JUMPDEST PUSH2 0x116 PUSH2 0x111 PUSH2 0x33A JUMP JUMPDEST PUSH2 0x344 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x157 JUMPI PUSH2 0x154 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x39B JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x154 PUSH2 0xFE JUMP JUMPDEST PUSH2 0x167 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1C8 JUMPI PUSH2 0x1C3 DUP4 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH1 0x1 SWAP3 POP PUSH2 0x39B SWAP2 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0xFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DA PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x200 JUMPI PUSH2 0x1FB PUSH2 0x33A JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x208 PUSH2 0xFE JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x213 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x157 JUMPI PUSH2 0x154 DUP2 PUSH2 0x3C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23F PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x200 JUMPI PUSH2 0x1FB PUSH2 0x368 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x285 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x815 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x41A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x2A3 PUSH2 0x368 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E73706172656E745570677261646561626C6550726F78793A2061646D PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x696E2063616E6E6F742066616C6C6261636B20746F2070726F78792074617267 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1FB PUSH2 0x492 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x363 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A4 DUP4 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH2 0x3B1 JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x1C3 JUMPI PUSH2 0x3C0 DUP4 DUP4 PUSH2 0x260 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x7E644D79422F17C01E4894B5F4F588D331EBFA28653D42AE832DC59E38C9798F PUSH2 0x3EF PUSH2 0x368 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x154 DUP2 PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x437 SWAP2 SWAP1 PUSH2 0x7C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x472 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 0x477 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x488 DUP7 DUP4 DUP4 DUP8 PUSH2 0x5A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH2 0x38C JUMP JUMPDEST PUSH2 0x4C3 DUP2 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x55F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E65772061646D696E20697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x331 JUMP JUMPDEST DUP1 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x60F JUMPI DUP3 MLOAD PUSH2 0x608 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x608 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x331 JUMP JUMPDEST POP DUP2 PUSH2 0x619 JUMP JUMPDEST PUSH2 0x619 DUP4 DUP4 PUSH2 0x6B5 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND EXTCODESIZE PUSH2 0x68E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373A206E657720696D706C656D656E746174696F6E206973206E PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1BDD08184818DBDB9D1C9858DD PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x331 JUMP JUMPDEST DUP1 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH2 0x582 JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x6C5 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x331 SWAP2 SWAP1 PUSH2 0x7E1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x6F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x285 DUP3 PUSH2 0x6DF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x72B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x734 DUP5 PUSH2 0x6DF JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x751 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x765 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x7B4 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x79C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3C0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x7D7 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x799 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x800 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x70667358221220375058 DELEGATECALL SSTORE 0x5E PUSH4 0x37AB6EB3 0xD9 0xB5 LT 0xD 0xCE SWAP7 0xE4 0xE3 MUL 0xAE 0xC0 SLT OR 0x21 PUSH2 0xB515 BLOCKHASH LOG1 PUSH7 0x1564736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1649:3469:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2898:11:73;:9;:11::i;:::-;1649:3469:78;;2675:11:73;:9;:11::i;3960:134:78:-;;;;;;;;;;-1:-1:-1;3960:134:78;;;;;:::i;:::-;;:::i;4470:164::-;;;;;;:::i;:::-;;:::i;3363:129::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1217:32:181;;;1199:51;;1187:2;1172:18;3363:129:78;;;;;;;3697:103;;;;;;;;;;-1:-1:-1;3697:103:78;;;;;:::i;:::-;;:::i;2807:96::-;;;;;;;;;;;;;:::i;2322:110:73:-;2370:17;:15;:17::i;:::-;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;3960:134:78:-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:78;:10;-1:-1:-1;;;;;2264:25:78;;2260:99;;;4033:54:::1;4051:17;4070:9;;;;;;;;;;;::::0;4081:5:::1;4033:17;:54::i;:::-;3960:134:::0;:::o;2260:99::-;2337:11;:9;:11::i;4470:164::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:78;:10;-1:-1:-1;;;;;2264:25:78;;2260:99;;;4579:48:::1;4597:17;4616:4;;4579:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4622:4:78::1;::::0;-1:-1:-1;4579:17:78::1;::::0;-1:-1:-1;;4579:48:78:i:1;:::-;4470:164:::0;;;:::o;2260:99::-;2337:11;:9;:11::i;3363:129::-;3415:23;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:78;:10;-1:-1:-1;;;;;2264:25:78;;2260:99;;;3468:17:::1;:15;:17::i;:::-;3450:35;;3363:129:::0;:::o;2260:99::-;2337:11;:9;:11::i;:::-;3363:129;:::o;3697:103::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:78;:10;-1:-1:-1;;;;;2264:25:78;;2260:99;;;3771:22:::1;3784:8;3771:12;:22::i;2807:96::-:0;2850:14;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:78;:10;-1:-1:-1;;;;;2264:25:78;;2260:99;;;2885:11:::1;:9;:11::i;6469:198:134:-:0;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:134:o;1175:320::-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;4909:207:78:-;4994:11;:9;:11::i;:::-;-1:-1:-1;;;;;4980:25:78;:10;-1:-1:-1;;;;;4980:25:78;;;4972:104;;;;-1:-1:-1;;;4972:104:78;;1463:2:181;4972:104:78;;;1445:21:181;1502:2;1482:18;;;1475:30;1541:34;1521:18;;;1514:62;1612:34;1592:18;;;1585:62;-1:-1:-1;;;1663:19:181;;;1656:33;1706:19;;4972:104:78;;;;;;;;1148:140:71;1215:12;1246:35;:33;:35::i;948:895:73:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;4108:122:72;4152:7;3842:66;4178:39;:45;-1:-1:-1;;;;;4178:45:72;;4108:122;-1:-1:-1;4108:122:72:o;2183:295::-;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;:53::i;:::-;;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1966:15:181;;;1948:34;;2018:15;;;2013:2;1998:18;;1991:43;1883:18;4688:35:72;;;;;;;4733:19;4743:8;4733:9;:19::i;6853:325:134:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:134;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:134:o;1301:140:72:-;1354:7;1030:66;1380:48;1614:190:142;1897:152:72;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:72;;;;;;;;1897:152;:::o;4312:201::-;-1:-1:-1;;;;;4375:22:72;;4367:73;;;;-1:-1:-1;;;4367:73:72;;2789:2:181;4367:73:72;;;2771:21:181;2828:2;2808:18;;;2801:30;2867:34;2847:18;;;2840:62;-1:-1:-1;;;2918:18:181;;;2911:36;2964:19;;4367:73:72;2587:402:181;4367:73:72;4498:8;3842:66;4450:39;:56;;-1:-1:-1;;;;;;4450:56:72;-1:-1:-1;;;;;4450:56:72;;;;;;;;;;-1:-1:-1;4312:201:72:o;7466:628:134:-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;3196:2:181;7908:60:134;;;3178:21:181;3235:2;3215:18;;;3208:30;3274:31;3254:18;;;3247:59;3323:18;;7908:60:134;2994:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;1532:259:72:-;-1:-1:-1;;;;;1465:19:134;;;1605:95:72;;;;-1:-1:-1;;;1605:95:72;;3554:2:181;1605:95:72;;;3536:21:181;3593:2;3573:18;;;3566:30;3632:34;3612:18;;;3605:62;-1:-1:-1;;;3683:18:181;;;3676:43;3736:19;;1605:95:72;3352:409:181;1605:95:72;1767:17;1030:66;1710:48;1614:190:142;8616:540:134;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;14:173:181:-;82:20;;-1:-1:-1;;;;;131:31:181;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:665::-;462:6;470;478;531:2;519:9;510:7;506:23;502:32;499:52;;;547:1;544;537:12;499:52;570:29;589:9;570:29;:::i;:::-;560:39;;650:2;639:9;635:18;622:32;673:18;714:2;706:6;703:14;700:34;;;730:1;727;720:12;700:34;768:6;757:9;753:22;743:32;;813:7;806:4;802:2;798:13;794:27;784:55;;835:1;832;825:12;784:55;875:2;862:16;901:2;893:6;890:14;887:34;;;917:1;914;907:12;887:34;962:7;957:2;948:6;944:2;940:15;936:24;933:37;930:57;;;983:1;980;973:12;930:57;1014:2;1010;1006:11;996:21;;1036:6;1026:16;;;;;383:665;;;;;:::o;2045:258::-;2117:1;2127:113;2141:6;2138:1;2135:13;2127:113;;;2217:11;;;2211:18;2198:11;;;2191:39;2163:2;2156:10;2127:113;;;2258:6;2255:1;2252:13;2249:48;;;-1:-1:-1;;2293:1:181;2275:16;;2268:27;2045:258::o;2308:274::-;2437:3;2475:6;2469:13;2491:53;2537:6;2532:3;2525:4;2517:6;2513:17;2491:53;:::i;:::-;2560:16;;;;;2308:274;-1:-1:-1;;2308:274:181:o;3766:383::-;3915:2;3904:9;3897:21;3878:4;3947:6;3941:13;3990:6;3985:2;3974:9;3970:18;3963:34;4006:66;4065:6;4060:2;4049:9;4045:18;4040:2;4032:6;4028:15;4006:66;:::i;:::-;4133:2;4112:15;-1:-1:-1;;4108:29:181;4093:45;;;;4140:2;4089:54;;3766:383;-1:-1:-1;;3766:383:181:o"},"methodIdentifiers":{"admin()":"f851a440","changeAdmin(address)":"8f283970","implementation()":"5c60da1b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \\\"admin cannot fallback to proxy target\\\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\",\"kind\":\"dev\",\"methods\":{\"admin()\":{\"details\":\"Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\"},\"changeAdmin(address)\":{\"details\":\"Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\"},\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"},\"implementation()\":{\"details\":\"Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol":{"Initializable":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor constructor() { _disableInitializers(); } ``` ====\",\"details\":\"This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ``` contract MyToken is ERC20Upgradeable { function initialize() initializer public { __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\"); } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { function initializeV2() reinitializer(2) public { __ERC20Permit_init(\\\"MyToken\\\"); } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_initialized\":{\"custom:oz-retyped-from\":\"bool\",\"details\":\"Indicates that the contract has been initialized.\"},\"_initializing\":{\"details\":\"Indicates that the contract is in the process of being initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xcee5467d5d873fb75dae6f98c01a8d25dd609f9d0374c7d39217bd5f9539a2d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://546651335214a63d1ea3b1d3297228a1df2165f17063b2e45b589ade861ddedc\",\"dweb:/ipfs/QmNwpHiPBRB6dmNz9WLVYvy2kUhYHZgWBMWRcoDuMsuZt9\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol":{"UUPSUpgradeable":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"proxiableUUID()":"52d1902d","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable state-variable-assignment\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x85cc5aca68692044586dc5ca19a9868d3288f6b35d1085c620dd0278ed0abdaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47e5b84668f9b898617da72e91a32559c6975357e267559b3e4ace0d0ca4a6a8\",\"dweb:/ipfs/QmUCVFEpcNdHfNpotEDnMRUeAGPShTcxrtzo3xpNJHZ67e\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/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.9+commit.e5eed63a\"},\"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\":{\"details\":\"Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.\",\"events\":{\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract in unpaused state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/security/Pausable.sol\":\"Pausable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/security/PullPayment.sol":{"PullPayment":{"abi":[{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"name":"payments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"name":"withdrawPayments","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"payments(address)":"e2982c21","withdrawPayments(address)":"31b3eb94"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Simple implementation of a https://consensys.github.io/smart-contract-best-practices/development-recommendations/general/external-calls/#favor-pull-over-push-for-external-calls[pull-payment] strategy, where the paying contract doesn't interact directly with the receiver account, which must withdraw its payments itself. Pull-payments are often considered the best practice when it comes to sending Ether, security-wise. It prevents recipients from blocking execution, and eliminates reentrancy concerns. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. To use, derive from the `PullPayment` contract, and use {_asyncTransfer} instead of Solidity's `transfer` function. Payees can query their due payments with {payments}, and retrieve them with {withdrawPayments}.\",\"kind\":\"dev\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the payments owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/security/PullPayment.sol\":\"PullPayment\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]}},\"version\":1}"}},"contracts/@openzeppelin/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.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010\",\"dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol":{"ERC1155":{"abi":[{"inputs":[{"internalType":"string","name":"uri_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_10804":{"entryPoint":null,"id":10804,"parameterSlots":1,"returnSlots":0},"@_setURI_11315":{"entryPoint":70,"id":11315,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":283,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":503,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":261,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1620:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"237:996:181","statements":[{"nodeType":"YulVariableDeclaration","src":"247:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"257:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"251:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"304:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"313:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"316:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"306:6:181"},"nodeType":"YulFunctionCall","src":"306:12:181"},"nodeType":"YulExpressionStatement","src":"306:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"279:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"288:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"275:3:181"},"nodeType":"YulFunctionCall","src":"275:23:181"},{"name":"_1","nodeType":"YulIdentifier","src":"300:2:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"271:3:181"},"nodeType":"YulFunctionCall","src":"271:32:181"},"nodeType":"YulIf","src":"268:52:181"},{"nodeType":"YulVariableDeclaration","src":"329:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"349:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"343:5:181"},"nodeType":"YulFunctionCall","src":"343:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"333:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"368:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"386:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"390:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"382:3:181"},"nodeType":"YulFunctionCall","src":"382:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"394:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"378:3:181"},"nodeType":"YulFunctionCall","src":"378:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"372:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"423:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"432:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"435:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"425:6:181"},"nodeType":"YulFunctionCall","src":"425:12:181"},"nodeType":"YulExpressionStatement","src":"425:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"411:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"408:2:181"},"nodeType":"YulFunctionCall","src":"408:14:181"},"nodeType":"YulIf","src":"405:34:181"},{"nodeType":"YulVariableDeclaration","src":"448:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"473:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:181"},"nodeType":"YulFunctionCall","src":"458:22:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"452:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"528:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"537:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"540:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"530:6:181"},"nodeType":"YulFunctionCall","src":"530:12:181"},"nodeType":"YulExpressionStatement","src":"530:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"507:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"511:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"503:3:181"},"nodeType":"YulFunctionCall","src":"503:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"518:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"499:3:181"},"nodeType":"YulFunctionCall","src":"499:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"492:6:181"},"nodeType":"YulFunctionCall","src":"492:35:181"},"nodeType":"YulIf","src":"489:55:181"},{"nodeType":"YulVariableDeclaration","src":"553:19:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"569:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"563:5:181"},"nodeType":"YulFunctionCall","src":"563:9:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"557:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"595:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"597:16:181"},"nodeType":"YulFunctionCall","src":"597:18:181"},"nodeType":"YulExpressionStatement","src":"597:18:181"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"587:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"591:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"584:2:181"},"nodeType":"YulFunctionCall","src":"584:10:181"},"nodeType":"YulIf","src":"581:36:181"},{"nodeType":"YulVariableDeclaration","src":"626:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"640:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"636:3:181"},"nodeType":"YulFunctionCall","src":"636:7:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"630:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"652:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"672:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"666:5:181"},"nodeType":"YulFunctionCall","src":"666:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"656:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"684:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"706:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"730:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"734:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"726:3:181"},"nodeType":"YulFunctionCall","src":"726:13:181"},{"name":"_5","nodeType":"YulIdentifier","src":"741:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"722:3:181"},"nodeType":"YulFunctionCall","src":"722:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"746:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"718:3:181"},"nodeType":"YulFunctionCall","src":"718:31:181"},{"name":"_5","nodeType":"YulIdentifier","src":"751:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"714:3:181"},"nodeType":"YulFunctionCall","src":"714:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"702:3:181"},"nodeType":"YulFunctionCall","src":"702:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"688:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"814:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"816:16:181"},"nodeType":"YulFunctionCall","src":"816:18:181"},"nodeType":"YulExpressionStatement","src":"816:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"773:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"785:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"770:2:181"},"nodeType":"YulFunctionCall","src":"770:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"793:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"805:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"790:2:181"},"nodeType":"YulFunctionCall","src":"790:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"767:2:181"},"nodeType":"YulFunctionCall","src":"767:46:181"},"nodeType":"YulIf","src":"764:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"852:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"856:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"845:6:181"},"nodeType":"YulFunctionCall","src":"845:22:181"},"nodeType":"YulExpressionStatement","src":"845:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"883:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"891:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"876:6:181"},"nodeType":"YulFunctionCall","src":"876:18:181"},"nodeType":"YulExpressionStatement","src":"876:18:181"},{"body":{"nodeType":"YulBlock","src":"940:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"949:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"952:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"942:6:181"},"nodeType":"YulFunctionCall","src":"942:12:181"},"nodeType":"YulExpressionStatement","src":"942:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"917:2:181"},{"name":"_4","nodeType":"YulIdentifier","src":"921:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"913:3:181"},"nodeType":"YulFunctionCall","src":"913:11:181"},{"name":"_1","nodeType":"YulIdentifier","src":"926:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"909:3:181"},"nodeType":"YulFunctionCall","src":"909:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"931:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"906:2:181"},"nodeType":"YulFunctionCall","src":"906:33:181"},"nodeType":"YulIf","src":"903:53:181"},{"nodeType":"YulVariableDeclaration","src":"965:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"974:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"969:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1030:83:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1059:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"1067:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:181"},"nodeType":"YulFunctionCall","src":"1055:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1071:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1051:3:181"},"nodeType":"YulFunctionCall","src":"1051:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1090:2:181"},{"name":"i","nodeType":"YulIdentifier","src":"1094:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1086:3:181"},"nodeType":"YulFunctionCall","src":"1086:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1098:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1082:3:181"},"nodeType":"YulFunctionCall","src":"1082:19:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1076:5:181"},"nodeType":"YulFunctionCall","src":"1076:26:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1044:6:181"},"nodeType":"YulFunctionCall","src":"1044:59:181"},"nodeType":"YulExpressionStatement","src":"1044:59:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"995:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"998:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"992:2:181"},"nodeType":"YulFunctionCall","src":"992:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1002:19:181","statements":[{"nodeType":"YulAssignment","src":"1004:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1013:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1016:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1009:3:181"},"nodeType":"YulFunctionCall","src":"1009:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1004:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"988:3:181","statements":[]},"src":"984:129:181"},{"body":{"nodeType":"YulBlock","src":"1143:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1172:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1180:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1168:3:181"},"nodeType":"YulFunctionCall","src":"1168:15:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1185:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1164:3:181"},"nodeType":"YulFunctionCall","src":"1164:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"1190:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1157:6:181"},"nodeType":"YulFunctionCall","src":"1157:35:181"},"nodeType":"YulExpressionStatement","src":"1157:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1128:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1131:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1125:2:181"},"nodeType":"YulFunctionCall","src":"1125:9:181"},"nodeType":"YulIf","src":"1122:80:181"},{"nodeType":"YulAssignment","src":"1211:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1221:6:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1211:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"203:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"214:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"226:6:181","type":""}],"src":"146:1087:181"},{"body":{"nodeType":"YulBlock","src":"1293:325:181","statements":[{"nodeType":"YulAssignment","src":"1303:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1317:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1320:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1313:3:181"},"nodeType":"YulFunctionCall","src":"1313:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1303:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1334:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1364:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1370:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1360:3:181"},"nodeType":"YulFunctionCall","src":"1360:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1338:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1411:31:181","statements":[{"nodeType":"YulAssignment","src":"1413:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1427:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1435:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1423:3:181"},"nodeType":"YulFunctionCall","src":"1423:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1413:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1391:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1384:6:181"},"nodeType":"YulFunctionCall","src":"1384:26:181"},"nodeType":"YulIf","src":"1381:61:181"},{"body":{"nodeType":"YulBlock","src":"1501:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1522:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1529:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1534:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1525:3:181"},"nodeType":"YulFunctionCall","src":"1525:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1515:6:181"},"nodeType":"YulFunctionCall","src":"1515:31:181"},"nodeType":"YulExpressionStatement","src":"1515:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1566:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1569:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1559:6:181"},"nodeType":"YulFunctionCall","src":"1559:15:181"},"nodeType":"YulExpressionStatement","src":"1559:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1594:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1597:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1587:6:181"},"nodeType":"YulFunctionCall","src":"1587:15:181"},"nodeType":"YulExpressionStatement","src":"1587:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1457:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1480:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1488:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1454:2:181"},"nodeType":"YulFunctionCall","src":"1454:38:181"},"nodeType":"YulIf","src":"1451:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1273:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1282:6:181","type":""}],"src":"1238:380:181"}]},"contents":"{\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_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := sub(shl(64, 1), 1)\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 _4 := mload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_4, 0x1f), _5), 63), _5))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _4)\n if gt(add(add(_3, _4), _1), dataEnd) { revert(0, 0) }\n let i := 0\n for { } lt(i, _4) { i := add(i, _1) }\n {\n mstore(add(add(memPtr, i), _1), mload(add(add(_3, i), _1)))\n }\n if gt(i, _4)\n {\n mstore(add(add(memPtr, _4), _1), 0)\n }\n value0 := memPtr\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b50604051620015ef380380620015ef83398101604081905262000034916200011b565b6200003f8162000046565b5062000234565b80516200005b9060029060208401906200005f565b5050565b8280546200006d90620001f7565b90600052602060002090601f016020900481019282620000915760008555620000dc565b82601f10620000ac57805160ff1916838001178555620000dc565b82800160010185558215620000dc579182015b82811115620000dc578251825591602001919060010190620000bf565b50620000ea929150620000ee565b5090565b5b80821115620000ea5760008155600101620000ef565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200012f57600080fd5b82516001600160401b03808211156200014757600080fd5b818501915085601f8301126200015c57600080fd5b81518181111562000171576200017162000105565b604051601f8201601f19908116603f011681019083821181831017156200019c576200019c62000105565b816040528281528886848701011115620001b557600080fd5b600093505b82841015620001d95784840186015181850187015292850192620001ba565b82841115620001eb5760008684830101525b98975050505050505050565b600181811c908216806200020c57607f821691505b602082108114156200022e57634e487b7160e01b600052602260045260246000fd5b50919050565b6113ab80620002446000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461017957600080fd5b8062fdd58e1461008c57806301ffc9a7146100b25780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610b5f565b61018c565b6040519081526020015b60405180910390f35b6100c56100c0366004610ba2565b610222565b60405190151581526020016100a9565b6100e86100e3366004610bc6565b610274565b6040516100a99190610c2c565b610108610103366004610d8b565b610308565b005b61011d610118366004610e35565b610354565b6040516100a99190610f3b565b610108610138366004610f4e565b61047e565b6100c561014b366004610f8a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b610108610187366004610fbd565b61048d565b60006001600160a01b0383166101fc5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061025357506001600160e01b031982166303a24d0760e21b145b8061026e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461028390611022565b80601f01602080910402602001604051908101604052809291908181526020018280546102af90611022565b80156102fc5780601f106102d1576101008083540402835291602001916102fc565b820191906000526020600020905b8154815290600101906020018083116102df57829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103245750610324853361014b565b6103405760405162461bcd60e51b81526004016101f39061105d565b61034d85858585856104d2565b5050505050565b606081518351146103b95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016101f3565b6000835167ffffffffffffffff8111156103d5576103d5610c3f565b6040519080825280602002602001820160405280156103fe578160200160208202803683370190505b50905060005b845181101561047657610449858281518110610422576104226110ab565b602002602001015185838151811061043c5761043c6110ab565b602002602001015161018c565b82828151811061045b5761045b6110ab565b602090810291909101015261046f816110d7565b9050610404565b509392505050565b6104893383836106af565b5050565b6001600160a01b0385163314806104a957506104a9853361014b565b6104c55760405162461bcd60e51b81526004016101f39061105d565b61034d8585858585610790565b81518351146105345760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016101f3565b6001600160a01b03841661055a5760405162461bcd60e51b81526004016101f3906110f2565b3360005b845181101561064157600085828151811061057b5761057b6110ab565b602002602001015190506000858381518110610599576105996110ab565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105e95760405162461bcd60e51b81526004016101f390611137565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610626908490611181565b925050819055505050508061063a906110d7565b905061055e565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610691929190611199565b60405180910390a46106a78187878787876108ba565b505050505050565b816001600160a01b0316836001600160a01b031614156107235760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016101f3565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107b65760405162461bcd60e51b81526004016101f3906110f2565b3360006107c285610a2e565b905060006107cf85610a2e565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156108125760405162461bcd60e51b81526004016101f390611137565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061084f908490611181565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108af848a8a8a8a8a610a79565b505050505050505050565b6001600160a01b0384163b156106a75760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108fe90899089908890889088906004016111c7565b602060405180830381600087803b15801561091857600080fd5b505af1925050508015610948575060408051601f3d908101601f1916820190925261094591810190611225565b60015b6109f557610954611242565b806308c379a0141561098e575061096961125e565b806109745750610990565b8060405162461bcd60e51b81526004016101f39190610c2c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016101f3565b6001600160e01b0319811663bc197c8160e01b14610a255760405162461bcd60e51b81526004016101f3906112e8565b50505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610a6857610a686110ab565b602090810291909101015292915050565b6001600160a01b0384163b156106a75760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610abd9089908990889088908890600401611330565b602060405180830381600087803b158015610ad757600080fd5b505af1925050508015610b07575060408051601f3d908101601f19168201909252610b0491810190611225565b60015b610b1357610954611242565b6001600160e01b0319811663f23a6e6160e01b14610a255760405162461bcd60e51b81526004016101f3906112e8565b80356001600160a01b0381168114610b5a57600080fd5b919050565b60008060408385031215610b7257600080fd5b610b7b83610b43565b946020939093013593505050565b6001600160e01b031981168114610b9f57600080fd5b50565b600060208284031215610bb457600080fd5b8135610bbf81610b89565b9392505050565b600060208284031215610bd857600080fd5b5035919050565b6000815180845260005b81811015610c0557602081850181015186830182015201610be9565b81811115610c17576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610bbf6020830184610bdf565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610c7b57610c7b610c3f565b6040525050565b600067ffffffffffffffff821115610c9c57610c9c610c3f565b5060051b60200190565b600082601f830112610cb757600080fd5b81356020610cc482610c82565b604051610cd18282610c55565b83815260059390931b8501820192828101915086841115610cf157600080fd5b8286015b84811015610d0c5780358352918301918301610cf5565b509695505050505050565b600082601f830112610d2857600080fd5b813567ffffffffffffffff811115610d4257610d42610c3f565b604051610d59601f8301601f191660200182610c55565b818152846020838601011115610d6e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610da357600080fd5b610dac86610b43565b9450610dba60208701610b43565b9350604086013567ffffffffffffffff80821115610dd757600080fd5b610de389838a01610ca6565b94506060880135915080821115610df957600080fd5b610e0589838a01610ca6565b93506080880135915080821115610e1b57600080fd5b50610e2888828901610d17565b9150509295509295909350565b60008060408385031215610e4857600080fd5b823567ffffffffffffffff80821115610e6057600080fd5b818501915085601f830112610e7457600080fd5b81356020610e8182610c82565b604051610e8e8282610c55565b83815260059390931b8501820192828101915089841115610eae57600080fd5b948201945b83861015610ed357610ec486610b43565b82529482019490820190610eb3565b96505086013592505080821115610ee957600080fd5b50610ef685828601610ca6565b9150509250929050565b600081518084526020808501945080840160005b83811015610f3057815187529582019590820190600101610f14565b509495945050505050565b602081526000610bbf6020830184610f00565b60008060408385031215610f6157600080fd5b610f6a83610b43565b915060208301358015158114610f7f57600080fd5b809150509250929050565b60008060408385031215610f9d57600080fd5b610fa683610b43565b9150610fb460208401610b43565b90509250929050565b600080600080600060a08688031215610fd557600080fd5b610fde86610b43565b9450610fec60208701610b43565b93506040860135925060608601359150608086013567ffffffffffffffff81111561101657600080fd5b610e2888828901610d17565b600181811c9082168061103657607f821691505b6020821081141561105757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156110eb576110eb6110c1565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60008219821115611194576111946110c1565b500190565b6040815260006111ac6040830185610f00565b82810360208401526111be8185610f00565b95945050505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906111f390830186610f00565b82810360608401526112058186610f00565b905082810360808401526112198185610bdf565b98975050505050505050565b60006020828403121561123757600080fd5b8151610bbf81610b89565b600060033d111561125b5760046000803e5060005160e01c5b90565b600060443d101561126c5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561129c57505050505090565b82850191508151818111156112b45750505050505090565b843d87010160208285010111156112ce5750505050505090565b6112dd60208286010187610c55565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061136a90830184610bdf565b97965050505050505056fea264697066735822122057a632fa57c61003219c162d842cb2b27a929dcfee3bb3c2bbfe363aa57f3f9964736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x15EF CODESIZE SUB DUP1 PUSH3 0x15EF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x11B JUMP JUMPDEST PUSH3 0x3F DUP2 PUSH3 0x46 JUMP JUMPDEST POP PUSH3 0x234 JUMP JUMPDEST DUP1 MLOAD PUSH3 0x5B SWAP1 PUSH1 0x2 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x5F JUMP JUMPDEST POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x6D SWAP1 PUSH3 0x1F7 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x91 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xDC JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xAC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xDC JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xDC JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xDC JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xBF JUMP JUMPDEST POP PUSH3 0xEA SWAP3 SWAP2 POP PUSH3 0xEE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xEA JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xEF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x171 JUMPI PUSH3 0x171 PUSH3 0x105 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x19C JUMPI PUSH3 0x19C PUSH3 0x105 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 DUP7 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP4 POP JUMPDEST DUP3 DUP5 LT ISZERO PUSH3 0x1D9 JUMPI DUP5 DUP5 ADD DUP7 ADD MLOAD DUP2 DUP6 ADD DUP8 ADD MSTORE SWAP3 DUP6 ADD SWAP3 PUSH3 0x1BA JUMP JUMPDEST DUP3 DUP5 GT ISZERO PUSH3 0x1EB JUMPI PUSH1 0x0 DUP7 DUP5 DUP4 ADD ADD MSTORE JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x20C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x22E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13AB DUP1 PUSH3 0x244 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 0x87 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E1273F4 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0xD5 JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0xF5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9F PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0xB5F JUMP JUMPDEST PUSH2 0x18C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0xBA2 JUMP JUMPDEST PUSH2 0x222 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA9 JUMP JUMPDEST PUSH2 0xE8 PUSH2 0xE3 CALLDATASIZE PUSH1 0x4 PUSH2 0xBC6 JUMP JUMPDEST PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0xC2C JUMP JUMPDEST PUSH2 0x108 PUSH2 0x103 CALLDATASIZE PUSH1 0x4 PUSH2 0xD8B JUMP JUMPDEST PUSH2 0x308 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0xE35 JUMP JUMPDEST PUSH2 0x354 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x108 PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0x14B CALLDATASIZE PUSH1 0x4 PUSH2 0xF8A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x108 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xFBD JUMP JUMPDEST PUSH2 0x48D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1FC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2061646472657373207A65726F206973206E6F7420612076 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x30B634B21037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x6CDB3D13 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x253 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x3A24D07 PUSH1 0xE2 SHL EQ JUMPDEST DUP1 PUSH2 0x26E JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x283 SWAP1 PUSH2 0x1022 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 0x2AF SWAP1 PUSH2 0x1022 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2FC 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 0x2DF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x324 JUMPI POP PUSH2 0x324 DUP6 CALLER PUSH2 0x14B JUMP JUMPDEST PUSH2 0x340 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x34D DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x4D2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x3B9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A206163636F756E747320616E6420696473206C656E677468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x40DAD2E6DAC2E8C6D PUSH1 0xBB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3D5 JUMPI PUSH2 0x3D5 PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH2 0x449 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x422 JUMPI PUSH2 0x422 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x43C JUMPI PUSH2 0x43C PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x18C JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x45B JUMPI PUSH2 0x45B PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE PUSH2 0x46F DUP2 PUSH2 0x10D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x404 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x489 CALLER DUP4 DUP4 PUSH2 0x6AF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x4A9 JUMPI POP PUSH2 0x4A9 DUP6 CALLER PUSH2 0x14B JUMP JUMPDEST PUSH2 0x4C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x34D DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x790 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x534 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2069647320616E6420616D6F756E7473206C656E67746820 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0xDAD2E6DAC2E8C6D PUSH1 0xC3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x10F2 JUMP JUMPDEST CALLER PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x641 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x57B JUMPI PUSH2 0x57B PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x599 JUMPI PUSH2 0x599 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE DUP1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0x5E9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x1137 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 DUP6 SUB SWAP1 SSTORE SWAP1 DUP12 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x626 SWAP1 DUP5 SWAP1 PUSH2 0x1181 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 PUSH2 0x63A SWAP1 PUSH2 0x10D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x55E JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0x691 SWAP3 SWAP2 SWAP1 PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x6A7 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x8BA JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x723 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2073657474696E6720617070726F76616C20737461747573 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x103337B91039B2B633 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x10F2 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x7C2 DUP6 PUSH2 0xA2E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x7CF DUP6 PUSH2 0xA2E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP6 DUP2 LT ISZERO PUSH2 0x812 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x1137 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP10 DUP6 SUB SWAP1 SSTORE SWAP1 DUP11 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP9 SWAP3 SWAP1 PUSH2 0x84F SWAP1 DUP5 SWAP1 PUSH2 0x1181 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP9 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP3 DUP13 DUP3 AND SWAP3 SWAP2 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x8AF DUP5 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xA79 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBC197C81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xBC197C81 SWAP1 PUSH2 0x8FE SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x11C7 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x948 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x945 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x9F5 JUMPI PUSH2 0x954 PUSH2 0x1242 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x98E JUMPI POP PUSH2 0x969 PUSH2 0x125E JUMP JUMPDEST DUP1 PUSH2 0x974 JUMPI POP PUSH2 0x990 JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0xC2C JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F206E6F6E2D45524331313535 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x2932B1B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x61 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xBC197C81 PUSH1 0xE0 SHL EQ PUSH2 0xA25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x12E8 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP1 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP DUP3 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xA68 JUMPI PUSH2 0xA68 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF23A6E61 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xF23A6E61 SWAP1 PUSH2 0xABD SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1330 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB07 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB04 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB13 JUMPI PUSH2 0x954 PUSH2 0x1242 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xF23A6E61 PUSH1 0xE0 SHL EQ PUSH2 0xA25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x12E8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xB5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7B DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xB9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xBBF DUP2 PUSH2 0xB89 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC05 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xBE9 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xC17 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBBF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xBDF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xC7B JUMPI PUSH2 0xC7B PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC9C JUMPI PUSH2 0xC9C PUSH2 0xC3F JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xCB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xCC4 DUP3 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCD1 DUP3 DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP7 DUP5 GT ISZERO PUSH2 0xCF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xD0C JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xCF5 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xD28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD42 JUMPI PUSH2 0xD42 PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD59 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xD6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xDA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDAC DUP7 PUSH2 0xB43 JUMP JUMPDEST SWAP5 POP PUSH2 0xDBA PUSH1 0x20 DUP8 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDE3 DUP10 DUP4 DUP11 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xDF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE05 DUP10 DUP4 DUP11 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE28 DUP9 DUP3 DUP10 ADD PUSH2 0xD17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xE81 DUP3 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8E DUP3 DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP10 DUP5 GT ISZERO PUSH2 0xEAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0xED3 JUMPI PUSH2 0xEC4 DUP7 PUSH2 0xB43 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0xEB3 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0xEE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEF6 DUP6 DUP3 DUP7 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF30 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xF14 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBBF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF00 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF6A DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xF7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFA6 DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP2 POP PUSH2 0xFB4 PUSH1 0x20 DUP5 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xFD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDE DUP7 PUSH2 0xB43 JUMP JUMPDEST SWAP5 POP PUSH2 0xFEC PUSH1 0x20 DUP8 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1016 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE28 DUP9 DUP3 DUP10 ADD PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1036 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1057 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2063616C6C6572206973206E6F7420746F6B656E206F776E PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x195C881BDC88185C1C1C9BDD9959 PUSH1 0x92 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10EB JUMPI PUSH2 0x10EB PUSH2 0x10C1 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A20696E73756666696369656E742062616C616E636520666F PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x39103A3930B739B332B9 PUSH1 0xB1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1194 JUMPI PUSH2 0x1194 PUSH2 0x10C1 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11AC PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xF00 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11BE DUP2 DUP6 PUSH2 0xF00 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x11F3 SWAP1 DUP4 ADD DUP7 PUSH2 0xF00 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1205 DUP2 DUP7 PUSH2 0xF00 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1219 DUP2 DUP6 PUSH2 0xBDF JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xBBF DUP2 PUSH2 0xB89 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x125B JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY POP PUSH1 0x0 MLOAD PUSH1 0xE0 SHR JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x126C JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3 NOT RETURNDATASIZE DUP2 ADD PUSH1 0x4 DUP4 RETURNDATACOPY DUP2 MLOAD RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 PUSH1 0x24 DUP5 ADD GT DUP2 DUP5 GT OR ISZERO PUSH2 0x129C JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP3 DUP6 ADD SWAP2 POP DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x12B4 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP5 RETURNDATASIZE DUP8 ADD ADD PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x12CE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x12DD PUSH1 0x20 DUP3 DUP7 ADD ADD DUP8 PUSH2 0xC55 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A204552433131353552656365697665722072656A65637465 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0x6420746F6B656E73 PUSH1 0xC0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x136A SWAP1 DUP4 ADD DUP5 PUSH2 0xBDF JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPI 0xA6 ORIGIN STATICCALL JUMPI 0xC6 LT SUB 0x21 SWAP13 AND 0x2D DUP5 0x2C 0xB2 0xB2 PUSH27 0x929DCFEE3BB3C2BBFE363AA57F3F9964736F6C6343000809003300 ","sourceMap":"570:16689:84:-:0;;;1107:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1149:13;1157:4;1149:7;:13::i;:::-;1107:62;570:16689;;8171:86;8237:13;;;;:4;;:13;;;;;:::i;:::-;;8171:86;:::o;570:16689::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;570:16689:84;;;-1:-1:-1;570:16689:84;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1087;226:6;257:2;300;288:9;279:7;275:23;271:32;268:52;;;316:1;313;306:12;268:52;343:16;;-1:-1:-1;;;;;408:14:181;;;405:34;;;435:1;432;425:12;405:34;473:6;462:9;458:22;448:32;;518:7;511:4;507:2;503:13;499:27;489:55;;540:1;537;530:12;489:55;569:2;563:9;591:2;587;584:10;581:36;;;597:18;;:::i;:::-;672:2;666:9;640:2;726:13;;-1:-1:-1;;722:22:181;;;746:2;718:31;714:40;702:53;;;770:18;;;790:22;;;767:46;764:72;;;816:18;;:::i;:::-;856:10;852:2;845:22;891:2;883:6;876:18;931:7;926:2;921;917;913:11;909:20;906:33;903:53;;;952:1;949;942:12;903:53;974:1;965:10;;984:129;998:2;995:1;992:9;984:129;;;1086:10;;;1082:19;;1076:26;1055:14;;;1051:23;;1044:59;1009:10;;;;984:129;;;1131:2;1128:1;1125:9;1122:80;;;1190:1;1185:2;1180;1172:6;1168:15;1164:24;1157:35;1122:80;1221:6;146:1087;-1:-1:-1;;;;;;;;146:1087:181:o;1238:380::-;1317:1;1313:12;;;;1360;;;1381:61;;1435:4;1427:6;1423:17;1413:27;;1381:61;1488:2;1480:6;1477:14;1457:18;1454:38;1451:161;;;1534:10;1529:3;1525:20;1522:1;1515:31;1569:4;1566:1;1559:15;1597:4;1594:1;1587:15;1451:161;;1238:380;;;:::o;:::-;570:16689:84;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_11825":{"entryPoint":null,"id":11825,"parameterSlots":6,"returnSlots":0},"@_asSingletonArray_11981":{"entryPoint":2606,"id":11981,"parameterSlots":1,"returnSlots":1},"@_beforeTokenTransfer_11806":{"entryPoint":null,"id":11806,"parameterSlots":6,"returnSlots":0},"@_doSafeBatchTransferAcceptanceCheck_11953":{"entryPoint":2234,"id":11953,"parameterSlots":6,"returnSlots":0},"@_doSafeTransferAcceptanceCheck_11888":{"entryPoint":2681,"id":11888,"parameterSlots":6,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_safeBatchTransferFrom_11304":{"entryPoint":1234,"id":11304,"parameterSlots":5,"returnSlots":0},"@_safeTransferFrom_11169":{"entryPoint":1936,"id":11169,"parameterSlots":5,"returnSlots":0},"@_setApprovalForAll_11787":{"entryPoint":1711,"id":11787,"parameterSlots":3,"returnSlots":0},"@balanceOfBatch_10939":{"entryPoint":852,"id":10939,"parameterSlots":2,"returnSlots":1},"@balanceOf_10875":{"entryPoint":396,"id":10875,"parameterSlots":2,"returnSlots":1},"@isApprovedForAll_10974":{"entryPoint":null,"id":10974,"parameterSlots":2,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@safeBatchTransferFrom_11052":{"entryPoint":776,"id":11052,"parameterSlots":5,"returnSlots":0},"@safeTransferFrom_11012":{"entryPoint":1165,"id":11012,"parameterSlots":5,"returnSlots":0},"@setApprovalForAll_10956":{"entryPoint":1150,"id":10956,"parameterSlots":2,"returnSlots":0},"@supportsInterface_10835":{"entryPoint":546,"id":10835,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@uri_10847":{"entryPoint":628,"id":10847,"parameterSlots":1,"returnSlots":1},"abi_decode_address":{"entryPoint":2883,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":3238,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":3351,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3978,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":3467,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":4029,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_bool":{"entryPoint":3918,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":2911,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":3637,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":2978,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4645,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3014,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":3840,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3039,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":4551,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":4912,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3899,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":4505,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3116,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4840,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4189,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4338,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4407,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__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},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"array_allocation_size_array_uint256_dyn":{"entryPoint":3202,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4481,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":4130,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":3157,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":4311,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4289,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4267,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3135,"id":null,"parameterSlots":0,"returnSlots":0},"return_data_selector":{"entryPoint":4674,"id":null,"parameterSlots":0,"returnSlots":1},"try_decode_error_message":{"entryPoint":4702,"id":null,"parameterSlots":0,"returnSlots":1},"validator_revert_bytes4":{"entryPoint":2953,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:15912:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:181","statements":[{"nodeType":"YulAssignment","src":"73:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:181"},"nodeType":"YulFunctionCall","src":"82:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:181"}]},{"body":{"nodeType":"YulBlock","src":"165:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:181"},"nodeType":"YulFunctionCall","src":"167:12:181"},"nodeType":"YulExpressionStatement","src":"167:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:181"},"nodeType":"YulFunctionCall","src":"142:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:181"},"nodeType":"YulFunctionCall","src":"131:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:181"},"nodeType":"YulFunctionCall","src":"121:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:181"},"nodeType":"YulFunctionCall","src":"114:50:181"},"nodeType":"YulIf","src":"111:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:181","type":""}],"src":"14:173:181"},{"body":{"nodeType":"YulBlock","src":"279:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:181"},"nodeType":"YulFunctionCall","src":"327:12:181"},"nodeType":"YulExpressionStatement","src":"327:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:181"},"nodeType":"YulFunctionCall","src":"296:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:181"},"nodeType":"YulFunctionCall","src":"292:32:181"},"nodeType":"YulIf","src":"289:52:181"},{"nodeType":"YulAssignment","src":"350:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"379:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"360:18:181"},"nodeType":"YulFunctionCall","src":"360:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:181"}]},{"nodeType":"YulAssignment","src":"398:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:181"},"nodeType":"YulFunctionCall","src":"421:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"408:12:181"},"nodeType":"YulFunctionCall","src":"408:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"398:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:181","type":""}],"src":"192:254:181"},{"body":{"nodeType":"YulBlock","src":"552:76:181","statements":[{"nodeType":"YulAssignment","src":"562:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"574:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"585:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"562:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"615:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:181"},"nodeType":"YulFunctionCall","src":"597:25:181"},"nodeType":"YulExpressionStatement","src":"597:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"521:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"532:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"543:4:181","type":""}],"src":"451:177:181"},{"body":{"nodeType":"YulBlock","src":"677:87:181","statements":[{"body":{"nodeType":"YulBlock","src":"742:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"751:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"754:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"744:6:181"},"nodeType":"YulFunctionCall","src":"744:12:181"},"nodeType":"YulExpressionStatement","src":"744:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"700:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"711:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"722:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"727:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"718:3:181"},"nodeType":"YulFunctionCall","src":"718:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"707:3:181"},"nodeType":"YulFunctionCall","src":"707:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"697:2:181"},"nodeType":"YulFunctionCall","src":"697:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"690:6:181"},"nodeType":"YulFunctionCall","src":"690:51:181"},"nodeType":"YulIf","src":"687:71:181"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"666:5:181","type":""}],"src":"633:131:181"},{"body":{"nodeType":"YulBlock","src":"838:176:181","statements":[{"body":{"nodeType":"YulBlock","src":"884:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"893:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"896:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"886:6:181"},"nodeType":"YulFunctionCall","src":"886:12:181"},"nodeType":"YulExpressionStatement","src":"886:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"859:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"868:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"855:3:181"},"nodeType":"YulFunctionCall","src":"855:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"880:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"851:3:181"},"nodeType":"YulFunctionCall","src":"851:32:181"},"nodeType":"YulIf","src":"848:52:181"},{"nodeType":"YulVariableDeclaration","src":"909:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"935:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"922:12:181"},"nodeType":"YulFunctionCall","src":"922:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"913:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"978:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"954:23:181"},"nodeType":"YulFunctionCall","src":"954:30:181"},"nodeType":"YulExpressionStatement","src":"954:30:181"},{"nodeType":"YulAssignment","src":"993:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1003:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"993:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"804:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"815:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"827:6:181","type":""}],"src":"769:245:181"},{"body":{"nodeType":"YulBlock","src":"1114:92:181","statements":[{"nodeType":"YulAssignment","src":"1124:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1136:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1147:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:3:181"},"nodeType":"YulFunctionCall","src":"1132:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1124:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1166:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1191:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1184:6:181"},"nodeType":"YulFunctionCall","src":"1184:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1177:6:181"},"nodeType":"YulFunctionCall","src":"1177:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1159:6:181"},"nodeType":"YulFunctionCall","src":"1159:41:181"},"nodeType":"YulExpressionStatement","src":"1159:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1083:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1094:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1105:4:181","type":""}],"src":"1019:187:181"},{"body":{"nodeType":"YulBlock","src":"1281:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"1327:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1336:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1339:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1329:6:181"},"nodeType":"YulFunctionCall","src":"1329:12:181"},"nodeType":"YulExpressionStatement","src":"1329:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1302:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1311:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1298:3:181"},"nodeType":"YulFunctionCall","src":"1298:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1323:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1294:3:181"},"nodeType":"YulFunctionCall","src":"1294:32:181"},"nodeType":"YulIf","src":"1291:52:181"},{"nodeType":"YulAssignment","src":"1352:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1375:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1362:12:181"},"nodeType":"YulFunctionCall","src":"1362:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1352:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1247:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1258:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1270:6:181","type":""}],"src":"1211:180:181"},{"body":{"nodeType":"YulBlock","src":"1446:422:181","statements":[{"nodeType":"YulVariableDeclaration","src":"1456:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1476:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1470:5:181"},"nodeType":"YulFunctionCall","src":"1470:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1460:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1498:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1503:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1491:6:181"},"nodeType":"YulFunctionCall","src":"1491:19:181"},"nodeType":"YulExpressionStatement","src":"1491:19:181"},{"nodeType":"YulVariableDeclaration","src":"1519:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1528:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1523:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1590:110:181","statements":[{"nodeType":"YulVariableDeclaration","src":"1604:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1614:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1608:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1646:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"1651:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1642:3:181"},"nodeType":"YulFunctionCall","src":"1642:11:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1655:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1638:3:181"},"nodeType":"YulFunctionCall","src":"1638:20:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1674:5:181"},{"name":"i","nodeType":"YulIdentifier","src":"1681:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1670:3:181"},"nodeType":"YulFunctionCall","src":"1670:13:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1685:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1666:3:181"},"nodeType":"YulFunctionCall","src":"1666:22:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1660:5:181"},"nodeType":"YulFunctionCall","src":"1660:29:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1631:6:181"},"nodeType":"YulFunctionCall","src":"1631:59:181"},"nodeType":"YulExpressionStatement","src":"1631:59:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1549:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1552:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1546:2:181"},"nodeType":"YulFunctionCall","src":"1546:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1560:21:181","statements":[{"nodeType":"YulAssignment","src":"1562:17:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1571:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"1574:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1567:3:181"},"nodeType":"YulFunctionCall","src":"1567:12:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1562:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1542:3:181","statements":[]},"src":"1538:162:181"},{"body":{"nodeType":"YulBlock","src":"1734:62:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1763:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1768:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1759:3:181"},"nodeType":"YulFunctionCall","src":"1759:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"1777:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1755:3:181"},"nodeType":"YulFunctionCall","src":"1755:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"1784:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1748:6:181"},"nodeType":"YulFunctionCall","src":"1748:38:181"},"nodeType":"YulExpressionStatement","src":"1748:38:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1715:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1718:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1712:2:181"},"nodeType":"YulFunctionCall","src":"1712:13:181"},"nodeType":"YulIf","src":"1709:87:181"},{"nodeType":"YulAssignment","src":"1805:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1820:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1833:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1841:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1829:3:181"},"nodeType":"YulFunctionCall","src":"1829:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1850:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1846:3:181"},"nodeType":"YulFunctionCall","src":"1846:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1825:3:181"},"nodeType":"YulFunctionCall","src":"1825:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1816:3:181"},"nodeType":"YulFunctionCall","src":"1816:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1857:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1812:3:181"},"nodeType":"YulFunctionCall","src":"1812:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1805:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1423:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1430:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1438:3:181","type":""}],"src":"1396:472:181"},{"body":{"nodeType":"YulBlock","src":"1994:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2011:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2022:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2004:6:181"},"nodeType":"YulFunctionCall","src":"2004:21:181"},"nodeType":"YulExpressionStatement","src":"2004:21:181"},{"nodeType":"YulAssignment","src":"2034:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2060:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2072:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2083:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2068:3:181"},"nodeType":"YulFunctionCall","src":"2068:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2042:17:181"},"nodeType":"YulFunctionCall","src":"2042:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2034:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1963:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1974:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1985:4:181","type":""}],"src":"1873:220:181"},{"body":{"nodeType":"YulBlock","src":"2130:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2147:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2154:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2159:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2150:3:181"},"nodeType":"YulFunctionCall","src":"2150:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2140:6:181"},"nodeType":"YulFunctionCall","src":"2140:31:181"},"nodeType":"YulExpressionStatement","src":"2140:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2187:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2190:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2180:6:181"},"nodeType":"YulFunctionCall","src":"2180:15:181"},"nodeType":"YulExpressionStatement","src":"2180:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2211:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2214:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2204:6:181"},"nodeType":"YulFunctionCall","src":"2204:15:181"},"nodeType":"YulExpressionStatement","src":"2204:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2098:127:181"},{"body":{"nodeType":"YulBlock","src":"2277:202:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2287:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2309:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2325:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2331:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2321:3:181"},"nodeType":"YulFunctionCall","src":"2321:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2340:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2336:3:181"},"nodeType":"YulFunctionCall","src":"2336:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2317:3:181"},"nodeType":"YulFunctionCall","src":"2317:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2305:3:181"},"nodeType":"YulFunctionCall","src":"2305:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2291:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2420:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2422:16:181"},"nodeType":"YulFunctionCall","src":"2422:18:181"},"nodeType":"YulExpressionStatement","src":"2422:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2363:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"2375:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2360:2:181"},"nodeType":"YulFunctionCall","src":"2360:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2399:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2411:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2396:2:181"},"nodeType":"YulFunctionCall","src":"2396:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2357:2:181"},"nodeType":"YulFunctionCall","src":"2357:62:181"},"nodeType":"YulIf","src":"2354:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2458:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2462:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2451:6:181"},"nodeType":"YulFunctionCall","src":"2451:22:181"},"nodeType":"YulExpressionStatement","src":"2451:22:181"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2259:6:181","type":""},{"name":"size","nodeType":"YulTypedName","src":"2267:4:181","type":""}],"src":"2230:249:181"},{"body":{"nodeType":"YulBlock","src":"2553:114:181","statements":[{"body":{"nodeType":"YulBlock","src":"2597:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2599:16:181"},"nodeType":"YulFunctionCall","src":"2599:18:181"},"nodeType":"YulExpressionStatement","src":"2599:18:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2569:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2577:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2566:2:181"},"nodeType":"YulFunctionCall","src":"2566:30:181"},"nodeType":"YulIf","src":"2563:56:181"},{"nodeType":"YulAssignment","src":"2628:33:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2644:1:181","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2647:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2640:3:181"},"nodeType":"YulFunctionCall","src":"2640:14:181"},{"kind":"number","nodeType":"YulLiteral","src":"2656:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2636:3:181"},"nodeType":"YulFunctionCall","src":"2636:25:181"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2628:4:181"}]}]},"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2533:6:181","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2544:4:181","type":""}],"src":"2484:183:181"},{"body":{"nodeType":"YulBlock","src":"2736:660:181","statements":[{"body":{"nodeType":"YulBlock","src":"2785:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2794:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2797:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2787:6:181"},"nodeType":"YulFunctionCall","src":"2787:12:181"},"nodeType":"YulExpressionStatement","src":"2787:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2764:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2772:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2760:3:181"},"nodeType":"YulFunctionCall","src":"2760:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"2779:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2756:3:181"},"nodeType":"YulFunctionCall","src":"2756:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2749:6:181"},"nodeType":"YulFunctionCall","src":"2749:35:181"},"nodeType":"YulIf","src":"2746:55:181"},{"nodeType":"YulVariableDeclaration","src":"2810:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2833:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2820:12:181"},"nodeType":"YulFunctionCall","src":"2820:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2814:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2849:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2859:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2853:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2872:53:181","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2922:2:181"}],"functionName":{"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulIdentifier","src":"2882:39:181"},"nodeType":"YulFunctionCall","src":"2882:43:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2876:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2934:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2954:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2948:5:181"},"nodeType":"YulFunctionCall","src":"2948:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2938:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2986:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"2994:2:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2966:19:181"},"nodeType":"YulFunctionCall","src":"2966:31:181"},"nodeType":"YulExpressionStatement","src":"2966:31:181"},{"nodeType":"YulVariableDeclaration","src":"3006:17:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3017:6:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3010:3:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3039:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3047:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3032:6:181"},"nodeType":"YulFunctionCall","src":"3032:18:181"},"nodeType":"YulExpressionStatement","src":"3032:18:181"},{"nodeType":"YulAssignment","src":"3059:22:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3070:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3078:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3066:3:181"},"nodeType":"YulFunctionCall","src":"3066:15:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3059:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"3090:46:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3112:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3124:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3127:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3120:3:181"},"nodeType":"YulFunctionCall","src":"3120:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3108:3:181"},"nodeType":"YulFunctionCall","src":"3108:23:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3133:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3104:3:181"},"nodeType":"YulFunctionCall","src":"3104:32:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3094:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3164:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3173:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3176:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3166:6:181"},"nodeType":"YulFunctionCall","src":"3166:12:181"},"nodeType":"YulExpressionStatement","src":"3166:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3151:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"3159:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3148:2:181"},"nodeType":"YulFunctionCall","src":"3148:15:181"},"nodeType":"YulIf","src":"3145:35:181"},{"nodeType":"YulVariableDeclaration","src":"3189:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3204:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3212:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3200:3:181"},"nodeType":"YulFunctionCall","src":"3200:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3193:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3280:86:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3301:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3319:3:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3306:12:181"},"nodeType":"YulFunctionCall","src":"3306:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3294:6:181"},"nodeType":"YulFunctionCall","src":"3294:30:181"},"nodeType":"YulExpressionStatement","src":"3294:30:181"},{"nodeType":"YulAssignment","src":"3337:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3348:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3353:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3344:3:181"},"nodeType":"YulFunctionCall","src":"3344:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3337:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3235:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3240:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3232:2:181"},"nodeType":"YulFunctionCall","src":"3232:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3248:23:181","statements":[{"nodeType":"YulAssignment","src":"3250:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3261:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3266:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3257:3:181"},"nodeType":"YulFunctionCall","src":"3257:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3250:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"3228:3:181","statements":[]},"src":"3224:142:181"},{"nodeType":"YulAssignment","src":"3375:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3384:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3375:5:181"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2710:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"2718:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2726:5:181","type":""}],"src":"2672:724:181"},{"body":{"nodeType":"YulBlock","src":"3453:503:181","statements":[{"body":{"nodeType":"YulBlock","src":"3502:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3511:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3514:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3504:6:181"},"nodeType":"YulFunctionCall","src":"3504:12:181"},"nodeType":"YulExpressionStatement","src":"3504:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3481:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3489:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3477:3:181"},"nodeType":"YulFunctionCall","src":"3477:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"3496:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3473:3:181"},"nodeType":"YulFunctionCall","src":"3473:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3466:6:181"},"nodeType":"YulFunctionCall","src":"3466:35:181"},"nodeType":"YulIf","src":"3463:55:181"},{"nodeType":"YulVariableDeclaration","src":"3527:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3550:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3537:12:181"},"nodeType":"YulFunctionCall","src":"3537:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3531:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3596:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3598:16:181"},"nodeType":"YulFunctionCall","src":"3598:18:181"},"nodeType":"YulExpressionStatement","src":"3598:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3572:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3576:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3569:2:181"},"nodeType":"YulFunctionCall","src":"3569:26:181"},"nodeType":"YulIf","src":"3566:52:181"},{"nodeType":"YulVariableDeclaration","src":"3627:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3647:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3641:5:181"},"nodeType":"YulFunctionCall","src":"3641:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3631:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3679:6:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3699:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3703:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:181"},"nodeType":"YulFunctionCall","src":"3695:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3714:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3710:3:181"},"nodeType":"YulFunctionCall","src":"3710:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3691:3:181"},"nodeType":"YulFunctionCall","src":"3691:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"3720:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3687:3:181"},"nodeType":"YulFunctionCall","src":"3687:38:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"3659:19:181"},"nodeType":"YulFunctionCall","src":"3659:67:181"},"nodeType":"YulExpressionStatement","src":"3659:67:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3742:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3750:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3735:6:181"},"nodeType":"YulFunctionCall","src":"3735:18:181"},"nodeType":"YulExpressionStatement","src":"3735:18:181"},{"body":{"nodeType":"YulBlock","src":"3801:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3810:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3813:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3803:6:181"},"nodeType":"YulFunctionCall","src":"3803:12:181"},"nodeType":"YulExpressionStatement","src":"3803:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3776:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3784:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3772:3:181"},"nodeType":"YulFunctionCall","src":"3772:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3789:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3768:3:181"},"nodeType":"YulFunctionCall","src":"3768:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"3796:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3765:2:181"},"nodeType":"YulFunctionCall","src":"3765:35:181"},"nodeType":"YulIf","src":"3762:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3843:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3851:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3839:3:181"},"nodeType":"YulFunctionCall","src":"3839:17:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3862:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3870:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3858:3:181"},"nodeType":"YulFunctionCall","src":"3858:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3877:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3826:12:181"},"nodeType":"YulFunctionCall","src":"3826:54:181"},"nodeType":"YulExpressionStatement","src":"3826:54:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3904:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3912:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3900:3:181"},"nodeType":"YulFunctionCall","src":"3900:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3917:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3896:3:181"},"nodeType":"YulFunctionCall","src":"3896:26:181"},{"kind":"number","nodeType":"YulLiteral","src":"3924:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3889:6:181"},"nodeType":"YulFunctionCall","src":"3889:37:181"},"nodeType":"YulExpressionStatement","src":"3889:37:181"},{"nodeType":"YulAssignment","src":"3935:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3944:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3935:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3427:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"3435:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3443:5:181","type":""}],"src":"3401:555:181"},{"body":{"nodeType":"YulBlock","src":"4158:746:181","statements":[{"body":{"nodeType":"YulBlock","src":"4205:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4214:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4217:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4207:6:181"},"nodeType":"YulFunctionCall","src":"4207:12:181"},"nodeType":"YulExpressionStatement","src":"4207:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4179:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4188:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4175:3:181"},"nodeType":"YulFunctionCall","src":"4175:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4200:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4171:3:181"},"nodeType":"YulFunctionCall","src":"4171:33:181"},"nodeType":"YulIf","src":"4168:53:181"},{"nodeType":"YulAssignment","src":"4230:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4259:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4240:18:181"},"nodeType":"YulFunctionCall","src":"4240:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4230:6:181"}]},{"nodeType":"YulAssignment","src":"4278:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4311:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4322:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4307:3:181"},"nodeType":"YulFunctionCall","src":"4307:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4288:18:181"},"nodeType":"YulFunctionCall","src":"4288:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4278:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4335:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4366:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4377:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4362:3:181"},"nodeType":"YulFunctionCall","src":"4362:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4349:12:181"},"nodeType":"YulFunctionCall","src":"4349:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4339:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4390:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4400:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4394:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4445:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4454:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4457:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4447:6:181"},"nodeType":"YulFunctionCall","src":"4447:12:181"},"nodeType":"YulExpressionStatement","src":"4447:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4433:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4441:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4430:2:181"},"nodeType":"YulFunctionCall","src":"4430:14:181"},"nodeType":"YulIf","src":"4427:34:181"},{"nodeType":"YulAssignment","src":"4470:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4513:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4524:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4509:3:181"},"nodeType":"YulFunctionCall","src":"4509:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4533:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4480:28:181"},"nodeType":"YulFunctionCall","src":"4480:61:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4470:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4550:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4583:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4594:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4579:3:181"},"nodeType":"YulFunctionCall","src":"4579:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4566:12:181"},"nodeType":"YulFunctionCall","src":"4566:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4554:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4627:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4636:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4639:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4629:6:181"},"nodeType":"YulFunctionCall","src":"4629:12:181"},"nodeType":"YulExpressionStatement","src":"4629:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4613:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4623:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4610:2:181"},"nodeType":"YulFunctionCall","src":"4610:16:181"},"nodeType":"YulIf","src":"4607:36:181"},{"nodeType":"YulAssignment","src":"4652:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4695:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4706:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4691:3:181"},"nodeType":"YulFunctionCall","src":"4691:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4717:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4662:28:181"},"nodeType":"YulFunctionCall","src":"4662:63:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4652:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4734:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4767:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4778:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4763:3:181"},"nodeType":"YulFunctionCall","src":"4763:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4750:12:181"},"nodeType":"YulFunctionCall","src":"4750:33:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"4738:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4812:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4821:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4824:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4814:6:181"},"nodeType":"YulFunctionCall","src":"4814:12:181"},"nodeType":"YulExpressionStatement","src":"4814:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"4798:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4808:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4795:2:181"},"nodeType":"YulFunctionCall","src":"4795:16:181"},"nodeType":"YulIf","src":"4792:36:181"},{"nodeType":"YulAssignment","src":"4837:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4868:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"4879:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4864:3:181"},"nodeType":"YulFunctionCall","src":"4864:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4890:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4847:16:181"},"nodeType":"YulFunctionCall","src":"4847:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4837:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4092:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4103:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4115:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4123:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4131:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4139:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4147:6:181","type":""}],"src":"3961:943:181"},{"body":{"nodeType":"YulBlock","src":"5046:1071:181","statements":[{"body":{"nodeType":"YulBlock","src":"5092:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5101:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5104:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5094:6:181"},"nodeType":"YulFunctionCall","src":"5094:12:181"},"nodeType":"YulExpressionStatement","src":"5094:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5067:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5076:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5063:3:181"},"nodeType":"YulFunctionCall","src":"5063:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5088:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5059:3:181"},"nodeType":"YulFunctionCall","src":"5059:32:181"},"nodeType":"YulIf","src":"5056:52:181"},{"nodeType":"YulVariableDeclaration","src":"5117:37:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5144:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5131:12:181"},"nodeType":"YulFunctionCall","src":"5131:23:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5121:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5163:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"5173:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5167:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5218:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5227:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5230:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5220:6:181"},"nodeType":"YulFunctionCall","src":"5220:12:181"},"nodeType":"YulExpressionStatement","src":"5220:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5206:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5214:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5203:2:181"},"nodeType":"YulFunctionCall","src":"5203:14:181"},"nodeType":"YulIf","src":"5200:34:181"},{"nodeType":"YulVariableDeclaration","src":"5243:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5257:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"5268:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5253:3:181"},"nodeType":"YulFunctionCall","src":"5253:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5247:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5323:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5332:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5335:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5325:6:181"},"nodeType":"YulFunctionCall","src":"5325:12:181"},"nodeType":"YulExpressionStatement","src":"5325:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5302:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"5306:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5298:3:181"},"nodeType":"YulFunctionCall","src":"5298:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5313:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5294:3:181"},"nodeType":"YulFunctionCall","src":"5294:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5287:6:181"},"nodeType":"YulFunctionCall","src":"5287:35:181"},"nodeType":"YulIf","src":"5284:55:181"},{"nodeType":"YulVariableDeclaration","src":"5348:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5371:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5358:12:181"},"nodeType":"YulFunctionCall","src":"5358:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"5352:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5383:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"5393:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"5387:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5406:53:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5456:2:181"}],"functionName":{"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulIdentifier","src":"5416:39:181"},"nodeType":"YulFunctionCall","src":"5416:43:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"5410:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5468:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5488:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5482:5:181"},"nodeType":"YulFunctionCall","src":"5482:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5472:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5520:6:181"},{"name":"_5","nodeType":"YulIdentifier","src":"5528:2:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"5500:19:181"},"nodeType":"YulFunctionCall","src":"5500:31:181"},"nodeType":"YulExpressionStatement","src":"5500:31:181"},{"nodeType":"YulVariableDeclaration","src":"5540:17:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"5551:6:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5544:3:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5573:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"5581:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5566:6:181"},"nodeType":"YulFunctionCall","src":"5566:18:181"},"nodeType":"YulExpressionStatement","src":"5566:18:181"},{"nodeType":"YulAssignment","src":"5593:22:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5604:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5612:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5600:3:181"},"nodeType":"YulFunctionCall","src":"5600:15:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5593:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"5624:42:181","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5646:2:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5654:1:181","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"5657:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5650:3:181"},"nodeType":"YulFunctionCall","src":"5650:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5642:3:181"},"nodeType":"YulFunctionCall","src":"5642:19:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5663:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5638:3:181"},"nodeType":"YulFunctionCall","src":"5638:28:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5628:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5698:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5707:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5710:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5700:6:181"},"nodeType":"YulFunctionCall","src":"5700:12:181"},"nodeType":"YulExpressionStatement","src":"5700:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5681:6:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5689:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5678:2:181"},"nodeType":"YulFunctionCall","src":"5678:19:181"},"nodeType":"YulIf","src":"5675:39:181"},{"nodeType":"YulVariableDeclaration","src":"5723:22:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5738:2:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5742:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5734:3:181"},"nodeType":"YulFunctionCall","src":"5734:11:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5727:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5810:92:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5831:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5855:3:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5836:18:181"},"nodeType":"YulFunctionCall","src":"5836:23:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5824:6:181"},"nodeType":"YulFunctionCall","src":"5824:36:181"},"nodeType":"YulExpressionStatement","src":"5824:36:181"},{"nodeType":"YulAssignment","src":"5873:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5884:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5889:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5880:3:181"},"nodeType":"YulFunctionCall","src":"5880:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5873:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5765:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5770:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5762:2:181"},"nodeType":"YulFunctionCall","src":"5762:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5778:23:181","statements":[{"nodeType":"YulAssignment","src":"5780:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5791:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5796:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5787:3:181"},"nodeType":"YulFunctionCall","src":"5787:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5780:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"5758:3:181","statements":[]},"src":"5754:148:181"},{"nodeType":"YulAssignment","src":"5911:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"5921:6:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5911:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5936:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5969:9:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5980:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5965:3:181"},"nodeType":"YulFunctionCall","src":"5965:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5952:12:181"},"nodeType":"YulFunctionCall","src":"5952:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5940:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6013:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6022:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6025:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6015:6:181"},"nodeType":"YulFunctionCall","src":"6015:12:181"},"nodeType":"YulExpressionStatement","src":"6015:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5999:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6009:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5996:2:181"},"nodeType":"YulFunctionCall","src":"5996:16:181"},"nodeType":"YulIf","src":"5993:36:181"},{"nodeType":"YulAssignment","src":"6038:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6081:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6092:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6077:3:181"},"nodeType":"YulFunctionCall","src":"6077:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6103:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"6048:28:181"},"nodeType":"YulFunctionCall","src":"6048:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6038:6:181"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5004:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5015:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5027:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5035:6:181","type":""}],"src":"4909:1208:181"},{"body":{"nodeType":"YulBlock","src":"6183:374:181","statements":[{"nodeType":"YulVariableDeclaration","src":"6193:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6213:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6207:5:181"},"nodeType":"YulFunctionCall","src":"6207:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6197:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6235:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"6240:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6228:6:181"},"nodeType":"YulFunctionCall","src":"6228:19:181"},"nodeType":"YulExpressionStatement","src":"6228:19:181"},{"nodeType":"YulVariableDeclaration","src":"6256:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6266:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6260:2:181","type":""}]},{"nodeType":"YulAssignment","src":"6279:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6290:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6295:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6286:3:181"},"nodeType":"YulFunctionCall","src":"6286:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6279:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"6307:28:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6325:5:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6332:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6321:3:181"},"nodeType":"YulFunctionCall","src":"6321:14:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6311:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6344:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6353:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6348:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6412:120:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6433:3:181"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6444:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6438:5:181"},"nodeType":"YulFunctionCall","src":"6438:13:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6426:6:181"},"nodeType":"YulFunctionCall","src":"6426:26:181"},"nodeType":"YulExpressionStatement","src":"6426:26:181"},{"nodeType":"YulAssignment","src":"6465:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6476:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6481:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6472:3:181"},"nodeType":"YulFunctionCall","src":"6472:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6465:3:181"}]},{"nodeType":"YulAssignment","src":"6497:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6511:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6519:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6507:3:181"},"nodeType":"YulFunctionCall","src":"6507:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6497:6:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6374:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"6377:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6371:2:181"},"nodeType":"YulFunctionCall","src":"6371:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6385:18:181","statements":[{"nodeType":"YulAssignment","src":"6387:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6396:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"6399:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6392:3:181"},"nodeType":"YulFunctionCall","src":"6392:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6387:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"6367:3:181","statements":[]},"src":"6363:169:181"},{"nodeType":"YulAssignment","src":"6541:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"6548:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6541:3:181"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6160:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6167:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6175:3:181","type":""}],"src":"6122:435:181"},{"body":{"nodeType":"YulBlock","src":"6713:110:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6730:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6741:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6723:6:181"},"nodeType":"YulFunctionCall","src":"6723:21:181"},"nodeType":"YulExpressionStatement","src":"6723:21:181"},{"nodeType":"YulAssignment","src":"6753:64:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6790:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6802:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6813:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6798:3:181"},"nodeType":"YulFunctionCall","src":"6798:18:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"6761:28:181"},"nodeType":"YulFunctionCall","src":"6761:56:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6753:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6682:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6693:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6704:4:181","type":""}],"src":"6562:261:181"},{"body":{"nodeType":"YulBlock","src":"6912:263:181","statements":[{"body":{"nodeType":"YulBlock","src":"6958:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6967:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6970:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6960:6:181"},"nodeType":"YulFunctionCall","src":"6960:12:181"},"nodeType":"YulExpressionStatement","src":"6960:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6933:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6942:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6929:3:181"},"nodeType":"YulFunctionCall","src":"6929:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6954:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6925:3:181"},"nodeType":"YulFunctionCall","src":"6925:32:181"},"nodeType":"YulIf","src":"6922:52:181"},{"nodeType":"YulAssignment","src":"6983:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7012:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6993:18:181"},"nodeType":"YulFunctionCall","src":"6993:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6983:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7031:45:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7061:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7072:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7057:3:181"},"nodeType":"YulFunctionCall","src":"7057:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7044:12:181"},"nodeType":"YulFunctionCall","src":"7044:32:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7035:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7129:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7138:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7141:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7131:6:181"},"nodeType":"YulFunctionCall","src":"7131:12:181"},"nodeType":"YulExpressionStatement","src":"7131:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7098:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7119:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7112:6:181"},"nodeType":"YulFunctionCall","src":"7112:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7105:6:181"},"nodeType":"YulFunctionCall","src":"7105:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7095:2:181"},"nodeType":"YulFunctionCall","src":"7095:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7088:6:181"},"nodeType":"YulFunctionCall","src":"7088:40:181"},"nodeType":"YulIf","src":"7085:60:181"},{"nodeType":"YulAssignment","src":"7154:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"7164:5:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7154:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6870:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6881:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6893:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6901:6:181","type":""}],"src":"6828:347:181"},{"body":{"nodeType":"YulBlock","src":"7267:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"7313:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7322:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7325:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7315:6:181"},"nodeType":"YulFunctionCall","src":"7315:12:181"},"nodeType":"YulExpressionStatement","src":"7315:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7288:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"7297:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7284:3:181"},"nodeType":"YulFunctionCall","src":"7284:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"7309:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7280:3:181"},"nodeType":"YulFunctionCall","src":"7280:32:181"},"nodeType":"YulIf","src":"7277:52:181"},{"nodeType":"YulAssignment","src":"7338:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7367:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7348:18:181"},"nodeType":"YulFunctionCall","src":"7348:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7338:6:181"}]},{"nodeType":"YulAssignment","src":"7386:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7419:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7430:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7415:3:181"},"nodeType":"YulFunctionCall","src":"7415:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7396:18:181"},"nodeType":"YulFunctionCall","src":"7396:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7386:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7225:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7236:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7248:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7256:6:181","type":""}],"src":"7180:260:181"},{"body":{"nodeType":"YulBlock","src":"7592:459:181","statements":[{"body":{"nodeType":"YulBlock","src":"7639:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7648:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7651:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7641:6:181"},"nodeType":"YulFunctionCall","src":"7641:12:181"},"nodeType":"YulExpressionStatement","src":"7641:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7613:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"7622:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7609:3:181"},"nodeType":"YulFunctionCall","src":"7609:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"7634:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7605:3:181"},"nodeType":"YulFunctionCall","src":"7605:33:181"},"nodeType":"YulIf","src":"7602:53:181"},{"nodeType":"YulAssignment","src":"7664:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7693:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7674:18:181"},"nodeType":"YulFunctionCall","src":"7674:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7664:6:181"}]},{"nodeType":"YulAssignment","src":"7712:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7745:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7756:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7741:3:181"},"nodeType":"YulFunctionCall","src":"7741:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7722:18:181"},"nodeType":"YulFunctionCall","src":"7722:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7712:6:181"}]},{"nodeType":"YulAssignment","src":"7769:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7796:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7807:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7792:3:181"},"nodeType":"YulFunctionCall","src":"7792:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7779:12:181"},"nodeType":"YulFunctionCall","src":"7779:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7769:6:181"}]},{"nodeType":"YulAssignment","src":"7820:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7847:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7858:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7843:3:181"},"nodeType":"YulFunctionCall","src":"7843:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7830:12:181"},"nodeType":"YulFunctionCall","src":"7830:32:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7820:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7871:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7902:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7913:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7898:3:181"},"nodeType":"YulFunctionCall","src":"7898:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7885:12:181"},"nodeType":"YulFunctionCall","src":"7885:33:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7875:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7961:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7970:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7973:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7963:6:181"},"nodeType":"YulFunctionCall","src":"7963:12:181"},"nodeType":"YulExpressionStatement","src":"7963:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7933:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7941:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7930:2:181"},"nodeType":"YulFunctionCall","src":"7930:30:181"},"nodeType":"YulIf","src":"7927:50:181"},{"nodeType":"YulAssignment","src":"7986:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8017:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"8028:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8013:3:181"},"nodeType":"YulFunctionCall","src":"8013:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8037:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7996:16:181"},"nodeType":"YulFunctionCall","src":"7996:49:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"7986:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7526:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7537:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7549:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7557:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7565:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7573:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7581:6:181","type":""}],"src":"7445:606:181"},{"body":{"nodeType":"YulBlock","src":"8230:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8247:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8258:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8240:6:181"},"nodeType":"YulFunctionCall","src":"8240:21:181"},"nodeType":"YulExpressionStatement","src":"8240:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8281:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8292:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8277:3:181"},"nodeType":"YulFunctionCall","src":"8277:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8297:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8270:6:181"},"nodeType":"YulFunctionCall","src":"8270:30:181"},"nodeType":"YulExpressionStatement","src":"8270:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8320:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8331:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8316:3:181"},"nodeType":"YulFunctionCall","src":"8316:18:181"},{"hexValue":"455243313135353a2061646472657373207a65726f206973206e6f7420612076","kind":"string","nodeType":"YulLiteral","src":"8336:34:181","type":"","value":"ERC1155: address zero is not a v"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8309:6:181"},"nodeType":"YulFunctionCall","src":"8309:62:181"},"nodeType":"YulExpressionStatement","src":"8309:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8391:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8402:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8387:3:181"},"nodeType":"YulFunctionCall","src":"8387:18:181"},{"hexValue":"616c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"8407:12:181","type":"","value":"alid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8380:6:181"},"nodeType":"YulFunctionCall","src":"8380:40:181"},"nodeType":"YulExpressionStatement","src":"8380:40:181"},{"nodeType":"YulAssignment","src":"8429:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8441:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8452:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8437:3:181"},"nodeType":"YulFunctionCall","src":"8437:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8429:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8207:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8221:4:181","type":""}],"src":"8056:406:181"},{"body":{"nodeType":"YulBlock","src":"8522:325:181","statements":[{"nodeType":"YulAssignment","src":"8532:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8546:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"8549:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"8542:3:181"},"nodeType":"YulFunctionCall","src":"8542:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8532:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"8563:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"8593:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"8599:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8589:3:181"},"nodeType":"YulFunctionCall","src":"8589:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"8567:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8640:31:181","statements":[{"nodeType":"YulAssignment","src":"8642:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8656:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"8664:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8652:3:181"},"nodeType":"YulFunctionCall","src":"8652:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8642:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8620:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8613:6:181"},"nodeType":"YulFunctionCall","src":"8613:26:181"},"nodeType":"YulIf","src":"8610:61:181"},{"body":{"nodeType":"YulBlock","src":"8730:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8751:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8758:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8763:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8754:3:181"},"nodeType":"YulFunctionCall","src":"8754:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8744:6:181"},"nodeType":"YulFunctionCall","src":"8744:31:181"},"nodeType":"YulExpressionStatement","src":"8744:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8795:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8798:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8788:6:181"},"nodeType":"YulFunctionCall","src":"8788:15:181"},"nodeType":"YulExpressionStatement","src":"8788:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8823:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8826:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8816:6:181"},"nodeType":"YulFunctionCall","src":"8816:15:181"},"nodeType":"YulExpressionStatement","src":"8816:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8686:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8709:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"8717:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8706:2:181"},"nodeType":"YulFunctionCall","src":"8706:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8683:2:181"},"nodeType":"YulFunctionCall","src":"8683:38:181"},"nodeType":"YulIf","src":"8680:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"8502:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"8511:6:181","type":""}],"src":"8467:380:181"},{"body":{"nodeType":"YulBlock","src":"9026:236:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9054:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9036:6:181"},"nodeType":"YulFunctionCall","src":"9036:21:181"},"nodeType":"YulExpressionStatement","src":"9036:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9077:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9088:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9073:3:181"},"nodeType":"YulFunctionCall","src":"9073:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9093:2:181","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9066:6:181"},"nodeType":"YulFunctionCall","src":"9066:30:181"},"nodeType":"YulExpressionStatement","src":"9066:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9116:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9127:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9112:3:181"},"nodeType":"YulFunctionCall","src":"9112:18:181"},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e","kind":"string","nodeType":"YulLiteral","src":"9132:34:181","type":"","value":"ERC1155: caller is not token own"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9105:6:181"},"nodeType":"YulFunctionCall","src":"9105:62:181"},"nodeType":"YulExpressionStatement","src":"9105:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9187:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9198:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9183:3:181"},"nodeType":"YulFunctionCall","src":"9183:18:181"},{"hexValue":"6572206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"9203:16:181","type":"","value":"er or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9176:6:181"},"nodeType":"YulFunctionCall","src":"9176:44:181"},"nodeType":"YulExpressionStatement","src":"9176:44:181"},{"nodeType":"YulAssignment","src":"9229:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9241:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9252:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9237:3:181"},"nodeType":"YulFunctionCall","src":"9237:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9229:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9003:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9017:4:181","type":""}],"src":"8852:410:181"},{"body":{"nodeType":"YulBlock","src":"9441:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9458:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9469:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9451:6:181"},"nodeType":"YulFunctionCall","src":"9451:21:181"},"nodeType":"YulExpressionStatement","src":"9451:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9492:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9503:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9488:3:181"},"nodeType":"YulFunctionCall","src":"9488:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9508:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9481:6:181"},"nodeType":"YulFunctionCall","src":"9481:30:181"},"nodeType":"YulExpressionStatement","src":"9481:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9531:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9542:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9527:3:181"},"nodeType":"YulFunctionCall","src":"9527:18:181"},{"hexValue":"455243313135353a206163636f756e747320616e6420696473206c656e677468","kind":"string","nodeType":"YulLiteral","src":"9547:34:181","type":"","value":"ERC1155: accounts and ids length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9520:6:181"},"nodeType":"YulFunctionCall","src":"9520:62:181"},"nodeType":"YulExpressionStatement","src":"9520:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9602:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9613:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9598:3:181"},"nodeType":"YulFunctionCall","src":"9598:18:181"},{"hexValue":"206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"9618:11:181","type":"","value":" mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9591:6:181"},"nodeType":"YulFunctionCall","src":"9591:39:181"},"nodeType":"YulExpressionStatement","src":"9591:39:181"},{"nodeType":"YulAssignment","src":"9639:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9662:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9647:3:181"},"nodeType":"YulFunctionCall","src":"9647:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9639:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9418:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9432:4:181","type":""}],"src":"9267:405:181"},{"body":{"nodeType":"YulBlock","src":"9709:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9726:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9733:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9738:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9729:3:181"},"nodeType":"YulFunctionCall","src":"9729:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9719:6:181"},"nodeType":"YulFunctionCall","src":"9719:31:181"},"nodeType":"YulExpressionStatement","src":"9719:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9766:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9769:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9759:6:181"},"nodeType":"YulFunctionCall","src":"9759:15:181"},"nodeType":"YulExpressionStatement","src":"9759:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9790:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9793:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9783:6:181"},"nodeType":"YulFunctionCall","src":"9783:15:181"},"nodeType":"YulExpressionStatement","src":"9783:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"9677:127:181"},{"body":{"nodeType":"YulBlock","src":"9841:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9858:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9865:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9870:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9861:3:181"},"nodeType":"YulFunctionCall","src":"9861:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9851:6:181"},"nodeType":"YulFunctionCall","src":"9851:31:181"},"nodeType":"YulExpressionStatement","src":"9851:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9898:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9901:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9891:6:181"},"nodeType":"YulFunctionCall","src":"9891:15:181"},"nodeType":"YulExpressionStatement","src":"9891:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9922:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9925:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9915:6:181"},"nodeType":"YulFunctionCall","src":"9915:15:181"},"nodeType":"YulExpressionStatement","src":"9915:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9809:127:181"},{"body":{"nodeType":"YulBlock","src":"9988:88:181","statements":[{"body":{"nodeType":"YulBlock","src":"10019:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10021:16:181"},"nodeType":"YulFunctionCall","src":"10021:18:181"},"nodeType":"YulExpressionStatement","src":"10021:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10004:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10015:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10011:3:181"},"nodeType":"YulFunctionCall","src":"10011:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10001:2:181"},"nodeType":"YulFunctionCall","src":"10001:17:181"},"nodeType":"YulIf","src":"9998:43:181"},{"nodeType":"YulAssignment","src":"10050:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10061:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"10068:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10057:3:181"},"nodeType":"YulFunctionCall","src":"10057:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"10050:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9970:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"9980:3:181","type":""}],"src":"9941:135:181"},{"body":{"nodeType":"YulBlock","src":"10255:230:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10272:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10283:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10265:6:181"},"nodeType":"YulFunctionCall","src":"10265:21:181"},"nodeType":"YulExpressionStatement","src":"10265:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10306:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10317:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10302:3:181"},"nodeType":"YulFunctionCall","src":"10302:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10322:2:181","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10295:6:181"},"nodeType":"YulFunctionCall","src":"10295:30:181"},"nodeType":"YulExpressionStatement","src":"10295:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10345:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10356:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10341:3:181"},"nodeType":"YulFunctionCall","src":"10341:18:181"},{"hexValue":"455243313135353a2069647320616e6420616d6f756e7473206c656e67746820","kind":"string","nodeType":"YulLiteral","src":"10361:34:181","type":"","value":"ERC1155: ids and amounts length "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10334:6:181"},"nodeType":"YulFunctionCall","src":"10334:62:181"},"nodeType":"YulExpressionStatement","src":"10334:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10416:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10427:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10412:3:181"},"nodeType":"YulFunctionCall","src":"10412:18:181"},{"hexValue":"6d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"10432:10:181","type":"","value":"mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10405:6:181"},"nodeType":"YulFunctionCall","src":"10405:38:181"},"nodeType":"YulExpressionStatement","src":"10405:38:181"},{"nodeType":"YulAssignment","src":"10452:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10464:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10475:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10460:3:181"},"nodeType":"YulFunctionCall","src":"10460:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10452:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10232:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10246:4:181","type":""}],"src":"10081:404:181"},{"body":{"nodeType":"YulBlock","src":"10664:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10681:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10692:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10674:6:181"},"nodeType":"YulFunctionCall","src":"10674:21:181"},"nodeType":"YulExpressionStatement","src":"10674:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10715:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10726:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10711:3:181"},"nodeType":"YulFunctionCall","src":"10711:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10731:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10704:6:181"},"nodeType":"YulFunctionCall","src":"10704:30:181"},"nodeType":"YulExpressionStatement","src":"10704:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10754:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10765:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10750:3:181"},"nodeType":"YulFunctionCall","src":"10750:18:181"},{"hexValue":"455243313135353a207472616e7366657220746f20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"10770:34:181","type":"","value":"ERC1155: transfer to the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10743:6:181"},"nodeType":"YulFunctionCall","src":"10743:62:181"},"nodeType":"YulExpressionStatement","src":"10743:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10825:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10836:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10821:3:181"},"nodeType":"YulFunctionCall","src":"10821:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"10841:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10814:6:181"},"nodeType":"YulFunctionCall","src":"10814:35:181"},"nodeType":"YulExpressionStatement","src":"10814:35:181"},{"nodeType":"YulAssignment","src":"10858:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10870:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10881:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10866:3:181"},"nodeType":"YulFunctionCall","src":"10866:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10858:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10641:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10655:4:181","type":""}],"src":"10490:401:181"},{"body":{"nodeType":"YulBlock","src":"11070:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11087:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11098:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11080:6:181"},"nodeType":"YulFunctionCall","src":"11080:21:181"},"nodeType":"YulExpressionStatement","src":"11080:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11121:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11132:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11117:3:181"},"nodeType":"YulFunctionCall","src":"11117:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11137:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11110:6:181"},"nodeType":"YulFunctionCall","src":"11110:30:181"},"nodeType":"YulExpressionStatement","src":"11110:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11160:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11171:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11156:3:181"},"nodeType":"YulFunctionCall","src":"11156:18:181"},{"hexValue":"455243313135353a20696e73756666696369656e742062616c616e636520666f","kind":"string","nodeType":"YulLiteral","src":"11176:34:181","type":"","value":"ERC1155: insufficient balance fo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11149:6:181"},"nodeType":"YulFunctionCall","src":"11149:62:181"},"nodeType":"YulExpressionStatement","src":"11149:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11231:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11242:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11227:3:181"},"nodeType":"YulFunctionCall","src":"11227:18:181"},{"hexValue":"72207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"11247:12:181","type":"","value":"r transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11220:6:181"},"nodeType":"YulFunctionCall","src":"11220:40:181"},"nodeType":"YulExpressionStatement","src":"11220:40:181"},{"nodeType":"YulAssignment","src":"11269:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11281:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11292:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11277:3:181"},"nodeType":"YulFunctionCall","src":"11277:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11269:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11047:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11061:4:181","type":""}],"src":"10896:406:181"},{"body":{"nodeType":"YulBlock","src":"11355:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"11382:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11384:16:181"},"nodeType":"YulFunctionCall","src":"11384:18:181"},"nodeType":"YulExpressionStatement","src":"11384:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11371:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"11378:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11374:3:181"},"nodeType":"YulFunctionCall","src":"11374:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11368:2:181"},"nodeType":"YulFunctionCall","src":"11368:13:181"},"nodeType":"YulIf","src":"11365:39:181"},{"nodeType":"YulAssignment","src":"11413:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11424:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"11427:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11420:3:181"},"nodeType":"YulFunctionCall","src":"11420:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"11413:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11338:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"11341:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"11347:3:181","type":""}],"src":"11307:128:181"},{"body":{"nodeType":"YulBlock","src":"11669:236:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11686:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11697:2:181","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11679:6:181"},"nodeType":"YulFunctionCall","src":"11679:21:181"},"nodeType":"YulExpressionStatement","src":"11679:21:181"},{"nodeType":"YulVariableDeclaration","src":"11709:70:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11752:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11764:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11775:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11760:3:181"},"nodeType":"YulFunctionCall","src":"11760:18:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"11723:28:181"},"nodeType":"YulFunctionCall","src":"11723:56:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11713:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11799:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11810:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11795:3:181"},"nodeType":"YulFunctionCall","src":"11795:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"11819:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"11827:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11815:3:181"},"nodeType":"YulFunctionCall","src":"11815:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11788:6:181"},"nodeType":"YulFunctionCall","src":"11788:50:181"},"nodeType":"YulExpressionStatement","src":"11788:50:181"},{"nodeType":"YulAssignment","src":"11847:52:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11884:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"11892:6:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"11855:28:181"},"nodeType":"YulFunctionCall","src":"11855:44:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11847:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11630:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11641:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11649:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11660:4:181","type":""}],"src":"11440:465:181"},{"body":{"nodeType":"YulBlock","src":"12084:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12101:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12112:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12094:6:181"},"nodeType":"YulFunctionCall","src":"12094:21:181"},"nodeType":"YulExpressionStatement","src":"12094:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12135:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12146:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12131:3:181"},"nodeType":"YulFunctionCall","src":"12131:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12151:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12124:6:181"},"nodeType":"YulFunctionCall","src":"12124:30:181"},"nodeType":"YulExpressionStatement","src":"12124:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12174:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12185:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12170:3:181"},"nodeType":"YulFunctionCall","src":"12170:18:181"},{"hexValue":"455243313135353a2073657474696e6720617070726f76616c20737461747573","kind":"string","nodeType":"YulLiteral","src":"12190:34:181","type":"","value":"ERC1155: setting approval status"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12163:6:181"},"nodeType":"YulFunctionCall","src":"12163:62:181"},"nodeType":"YulExpressionStatement","src":"12163:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12245:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12256:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12241:3:181"},"nodeType":"YulFunctionCall","src":"12241:18:181"},{"hexValue":"20666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"12261:11:181","type":"","value":" for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12234:6:181"},"nodeType":"YulFunctionCall","src":"12234:39:181"},"nodeType":"YulExpressionStatement","src":"12234:39:181"},{"nodeType":"YulAssignment","src":"12282:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12294:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12305:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12290:3:181"},"nodeType":"YulFunctionCall","src":"12290:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12282:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12061:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12075:4:181","type":""}],"src":"11910:405:181"},{"body":{"nodeType":"YulBlock","src":"12449:119:181","statements":[{"nodeType":"YulAssignment","src":"12459:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12471:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12482:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12467:3:181"},"nodeType":"YulFunctionCall","src":"12467:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12459:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12501:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"12512:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12494:6:181"},"nodeType":"YulFunctionCall","src":"12494:25:181"},"nodeType":"YulExpressionStatement","src":"12494:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12539:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12550:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12535:3:181"},"nodeType":"YulFunctionCall","src":"12535:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"12555:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12528:6:181"},"nodeType":"YulFunctionCall","src":"12528:34:181"},"nodeType":"YulExpressionStatement","src":"12528:34:181"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12410:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12421:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12429:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12440:4:181","type":""}],"src":"12320:248:181"},{"body":{"nodeType":"YulBlock","src":"12904:496:181","statements":[{"nodeType":"YulVariableDeclaration","src":"12914:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12932:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12937:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12928:3:181"},"nodeType":"YulFunctionCall","src":"12928:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"12941:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12924:3:181"},"nodeType":"YulFunctionCall","src":"12924:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12918:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12959:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12974:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"12982:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12970:3:181"},"nodeType":"YulFunctionCall","src":"12970:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12952:6:181"},"nodeType":"YulFunctionCall","src":"12952:34:181"},"nodeType":"YulExpressionStatement","src":"12952:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13006:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13017:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13002:3:181"},"nodeType":"YulFunctionCall","src":"13002:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13026:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"13034:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13022:3:181"},"nodeType":"YulFunctionCall","src":"13022:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12995:6:181"},"nodeType":"YulFunctionCall","src":"12995:43:181"},"nodeType":"YulExpressionStatement","src":"12995:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13058:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13069:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13054:3:181"},"nodeType":"YulFunctionCall","src":"13054:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13074:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13047:6:181"},"nodeType":"YulFunctionCall","src":"13047:31:181"},"nodeType":"YulExpressionStatement","src":"13047:31:181"},{"nodeType":"YulVariableDeclaration","src":"13087:71:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13130:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13142:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13153:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13138:3:181"},"nodeType":"YulFunctionCall","src":"13138:19:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"13101:28:181"},"nodeType":"YulFunctionCall","src":"13101:57:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"13091:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13178:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13189:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13174:3:181"},"nodeType":"YulFunctionCall","src":"13174:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"13198:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13206:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13194:3:181"},"nodeType":"YulFunctionCall","src":"13194:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13167:6:181"},"nodeType":"YulFunctionCall","src":"13167:50:181"},"nodeType":"YulExpressionStatement","src":"13167:50:181"},{"nodeType":"YulVariableDeclaration","src":"13226:58:181","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"13269:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"13277:6:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"13240:28:181"},"nodeType":"YulFunctionCall","src":"13240:44:181"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"13230:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13304:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13315:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13300:3:181"},"nodeType":"YulFunctionCall","src":"13300:19:181"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13325:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13333:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13321:3:181"},"nodeType":"YulFunctionCall","src":"13321:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13293:6:181"},"nodeType":"YulFunctionCall","src":"13293:51:181"},"nodeType":"YulExpressionStatement","src":"13293:51:181"},{"nodeType":"YulAssignment","src":"13353:41:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"13379:6:181"},{"name":"tail_2","nodeType":"YulIdentifier","src":"13387:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13361:17:181"},"nodeType":"YulFunctionCall","src":"13361:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13353:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12841:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12852:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12860:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12868:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12876:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12884:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12895:4:181","type":""}],"src":"12573:827:181"},{"body":{"nodeType":"YulBlock","src":"13485:169:181","statements":[{"body":{"nodeType":"YulBlock","src":"13531:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13540:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13543:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13533:6:181"},"nodeType":"YulFunctionCall","src":"13533:12:181"},"nodeType":"YulExpressionStatement","src":"13533:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13506:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13515:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13502:3:181"},"nodeType":"YulFunctionCall","src":"13502:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"13527:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13498:3:181"},"nodeType":"YulFunctionCall","src":"13498:32:181"},"nodeType":"YulIf","src":"13495:52:181"},{"nodeType":"YulVariableDeclaration","src":"13556:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13575:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13569:5:181"},"nodeType":"YulFunctionCall","src":"13569:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13560:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13618:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"13594:23:181"},"nodeType":"YulFunctionCall","src":"13594:30:181"},"nodeType":"YulExpressionStatement","src":"13594:30:181"},{"nodeType":"YulAssignment","src":"13633:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"13643:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13633:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13451:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13462:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13474:6:181","type":""}],"src":"13405:249:181"},{"body":{"nodeType":"YulBlock","src":"13702:136:181","statements":[{"body":{"nodeType":"YulBlock","src":"13747:85:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13776:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13779:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13782:1:181","type":"","value":"4"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"13761:14:181"},"nodeType":"YulFunctionCall","src":"13761:23:181"},"nodeType":"YulExpressionStatement","src":"13761:23:181"},{"nodeType":"YulAssignment","src":"13797:25:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13808:3:181","type":"","value":"224"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13819:1:181","type":"","value":"0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13813:5:181"},"nodeType":"YulFunctionCall","src":"13813:8:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"13804:3:181"},"nodeType":"YulFunctionCall","src":"13804:18:181"},"variableNames":[{"name":"sig","nodeType":"YulIdentifier","src":"13797:3:181"}]}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"13718:14:181"},"nodeType":"YulFunctionCall","src":"13718:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"13736:1:181","type":"","value":"3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13715:2:181"},"nodeType":"YulFunctionCall","src":"13715:23:181"},"nodeType":"YulIf","src":"13712:120:181"}]},"name":"return_data_selector","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"sig","nodeType":"YulTypedName","src":"13694:3:181","type":""}],"src":"13659:179:181"},{"body":{"nodeType":"YulBlock","src":"13890:624:181","statements":[{"body":{"nodeType":"YulBlock","src":"13930:9:181","statements":[{"nodeType":"YulLeave","src":"13932:5:181"}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"13906:14:181"},"nodeType":"YulFunctionCall","src":"13906:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"13924:4:181","type":"","value":"0x44"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13903:2:181"},"nodeType":"YulFunctionCall","src":"13903:26:181"},"nodeType":"YulIf","src":"13900:39:181"},{"nodeType":"YulVariableDeclaration","src":"13948:21:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13966:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13960:5:181"},"nodeType":"YulFunctionCall","src":"13960:9:181"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"13952:4:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13978:16:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13992:1:181","type":"","value":"3"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13988:3:181"},"nodeType":"YulFunctionCall","src":"13988:6:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13982:2:181","type":""}]},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14018:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"14024:1:181","type":"","value":"4"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"14031:14:181"},"nodeType":"YulFunctionCall","src":"14031:16:181"},{"name":"_1","nodeType":"YulIdentifier","src":"14049:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14027:3:181"},"nodeType":"YulFunctionCall","src":"14027:25:181"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"14003:14:181"},"nodeType":"YulFunctionCall","src":"14003:50:181"},"nodeType":"YulExpressionStatement","src":"14003:50:181"},{"nodeType":"YulVariableDeclaration","src":"14062:25:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14082:4:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14076:5:181"},"nodeType":"YulFunctionCall","src":"14076:11:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14066:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14096:26:181","value":{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"14106:14:181"},"nodeType":"YulFunctionCall","src":"14106:16:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"14100:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14131:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"14141:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"14135:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"14217:9:181","statements":[{"nodeType":"YulLeave","src":"14219:5:181"}]},"condition":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14177:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"14185:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14174:2:181"},"nodeType":"YulFunctionCall","src":"14174:14:181"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14197:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"14205:4:181","type":"","value":"0x24"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14193:3:181"},"nodeType":"YulFunctionCall","src":"14193:17:181"},{"name":"_2","nodeType":"YulIdentifier","src":"14212:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14190:2:181"},"nodeType":"YulFunctionCall","src":"14190:25:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14171:2:181"},"nodeType":"YulFunctionCall","src":"14171:45:181"},"nodeType":"YulIf","src":"14168:58:181"},{"nodeType":"YulVariableDeclaration","src":"14235:28:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14250:4:181"},{"name":"offset","nodeType":"YulIdentifier","src":"14256:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14246:3:181"},"nodeType":"YulFunctionCall","src":"14246:17:181"},"variables":[{"name":"msg","nodeType":"YulTypedName","src":"14239:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14272:24:181","value":{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"14292:3:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14286:5:181"},"nodeType":"YulFunctionCall","src":"14286:10:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"14276:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"14323:9:181","statements":[{"nodeType":"YulLeave","src":"14325:5:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14311:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"14319:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14308:2:181"},"nodeType":"YulFunctionCall","src":"14308:14:181"},"nodeType":"YulIf","src":"14305:27:181"},{"body":{"nodeType":"YulBlock","src":"14414:9:181","statements":[{"nodeType":"YulLeave","src":"14416:5:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"14355:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"14360:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14351:3:181"},"nodeType":"YulFunctionCall","src":"14351:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"14369:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14347:3:181"},"nodeType":"YulFunctionCall","src":"14347:27:181"},{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14384:4:181"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"14390:14:181"},"nodeType":"YulFunctionCall","src":"14390:16:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14380:3:181"},"nodeType":"YulFunctionCall","src":"14380:27:181"},{"name":"_1","nodeType":"YulIdentifier","src":"14409:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14376:3:181"},"nodeType":"YulFunctionCall","src":"14376:36:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14344:2:181"},"nodeType":"YulFunctionCall","src":"14344:69:181"},"nodeType":"YulIf","src":"14341:82:181"},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14452:4:181"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14466:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"14474:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14462:3:181"},"nodeType":"YulFunctionCall","src":"14462:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"14483:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14458:3:181"},"nodeType":"YulFunctionCall","src":"14458:30:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"14432:19:181"},"nodeType":"YulFunctionCall","src":"14432:57:181"},"nodeType":"YulExpressionStatement","src":"14432:57:181"},{"nodeType":"YulAssignment","src":"14498:10:181","value":{"name":"msg","nodeType":"YulIdentifier","src":"14505:3:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14498:3:181"}]}]},"name":"try_decode_error_message","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"13882:3:181","type":""}],"src":"13843:671:181"},{"body":{"nodeType":"YulBlock","src":"14693:242:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14710:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14721:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14703:6:181"},"nodeType":"YulFunctionCall","src":"14703:21:181"},"nodeType":"YulExpressionStatement","src":"14703:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14744:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14755:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14740:3:181"},"nodeType":"YulFunctionCall","src":"14740:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"14760:2:181","type":"","value":"52"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14733:6:181"},"nodeType":"YulFunctionCall","src":"14733:30:181"},"nodeType":"YulExpressionStatement","src":"14733:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14794:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14779:3:181"},"nodeType":"YulFunctionCall","src":"14779:18:181"},{"hexValue":"455243313135353a207472616e7366657220746f206e6f6e2d45524331313535","kind":"string","nodeType":"YulLiteral","src":"14799:34:181","type":"","value":"ERC1155: transfer to non-ERC1155"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14772:6:181"},"nodeType":"YulFunctionCall","src":"14772:62:181"},"nodeType":"YulExpressionStatement","src":"14772:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14854:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14865:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14850:3:181"},"nodeType":"YulFunctionCall","src":"14850:18:181"},{"hexValue":"526563656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"14870:22:181","type":"","value":"Receiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14843:6:181"},"nodeType":"YulFunctionCall","src":"14843:50:181"},"nodeType":"YulExpressionStatement","src":"14843:50:181"},{"nodeType":"YulAssignment","src":"14902:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14914:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14925:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14910:3:181"},"nodeType":"YulFunctionCall","src":"14910:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14902:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14670:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14684:4:181","type":""}],"src":"14519:416:181"},{"body":{"nodeType":"YulBlock","src":"15114:230:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15131:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15142:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15124:6:181"},"nodeType":"YulFunctionCall","src":"15124:21:181"},"nodeType":"YulExpressionStatement","src":"15124:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15165:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15176:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15161:3:181"},"nodeType":"YulFunctionCall","src":"15161:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15181:2:181","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15154:6:181"},"nodeType":"YulFunctionCall","src":"15154:30:181"},"nodeType":"YulExpressionStatement","src":"15154:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15204:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15215:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15200:3:181"},"nodeType":"YulFunctionCall","src":"15200:18:181"},{"hexValue":"455243313135353a204552433131353552656365697665722072656a65637465","kind":"string","nodeType":"YulLiteral","src":"15220:34:181","type":"","value":"ERC1155: ERC1155Receiver rejecte"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15193:6:181"},"nodeType":"YulFunctionCall","src":"15193:62:181"},"nodeType":"YulExpressionStatement","src":"15193:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15275:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15286:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15271:3:181"},"nodeType":"YulFunctionCall","src":"15271:18:181"},{"hexValue":"6420746f6b656e73","kind":"string","nodeType":"YulLiteral","src":"15291:10:181","type":"","value":"d tokens"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15264:6:181"},"nodeType":"YulFunctionCall","src":"15264:38:181"},"nodeType":"YulExpressionStatement","src":"15264:38:181"},{"nodeType":"YulAssignment","src":"15311:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15323:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15334:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15319:3:181"},"nodeType":"YulFunctionCall","src":"15319:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15311:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15091:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15105:4:181","type":""}],"src":"14940:404:181"},{"body":{"nodeType":"YulBlock","src":"15580:330:181","statements":[{"nodeType":"YulVariableDeclaration","src":"15590:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15608:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15613:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15604:3:181"},"nodeType":"YulFunctionCall","src":"15604:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"15617:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15600:3:181"},"nodeType":"YulFunctionCall","src":"15600:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15594:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15635:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15650:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15658:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15646:3:181"},"nodeType":"YulFunctionCall","src":"15646:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15628:6:181"},"nodeType":"YulFunctionCall","src":"15628:34:181"},"nodeType":"YulExpressionStatement","src":"15628:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15682:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15693:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15678:3:181"},"nodeType":"YulFunctionCall","src":"15678:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15702:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15710:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15698:3:181"},"nodeType":"YulFunctionCall","src":"15698:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15671:6:181"},"nodeType":"YulFunctionCall","src":"15671:43:181"},"nodeType":"YulExpressionStatement","src":"15671:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15745:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15730:3:181"},"nodeType":"YulFunctionCall","src":"15730:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"15750:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15723:6:181"},"nodeType":"YulFunctionCall","src":"15723:34:181"},"nodeType":"YulExpressionStatement","src":"15723:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15777:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15788:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15773:3:181"},"nodeType":"YulFunctionCall","src":"15773:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"15793:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15766:6:181"},"nodeType":"YulFunctionCall","src":"15766:34:181"},"nodeType":"YulExpressionStatement","src":"15766:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15820:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15831:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15816:3:181"},"nodeType":"YulFunctionCall","src":"15816:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"15837:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15809:6:181"},"nodeType":"YulFunctionCall","src":"15809:32:181"},"nodeType":"YulExpressionStatement","src":"15809:32:181"},{"nodeType":"YulAssignment","src":"15850:54:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"15876:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15888:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15899:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15884:3:181"},"nodeType":"YulFunctionCall","src":"15884:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"15858:17:181"},"nodeType":"YulFunctionCall","src":"15858:46:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15850:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15517:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"15528:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"15536:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15544:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15552:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15560:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15571:4:181","type":""}],"src":"15349:561:181"}]},"contents":"{\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\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 validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := 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 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_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function finalize_allocation(memPtr, size)\n {\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint256_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let _3 := array_allocation_size_array_uint256_dyn(_1)\n let memPtr := mload(64)\n finalize_allocation(memPtr, _3)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n }\n array := memPtr\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let memPtr := mload(64)\n finalize_allocation(memPtr, add(and(add(_1, 0x1f), not(31)), 0x20))\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_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(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_array_uint256_dyn(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_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n let _4 := 0x20\n let _5 := array_allocation_size_array_uint256_dyn(_3)\n let memPtr := mload(64)\n finalize_allocation(memPtr, _5)\n let dst := memPtr\n mstore(memPtr, _3)\n dst := add(memPtr, _4)\n let srcEnd := add(add(_2, shl(5, _3)), _4)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _4)\n for { } lt(src, srcEnd) { src := add(src, _4) }\n {\n mstore(dst, abi_decode_address(src))\n dst := add(dst, _4)\n }\n value0 := memPtr\n let offset_1 := calldataload(add(headStart, _4))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_array_uint256_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_bool(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(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC1155: address zero is not a v\")\n mstore(add(headStart, 96), \"alid owner\")\n tail := add(headStart, 128)\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 abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC1155: caller is not token own\")\n mstore(add(headStart, 96), \"er or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC1155: accounts and ids length\")\n mstore(add(headStart, 96), \" mismatch\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC1155: ids and amounts length \")\n mstore(add(headStart, 96), \"mismatch\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC1155: transfer to the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC1155: insufficient balance fo\")\n mstore(add(headStart, 96), \"r transfer\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_array_uint256_dyn(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_array_uint256_dyn(value1, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC1155: setting approval status\")\n mstore(add(headStart, 96), \" for self\")\n tail := add(headStart, 128)\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_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), 160)\n let tail_1 := abi_encode_array_uint256_dyn(value2, add(headStart, 160))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_array_uint256_dyn(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_string(value4, tail_2)\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function return_data_selector() -> sig\n {\n if gt(returndatasize(), 3)\n {\n returndatacopy(0, 0, 4)\n sig := shr(224, mload(0))\n }\n }\n function try_decode_error_message() -> ret\n {\n if lt(returndatasize(), 0x44) { leave }\n let data := mload(64)\n let _1 := not(3)\n returndatacopy(data, 4, add(returndatasize(), _1))\n let offset := mload(data)\n let _2 := returndatasize()\n let _3 := 0xffffffffffffffff\n if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n let msg := add(data, offset)\n let length := mload(msg)\n if gt(length, _3) { leave }\n if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n finalize_allocation(data, add(add(offset, length), 0x20))\n ret := msg\n }\n function abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"ERC1155: transfer to non-ERC1155\")\n mstore(add(headStart, 96), \"Receiver implementer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC1155: ERC1155Receiver rejecte\")\n mstore(add(headStart, 96), \"d tokens\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 160)\n tail := abi_encode_string(value4, add(headStart, 160))\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461017957600080fd5b8062fdd58e1461008c57806301ffc9a7146100b25780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610b5f565b61018c565b6040519081526020015b60405180910390f35b6100c56100c0366004610ba2565b610222565b60405190151581526020016100a9565b6100e86100e3366004610bc6565b610274565b6040516100a99190610c2c565b610108610103366004610d8b565b610308565b005b61011d610118366004610e35565b610354565b6040516100a99190610f3b565b610108610138366004610f4e565b61047e565b6100c561014b366004610f8a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b610108610187366004610fbd565b61048d565b60006001600160a01b0383166101fc5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061025357506001600160e01b031982166303a24d0760e21b145b8061026e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461028390611022565b80601f01602080910402602001604051908101604052809291908181526020018280546102af90611022565b80156102fc5780601f106102d1576101008083540402835291602001916102fc565b820191906000526020600020905b8154815290600101906020018083116102df57829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103245750610324853361014b565b6103405760405162461bcd60e51b81526004016101f39061105d565b61034d85858585856104d2565b5050505050565b606081518351146103b95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016101f3565b6000835167ffffffffffffffff8111156103d5576103d5610c3f565b6040519080825280602002602001820160405280156103fe578160200160208202803683370190505b50905060005b845181101561047657610449858281518110610422576104226110ab565b602002602001015185838151811061043c5761043c6110ab565b602002602001015161018c565b82828151811061045b5761045b6110ab565b602090810291909101015261046f816110d7565b9050610404565b509392505050565b6104893383836106af565b5050565b6001600160a01b0385163314806104a957506104a9853361014b565b6104c55760405162461bcd60e51b81526004016101f39061105d565b61034d8585858585610790565b81518351146105345760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016101f3565b6001600160a01b03841661055a5760405162461bcd60e51b81526004016101f3906110f2565b3360005b845181101561064157600085828151811061057b5761057b6110ab565b602002602001015190506000858381518110610599576105996110ab565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105e95760405162461bcd60e51b81526004016101f390611137565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610626908490611181565b925050819055505050508061063a906110d7565b905061055e565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610691929190611199565b60405180910390a46106a78187878787876108ba565b505050505050565b816001600160a01b0316836001600160a01b031614156107235760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016101f3565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107b65760405162461bcd60e51b81526004016101f3906110f2565b3360006107c285610a2e565b905060006107cf85610a2e565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156108125760405162461bcd60e51b81526004016101f390611137565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061084f908490611181565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108af848a8a8a8a8a610a79565b505050505050505050565b6001600160a01b0384163b156106a75760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108fe90899089908890889088906004016111c7565b602060405180830381600087803b15801561091857600080fd5b505af1925050508015610948575060408051601f3d908101601f1916820190925261094591810190611225565b60015b6109f557610954611242565b806308c379a0141561098e575061096961125e565b806109745750610990565b8060405162461bcd60e51b81526004016101f39190610c2c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016101f3565b6001600160e01b0319811663bc197c8160e01b14610a255760405162461bcd60e51b81526004016101f3906112e8565b50505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610a6857610a686110ab565b602090810291909101015292915050565b6001600160a01b0384163b156106a75760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610abd9089908990889088908890600401611330565b602060405180830381600087803b158015610ad757600080fd5b505af1925050508015610b07575060408051601f3d908101601f19168201909252610b0491810190611225565b60015b610b1357610954611242565b6001600160e01b0319811663f23a6e6160e01b14610a255760405162461bcd60e51b81526004016101f3906112e8565b80356001600160a01b0381168114610b5a57600080fd5b919050565b60008060408385031215610b7257600080fd5b610b7b83610b43565b946020939093013593505050565b6001600160e01b031981168114610b9f57600080fd5b50565b600060208284031215610bb457600080fd5b8135610bbf81610b89565b9392505050565b600060208284031215610bd857600080fd5b5035919050565b6000815180845260005b81811015610c0557602081850181015186830182015201610be9565b81811115610c17576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610bbf6020830184610bdf565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610c7b57610c7b610c3f565b6040525050565b600067ffffffffffffffff821115610c9c57610c9c610c3f565b5060051b60200190565b600082601f830112610cb757600080fd5b81356020610cc482610c82565b604051610cd18282610c55565b83815260059390931b8501820192828101915086841115610cf157600080fd5b8286015b84811015610d0c5780358352918301918301610cf5565b509695505050505050565b600082601f830112610d2857600080fd5b813567ffffffffffffffff811115610d4257610d42610c3f565b604051610d59601f8301601f191660200182610c55565b818152846020838601011115610d6e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610da357600080fd5b610dac86610b43565b9450610dba60208701610b43565b9350604086013567ffffffffffffffff80821115610dd757600080fd5b610de389838a01610ca6565b94506060880135915080821115610df957600080fd5b610e0589838a01610ca6565b93506080880135915080821115610e1b57600080fd5b50610e2888828901610d17565b9150509295509295909350565b60008060408385031215610e4857600080fd5b823567ffffffffffffffff80821115610e6057600080fd5b818501915085601f830112610e7457600080fd5b81356020610e8182610c82565b604051610e8e8282610c55565b83815260059390931b8501820192828101915089841115610eae57600080fd5b948201945b83861015610ed357610ec486610b43565b82529482019490820190610eb3565b96505086013592505080821115610ee957600080fd5b50610ef685828601610ca6565b9150509250929050565b600081518084526020808501945080840160005b83811015610f3057815187529582019590820190600101610f14565b509495945050505050565b602081526000610bbf6020830184610f00565b60008060408385031215610f6157600080fd5b610f6a83610b43565b915060208301358015158114610f7f57600080fd5b809150509250929050565b60008060408385031215610f9d57600080fd5b610fa683610b43565b9150610fb460208401610b43565b90509250929050565b600080600080600060a08688031215610fd557600080fd5b610fde86610b43565b9450610fec60208701610b43565b93506040860135925060608601359150608086013567ffffffffffffffff81111561101657600080fd5b610e2888828901610d17565b600181811c9082168061103657607f821691505b6020821081141561105757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156110eb576110eb6110c1565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60008219821115611194576111946110c1565b500190565b6040815260006111ac6040830185610f00565b82810360208401526111be8185610f00565b95945050505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906111f390830186610f00565b82810360608401526112058186610f00565b905082810360808401526112198185610bdf565b98975050505050505050565b60006020828403121561123757600080fd5b8151610bbf81610b89565b600060033d111561125b5760046000803e5060005160e01c5b90565b600060443d101561126c5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561129c57505050505090565b82850191508151818111156112b45750505050505090565b843d87010160208285010111156112ce5750505050505090565b6112dd60208286010187610c55565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061136a90830184610bdf565b97965050505050505056fea264697066735822122057a632fa57c61003219c162d842cb2b27a929dcfee3bb3c2bbfe363aa57f3f9964736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x87 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E1273F4 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0xD5 JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0xF5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9F PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0xB5F JUMP JUMPDEST PUSH2 0x18C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0xBA2 JUMP JUMPDEST PUSH2 0x222 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA9 JUMP JUMPDEST PUSH2 0xE8 PUSH2 0xE3 CALLDATASIZE PUSH1 0x4 PUSH2 0xBC6 JUMP JUMPDEST PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0xC2C JUMP JUMPDEST PUSH2 0x108 PUSH2 0x103 CALLDATASIZE PUSH1 0x4 PUSH2 0xD8B JUMP JUMPDEST PUSH2 0x308 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0xE35 JUMP JUMPDEST PUSH2 0x354 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x108 PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0x14B CALLDATASIZE PUSH1 0x4 PUSH2 0xF8A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x108 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xFBD JUMP JUMPDEST PUSH2 0x48D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1FC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2061646472657373207A65726F206973206E6F7420612076 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x30B634B21037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x6CDB3D13 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x253 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x3A24D07 PUSH1 0xE2 SHL EQ JUMPDEST DUP1 PUSH2 0x26E JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x283 SWAP1 PUSH2 0x1022 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 0x2AF SWAP1 PUSH2 0x1022 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2FC 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 0x2DF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x324 JUMPI POP PUSH2 0x324 DUP6 CALLER PUSH2 0x14B JUMP JUMPDEST PUSH2 0x340 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x34D DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x4D2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x3B9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A206163636F756E747320616E6420696473206C656E677468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x40DAD2E6DAC2E8C6D PUSH1 0xBB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3D5 JUMPI PUSH2 0x3D5 PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH2 0x449 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x422 JUMPI PUSH2 0x422 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x43C JUMPI PUSH2 0x43C PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x18C JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x45B JUMPI PUSH2 0x45B PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE PUSH2 0x46F DUP2 PUSH2 0x10D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x404 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x489 CALLER DUP4 DUP4 PUSH2 0x6AF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x4A9 JUMPI POP PUSH2 0x4A9 DUP6 CALLER PUSH2 0x14B JUMP JUMPDEST PUSH2 0x4C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x34D DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x790 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x534 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2069647320616E6420616D6F756E7473206C656E67746820 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0xDAD2E6DAC2E8C6D PUSH1 0xC3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x10F2 JUMP JUMPDEST CALLER PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x641 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x57B JUMPI PUSH2 0x57B PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x599 JUMPI PUSH2 0x599 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE DUP1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0x5E9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x1137 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 DUP6 SUB SWAP1 SSTORE SWAP1 DUP12 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x626 SWAP1 DUP5 SWAP1 PUSH2 0x1181 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 PUSH2 0x63A SWAP1 PUSH2 0x10D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x55E JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0x691 SWAP3 SWAP2 SWAP1 PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x6A7 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x8BA JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x723 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2073657474696E6720617070726F76616C20737461747573 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x103337B91039B2B633 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x10F2 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x7C2 DUP6 PUSH2 0xA2E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x7CF DUP6 PUSH2 0xA2E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP6 DUP2 LT ISZERO PUSH2 0x812 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x1137 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP10 DUP6 SUB SWAP1 SSTORE SWAP1 DUP11 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP9 SWAP3 SWAP1 PUSH2 0x84F SWAP1 DUP5 SWAP1 PUSH2 0x1181 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP9 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP3 DUP13 DUP3 AND SWAP3 SWAP2 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x8AF DUP5 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xA79 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBC197C81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xBC197C81 SWAP1 PUSH2 0x8FE SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x11C7 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x948 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x945 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x9F5 JUMPI PUSH2 0x954 PUSH2 0x1242 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x98E JUMPI POP PUSH2 0x969 PUSH2 0x125E JUMP JUMPDEST DUP1 PUSH2 0x974 JUMPI POP PUSH2 0x990 JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0xC2C JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F206E6F6E2D45524331313535 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x2932B1B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x61 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xBC197C81 PUSH1 0xE0 SHL EQ PUSH2 0xA25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x12E8 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP1 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP DUP3 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xA68 JUMPI PUSH2 0xA68 PUSH2 0x10AB JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF23A6E61 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xF23A6E61 SWAP1 PUSH2 0xABD SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1330 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB07 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB04 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB13 JUMPI PUSH2 0x954 PUSH2 0x1242 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xF23A6E61 PUSH1 0xE0 SHL EQ PUSH2 0xA25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F3 SWAP1 PUSH2 0x12E8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xB5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7B DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xB9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xBBF DUP2 PUSH2 0xB89 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC05 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xBE9 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xC17 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBBF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xBDF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xC7B JUMPI PUSH2 0xC7B PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC9C JUMPI PUSH2 0xC9C PUSH2 0xC3F JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xCB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xCC4 DUP3 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCD1 DUP3 DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP7 DUP5 GT ISZERO PUSH2 0xCF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xD0C JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xCF5 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xD28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD42 JUMPI PUSH2 0xD42 PUSH2 0xC3F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD59 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xD6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xDA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDAC DUP7 PUSH2 0xB43 JUMP JUMPDEST SWAP5 POP PUSH2 0xDBA PUSH1 0x20 DUP8 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDE3 DUP10 DUP4 DUP11 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xDF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE05 DUP10 DUP4 DUP11 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE28 DUP9 DUP3 DUP10 ADD PUSH2 0xD17 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xE81 DUP3 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8E DUP3 DUP3 PUSH2 0xC55 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP10 DUP5 GT ISZERO PUSH2 0xEAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0xED3 JUMPI PUSH2 0xEC4 DUP7 PUSH2 0xB43 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0xEB3 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0xEE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEF6 DUP6 DUP3 DUP7 ADD PUSH2 0xCA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF30 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xF14 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBBF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF00 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF6A DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xF7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFA6 DUP4 PUSH2 0xB43 JUMP JUMPDEST SWAP2 POP PUSH2 0xFB4 PUSH1 0x20 DUP5 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xFD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDE DUP7 PUSH2 0xB43 JUMP JUMPDEST SWAP5 POP PUSH2 0xFEC PUSH1 0x20 DUP8 ADD PUSH2 0xB43 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1016 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE28 DUP9 DUP3 DUP10 ADD PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1036 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1057 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2063616C6C6572206973206E6F7420746F6B656E206F776E PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x195C881BDC88185C1C1C9BDD9959 PUSH1 0x92 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10EB JUMPI PUSH2 0x10EB PUSH2 0x10C1 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A20696E73756666696369656E742062616C616E636520666F PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x39103A3930B739B332B9 PUSH1 0xB1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1194 JUMPI PUSH2 0x1194 PUSH2 0x10C1 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11AC PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xF00 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11BE DUP2 DUP6 PUSH2 0xF00 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x11F3 SWAP1 DUP4 ADD DUP7 PUSH2 0xF00 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1205 DUP2 DUP7 PUSH2 0xF00 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1219 DUP2 DUP6 PUSH2 0xBDF JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xBBF DUP2 PUSH2 0xB89 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x125B JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY POP PUSH1 0x0 MLOAD PUSH1 0xE0 SHR JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x126C JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3 NOT RETURNDATASIZE DUP2 ADD PUSH1 0x4 DUP4 RETURNDATACOPY DUP2 MLOAD RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 PUSH1 0x24 DUP5 ADD GT DUP2 DUP5 GT OR ISZERO PUSH2 0x129C JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP3 DUP6 ADD SWAP2 POP DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x12B4 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP5 RETURNDATASIZE DUP8 ADD ADD PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x12CE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x12DD PUSH1 0x20 DUP3 DUP7 ADD ADD DUP8 PUSH2 0xC55 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A204552433131353552656365697665722072656A65637465 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0x6420746F6B656E73 PUSH1 0xC0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x136A SWAP1 DUP4 ADD DUP5 PUSH2 0xBDF JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPI 0xA6 ORIGIN STATICCALL JUMPI 0xC6 LT SUB 0x21 SWAP13 AND 0x2D DUP5 0x2C 0xB2 0xB2 PUSH27 0x929DCFEE3BB3C2BBFE363AA57F3F9964736F6C6343000809003300 ","sourceMap":"570:16689:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2185:227;;;;;;:::i;:::-;;:::i;:::-;;;597:25:181;;;585:2;570:18;2185:227:84;;;;;;;;1236:305;;;;;;:::i;:::-;;:::i;:::-;;;1184:14:181;;1177:22;1159:41;;1147:2;1132:18;1236:305:84;1019:187:181;1940:103:84;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4064:426::-;;;;;;:::i;:::-;;:::i;:::-;;2569:508;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3145:153::-;;;;;;:::i;:::-;;:::i;3365:166::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3487:27:84;;;3464:4;3487:27;;;:18;:27;;;;;;;;:37;;;;;;;;;;;;;;;3365:166;3598:394;;;;;;:::i;:::-;;:::i;2185:227::-;2271:7;-1:-1:-1;;;;;2298:21:84;;2290:76;;;;-1:-1:-1;;;2290:76:84;;8258:2:181;2290:76:84;;;8240:21:181;8297:2;8277:18;;;8270:30;8336:34;8316:18;;;8309:62;-1:-1:-1;;;8387:18:181;;;8380:40;8437:19;;2290:76:84;;;;;;;;;-1:-1:-1;2383:9:84;:13;;;;;;;;;;;-1:-1:-1;;;;;2383:22:84;;;;;;;;;;;;2185:227::o;1236:305::-;1338:4;-1:-1:-1;;;;;;1373:41:84;;-1:-1:-1;;;1373:41:84;;:109;;-1:-1:-1;;;;;;;1430:52:84;;-1:-1:-1;;;1430:52:84;1373:109;:161;;;-1:-1:-1;;;;;;;;;;937:40:153;;;1498:36:84;1354:180;1236:305;-1:-1:-1;;1236:305:84:o;1940:103::-;2000:13;2032:4;2025:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:103;;;:::o;4064:426::-;-1:-1:-1;;;;;4289:20:84;;719:10:138;4289:20:84;;:60;;-1:-1:-1;4313:36:84;4330:4;719:10:138;3365:166:84;:::i;4313:36::-;4268:153;;;;-1:-1:-1;;;4268:153:84;;;;;;;:::i;:::-;4431:52;4454:4;4460:2;4464:3;4469:7;4478:4;4431:22;:52::i;:::-;4064:426;;;;;:::o;2569:508::-;2720:16;2779:3;:10;2760:8;:15;:29;2752:83;;;;-1:-1:-1;;;2752:83:84;;9469:2:181;2752:83:84;;;9451:21:181;9508:2;9488:18;;;9481:30;9547:34;9527:18;;;9520:62;-1:-1:-1;;;9598:18:181;;;9591:39;9647:19;;2752:83:84;9267:405:181;2752:83:84;2846:30;2893:8;:15;2879:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2879:30:84;;2846:63;;2925:9;2920:120;2944:8;:15;2940:1;:19;2920:120;;;2999:30;3009:8;3018:1;3009:11;;;;;;;;:::i;:::-;;;;;;;3022:3;3026:1;3022:6;;;;;;;;:::i;:::-;;;;;;;2999:9;:30::i;:::-;2980:13;2994:1;2980:16;;;;;;;;:::i;:::-;;;;;;;;;;:49;2961:3;;;:::i;:::-;;;2920:120;;;-1:-1:-1;3057:13:84;2569:508;-1:-1:-1;;;2569:508:84:o;3145:153::-;3239:52;719:10:138;3272:8:84;3282;3239:18;:52::i;:::-;3145:153;;:::o;3598:394::-;-1:-1:-1;;;;;3798:20:84;;719:10:138;3798:20:84;;:60;;-1:-1:-1;3822:36:84;3839:4;719:10:138;3365:166:84;:::i;3822:36::-;3777:153;;;;-1:-1:-1;;;3777:153:84;;;;;;;:::i;:::-;3940:45;3958:4;3964:2;3968;3972:6;3980:4;3940:17;:45::i;6233:1115::-;6453:7;:14;6439:3;:10;:28;6431:81;;;;-1:-1:-1;;;6431:81:84;;10283:2:181;6431:81:84;;;10265:21:181;10322:2;10302:18;;;10295:30;10361:34;10341:18;;;10334:62;-1:-1:-1;;;10412:18:181;;;10405:38;10460:19;;6431:81:84;10081:404:181;6431:81:84;-1:-1:-1;;;;;6530:16:84;;6522:66;;;;-1:-1:-1;;;6522:66:84;;;;;;;:::i;:::-;719:10:138;6599:16:84;6712:411;6736:3;:10;6732:1;:14;6712:411;;;6767:10;6780:3;6784:1;6780:6;;;;;;;;:::i;:::-;;;;;;;6767:19;;6800:14;6817:7;6825:1;6817:10;;;;;;;;:::i;:::-;;;;;;;;;;;;6842:19;6864:13;;;;;;;;;;-1:-1:-1;;;;;6864:19:84;;;;;;;;;;;;6817:10;;-1:-1:-1;6905:21:84;;;;6897:76;;;;-1:-1:-1;;;6897:76:84;;;;;;;:::i;:::-;7015:9;:13;;;;;;;;;;;-1:-1:-1;;;;;7015:19:84;;;;;;;;;;7037:20;;;7015:42;;7085:17;;;;;;;:27;;7037:20;;7015:9;7085:27;;7037:20;;7085:27;:::i;:::-;;;;;;;;6753:370;;;6748:3;;;;:::i;:::-;;;6712:411;;;;7168:2;-1:-1:-1;;;;;7138:47:84;7162:4;-1:-1:-1;;;;;7138:47:84;7152:8;-1:-1:-1;;;;;7138:47:84;;7172:3;7177:7;7138:47;;;;;;;:::i;:::-;;;;;;;;7266:75;7302:8;7312:4;7318:2;7322:3;7327:7;7336:4;7266:35;:75::i;:::-;6421:927;6233:1115;;;;;:::o;12910:323::-;13060:8;-1:-1:-1;;;;;13051:17:84;:5;-1:-1:-1;;;;;13051:17:84;;;13043:71;;;;-1:-1:-1;;;13043:71:84;;12112:2:181;13043:71:84;;;12094:21:181;12151:2;12131:18;;;12124:30;12190:34;12170:18;;;12163:62;-1:-1:-1;;;12241:18:181;;;12234:39;12290:19;;13043:71:84;11910:405:181;13043:71:84;-1:-1:-1;;;;;13124:25:84;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13124:46:84;;;;;;;;;;13185:41;;1159::181;;;13185::84;;1132:18:181;13185:41:84;;;;;;;12910:323;;;:::o;4940:947::-;-1:-1:-1;;;;;5121:16:84;;5113:66;;;;-1:-1:-1;;;5113:66:84;;;;;;;:::i;:::-;719:10:138;5190:16:84;5254:21;5272:2;5254:17;:21::i;:::-;5231:44;;5285:24;5312:25;5330:6;5312:17;:25::i;:::-;5285:52;;5419:19;5441:13;;;;;;;;;;;-1:-1:-1;;;;;5441:19:84;;;;;;;;;;5478:21;;;;5470:76;;;;-1:-1:-1;;;5470:76:84;;;;;;;:::i;:::-;5580:9;:13;;;;;;;;;;;-1:-1:-1;;;;;5580:19:84;;;;;;;;;;5602:20;;;5580:42;;5642:17;;;;;;;:27;;5602:20;;5580:9;5642:27;;5602:20;;5642:27;:::i;:::-;;;;-1:-1:-1;;5685:46:84;;;12494:25:181;;;12550:2;12535:18;;12528:34;;;-1:-1:-1;;;;;5685:46:84;;;;;;;;;;;;;;12467:18:181;5685:46:84;;;;;;;5812:68;5843:8;5853:4;5859:2;5863;5867:6;5875:4;5812:30;:68::i;:::-;5103:784;;;;4940:947;;;;;:::o;16266:792::-;-1:-1:-1;;;;;16498:13:84;;1465:19:134;:23;16494:558:84;;16533:79;;-1:-1:-1;;;16533:79:84;;-1:-1:-1;;;;;16533:43:84;;;;;:79;;16577:8;;16587:4;;16593:3;;16598:7;;16607:4;;16533:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16533:79:84;;;;;;;;-1:-1:-1;;16533:79:84;;;;;;;;;;;;:::i;:::-;;;16529:513;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;16918:6;16911:14;;-1:-1:-1;;;16911:14:84;;;;;;;;:::i;16529:513::-;;;16965:62;;-1:-1:-1;;;16965:62:84;;14721:2:181;16965:62:84;;;14703:21:181;14760:2;14740:18;;;14733:30;14799:34;14779:18;;;14772:62;-1:-1:-1;;;14850:18:181;;;14843:50;14910:19;;16965:62:84;14519:416:181;16529:513:84;-1:-1:-1;;;;;;16691:60:84;;-1:-1:-1;;;16691:60:84;16687:157;;16775:50;;-1:-1:-1;;;16775:50:84;;;;;;;:::i;16687:157::-;16613:245;16266:792;;;;;;:::o;17064:193::-;17183:16;;;17197:1;17183:16;;;;;;;;;17130;;17158:22;;17183:16;;;;;;;;;;;;-1:-1:-1;17183:16:84;17158:41;;17220:7;17209:5;17215:1;17209:8;;;;;;;;:::i;:::-;;;;;;;;;;:18;17245:5;17064:193;-1:-1:-1;;17064:193:84:o;15535:725::-;-1:-1:-1;;;;;15742:13:84;;1465:19:134;:23;15738:516:84;;15777:72;;-1:-1:-1;;;15777:72:84;;-1:-1:-1;;;;;15777:38:84;;;;;:72;;15816:8;;15826:4;;15832:2;;15836:6;;15844:4;;15777:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15777:72:84;;;;;;;;-1:-1:-1;;15777:72:84;;;;;;;;;;;;:::i;:::-;;;15773:471;;;;:::i;:::-;-1:-1:-1;;;;;;15898:55:84;;-1:-1:-1;;;15898:55:84;15894:152;;15977:50;;-1:-1:-1;;;15977:50:84;;;;;;;:::i;14:173:181:-;82:20;;-1:-1:-1;;;;;131:31:181;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:181:o;633:131::-;-1:-1:-1;;;;;;707:32:181;;697:43;;687:71;;754:1;751;744:12;687:71;633:131;:::o;769:245::-;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;:::-;1003:5;769:245;-1:-1:-1;;;769:245:181:o;1211:180::-;1270:6;1323:2;1311:9;1302:7;1298:23;1294:32;1291:52;;;1339:1;1336;1329:12;1291:52;-1:-1:-1;1362:23:181;;1211:180;-1:-1:-1;1211:180:181:o;1396:472::-;1438:3;1476:5;1470:12;1503:6;1498:3;1491:19;1528:1;1538:162;1552:6;1549:1;1546:13;1538:162;;;1614:4;1670:13;;;1666:22;;1660:29;1642:11;;;1638:20;;1631:59;1567:12;1538:162;;;1718:6;1715:1;1712:13;1709:87;;;1784:1;1777:4;1768:6;1763:3;1759:16;1755:27;1748:38;1709:87;-1:-1:-1;1850:2:181;1829:15;-1:-1:-1;;1825:29:181;1816:39;;;;1857:4;1812:50;;1396:472;-1:-1:-1;;1396:472:181:o;1873:220::-;2022:2;2011:9;2004:21;1985:4;2042:45;2083:2;2072:9;2068:18;2060:6;2042:45;:::i;2098:127::-;2159:10;2154:3;2150:20;2147:1;2140:31;2190:4;2187:1;2180:15;2214:4;2211:1;2204:15;2230:249;2340:2;2321:13;;-1:-1:-1;;2317:27:181;2305:40;;2375:18;2360:34;;2396:22;;;2357:62;2354:88;;;2422:18;;:::i;:::-;2458:2;2451:22;-1:-1:-1;;2230:249:181:o;2484:183::-;2544:4;2577:18;2569:6;2566:30;2563:56;;;2599:18;;:::i;:::-;-1:-1:-1;2644:1:181;2640:14;2656:4;2636:25;;2484:183::o;2672:724::-;2726:5;2779:3;2772:4;2764:6;2760:17;2756:27;2746:55;;2797:1;2794;2787:12;2746:55;2833:6;2820:20;2859:4;2882:43;2922:2;2882:43;:::i;:::-;2954:2;2948:9;2966:31;2994:2;2986:6;2966:31;:::i;:::-;3032:18;;;3124:1;3120:10;;;;3108:23;;3104:32;;;3066:15;;;;-1:-1:-1;3148:15:181;;;3145:35;;;3176:1;3173;3166:12;3145:35;3212:2;3204:6;3200:15;3224:142;3240:6;3235:3;3232:15;3224:142;;;3306:17;;3294:30;;3344:12;;;;3257;;3224:142;;;-1:-1:-1;3384:6:181;2672:724;-1:-1:-1;;;;;;2672:724:181:o;3401:555::-;3443:5;3496:3;3489:4;3481:6;3477:17;3473:27;3463:55;;3514:1;3511;3504:12;3463:55;3550:6;3537:20;3576:18;3572:2;3569:26;3566:52;;;3598:18;;:::i;:::-;3647:2;3641:9;3659:67;3714:2;3695:13;;-1:-1:-1;;3691:27:181;3720:4;3687:38;3641:9;3659:67;:::i;:::-;3750:2;3742:6;3735:18;3796:3;3789:4;3784:2;3776:6;3772:15;3768:26;3765:35;3762:55;;;3813:1;3810;3803:12;3762:55;3877:2;3870:4;3862:6;3858:17;3851:4;3843:6;3839:17;3826:54;3924:1;3900:15;;;3917:4;3896:26;3889:37;;;;3904:6;3401:555;-1:-1:-1;;;3401:555:181:o;3961:943::-;4115:6;4123;4131;4139;4147;4200:3;4188:9;4179:7;4175:23;4171:33;4168:53;;;4217:1;4214;4207:12;4168:53;4240:29;4259:9;4240:29;:::i;:::-;4230:39;;4288:38;4322:2;4311:9;4307:18;4288:38;:::i;:::-;4278:48;;4377:2;4366:9;4362:18;4349:32;4400:18;4441:2;4433:6;4430:14;4427:34;;;4457:1;4454;4447:12;4427:34;4480:61;4533:7;4524:6;4513:9;4509:22;4480:61;:::i;:::-;4470:71;;4594:2;4583:9;4579:18;4566:32;4550:48;;4623:2;4613:8;4610:16;4607:36;;;4639:1;4636;4629:12;4607:36;4662:63;4717:7;4706:8;4695:9;4691:24;4662:63;:::i;:::-;4652:73;;4778:3;4767:9;4763:19;4750:33;4734:49;;4808:2;4798:8;4795:16;4792:36;;;4824:1;4821;4814:12;4792:36;;4847:51;4890:7;4879:8;4868:9;4864:24;4847:51;:::i;:::-;4837:61;;;3961:943;;;;;;;;:::o;4909:1208::-;5027:6;5035;5088:2;5076:9;5067:7;5063:23;5059:32;5056:52;;;5104:1;5101;5094:12;5056:52;5144:9;5131:23;5173:18;5214:2;5206:6;5203:14;5200:34;;;5230:1;5227;5220:12;5200:34;5268:6;5257:9;5253:22;5243:32;;5313:7;5306:4;5302:2;5298:13;5294:27;5284:55;;5335:1;5332;5325:12;5284:55;5371:2;5358:16;5393:4;5416:43;5456:2;5416:43;:::i;:::-;5488:2;5482:9;5500:31;5528:2;5520:6;5500:31;:::i;:::-;5566:18;;;5654:1;5650:10;;;;5642:19;;5638:28;;;5600:15;;;;-1:-1:-1;5678:19:181;;;5675:39;;;5710:1;5707;5700:12;5675:39;5734:11;;;;5754:148;5770:6;5765:3;5762:15;5754:148;;;5836:23;5855:3;5836:23;:::i;:::-;5824:36;;5787:12;;;;5880;;;;5754:148;;;5921:6;-1:-1:-1;;5965:18:181;;5952:32;;-1:-1:-1;;5996:16:181;;;5993:36;;;6025:1;6022;6015:12;5993:36;;6048:63;6103:7;6092:8;6081:9;6077:24;6048:63;:::i;:::-;6038:73;;;4909:1208;;;;;:::o;6122:435::-;6175:3;6213:5;6207:12;6240:6;6235:3;6228:19;6266:4;6295:2;6290:3;6286:12;6279:19;;6332:2;6325:5;6321:14;6353:1;6363:169;6377:6;6374:1;6371:13;6363:169;;;6438:13;;6426:26;;6472:12;;;;6507:15;;;;6399:1;6392:9;6363:169;;;-1:-1:-1;6548:3:181;;6122:435;-1:-1:-1;;;;;6122:435:181:o;6562:261::-;6741:2;6730:9;6723:21;6704:4;6761:56;6813:2;6802:9;6798:18;6790:6;6761:56;:::i;6828:347::-;6893:6;6901;6954:2;6942:9;6933:7;6929:23;6925:32;6922:52;;;6970:1;6967;6960:12;6922:52;6993:29;7012:9;6993:29;:::i;:::-;6983:39;;7072:2;7061:9;7057:18;7044:32;7119:5;7112:13;7105:21;7098:5;7095:32;7085:60;;7141:1;7138;7131:12;7085:60;7164:5;7154:15;;;6828:347;;;;;:::o;7180:260::-;7248:6;7256;7309:2;7297:9;7288:7;7284:23;7280:32;7277:52;;;7325:1;7322;7315:12;7277:52;7348:29;7367:9;7348:29;:::i;:::-;7338:39;;7396:38;7430:2;7419:9;7415:18;7396:38;:::i;:::-;7386:48;;7180:260;;;;;:::o;7445:606::-;7549:6;7557;7565;7573;7581;7634:3;7622:9;7613:7;7609:23;7605:33;7602:53;;;7651:1;7648;7641:12;7602:53;7674:29;7693:9;7674:29;:::i;:::-;7664:39;;7722:38;7756:2;7745:9;7741:18;7722:38;:::i;:::-;7712:48;;7807:2;7796:9;7792:18;7779:32;7769:42;;7858:2;7847:9;7843:18;7830:32;7820:42;;7913:3;7902:9;7898:19;7885:33;7941:18;7933:6;7930:30;7927:50;;;7973:1;7970;7963:12;7927:50;7996:49;8037:7;8028:6;8017:9;8013:22;7996:49;:::i;8467:380::-;8546:1;8542:12;;;;8589;;;8610:61;;8664:4;8656:6;8652:17;8642:27;;8610:61;8717:2;8709:6;8706:14;8686:18;8683:38;8680:161;;;8763:10;8758:3;8754:20;8751:1;8744:31;8798:4;8795:1;8788:15;8826:4;8823:1;8816:15;8680:161;;8467:380;;;:::o;8852:410::-;9054:2;9036:21;;;9093:2;9073:18;;;9066:30;9132:34;9127:2;9112:18;;9105:62;-1:-1:-1;;;9198:2:181;9183:18;;9176:44;9252:3;9237:19;;8852:410::o;9677:127::-;9738:10;9733:3;9729:20;9726:1;9719:31;9769:4;9766:1;9759:15;9793:4;9790:1;9783:15;9809:127;9870:10;9865:3;9861:20;9858:1;9851:31;9901:4;9898:1;9891:15;9925:4;9922:1;9915:15;9941:135;9980:3;-1:-1:-1;;10001:17:181;;9998:43;;;10021:18;;:::i;:::-;-1:-1:-1;10068:1:181;10057:13;;9941:135::o;10490:401::-;10692:2;10674:21;;;10731:2;10711:18;;;10704:30;10770:34;10765:2;10750:18;;10743:62;-1:-1:-1;;;10836:2:181;10821:18;;10814:35;10881:3;10866:19;;10490:401::o;10896:406::-;11098:2;11080:21;;;11137:2;11117:18;;;11110:30;11176:34;11171:2;11156:18;;11149:62;-1:-1:-1;;;11242:2:181;11227:18;;11220:40;11292:3;11277:19;;10896:406::o;11307:128::-;11347:3;11378:1;11374:6;11371:1;11368:13;11365:39;;;11384:18;;:::i;:::-;-1:-1:-1;11420:9:181;;11307:128::o;11440:465::-;11697:2;11686:9;11679:21;11660:4;11723:56;11775:2;11764:9;11760:18;11752:6;11723:56;:::i;:::-;11827:9;11819:6;11815:22;11810:2;11799:9;11795:18;11788:50;11855:44;11892:6;11884;11855:44;:::i;:::-;11847:52;11440:465;-1:-1:-1;;;;;11440:465:181:o;12573:827::-;-1:-1:-1;;;;;12970:15:181;;;12952:34;;13022:15;;13017:2;13002:18;;12995:43;12932:3;13069:2;13054:18;;13047:31;;;12895:4;;13101:57;;13138:19;;13130:6;13101:57;:::i;:::-;13206:9;13198:6;13194:22;13189:2;13178:9;13174:18;13167:50;13240:44;13277:6;13269;13240:44;:::i;:::-;13226:58;;13333:9;13325:6;13321:22;13315:3;13304:9;13300:19;13293:51;13361:33;13387:6;13379;13361:33;:::i;:::-;13353:41;12573:827;-1:-1:-1;;;;;;;;12573:827:181:o;13405:249::-;13474:6;13527:2;13515:9;13506:7;13502:23;13498:32;13495:52;;;13543:1;13540;13533:12;13495:52;13575:9;13569:16;13594:30;13618:5;13594:30;:::i;13659:179::-;13694:3;13736:1;13718:16;13715:23;13712:120;;;13782:1;13779;13776;13761:23;-1:-1:-1;13819:1:181;13813:8;13808:3;13804:18;13712:120;13659:179;:::o;13843:671::-;13882:3;13924:4;13906:16;13903:26;13900:39;;;13843:671;:::o;13900:39::-;13966:2;13960:9;-1:-1:-1;;14031:16:181;14027:25;;14024:1;13960:9;14003:50;14082:4;14076:11;14106:16;14141:18;14212:2;14205:4;14197:6;14193:17;14190:25;14185:2;14177:6;14174:14;14171:45;14168:58;;;14219:5;;;;;13843:671;:::o;14168:58::-;14256:6;14250:4;14246:17;14235:28;;14292:3;14286:10;14319:2;14311:6;14308:14;14305:27;;;14325:5;;;;;;13843:671;:::o;14305:27::-;14409:2;14390:16;14384:4;14380:27;14376:36;14369:4;14360:6;14355:3;14351:16;14347:27;14344:69;14341:82;;;14416:5;;;;;;13843:671;:::o;14341:82::-;14432:57;14483:4;14474:6;14466;14462:19;14458:30;14452:4;14432:57;:::i;:::-;-1:-1:-1;14505:3:181;;13843:671;-1:-1:-1;;;;;13843:671:181:o;14940:404::-;15142:2;15124:21;;;15181:2;15161:18;;;15154:30;15220:34;15215:2;15200:18;;15193:62;-1:-1:-1;;;15286:2:181;15271:18;;15264:38;15334:3;15319:19;;14940:404::o;15349:561::-;-1:-1:-1;;;;;15646:15:181;;;15628:34;;15698:15;;15693:2;15678:18;;15671:43;15745:2;15730:18;;15723:34;;;15788:2;15773:18;;15766:34;;;15608:3;15831;15816:19;;15809:32;;;15571:4;;15858:46;;15884:19;;15876:6;15858:46;:::i;:::-;15850:54;15349:561;-1:-1:-1;;;;;;;15349:561:181:o"},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the basic standard multi-token. See https://eips.ethereum.org/EIPS/eip-1155 Originally based on code by Enjin: https://github.com/enjin/erc-1155 _Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"constructor\":{\"details\":\"See {_setURI}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":\"ERC1155\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol":{"IERC1155":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[EIP]. _Available since v3.1._\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"IERC1155Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"_Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":\"IERC1155Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol":{"ERC1155Burnable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","burn(address,uint256,uint256)":"f5298aca","burnBatch(address,uint256[],uint256[])":"6b20c454","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"burnBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC1155} that allows token holders to destroy both their own tokens and those that they have been approved to use. _Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol\":\"ERC1155Burnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol\":{\"keccak256\":\"0x0d960db62b7c6984d4b67602bc3b5c63ba15db63657feedc6c3604eb334fb648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c011e273a7a4ad251c317b6de69492a5f739dce3bf88ff09b1895fa233a759\",\"dweb:/ipfs/QmZ43AmC9msVpA3ZABk352obsjtZLfqpMKYxExXP772NfR\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol":{"ERC1155Pausable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","isApprovedForAll(address,address)":"e985e9c5","paused()":"5c975abb","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"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\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC1155 token with pausable token transfers, minting and burning. Useful for scenarios such as preventing trades until the end of an evaluation period, or having an emergency switch for freezing all token transfers in the event of a large bug. _Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol\":\"ERC1155Pausable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol\":{\"keccak256\":\"0xdad22b949de979bb2ad9001c044b2aeaacf8a25e3de09ed6f022a9469f936d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2e9219d44b0ab528f8dc32f06897c5d7260e9f7190db830a017265ac0d22585\",\"dweb:/ipfs/QmYWP5r1Zkr5HRVm7cJG72vMqiDUwe9PbCmZZo9xc44V8K\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol":{"ERC1155Supply":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","exists(uint256)":"4f558e79","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","totalSupply(uint256)":"bd85b039","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC1155 that adds tracking of total supply per id. Useful for scenarios where Fungible and Non-fungible tokens have to be clearly identified. Note: While a totalSupply of 1 might mean the corresponding is an NFT, there is no guarantees that no other token with the same id are not going to be minted.\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"exists(uint256)\":{\"details\":\"Indicates whether any token exist with a given id, or not.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalSupply(uint256)\":{\"details\":\"Total amount of tokens in with a given id.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol\":\"ERC1155Supply\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol\":{\"keccak256\":\"0xe3deb5f3b0c9d12944f62ab680f041bbf1910d9d3ac6b545b4b8e399643c538d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1f5bc920c2f9859b02dce02d7d0211608398287c643d42ad048555c9b204dc8\",\"dweb:/ipfs/QmSu2MFkCSPNG6pRsXxMai7Do7EDqLwpnnHVDB7q2wHJnr\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol":{"ERC1155URIStorage":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC1155 token with storage based token URI management. Inspired by the ERC721URIStorage extension _Available since v4.6._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the concatenation of the `_baseURI` and the token-specific uri if the latter is set This enables the following behaviors: - if `_tokenURIs[tokenId]` is set, then the result is the concatenation of `_baseURI` and `_tokenURIs[tokenId]` (keep in mind that `_baseURI` is empty per default); - if `_tokenURIs[tokenId]` is NOT set then we fallback to `super.uri()` which in most cases will contain `ERC1155._uri`; - if `_tokenURIs[tokenId]` is NOT set, and if the parents do not have a uri value set, then the result is empty.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol\":\"ERC1155URIStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol\":{\"keccak256\":\"0x4e7bcc6aa9b150e125df8afbfbca5dfb7c92fa4fb01985f2f595ce0c96153cff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75aa1a94e176c23d37e117daf8386cd6301119b1ca5cf521fe22de9ccc13dade\",\"dweb:/ipfs/QmfTfUFGRZ3iNavQgLmj2zNR7Pz2djKV5UPRTmDWnapbGg\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol":{"IERC1155MetadataURI":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","isApprovedForAll(address,address)":"e985e9c5","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the optional ERC1155MetadataExtension interface, as defined in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP]. _Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"uri(uint256)\":{\"details\":\"Returns the URI for token type `id`. If the `\\\\{id\\\\}` substring is present in the URI, it must be replaced by clients with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":\"IERC1155MetadataURI\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol":{"ERC1155PresetMinterPauser":{"abi":[{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_10561":{"entryPoint":null,"id":10561,"parameterSlots":0,"returnSlots":0},"@_10804":{"entryPoint":null,"id":10804,"parameterSlots":1,"returnSlots":0},"@_12576":{"entryPoint":null,"id":12576,"parameterSlots":1,"returnSlots":0},"@_add_29338":{"entryPoint":473,"id":29338,"parameterSlots":2,"returnSlots":1},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_grantRole_1182":{"entryPoint":null,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":281,"id":995,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setURI_11315":{"entryPoint":183,"id":11315,"parameterSlots":1,"returnSlots":0},"@_setupRole_935":{"entryPoint":208,"id":935,"parameterSlots":2,"returnSlots":0},"@add_29638":{"entryPoint":441,"id":29638,"parameterSlots":2,"returnSlots":1},"@hasRole_791":{"entryPoint":null,"id":791,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":743,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":963,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":721,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1620:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"237:996:181","statements":[{"nodeType":"YulVariableDeclaration","src":"247:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"257:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"251:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"304:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"313:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"316:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"306:6:181"},"nodeType":"YulFunctionCall","src":"306:12:181"},"nodeType":"YulExpressionStatement","src":"306:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"279:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"288:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"275:3:181"},"nodeType":"YulFunctionCall","src":"275:23:181"},{"name":"_1","nodeType":"YulIdentifier","src":"300:2:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"271:3:181"},"nodeType":"YulFunctionCall","src":"271:32:181"},"nodeType":"YulIf","src":"268:52:181"},{"nodeType":"YulVariableDeclaration","src":"329:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"349:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"343:5:181"},"nodeType":"YulFunctionCall","src":"343:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"333:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"368:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"386:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"390:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"382:3:181"},"nodeType":"YulFunctionCall","src":"382:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"394:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"378:3:181"},"nodeType":"YulFunctionCall","src":"378:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"372:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"423:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"432:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"435:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"425:6:181"},"nodeType":"YulFunctionCall","src":"425:12:181"},"nodeType":"YulExpressionStatement","src":"425:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"411:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"408:2:181"},"nodeType":"YulFunctionCall","src":"408:14:181"},"nodeType":"YulIf","src":"405:34:181"},{"nodeType":"YulVariableDeclaration","src":"448:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"473:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:181"},"nodeType":"YulFunctionCall","src":"458:22:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"452:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"528:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"537:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"540:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"530:6:181"},"nodeType":"YulFunctionCall","src":"530:12:181"},"nodeType":"YulExpressionStatement","src":"530:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"507:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"511:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"503:3:181"},"nodeType":"YulFunctionCall","src":"503:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"518:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"499:3:181"},"nodeType":"YulFunctionCall","src":"499:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"492:6:181"},"nodeType":"YulFunctionCall","src":"492:35:181"},"nodeType":"YulIf","src":"489:55:181"},{"nodeType":"YulVariableDeclaration","src":"553:19:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"569:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"563:5:181"},"nodeType":"YulFunctionCall","src":"563:9:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"557:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"595:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"597:16:181"},"nodeType":"YulFunctionCall","src":"597:18:181"},"nodeType":"YulExpressionStatement","src":"597:18:181"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"587:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"591:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"584:2:181"},"nodeType":"YulFunctionCall","src":"584:10:181"},"nodeType":"YulIf","src":"581:36:181"},{"nodeType":"YulVariableDeclaration","src":"626:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"640:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"636:3:181"},"nodeType":"YulFunctionCall","src":"636:7:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"630:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"652:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"672:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"666:5:181"},"nodeType":"YulFunctionCall","src":"666:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"656:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"684:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"706:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"730:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"734:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"726:3:181"},"nodeType":"YulFunctionCall","src":"726:13:181"},{"name":"_5","nodeType":"YulIdentifier","src":"741:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"722:3:181"},"nodeType":"YulFunctionCall","src":"722:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"746:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"718:3:181"},"nodeType":"YulFunctionCall","src":"718:31:181"},{"name":"_5","nodeType":"YulIdentifier","src":"751:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"714:3:181"},"nodeType":"YulFunctionCall","src":"714:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"702:3:181"},"nodeType":"YulFunctionCall","src":"702:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"688:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"814:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"816:16:181"},"nodeType":"YulFunctionCall","src":"816:18:181"},"nodeType":"YulExpressionStatement","src":"816:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"773:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"785:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"770:2:181"},"nodeType":"YulFunctionCall","src":"770:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"793:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"805:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"790:2:181"},"nodeType":"YulFunctionCall","src":"790:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"767:2:181"},"nodeType":"YulFunctionCall","src":"767:46:181"},"nodeType":"YulIf","src":"764:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"852:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"856:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"845:6:181"},"nodeType":"YulFunctionCall","src":"845:22:181"},"nodeType":"YulExpressionStatement","src":"845:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"883:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"891:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"876:6:181"},"nodeType":"YulFunctionCall","src":"876:18:181"},"nodeType":"YulExpressionStatement","src":"876:18:181"},{"body":{"nodeType":"YulBlock","src":"940:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"949:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"952:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"942:6:181"},"nodeType":"YulFunctionCall","src":"942:12:181"},"nodeType":"YulExpressionStatement","src":"942:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"917:2:181"},{"name":"_4","nodeType":"YulIdentifier","src":"921:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"913:3:181"},"nodeType":"YulFunctionCall","src":"913:11:181"},{"name":"_1","nodeType":"YulIdentifier","src":"926:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"909:3:181"},"nodeType":"YulFunctionCall","src":"909:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"931:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"906:2:181"},"nodeType":"YulFunctionCall","src":"906:33:181"},"nodeType":"YulIf","src":"903:53:181"},{"nodeType":"YulVariableDeclaration","src":"965:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"974:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"969:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1030:83:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1059:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"1067:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:181"},"nodeType":"YulFunctionCall","src":"1055:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1071:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1051:3:181"},"nodeType":"YulFunctionCall","src":"1051:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1090:2:181"},{"name":"i","nodeType":"YulIdentifier","src":"1094:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1086:3:181"},"nodeType":"YulFunctionCall","src":"1086:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1098:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1082:3:181"},"nodeType":"YulFunctionCall","src":"1082:19:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1076:5:181"},"nodeType":"YulFunctionCall","src":"1076:26:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1044:6:181"},"nodeType":"YulFunctionCall","src":"1044:59:181"},"nodeType":"YulExpressionStatement","src":"1044:59:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"995:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"998:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"992:2:181"},"nodeType":"YulFunctionCall","src":"992:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1002:19:181","statements":[{"nodeType":"YulAssignment","src":"1004:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1013:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1016:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1009:3:181"},"nodeType":"YulFunctionCall","src":"1009:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1004:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"988:3:181","statements":[]},"src":"984:129:181"},{"body":{"nodeType":"YulBlock","src":"1143:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1172:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1180:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1168:3:181"},"nodeType":"YulFunctionCall","src":"1168:15:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1185:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1164:3:181"},"nodeType":"YulFunctionCall","src":"1164:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"1190:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1157:6:181"},"nodeType":"YulFunctionCall","src":"1157:35:181"},"nodeType":"YulExpressionStatement","src":"1157:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1128:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1131:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1125:2:181"},"nodeType":"YulFunctionCall","src":"1125:9:181"},"nodeType":"YulIf","src":"1122:80:181"},{"nodeType":"YulAssignment","src":"1211:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1221:6:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1211:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"203:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"214:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"226:6:181","type":""}],"src":"146:1087:181"},{"body":{"nodeType":"YulBlock","src":"1293:325:181","statements":[{"nodeType":"YulAssignment","src":"1303:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1317:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1320:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1313:3:181"},"nodeType":"YulFunctionCall","src":"1313:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1303:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1334:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1364:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1370:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1360:3:181"},"nodeType":"YulFunctionCall","src":"1360:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1338:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1411:31:181","statements":[{"nodeType":"YulAssignment","src":"1413:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1427:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1435:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1423:3:181"},"nodeType":"YulFunctionCall","src":"1423:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1413:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1391:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1384:6:181"},"nodeType":"YulFunctionCall","src":"1384:26:181"},"nodeType":"YulIf","src":"1381:61:181"},{"body":{"nodeType":"YulBlock","src":"1501:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1522:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1529:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1534:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1525:3:181"},"nodeType":"YulFunctionCall","src":"1525:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1515:6:181"},"nodeType":"YulFunctionCall","src":"1515:31:181"},"nodeType":"YulExpressionStatement","src":"1515:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1566:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1569:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1559:6:181"},"nodeType":"YulFunctionCall","src":"1559:15:181"},"nodeType":"YulExpressionStatement","src":"1559:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1594:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1597:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1587:6:181"},"nodeType":"YulFunctionCall","src":"1587:15:181"},"nodeType":"YulExpressionStatement","src":"1587:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1457:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1480:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1488:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1454:2:181"},"nodeType":"YulFunctionCall","src":"1454:38:181"},"nodeType":"YulIf","src":"1451:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1273:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1282:6:181","type":""}],"src":"1238:380:181"}]},"contents":"{\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_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := sub(shl(64, 1), 1)\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 _4 := mload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_4, 0x1f), _5), 63), _5))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _4)\n if gt(add(add(_3, _4), _1), dataEnd) { revert(0, 0) }\n let i := 0\n for { } lt(i, _4) { i := add(i, _1) }\n {\n mstore(add(add(memPtr, i), _1), mload(add(add(_3, i), _1)))\n }\n if gt(i, _4)\n {\n mstore(add(add(memPtr, _4), _1), 0)\n }\n value0 := memPtr\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162002d8538038062002d858339810160408190526200003491620002e7565b806200004081620000b7565b506005805460ff1916905562000058600033620000d0565b620000847f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000d0565b620000b07f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33620000d0565b5062000400565b8051620000cc9060049060208401906200022b565b5050565b620000cc8282620000ed82826200011960201b62000a871760201c565b60008281526001602090815260409091206200011491839062000b0b620001b9821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000cc576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001753390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620001d0836001600160a01b038416620001d9565b90505b92915050565b60008181526001830160205260408120546200022257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620001d3565b506000620001d3565b8280546200023990620003c3565b90600052602060002090601f0160209004810192826200025d5760008555620002a8565b82601f106200027857805160ff1916838001178555620002a8565b82800160010185558215620002a8579182015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b5b80821115620002b65760008155600101620002bb565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215620002fb57600080fd5b82516001600160401b03808211156200031357600080fd5b818501915085601f8301126200032857600080fd5b8151818111156200033d576200033d620002d1565b604051601f8201601f19908116603f01168101908382118183101715620003685762000368620002d1565b8160405282815288868487010111156200038157600080fd5b600093505b82841015620003a5578484018601518185018701529285019262000386565b82841115620003b75760008684830101525b98975050505050505050565b600181811c90821680620003d857607f821691505b60208210811415620003fa57634e487b7160e01b600052602260045260246000fd5b50919050565b61297580620004106000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c8063731133e9116100de578063ca15c87311610097578063e63ab1e911610071578063e63ab1e914610358578063e985e9c51461037f578063f242432a146103bb578063f5298aca146103ce57600080fd5b8063ca15c8731461030b578063d53913931461031e578063d547741f1461034557600080fd5b8063731133e9146102975780638456cb59146102aa5780639010d07c146102b257806391d14854146102dd578063a217fddf146102f0578063a22cb465146102f857600080fd5b80632f2ff15d116101305780632f2ff15d1461022b57806336568abe1461023e5780633f4ba83a146102515780634e1273f4146102595780635c975abb146102795780636b20c4541461028457600080fd5b8062fdd58e1461017757806301ffc9a71461019d5780630e89341c146101c05780631f7fdffa146101e0578063248a9ca3146101f55780632eb2c2d614610218575b600080fd5b61018a610185366004611d09565b6103e1565b6040519081526020015b60405180910390f35b6101b06101ab366004611d49565b61047c565b6040519015158152602001610194565b6101d36101ce366004611d66565b610487565b6040516101949190611dd7565b6101f36101ee366004611f36565b61051b565b005b61018a610203366004611d66565b60009081526020819052604090206001015490565b6101f3610226366004611fcf565b610573565b6101f3610239366004612079565b6105bf565b6101f361024c366004612079565b6105e9565b6101f3610667565b61026c6102673660046120a5565b61070d565b60405161019491906121ab565b60055460ff166101b0565b6101f36102923660046121be565b610837565b6101f36102a5366004612232565b61087a565b6101f36108cc565b6102c56102c0366004612287565b610970565b6040516001600160a01b039091168152602001610194565b6101b06102eb366004612079565b61098f565b61018a600081565b6101f36103063660046122a9565b6109b8565b61018a610319366004611d66565b6109c3565b61018a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101f3610353366004612079565b6109da565b61018a7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101b061038d3660046122e5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205460ff1690565b6101f36103c936600461230f565b6109ff565b6101f36103dc366004612374565b610a44565b60006001600160a01b0383166104515760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526002602090815260408083206001600160a01b03861684529091529020545b92915050565b600061047682610b20565b606060048054610496906123a7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c2906123a7565b801561050f5780601f106104e45761010080835404028352916020019161050f565b820191906000526020600020905b8154815290600101906020018083116104f257829003601f168201915b50505050509050919050565b6105457f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63361098f565b6105615760405162461bcd60e51b8152600401610448906123e2565b61056d84848484610b60565b50505050565b6001600160a01b03851633148061058f575061058f853361038d565b6105ab5760405162461bcd60e51b81526004016104489061243f565b6105b88585858585610cbb565b5050505050565b6000828152602081905260409020600101546105da81610e68565b6105e48383610e75565b505050565b6001600160a01b03811633146106595760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610448565b6106638282610e97565b5050565b6106917f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361098f565b6107035760405162461bcd60e51b815260206004820152603b60248201527f455243313135355072657365744d696e7465725061757365723a206d7573742060448201527f686176652070617573657220726f6c6520746f20756e706175736500000000006064820152608401610448565b61070b610eb9565b565b606081518351146107725760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610448565b6000835167ffffffffffffffff81111561078e5761078e611dea565b6040519080825280602002602001820160405280156107b7578160200160208202803683370190505b50905060005b845181101561082f576108028582815181106107db576107db61248d565b60200260200101518583815181106107f5576107f561248d565b60200260200101516103e1565b8282815181106108145761081461248d565b6020908102919091010152610828816124b9565b90506107bd565b509392505050565b6001600160a01b0383163314806108535750610853833361038d565b61086f5760405162461bcd60e51b81526004016104489061243f565b6105e4838383610f0b565b6108a47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63361098f565b6108c05760405162461bcd60e51b8152600401610448906123e2565b61056d848484846110aa565b6108f67f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361098f565b6109685760405162461bcd60e51b815260206004820152603960248201527f455243313135355072657365744d696e7465725061757365723a206d7573742060448201527f686176652070617573657220726f6c6520746f207061757365000000000000006064820152608401610448565b61070b611195565b600082815260016020526040812061098890836111d2565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6106633383836111de565b6000818152600160205260408120610476906112bf565b6000828152602081905260409020600101546109f581610e68565b6105e48383610e97565b6001600160a01b038516331480610a1b5750610a1b853361038d565b610a375760405162461bcd60e51b81526004016104489061243f565b6105b885858585856112c9565b6001600160a01b038316331480610a605750610a60833361038d565b610a7c5760405162461bcd60e51b81526004016104489061243f565b6105e4838383611405565b610a91828261098f565b610663576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610ac73390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610988836001600160a01b038416611521565b60006001600160e01b03198216636cdb3d1360e11b1480610b5157506001600160e01b031982166303a24d0760e21b145b80610476575061047682611570565b6001600160a01b038416610b865760405162461bcd60e51b8152600401610448906124d4565b8151835114610ba75760405162461bcd60e51b815260040161044890612515565b33610bb781600087878787611595565b60005b8451811015610c5357838181518110610bd557610bd561248d565b602002602001015160026000878481518110610bf357610bf361248d565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610c3b919061255d565b90915550819050610c4b816124b9565b915050610bba565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610ca4929190612575565b60405180910390a46105b8816000878787876115a3565b8151835114610cdc5760405162461bcd60e51b815260040161044890612515565b6001600160a01b038416610d025760405162461bcd60e51b8152600401610448906125a3565b33610d11818787878787611595565b60005b8451811015610dfa576000858281518110610d3157610d3161248d565b602002602001015190506000858381518110610d4f57610d4f61248d565b60209081029190910181015160008481526002835260408082206001600160a01b038e168352909352919091205490915081811015610da05760405162461bcd60e51b8152600401610448906125e8565b60008381526002602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610ddf90849061255d565b9250508190555050505080610df3906124b9565b9050610d14565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610e4a929190612575565b60405180910390a4610e608187878787876115a3565b505050505050565b610e72813361170e565b50565b610e7f8282610a87565b60008281526001602052604090206105e49082610b0b565b610ea18282611767565b60008281526001602052604090206105e490826117cc565b610ec16117e1565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038316610f315760405162461bcd60e51b815260040161044890612632565b8051825114610f525760405162461bcd60e51b815260040161044890612515565b6000339050610f7581856000868660405180602001604052806000815250611595565b60005b835181101561103d576000848281518110610f9557610f9561248d565b602002602001015190506000848381518110610fb357610fb361248d565b60209081029190910181015160008481526002835260408082206001600160a01b038c1683529093529190912054909150818110156110045760405162461bcd60e51b815260040161044890612675565b60009283526002602090815260408085206001600160a01b038b1686529091529092209103905580611035816124b9565b915050610f78565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161108e929190612575565b60405180910390a460408051602081019091526000905261056d565b6001600160a01b0384166110d05760405162461bcd60e51b8152600401610448906124d4565b3360006110dc8561182a565b905060006110e98561182a565b90506110fa83600089858589611595565b60008681526002602090815260408083206001600160a01b038b1684529091528120805487929061112c90849061255d565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461118c83600089898989611875565b50505050505050565b61119d61193f565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610eee3390565b60006109888383611985565b816001600160a01b0316836001600160a01b031614156112525760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610448565b6001600160a01b03838116600081815260036020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000610476825490565b6001600160a01b0384166112ef5760405162461bcd60e51b8152600401610448906125a3565b3360006112fb8561182a565b905060006113088561182a565b9050611318838989858589611595565b60008681526002602090815260408083206001600160a01b038c1684529091529020548581101561135b5760405162461bcd60e51b8152600401610448906125e8565b60008781526002602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061139a90849061255d565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46113fa848a8a8a8a8a611875565b505050505050505050565b6001600160a01b03831661142b5760405162461bcd60e51b815260040161044890612632565b3360006114378461182a565b905060006114448461182a565b905061146483876000858560405180602001604052806000815250611595565b60008581526002602090815260408083206001600160a01b038a168452909152902054848110156114a75760405162461bcd60e51b815260040161044890612675565b60008681526002602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261118c565b600081815260018301602052604081205461156857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610476565b506000610476565b60006001600160e01b03198216635a05180f60e01b14806104765750610476826119af565b610e608686868686866119e4565b6001600160a01b0384163b15610e605760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115e790899089908890889088906004016126b9565b602060405180830381600087803b15801561160157600080fd5b505af1925050508015611631575060408051601f3d908101601f1916820190925261162e91810190612717565b60015b6116de5761163d612734565b806308c379a014156116775750611652612750565b8061165d5750611679565b8060405162461bcd60e51b81526004016104489190611dd7565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610448565b6001600160e01b0319811663bc197c8160e01b1461118c5760405162461bcd60e51b8152600401610448906127da565b611718828261098f565b6106635761172581611a4c565b611730836020611a5e565b604051602001611741929190612822565b60408051601f198184030181529082905262461bcd60e51b825261044891600401611dd7565b611771828261098f565b15610663576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610988836001600160a01b038416611bfa565b60055460ff1661070b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610448565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118645761186461248d565b602090810291909101015292915050565b6001600160a01b0384163b15610e605760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906118b99089908990889088908890600401612897565b602060405180830381600087803b1580156118d357600080fd5b505af1925050508015611903575060408051601f3d908101601f1916820190925261190091810190612717565b60015b61190f5761163d612734565b6001600160e01b0319811663f23a6e6160e01b1461118c5760405162461bcd60e51b8152600401610448906127da565b60055460ff161561070b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610448565b600082600001828154811061199c5761199c61248d565b9060005260206000200154905092915050565b60006001600160e01b03198216637965db0b60e01b148061047657506301ffc9a760e01b6001600160e01b0319831614610476565b60055460ff1615610e605760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201526b1dda1a5b19481c185d5cd95960a21b6064820152608401610448565b60606104766001600160a01b03831660145b60606000611a6d8360026128dc565b611a7890600261255d565b67ffffffffffffffff811115611a9057611a90611dea565b6040519080825280601f01601f191660200182016040528015611aba576020820181803683370190505b509050600360fc1b81600081518110611ad557611ad561248d565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611b0457611b0461248d565b60200101906001600160f81b031916908160001a9053506000611b288460026128dc565b611b3390600161255d565b90505b6001811115611bab576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b6757611b6761248d565b1a60f81b828281518110611b7d57611b7d61248d565b60200101906001600160f81b031916908160001a90535060049490941c93611ba4816128fb565b9050611b36565b5083156109885760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610448565b60008181526001830160205260408120548015611ce3576000611c1e600183612912565b8554909150600090611c3290600190612912565b9050818114611c97576000866000018281548110611c5257611c5261248d565b9060005260206000200154905080876000018481548110611c7557611c7561248d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ca857611ca8612929565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610476565b6000915050610476565b80356001600160a01b0381168114611d0457600080fd5b919050565b60008060408385031215611d1c57600080fd5b611d2583611ced565b946020939093013593505050565b6001600160e01b031981168114610e7257600080fd5b600060208284031215611d5b57600080fd5b813561098881611d33565b600060208284031215611d7857600080fd5b5035919050565b60005b83811015611d9a578181015183820152602001611d82565b8381111561056d5750506000910152565b60008151808452611dc3816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006109886020830184611dab565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611e2657611e26611dea565b6040525050565b600067ffffffffffffffff821115611e4757611e47611dea565b5060051b60200190565b600082601f830112611e6257600080fd5b81356020611e6f82611e2d565b604051611e7c8282611e00565b83815260059390931b8501820192828101915086841115611e9c57600080fd5b8286015b84811015611eb75780358352918301918301611ea0565b509695505050505050565b600082601f830112611ed357600080fd5b813567ffffffffffffffff811115611eed57611eed611dea565b604051611f04601f8301601f191660200182611e00565b818152846020838601011115611f1957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611f4c57600080fd5b611f5585611ced565b9350602085013567ffffffffffffffff80821115611f7257600080fd5b611f7e88838901611e51565b94506040870135915080821115611f9457600080fd5b611fa088838901611e51565b93506060870135915080821115611fb657600080fd5b50611fc387828801611ec2565b91505092959194509250565b600080600080600060a08688031215611fe757600080fd5b611ff086611ced565b9450611ffe60208701611ced565b9350604086013567ffffffffffffffff8082111561201b57600080fd5b61202789838a01611e51565b9450606088013591508082111561203d57600080fd5b61204989838a01611e51565b9350608088013591508082111561205f57600080fd5b5061206c88828901611ec2565b9150509295509295909350565b6000806040838503121561208c57600080fd5b8235915061209c60208401611ced565b90509250929050565b600080604083850312156120b857600080fd5b823567ffffffffffffffff808211156120d057600080fd5b818501915085601f8301126120e457600080fd5b813560206120f182611e2d565b6040516120fe8282611e00565b83815260059390931b850182019282810191508984111561211e57600080fd5b948201945b838610156121435761213486611ced565b82529482019490820190612123565b9650508601359250508082111561215957600080fd5b5061216685828601611e51565b9150509250929050565b600081518084526020808501945080840160005b838110156121a057815187529582019590820190600101612184565b509495945050505050565b6020815260006109886020830184612170565b6000806000606084860312156121d357600080fd5b6121dc84611ced565b9250602084013567ffffffffffffffff808211156121f957600080fd5b61220587838801611e51565b9350604086013591508082111561221b57600080fd5b5061222886828701611e51565b9150509250925092565b6000806000806080858703121561224857600080fd5b61225185611ced565b93506020850135925060408501359150606085013567ffffffffffffffff81111561227b57600080fd5b611fc387828801611ec2565b6000806040838503121561229a57600080fd5b50508035926020909101359150565b600080604083850312156122bc57600080fd5b6122c583611ced565b9150602083013580151581146122da57600080fd5b809150509250929050565b600080604083850312156122f857600080fd5b61230183611ced565b915061209c60208401611ced565b600080600080600060a0868803121561232757600080fd5b61233086611ced565b945061233e60208701611ced565b93506040860135925060608601359150608086013567ffffffffffffffff81111561236857600080fd5b61206c88828901611ec2565b60008060006060848603121561238957600080fd5b61239284611ced565b95602085013595506040909401359392505050565b600181811c908216806123bb57607f821691505b602082108114156123dc57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526038908201527f455243313135355072657365744d696e7465725061757365723a206d7573742060408201527f68617665206d696e74657220726f6c6520746f206d696e740000000000000000606082015260800190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156124cd576124cd6124a3565b5060010190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60008219821115612570576125706124a3565b500190565b6040815260006125886040830185612170565b828103602084015261259a8185612170565b95945050505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906126e590830186612170565b82810360608401526126f78186612170565b9050828103608084015261270b8185611dab565b98975050505050505050565b60006020828403121561272957600080fd5b815161098881611d33565b600060033d111561274d5760046000803e5060005160e01c5b90565b600060443d101561275e5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561278e57505050505090565b82850191508151818111156127a65750505050505090565b843d87010160208285010111156127c05750505050505090565b6127cf60208286010187611e00565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161285a816017850160208801611d7f565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161288b816028840160208801611d7f565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906128d190830184611dab565b979650505050505050565b60008160001904831182151516156128f6576128f66124a3565b500290565b60008161290a5761290a6124a3565b506000190190565b600082821015612924576129246124a3565b500390565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e41e76614ae456c45096aeaea34280a06ba934e3b4d13a5dd49d959c97833e2664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2D85 CODESIZE SUB DUP1 PUSH3 0x2D85 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2E7 JUMP JUMPDEST DUP1 PUSH3 0x40 DUP2 PUSH3 0xB7 JUMP JUMPDEST POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH3 0x58 PUSH1 0x0 CALLER PUSH3 0xD0 JUMP JUMPDEST PUSH3 0x84 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH3 0xD0 JUMP JUMPDEST PUSH3 0xB0 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH3 0xD0 JUMP JUMPDEST POP PUSH3 0x400 JUMP JUMPDEST DUP1 MLOAD PUSH3 0xCC SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x22B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0xCC DUP3 DUP3 PUSH3 0xED DUP3 DUP3 PUSH3 0x119 PUSH1 0x20 SHL PUSH3 0xA87 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH3 0x114 SWAP2 DUP4 SWAP1 PUSH3 0xB0B PUSH3 0x1B9 DUP3 SHL OR SWAP1 SHR JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0xCC JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x175 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1D0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH3 0x1D9 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH3 0x222 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH3 0x1D3 JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x1D3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x239 SWAP1 PUSH3 0x3C3 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x25D JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x2A8 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x278 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x2A8 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x2A8 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x2A8 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x28B JUMP JUMPDEST POP PUSH3 0x2B6 SWAP3 SWAP2 POP PUSH3 0x2BA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x2B6 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2BB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x313 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x328 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x33D JUMPI PUSH3 0x33D PUSH3 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x368 JUMPI PUSH3 0x368 PUSH3 0x2D1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 DUP7 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP4 POP JUMPDEST DUP3 DUP5 LT ISZERO PUSH3 0x3A5 JUMPI DUP5 DUP5 ADD DUP7 ADD MLOAD DUP2 DUP6 ADD DUP8 ADD MSTORE SWAP3 DUP6 ADD SWAP3 PUSH3 0x386 JUMP JUMPDEST DUP3 DUP5 GT ISZERO PUSH3 0x3B7 JUMPI PUSH1 0x0 DUP7 DUP5 DUP4 ADD ADD MSTORE JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x3D8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3FA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2975 DUP1 PUSH3 0x410 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 0x172 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x731133E9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xCA15C873 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xE63AB1E9 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x358 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x3BB JUMPI DUP1 PUSH4 0xF5298ACA EQ PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x731133E9 EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2DD JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x6B20C454 EQ PUSH2 0x284 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0x1F7FDFFA EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0x218 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18A PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D09 JUMP JUMPDEST PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1D49 JUMP JUMPDEST PUSH2 0x47C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x1D3 PUSH2 0x1CE CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x1DD7 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0x1F36 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x18A PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1FCF JUMP JUMPDEST PUSH2 0x573 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x5BF JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x5E9 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x667 JUMP JUMPDEST PUSH2 0x26C PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A5 JUMP JUMPDEST PUSH2 0x70D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x21AB JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x292 CALLDATASIZE PUSH1 0x4 PUSH2 0x21BE JUMP JUMPDEST PUSH2 0x837 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x2A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2232 JUMP JUMPDEST PUSH2 0x87A JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2287 JUMP JUMPDEST PUSH2 0x970 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x98F JUMP JUMPDEST PUSH2 0x18A PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0x22A9 JUMP JUMPDEST PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0x18A PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x9C3 JUMP JUMPDEST PUSH2 0x18A PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x353 CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x18A PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x22E5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x3C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x230F JUMP JUMPDEST PUSH2 0x9FF JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x3DC CALLDATASIZE PUSH1 0x4 PUSH2 0x2374 JUMP JUMPDEST PUSH2 0xA44 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x451 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2061646472657373207A65726F206973206E6F7420612076 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x30B634B21037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x476 DUP3 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x496 SWAP1 PUSH2 0x23A7 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 0x4C2 SWAP1 PUSH2 0x23A7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x50F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50F 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 0x4F2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x545 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x561 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH2 0x56D DUP5 DUP5 DUP5 DUP5 PUSH2 0xB60 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x58F JUMPI POP PUSH2 0x58F DUP6 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0x5AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5B8 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0xCBB JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x5DA DUP2 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 PUSH2 0xE75 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x659 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x663 DUP3 DUP3 PUSH2 0xE97 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x691 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686176652070617573657220726F6C6520746F20756E70617573650000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x70B PUSH2 0xEB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x772 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A206163636F756E747320616E6420696473206C656E677468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x40DAD2E6DAC2E8C6D PUSH1 0xBB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x78E JUMPI PUSH2 0x78E PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x7B7 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x82F JUMPI PUSH2 0x802 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x7DB JUMPI PUSH2 0x7DB PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x7F5 JUMPI PUSH2 0x7F5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x3E1 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x814 JUMPI PUSH2 0x814 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE PUSH2 0x828 DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP1 POP PUSH2 0x7BD JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND CALLER EQ DUP1 PUSH2 0x853 JUMPI POP PUSH2 0x853 DUP4 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0x86F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 DUP4 PUSH2 0xF0B JUMP JUMPDEST PUSH2 0x8A4 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x8C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH2 0x56D DUP5 DUP5 DUP5 DUP5 PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x8F6 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x968 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686176652070617573657220726F6C6520746F20706175736500000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x70B PUSH2 0x1195 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x988 SWAP1 DUP4 PUSH2 0x11D2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x663 CALLER DUP4 DUP4 PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x476 SWAP1 PUSH2 0x12BF JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9F5 DUP2 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 PUSH2 0xE97 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0xA1B JUMPI POP PUSH2 0xA1B DUP6 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0xA37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5B8 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x12C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND CALLER EQ DUP1 PUSH2 0xA60 JUMPI POP PUSH2 0xA60 DUP4 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0xA7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 DUP4 PUSH2 0x1405 JUMP JUMPDEST PUSH2 0xA91 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x663 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xAC7 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1521 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x6CDB3D13 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB51 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x3A24D07 PUSH1 0xE2 SHL EQ JUMPDEST DUP1 PUSH2 0x476 JUMPI POP PUSH2 0x476 DUP3 PUSH2 0x1570 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x24D4 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0xBA7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST CALLER PUSH2 0xBB7 DUP2 PUSH1 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0xC53 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xBD5 JUMPI PUSH2 0xBD5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x2 PUSH1 0x0 DUP8 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBF3 JUMPI PUSH2 0xBF3 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xC3B SWAP2 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP2 SWAP1 POP PUSH2 0xC4B DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xBBA JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xCA4 SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x5B8 DUP2 PUSH1 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x15A3 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0xCDC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD02 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25A3 JUMP JUMPDEST CALLER PUSH2 0xD11 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0xDFA JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xD31 JUMPI PUSH2 0xD31 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xD4F JUMPI PUSH2 0xD4F PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0xDA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25E8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 DUP6 SUB SWAP1 SSTORE SWAP1 DUP12 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xDDF SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 PUSH2 0xDF3 SWAP1 PUSH2 0x24B9 JUMP JUMPDEST SWAP1 POP PUSH2 0xD14 JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE4A SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xE60 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x15A3 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP2 CALLER PUSH2 0x170E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE7F DUP3 DUP3 PUSH2 0xA87 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x5E4 SWAP1 DUP3 PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xEA1 DUP3 DUP3 PUSH2 0x1767 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x5E4 SWAP1 DUP3 PUSH2 0x17CC JUMP JUMPDEST PUSH2 0xEC1 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xF31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2632 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0xF52 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0xF75 DUP2 DUP6 PUSH1 0x0 DUP7 DUP7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x103D JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xF95 JUMPI PUSH2 0xF95 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xFB3 JUMPI PUSH2 0xFB3 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0x1004 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2675 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP7 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SUB SWAP1 SSTORE DUP1 PUSH2 0x1035 DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xF78 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x108E SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 SWAP1 MSTORE PUSH2 0x56D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x10D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x24D4 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x10DC DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x10E9 DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x10FA DUP4 PUSH1 0x0 DUP10 DUP6 DUP6 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x112C SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP8 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND SWAP3 PUSH1 0x0 SWAP3 SWAP2 DUP8 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x118C DUP4 PUSH1 0x0 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1875 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x119D PUSH2 0x193F JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0xEEE CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 DUP4 PUSH2 0x1985 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1252 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2073657474696E6720617070726F76616C20737461747573 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x103337B91039B2B633 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x476 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x12EF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25A3 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x12FB DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1308 DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x1318 DUP4 DUP10 DUP10 DUP6 DUP6 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP6 DUP2 LT ISZERO PUSH2 0x135B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25E8 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP10 DUP6 SUB SWAP1 SSTORE SWAP1 DUP11 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP9 SWAP3 SWAP1 PUSH2 0x139A SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP9 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP3 DUP13 DUP3 AND SWAP3 SWAP2 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x13FA DUP5 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0x1875 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x142B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2632 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x1437 DUP5 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1444 DUP5 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x1464 DUP4 DUP8 PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0x14A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2675 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND DUP1 DUP7 MSTORE SWAP2 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP11 DUP8 SUB SWAP1 SSTORE DUP3 MLOAD DUP12 DUP2 MSTORE SWAP4 DUP5 ADD DUP11 SWAP1 MSTORE SWAP1 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 SWAP1 MSTORE PUSH2 0x118C JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1568 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x476 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x476 JUMPI POP PUSH2 0x476 DUP3 PUSH2 0x19AF JUMP JUMPDEST PUSH2 0xE60 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0x19E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBC197C81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xBC197C81 SWAP1 PUSH2 0x15E7 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1631 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x162E SWAP2 DUP2 ADD SWAP1 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x16DE JUMPI PUSH2 0x163D PUSH2 0x2734 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x1677 JUMPI POP PUSH2 0x1652 PUSH2 0x2750 JUMP JUMPDEST DUP1 PUSH2 0x165D JUMPI POP PUSH2 0x1679 JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP2 SWAP1 PUSH2 0x1DD7 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F206E6F6E2D45524331313535 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x2932B1B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x61 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xBC197C81 PUSH1 0xE0 SHL EQ PUSH2 0x118C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x27DA JUMP JUMPDEST PUSH2 0x1718 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x663 JUMPI PUSH2 0x1725 DUP2 PUSH2 0x1A4C JUMP JUMPDEST PUSH2 0x1730 DUP4 PUSH1 0x20 PUSH2 0x1A5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1741 SWAP3 SWAP2 SWAP1 PUSH2 0x2822 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x448 SWAP2 PUSH1 0x4 ADD PUSH2 0x1DD7 JUMP JUMPDEST PUSH2 0x1771 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1BFA JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH2 0x70B 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 0x448 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP1 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP DUP3 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1864 JUMPI PUSH2 0x1864 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF23A6E61 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xF23A6E61 SWAP1 PUSH2 0x18B9 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x2897 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1903 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1900 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x190F JUMPI PUSH2 0x163D PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xF23A6E61 PUSH1 0xE0 SHL EQ PUSH2 0x118C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x27DA JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x70B 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 0x448 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x199C JUMPI PUSH2 0x199C PUSH2 0x248D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x476 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x476 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355061757361626C653A20746F6B656E207472616E7366657220 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x1DDA1A5B19481C185D5CD959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x476 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1A6D DUP4 PUSH1 0x2 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1A78 SWAP1 PUSH1 0x2 PUSH2 0x255D JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A90 JUMPI PUSH2 0x1A90 PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1ABA JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1AD5 JUMPI PUSH2 0x1AD5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1B04 JUMPI PUSH2 0x1B04 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1B28 DUP5 PUSH1 0x2 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1B33 SWAP1 PUSH1 0x1 PUSH2 0x255D JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1BAB JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x1B67 JUMPI PUSH2 0x1B67 PUSH2 0x248D JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1B7D JUMPI PUSH2 0x1B7D PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1BA4 DUP2 PUSH2 0x28FB JUMP JUMPDEST SWAP1 POP PUSH2 0x1B36 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x988 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1CE3 JUMPI PUSH1 0x0 PUSH2 0x1C1E PUSH1 0x1 DUP4 PUSH2 0x2912 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1C32 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x2912 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x1C97 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C52 JUMPI PUSH2 0x1C52 PUSH2 0x248D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1C75 JUMPI PUSH2 0x1C75 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1CA8 JUMPI PUSH2 0x1CA8 PUSH2 0x2929 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x476 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1D04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D25 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xE72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x988 DUP2 PUSH2 0x1D33 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D9A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1D82 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x56D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1DC3 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1D7F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x988 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1DAB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E26 JUMPI PUSH2 0x1E26 PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E47 JUMPI PUSH2 0x1E47 PUSH2 0x1DEA JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1E62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x1E6F DUP3 PUSH2 0x1E2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7C DUP3 DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP7 DUP5 GT ISZERO PUSH2 0x1E9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1EB7 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x1EA0 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1ED3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EED JUMPI PUSH2 0x1EED PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F04 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x1F19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1F4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F55 DUP6 PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1F72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F7E DUP9 DUP4 DUP10 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FA0 DUP9 DUP4 DUP10 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1FB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FC3 DUP8 DUP3 DUP9 ADD PUSH2 0x1EC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1FE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FF0 DUP7 PUSH2 0x1CED JUMP JUMPDEST SWAP5 POP PUSH2 0x1FFE PUSH1 0x20 DUP8 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x201B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2027 DUP10 DUP4 DUP11 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x203D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2049 DUP10 DUP4 DUP11 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x205F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x206C DUP9 DUP3 DUP10 ADD PUSH2 0x1EC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x209C PUSH1 0x20 DUP5 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x20E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x20F1 DUP3 PUSH2 0x1E2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20FE DUP3 DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP10 DUP5 GT ISZERO PUSH2 0x211E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x2143 JUMPI PUSH2 0x2134 DUP7 PUSH2 0x1CED JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0x2123 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0x2159 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2166 DUP6 DUP3 DUP7 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x988 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2170 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x21D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21DC DUP5 PUSH2 0x1CED JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x21F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2205 DUP8 DUP4 DUP9 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x221B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2228 DUP7 DUP3 DUP8 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2251 DUP6 PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x227B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FC3 DUP8 DUP3 DUP9 ADD PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x229A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22C5 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x22DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2301 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP2 POP PUSH2 0x209C PUSH1 0x20 DUP5 ADD PUSH2 0x1CED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2330 DUP7 PUSH2 0x1CED JUMP JUMPDEST SWAP5 POP PUSH2 0x233E PUSH1 0x20 DUP8 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x206C DUP9 DUP3 DUP10 ADD PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2392 DUP5 PUSH2 0x1CED JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x23DC JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x38 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x68617665206D696E74657220726F6C6520746F206D696E740000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2063616C6C6572206973206E6F7420746F6B656E206F776E PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x195C881BDC88185C1C1C9BDD9959 PUSH1 0x92 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x24CD JUMPI PUSH2 0x24CD PUSH2 0x24A3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206D696E7420746F20746865207A65726F20616464726573 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2069647320616E6420616D6F756E7473206C656E67746820 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0xDAD2E6DAC2E8C6D PUSH1 0xC3 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x2570 JUMPI PUSH2 0x2570 PUSH2 0x24A3 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2588 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2170 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x259A DUP2 DUP6 PUSH2 0x2170 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A20696E73756666696369656E742062616C616E636520666F PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x39103A3930B739B332B9 PUSH1 0xB1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206275726E2066726F6D20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206275726E20616D6F756E7420657863656564732062616C PUSH1 0x40 DUP3 ADD MSTORE PUSH4 0x616E6365 PUSH1 0xE0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x26E5 SWAP1 DUP4 ADD DUP7 PUSH2 0x2170 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x26F7 DUP2 DUP7 PUSH2 0x2170 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x270B DUP2 DUP6 PUSH2 0x1DAB JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2729 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x988 DUP2 PUSH2 0x1D33 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x274D JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY POP PUSH1 0x0 MLOAD PUSH1 0xE0 SHR JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x275E JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3 NOT RETURNDATASIZE DUP2 ADD PUSH1 0x4 DUP4 RETURNDATACOPY DUP2 MLOAD RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 PUSH1 0x24 DUP5 ADD GT DUP2 DUP5 GT OR ISZERO PUSH2 0x278E JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP3 DUP6 ADD SWAP2 POP DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x27A6 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP5 RETURNDATASIZE DUP8 ADD ADD PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x27C0 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x27CF PUSH1 0x20 DUP3 DUP7 ADD ADD DUP8 PUSH2 0x1E00 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A204552433131353552656365697665722072656A65637465 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0x6420746F6B656E73 PUSH1 0xC0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x285A DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1D7F JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x288B DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1D7F JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x28D1 SWAP1 DUP4 ADD DUP5 PUSH2 0x1DAB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x28F6 JUMPI PUSH2 0x28F6 PUSH2 0x24A3 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x290A JUMPI PUSH2 0x290A PUSH2 0x24A3 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2924 JUMPI PUSH2 0x2924 PUSH2 0x24A3 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 0x1E PUSH23 0x614AE456C45096AEAEA34280A06BA934E3B4D13A5DD49D SWAP6 SWAP13 SWAP8 DUP4 RETURNDATACOPY 0x26 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1017:2896:92:-:0;;;1404:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1443:3;1149:13:84;1443:3:92;1149:7:84;:13::i;:::-;-1:-1:-1;996:7:81;:15;;-1:-1:-1;;996:15:81;;;1458:44:92::1;-1:-1:-1::0;719:10:138;1458::92::1;:44::i;:::-;1513:37;1166:24;719:10:138::0;1458::92::1;:44::i;1513:37::-;1560;1234:24;719:10:138::0;1458::92::1;:44::i;1560:37::-;1404:200:::0;1017:2896;;8171:86:84;8237:13;;;;:4;;:13;;;;;:::i;:::-;;8171:86;:::o;6811:110:4:-;6889:25;6900:4;6906:7;2065:31:6;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106:18;;;;:12;:18;;;;;;;;:31;;2129:7;;2106:22;;;;;:31;;:::i;:::-;;1978:166;;:::o;7461:233:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;:::-;8383:57;;8297:150;;;;;:::o;2206:404::-;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;1017:2896:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1017:2896:92;;;-1:-1:-1;1017:2896:92;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1087;226:6;257:2;300;288:9;279:7;275:23;271:32;268:52;;;316:1;313;306:12;268:52;343:16;;-1:-1:-1;;;;;408:14:181;;;405:34;;;435:1;432;425:12;405:34;473:6;462:9;458:22;448:32;;518:7;511:4;507:2;503:13;499:27;489:55;;540:1;537;530:12;489:55;569:2;563:9;591:2;587;584:10;581:36;;;597:18;;:::i;:::-;672:2;666:9;640:2;726:13;;-1:-1:-1;;722:22:181;;;746:2;718:31;714:40;702:53;;;770:18;;;790:22;;;767:46;764:72;;;816:18;;:::i;:::-;856:10;852:2;845:22;891:2;883:6;876:18;931:7;926:2;921;917;913:11;909:20;906:33;903:53;;;952:1;949;942:12;903:53;974:1;965:10;;984:129;998:2;995:1;992:9;984:129;;;1086:10;;;1082:19;;1076:26;1055:14;;;1051:23;;1044:59;1009:10;;;;984:129;;;1131:2;1128:1;1125:9;1122:80;;;1190:1;1185:2;1180;1172:6;1168:15;1164:24;1157:35;1122:80;1221:6;146:1087;-1:-1:-1;;;;;;;;146:1087:181:o;1238:380::-;1317:1;1313:12;;;;1360;;;1381:61;;1435:4;1427:6;1423:17;1413:27;;1381:61;1488:2;1480:6;1477:14;1457:18;1454:38;1451:161;;;1534:10;1529:3;1525:20;1522:1;1515:31;1569:4;1566:1;1559:15;1597:4;1594:1;1587:15;1451:161;;1238:380;;;:::o;:::-;1017:2896:92;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_739":{"entryPoint":null,"id":739,"parameterSlots":0,"returnSlots":0},"@MINTER_ROLE_12543":{"entryPoint":null,"id":12543,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_12548":{"entryPoint":null,"id":12548,"parameterSlots":0,"returnSlots":0},"@_add_29338":{"entryPoint":5409,"id":29338,"parameterSlots":2,"returnSlots":1},"@_afterTokenTransfer_11825":{"entryPoint":null,"id":11825,"parameterSlots":6,"returnSlots":0},"@_asSingletonArray_11981":{"entryPoint":6186,"id":11981,"parameterSlots":1,"returnSlots":1},"@_at_29472":{"entryPoint":6533,"id":29472,"parameterSlots":2,"returnSlots":1},"@_beforeTokenTransfer_11806":{"entryPoint":null,"id":11806,"parameterSlots":6,"returnSlots":0},"@_beforeTokenTransfer_12261":{"entryPoint":6628,"id":12261,"parameterSlots":6,"returnSlots":0},"@_beforeTokenTransfer_12719":{"entryPoint":5525,"id":12719,"parameterSlots":6,"returnSlots":0},"@_burnBatch_11755":{"entryPoint":3851,"id":11755,"parameterSlots":3,"returnSlots":0},"@_burn_11632":{"entryPoint":5125,"id":11632,"parameterSlots":3,"returnSlots":0},"@_checkRole_804":{"entryPoint":3688,"id":804,"parameterSlots":1,"returnSlots":0},"@_checkRole_843":{"entryPoint":5902,"id":843,"parameterSlots":2,"returnSlots":0},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_doSafeBatchTransferAcceptanceCheck_11953":{"entryPoint":5539,"id":11953,"parameterSlots":6,"returnSlots":0},"@_doSafeTransferAcceptanceCheck_11888":{"entryPoint":6261,"id":11888,"parameterSlots":6,"returnSlots":0},"@_grantRole_1182":{"entryPoint":3701,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":2695,"id":995,"parameterSlots":2,"returnSlots":0},"@_length_29455":{"entryPoint":null,"id":29455,"parameterSlots":1,"returnSlots":1},"@_mintBatch_11527":{"entryPoint":2912,"id":11527,"parameterSlots":4,"returnSlots":0},"@_mint_11416":{"entryPoint":4266,"id":11416,"parameterSlots":4,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_pause_10625":{"entryPoint":4501,"id":10625,"parameterSlots":0,"returnSlots":0},"@_remove_29422":{"entryPoint":7162,"id":29422,"parameterSlots":2,"returnSlots":1},"@_requireNotPaused_10598":{"entryPoint":6463,"id":10598,"parameterSlots":0,"returnSlots":0},"@_requirePaused_10609":{"entryPoint":6113,"id":10609,"parameterSlots":0,"returnSlots":0},"@_revokeRole_1026":{"entryPoint":5991,"id":1026,"parameterSlots":2,"returnSlots":0},"@_revokeRole_1206":{"entryPoint":3735,"id":1206,"parameterSlots":2,"returnSlots":0},"@_safeBatchTransferFrom_11304":{"entryPoint":3259,"id":11304,"parameterSlots":5,"returnSlots":0},"@_safeTransferFrom_11169":{"entryPoint":4809,"id":11169,"parameterSlots":5,"returnSlots":0},"@_setApprovalForAll_11787":{"entryPoint":4574,"id":11787,"parameterSlots":3,"returnSlots":0},"@_unpause_10641":{"entryPoint":3769,"id":10641,"parameterSlots":0,"returnSlots":0},"@add_29638":{"entryPoint":2827,"id":29638,"parameterSlots":2,"returnSlots":1},"@at_29734":{"entryPoint":4562,"id":29734,"parameterSlots":2,"returnSlots":1},"@balanceOfBatch_10939":{"entryPoint":1805,"id":10939,"parameterSlots":2,"returnSlots":1},"@balanceOf_10875":{"entryPoint":993,"id":10875,"parameterSlots":2,"returnSlots":1},"@burnBatch_12213":{"entryPoint":2103,"id":12213,"parameterSlots":3,"returnSlots":0},"@burn_12181":{"entryPoint":2628,"id":12181,"parameterSlots":3,"returnSlots":0},"@getRoleAdmin_858":{"entryPoint":null,"id":858,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_1158":{"entryPoint":2499,"id":1158,"parameterSlots":1,"returnSlots":1},"@getRoleMember_1142":{"entryPoint":2416,"id":1142,"parameterSlots":2,"returnSlots":1},"@grantRole_878":{"entryPoint":1471,"id":878,"parameterSlots":2,"returnSlots":0},"@hasRole_791":{"entryPoint":2447,"id":791,"parameterSlots":2,"returnSlots":1},"@isApprovedForAll_10974":{"entryPoint":null,"id":10974,"parameterSlots":2,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@length_29707":{"entryPoint":4799,"id":29707,"parameterSlots":1,"returnSlots":1},"@mintBatch_12636":{"entryPoint":1307,"id":12636,"parameterSlots":4,"returnSlots":0},"@mint_12605":{"entryPoint":2170,"id":12605,"parameterSlots":4,"returnSlots":0},"@pause_12653":{"entryPoint":2252,"id":12653,"parameterSlots":0,"returnSlots":0},"@paused_10586":{"entryPoint":null,"id":10586,"parameterSlots":0,"returnSlots":1},"@remove_29665":{"entryPoint":6092,"id":29665,"parameterSlots":2,"returnSlots":1},"@renounceRole_921":{"entryPoint":1513,"id":921,"parameterSlots":2,"returnSlots":0},"@revokeRole_898":{"entryPoint":2522,"id":898,"parameterSlots":2,"returnSlots":0},"@safeBatchTransferFrom_11052":{"entryPoint":1395,"id":11052,"parameterSlots":5,"returnSlots":0},"@safeTransferFrom_11012":{"entryPoint":2559,"id":11012,"parameterSlots":5,"returnSlots":0},"@setApprovalForAll_10956":{"entryPoint":2488,"id":10956,"parameterSlots":2,"returnSlots":0},"@supportsInterface_10835":{"entryPoint":2848,"id":10835,"parameterSlots":1,"returnSlots":1},"@supportsInterface_1123":{"entryPoint":5488,"id":1123,"parameterSlots":1,"returnSlots":1},"@supportsInterface_12687":{"entryPoint":1148,"id":12687,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@supportsInterface_772":{"entryPoint":6575,"id":772,"parameterSlots":1,"returnSlots":1},"@toHexString_22705":{"entryPoint":6750,"id":22705,"parameterSlots":2,"returnSlots":1},"@toHexString_22725":{"entryPoint":6732,"id":22725,"parameterSlots":1,"returnSlots":1},"@unpause_12670":{"entryPoint":1639,"id":12670,"parameterSlots":0,"returnSlots":0},"@uri_10847":{"entryPoint":1159,"id":10847,"parameterSlots":1,"returnSlots":1},"abi_decode_address":{"entryPoint":7405,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":7761,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":7874,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":8933,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":8143,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":8975,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":8638,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":7990,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":8873,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":7433,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":9076,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":8754,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":8357,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":8313,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":8839,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":7497,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":10007,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":7526,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":8560,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":7595,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":10274,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":9913,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":10391,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":8619,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":9589,"id":null,"parameterSlots":3,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7639,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10202,"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_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9845,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_382791644f51336ed3667770955aa8eb4efb839029c48708cadb22e92d271435__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9279,"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_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9635,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9778,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9186,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9704,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_be510562063387b7714478be5eff01a8c39efbb1b76d9be224d34aac440c9e31__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d5053a301adec69bf5c7c3782556a354b14090e41fa7ca93c4de3863fd6a98b9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9493,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9428,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"array_allocation_size_array_uint256_dyn":{"entryPoint":7725,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":9565,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":10460,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":10514,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":7551,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint256":{"entryPoint":10491,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":9127,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":7680,"id":null,"parameterSlots":2,"returnSlots":0},"increment_t_uint256":{"entryPoint":9401,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":9379,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":10537,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":9357,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":7658,"id":null,"parameterSlots":0,"returnSlots":0},"return_data_selector":{"entryPoint":10036,"id":null,"parameterSlots":0,"returnSlots":1},"try_decode_error_message":{"entryPoint":10064,"id":null,"parameterSlots":0,"returnSlots":1},"validator_revert_bytes4":{"entryPoint":7475,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:25199:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:181","statements":[{"nodeType":"YulAssignment","src":"73:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:181"},"nodeType":"YulFunctionCall","src":"82:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:181"}]},{"body":{"nodeType":"YulBlock","src":"165:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:181"},"nodeType":"YulFunctionCall","src":"167:12:181"},"nodeType":"YulExpressionStatement","src":"167:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:181"},"nodeType":"YulFunctionCall","src":"142:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:181"},"nodeType":"YulFunctionCall","src":"131:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:181"},"nodeType":"YulFunctionCall","src":"121:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:181"},"nodeType":"YulFunctionCall","src":"114:50:181"},"nodeType":"YulIf","src":"111:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:181","type":""}],"src":"14:173:181"},{"body":{"nodeType":"YulBlock","src":"279:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:181"},"nodeType":"YulFunctionCall","src":"327:12:181"},"nodeType":"YulExpressionStatement","src":"327:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:181"},"nodeType":"YulFunctionCall","src":"296:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:181"},"nodeType":"YulFunctionCall","src":"292:32:181"},"nodeType":"YulIf","src":"289:52:181"},{"nodeType":"YulAssignment","src":"350:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"379:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"360:18:181"},"nodeType":"YulFunctionCall","src":"360:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:181"}]},{"nodeType":"YulAssignment","src":"398:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:181"},"nodeType":"YulFunctionCall","src":"421:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"408:12:181"},"nodeType":"YulFunctionCall","src":"408:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"398:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:181","type":""}],"src":"192:254:181"},{"body":{"nodeType":"YulBlock","src":"552:76:181","statements":[{"nodeType":"YulAssignment","src":"562:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"574:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"585:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"562:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"615:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:181"},"nodeType":"YulFunctionCall","src":"597:25:181"},"nodeType":"YulExpressionStatement","src":"597:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"521:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"532:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"543:4:181","type":""}],"src":"451:177:181"},{"body":{"nodeType":"YulBlock","src":"677:87:181","statements":[{"body":{"nodeType":"YulBlock","src":"742:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"751:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"754:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"744:6:181"},"nodeType":"YulFunctionCall","src":"744:12:181"},"nodeType":"YulExpressionStatement","src":"744:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"700:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"711:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"722:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"727:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"718:3:181"},"nodeType":"YulFunctionCall","src":"718:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"707:3:181"},"nodeType":"YulFunctionCall","src":"707:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"697:2:181"},"nodeType":"YulFunctionCall","src":"697:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"690:6:181"},"nodeType":"YulFunctionCall","src":"690:51:181"},"nodeType":"YulIf","src":"687:71:181"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"666:5:181","type":""}],"src":"633:131:181"},{"body":{"nodeType":"YulBlock","src":"838:176:181","statements":[{"body":{"nodeType":"YulBlock","src":"884:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"893:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"896:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"886:6:181"},"nodeType":"YulFunctionCall","src":"886:12:181"},"nodeType":"YulExpressionStatement","src":"886:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"859:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"868:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"855:3:181"},"nodeType":"YulFunctionCall","src":"855:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"880:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"851:3:181"},"nodeType":"YulFunctionCall","src":"851:32:181"},"nodeType":"YulIf","src":"848:52:181"},{"nodeType":"YulVariableDeclaration","src":"909:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"935:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"922:12:181"},"nodeType":"YulFunctionCall","src":"922:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"913:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"978:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"954:23:181"},"nodeType":"YulFunctionCall","src":"954:30:181"},"nodeType":"YulExpressionStatement","src":"954:30:181"},{"nodeType":"YulAssignment","src":"993:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1003:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"993:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"804:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"815:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"827:6:181","type":""}],"src":"769:245:181"},{"body":{"nodeType":"YulBlock","src":"1114:92:181","statements":[{"nodeType":"YulAssignment","src":"1124:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1136:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1147:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:3:181"},"nodeType":"YulFunctionCall","src":"1132:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1124:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1166:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1191:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1184:6:181"},"nodeType":"YulFunctionCall","src":"1184:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1177:6:181"},"nodeType":"YulFunctionCall","src":"1177:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1159:6:181"},"nodeType":"YulFunctionCall","src":"1159:41:181"},"nodeType":"YulExpressionStatement","src":"1159:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1083:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1094:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1105:4:181","type":""}],"src":"1019:187:181"},{"body":{"nodeType":"YulBlock","src":"1281:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"1327:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1336:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1339:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1329:6:181"},"nodeType":"YulFunctionCall","src":"1329:12:181"},"nodeType":"YulExpressionStatement","src":"1329:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1302:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1311:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1298:3:181"},"nodeType":"YulFunctionCall","src":"1298:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1323:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1294:3:181"},"nodeType":"YulFunctionCall","src":"1294:32:181"},"nodeType":"YulIf","src":"1291:52:181"},{"nodeType":"YulAssignment","src":"1352:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1375:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1362:12:181"},"nodeType":"YulFunctionCall","src":"1362:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1352:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1247:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1258:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1270:6:181","type":""}],"src":"1211:180:181"},{"body":{"nodeType":"YulBlock","src":"1449:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"1459:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1468:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1463:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1528:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1553:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"1558:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1549:3:181"},"nodeType":"YulFunctionCall","src":"1549:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1572:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"1577:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1568:3:181"},"nodeType":"YulFunctionCall","src":"1568:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1562:5:181"},"nodeType":"YulFunctionCall","src":"1562:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1542:6:181"},"nodeType":"YulFunctionCall","src":"1542:39:181"},"nodeType":"YulExpressionStatement","src":"1542:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1489:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1492:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1486:2:181"},"nodeType":"YulFunctionCall","src":"1486:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1500:19:181","statements":[{"nodeType":"YulAssignment","src":"1502:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1511:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"1514:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1507:3:181"},"nodeType":"YulFunctionCall","src":"1507:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1502:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1482:3:181","statements":[]},"src":"1478:113:181"},{"body":{"nodeType":"YulBlock","src":"1617:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1630:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1635:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1626:3:181"},"nodeType":"YulFunctionCall","src":"1626:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"1644:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1619:6:181"},"nodeType":"YulFunctionCall","src":"1619:27:181"},"nodeType":"YulExpressionStatement","src":"1619:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1606:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"1609:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1603:2:181"},"nodeType":"YulFunctionCall","src":"1603:13:181"},"nodeType":"YulIf","src":"1600:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1427:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1432:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"1437:6:181","type":""}],"src":"1396:258:181"},{"body":{"nodeType":"YulBlock","src":"1709:208:181","statements":[{"nodeType":"YulVariableDeclaration","src":"1719:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1739:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1733:5:181"},"nodeType":"YulFunctionCall","src":"1733:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1723:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1761:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1766:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1754:6:181"},"nodeType":"YulFunctionCall","src":"1754:19:181"},"nodeType":"YulExpressionStatement","src":"1754:19:181"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1808:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"1815:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1804:3:181"},"nodeType":"YulFunctionCall","src":"1804:16:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1826:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"1831:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1822:3:181"},"nodeType":"YulFunctionCall","src":"1822:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"1838:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1782:21:181"},"nodeType":"YulFunctionCall","src":"1782:63:181"},"nodeType":"YulExpressionStatement","src":"1782:63:181"},{"nodeType":"YulAssignment","src":"1854:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1869:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1882:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1890:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1878:3:181"},"nodeType":"YulFunctionCall","src":"1878:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1899:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1895:3:181"},"nodeType":"YulFunctionCall","src":"1895:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1874:3:181"},"nodeType":"YulFunctionCall","src":"1874:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1865:3:181"},"nodeType":"YulFunctionCall","src":"1865:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1906:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1861:3:181"},"nodeType":"YulFunctionCall","src":"1861:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1854:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1686:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1693:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1701:3:181","type":""}],"src":"1659:258:181"},{"body":{"nodeType":"YulBlock","src":"2043:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2060:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2071:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2053:6:181"},"nodeType":"YulFunctionCall","src":"2053:21:181"},"nodeType":"YulExpressionStatement","src":"2053:21:181"},{"nodeType":"YulAssignment","src":"2083:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2109:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2132:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2117:3:181"},"nodeType":"YulFunctionCall","src":"2117:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2091:17:181"},"nodeType":"YulFunctionCall","src":"2091:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2083:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2012:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2023:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2034:4:181","type":""}],"src":"1922:220:181"},{"body":{"nodeType":"YulBlock","src":"2179:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2196:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2203:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2208:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2199:3:181"},"nodeType":"YulFunctionCall","src":"2199:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2189:6:181"},"nodeType":"YulFunctionCall","src":"2189:31:181"},"nodeType":"YulExpressionStatement","src":"2189:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2236:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2239:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2229:6:181"},"nodeType":"YulFunctionCall","src":"2229:15:181"},"nodeType":"YulExpressionStatement","src":"2229:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2260:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2263:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2253:6:181"},"nodeType":"YulFunctionCall","src":"2253:15:181"},"nodeType":"YulExpressionStatement","src":"2253:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2147:127:181"},{"body":{"nodeType":"YulBlock","src":"2326:202:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2336:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2358:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2374:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2380:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2370:3:181"},"nodeType":"YulFunctionCall","src":"2370:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2389:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2385:3:181"},"nodeType":"YulFunctionCall","src":"2385:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2366:3:181"},"nodeType":"YulFunctionCall","src":"2366:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2354:3:181"},"nodeType":"YulFunctionCall","src":"2354:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2340:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2469:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2471:16:181"},"nodeType":"YulFunctionCall","src":"2471:18:181"},"nodeType":"YulExpressionStatement","src":"2471:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2412:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"2424:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2409:2:181"},"nodeType":"YulFunctionCall","src":"2409:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2448:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2460:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2445:2:181"},"nodeType":"YulFunctionCall","src":"2445:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2406:2:181"},"nodeType":"YulFunctionCall","src":"2406:62:181"},"nodeType":"YulIf","src":"2403:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2507:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2511:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2500:6:181"},"nodeType":"YulFunctionCall","src":"2500:22:181"},"nodeType":"YulExpressionStatement","src":"2500:22:181"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2308:6:181","type":""},{"name":"size","nodeType":"YulTypedName","src":"2316:4:181","type":""}],"src":"2279:249:181"},{"body":{"nodeType":"YulBlock","src":"2602:114:181","statements":[{"body":{"nodeType":"YulBlock","src":"2646:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2648:16:181"},"nodeType":"YulFunctionCall","src":"2648:18:181"},"nodeType":"YulExpressionStatement","src":"2648:18:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2618:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2626:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2615:2:181"},"nodeType":"YulFunctionCall","src":"2615:30:181"},"nodeType":"YulIf","src":"2612:56:181"},{"nodeType":"YulAssignment","src":"2677:33:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2693:1:181","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2696:6:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2689:3:181"},"nodeType":"YulFunctionCall","src":"2689:14:181"},{"kind":"number","nodeType":"YulLiteral","src":"2705:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2685:3:181"},"nodeType":"YulFunctionCall","src":"2685:25:181"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2677:4:181"}]}]},"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2582:6:181","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2593:4:181","type":""}],"src":"2533:183:181"},{"body":{"nodeType":"YulBlock","src":"2785:660:181","statements":[{"body":{"nodeType":"YulBlock","src":"2834:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2843:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2846:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2836:6:181"},"nodeType":"YulFunctionCall","src":"2836:12:181"},"nodeType":"YulExpressionStatement","src":"2836:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2813:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2821:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2809:3:181"},"nodeType":"YulFunctionCall","src":"2809:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"2828:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2805:3:181"},"nodeType":"YulFunctionCall","src":"2805:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2798:6:181"},"nodeType":"YulFunctionCall","src":"2798:35:181"},"nodeType":"YulIf","src":"2795:55:181"},{"nodeType":"YulVariableDeclaration","src":"2859:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2882:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2869:12:181"},"nodeType":"YulFunctionCall","src":"2869:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2863:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2898:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2908:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2902:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2921:53:181","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2971:2:181"}],"functionName":{"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulIdentifier","src":"2931:39:181"},"nodeType":"YulFunctionCall","src":"2931:43:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2925:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2983:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3003:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2997:5:181"},"nodeType":"YulFunctionCall","src":"2997:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2987:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3035:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"3043:2:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"3015:19:181"},"nodeType":"YulFunctionCall","src":"3015:31:181"},"nodeType":"YulExpressionStatement","src":"3015:31:181"},{"nodeType":"YulVariableDeclaration","src":"3055:17:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3066:6:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3059:3:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3088:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3096:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3081:6:181"},"nodeType":"YulFunctionCall","src":"3081:18:181"},"nodeType":"YulExpressionStatement","src":"3081:18:181"},{"nodeType":"YulAssignment","src":"3108:22:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3119:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3127:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3115:3:181"},"nodeType":"YulFunctionCall","src":"3115:15:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3108:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"3139:46:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3161:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3173:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3176:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3169:3:181"},"nodeType":"YulFunctionCall","src":"3169:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3157:3:181"},"nodeType":"YulFunctionCall","src":"3157:23:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3182:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3153:3:181"},"nodeType":"YulFunctionCall","src":"3153:32:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3143:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3213:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3222:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3225:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3215:6:181"},"nodeType":"YulFunctionCall","src":"3215:12:181"},"nodeType":"YulExpressionStatement","src":"3215:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3200:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"3208:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3197:2:181"},"nodeType":"YulFunctionCall","src":"3197:15:181"},"nodeType":"YulIf","src":"3194:35:181"},{"nodeType":"YulVariableDeclaration","src":"3238:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3253:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3261:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3249:3:181"},"nodeType":"YulFunctionCall","src":"3249:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3242:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3329:86:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3350:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3368:3:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3355:12:181"},"nodeType":"YulFunctionCall","src":"3355:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3343:6:181"},"nodeType":"YulFunctionCall","src":"3343:30:181"},"nodeType":"YulExpressionStatement","src":"3343:30:181"},{"nodeType":"YulAssignment","src":"3386:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3397:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3402:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3393:3:181"},"nodeType":"YulFunctionCall","src":"3393:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3386:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3284:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3289:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3281:2:181"},"nodeType":"YulFunctionCall","src":"3281:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3297:23:181","statements":[{"nodeType":"YulAssignment","src":"3299:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3310:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3315:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3306:3:181"},"nodeType":"YulFunctionCall","src":"3306:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3299:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"3277:3:181","statements":[]},"src":"3273:142:181"},{"nodeType":"YulAssignment","src":"3424:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3433:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3424:5:181"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2759:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"2767:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2775:5:181","type":""}],"src":"2721:724:181"},{"body":{"nodeType":"YulBlock","src":"3502:503:181","statements":[{"body":{"nodeType":"YulBlock","src":"3551:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3560:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3563:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3553:6:181"},"nodeType":"YulFunctionCall","src":"3553:12:181"},"nodeType":"YulExpressionStatement","src":"3553:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3530:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3538:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3526:3:181"},"nodeType":"YulFunctionCall","src":"3526:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"3545:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3522:3:181"},"nodeType":"YulFunctionCall","src":"3522:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3515:6:181"},"nodeType":"YulFunctionCall","src":"3515:35:181"},"nodeType":"YulIf","src":"3512:55:181"},{"nodeType":"YulVariableDeclaration","src":"3576:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3599:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3586:12:181"},"nodeType":"YulFunctionCall","src":"3586:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3580:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3645:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3647:16:181"},"nodeType":"YulFunctionCall","src":"3647:18:181"},"nodeType":"YulExpressionStatement","src":"3647:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3621:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3625:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3618:2:181"},"nodeType":"YulFunctionCall","src":"3618:26:181"},"nodeType":"YulIf","src":"3615:52:181"},{"nodeType":"YulVariableDeclaration","src":"3676:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3696:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3690:5:181"},"nodeType":"YulFunctionCall","src":"3690:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3680:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3728:6:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3748:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3752:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3744:3:181"},"nodeType":"YulFunctionCall","src":"3744:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3763:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3759:3:181"},"nodeType":"YulFunctionCall","src":"3759:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3740:3:181"},"nodeType":"YulFunctionCall","src":"3740:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"3769:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3736:3:181"},"nodeType":"YulFunctionCall","src":"3736:38:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"3708:19:181"},"nodeType":"YulFunctionCall","src":"3708:67:181"},"nodeType":"YulExpressionStatement","src":"3708:67:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3791:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3799:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3784:6:181"},"nodeType":"YulFunctionCall","src":"3784:18:181"},"nodeType":"YulExpressionStatement","src":"3784:18:181"},{"body":{"nodeType":"YulBlock","src":"3850:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3859:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3862:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3852:6:181"},"nodeType":"YulFunctionCall","src":"3852:12:181"},"nodeType":"YulExpressionStatement","src":"3852:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3825:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3833:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3821:3:181"},"nodeType":"YulFunctionCall","src":"3821:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3838:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3817:3:181"},"nodeType":"YulFunctionCall","src":"3817:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"3845:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3814:2:181"},"nodeType":"YulFunctionCall","src":"3814:35:181"},"nodeType":"YulIf","src":"3811:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3892:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3900:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3888:3:181"},"nodeType":"YulFunctionCall","src":"3888:17:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3911:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3919:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3907:3:181"},"nodeType":"YulFunctionCall","src":"3907:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3926:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3875:12:181"},"nodeType":"YulFunctionCall","src":"3875:54:181"},"nodeType":"YulExpressionStatement","src":"3875:54:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3953:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3961:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3949:3:181"},"nodeType":"YulFunctionCall","src":"3949:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3966:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3945:3:181"},"nodeType":"YulFunctionCall","src":"3945:26:181"},{"kind":"number","nodeType":"YulLiteral","src":"3973:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3938:6:181"},"nodeType":"YulFunctionCall","src":"3938:37:181"},"nodeType":"YulExpressionStatement","src":"3938:37:181"},{"nodeType":"YulAssignment","src":"3984:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3993:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3984:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3476:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"3484:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3492:5:181","type":""}],"src":"3450:555:181"},{"body":{"nodeType":"YulBlock","src":"4190:688:181","statements":[{"body":{"nodeType":"YulBlock","src":"4237:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4246:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4249:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4239:6:181"},"nodeType":"YulFunctionCall","src":"4239:12:181"},"nodeType":"YulExpressionStatement","src":"4239:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4211:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4220:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4207:3:181"},"nodeType":"YulFunctionCall","src":"4207:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4232:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4203:3:181"},"nodeType":"YulFunctionCall","src":"4203:33:181"},"nodeType":"YulIf","src":"4200:53:181"},{"nodeType":"YulAssignment","src":"4262:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4291:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4272:18:181"},"nodeType":"YulFunctionCall","src":"4272:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4262:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4310:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4341:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4352:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4337:3:181"},"nodeType":"YulFunctionCall","src":"4337:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4324:12:181"},"nodeType":"YulFunctionCall","src":"4324:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4314:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4365:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4375:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4369:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4420:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4429:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4432:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4422:6:181"},"nodeType":"YulFunctionCall","src":"4422:12:181"},"nodeType":"YulExpressionStatement","src":"4422:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4408:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4416:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4405:2:181"},"nodeType":"YulFunctionCall","src":"4405:14:181"},"nodeType":"YulIf","src":"4402:34:181"},{"nodeType":"YulAssignment","src":"4445:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4488:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4499:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4484:3:181"},"nodeType":"YulFunctionCall","src":"4484:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4508:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4455:28:181"},"nodeType":"YulFunctionCall","src":"4455:61:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4445:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4525:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4558:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4569:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4554:3:181"},"nodeType":"YulFunctionCall","src":"4554:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4541:12:181"},"nodeType":"YulFunctionCall","src":"4541:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4529:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4602:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4611:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4614:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4604:6:181"},"nodeType":"YulFunctionCall","src":"4604:12:181"},"nodeType":"YulExpressionStatement","src":"4604:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4588:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4598:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4585:2:181"},"nodeType":"YulFunctionCall","src":"4585:16:181"},"nodeType":"YulIf","src":"4582:36:181"},{"nodeType":"YulAssignment","src":"4627:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4670:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4681:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4666:3:181"},"nodeType":"YulFunctionCall","src":"4666:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4692:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4637:28:181"},"nodeType":"YulFunctionCall","src":"4637:63:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4627:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4709:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4742:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4753:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4738:3:181"},"nodeType":"YulFunctionCall","src":"4738:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4725:12:181"},"nodeType":"YulFunctionCall","src":"4725:32:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"4713:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4786:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4795:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4798:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4788:6:181"},"nodeType":"YulFunctionCall","src":"4788:12:181"},"nodeType":"YulExpressionStatement","src":"4788:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"4772:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4782:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4769:2:181"},"nodeType":"YulFunctionCall","src":"4769:16:181"},"nodeType":"YulIf","src":"4766:36:181"},{"nodeType":"YulAssignment","src":"4811:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4842:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"4853:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4838:3:181"},"nodeType":"YulFunctionCall","src":"4838:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4864:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4821:16:181"},"nodeType":"YulFunctionCall","src":"4821:51:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4811:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4132:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4143:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4155:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4163:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4171:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4179:6:181","type":""}],"src":"4010:868:181"},{"body":{"nodeType":"YulBlock","src":"4953:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"4999:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5008:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5011:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5001:6:181"},"nodeType":"YulFunctionCall","src":"5001:12:181"},"nodeType":"YulExpressionStatement","src":"5001:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4974:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4983:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4970:3:181"},"nodeType":"YulFunctionCall","src":"4970:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4995:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4966:3:181"},"nodeType":"YulFunctionCall","src":"4966:32:181"},"nodeType":"YulIf","src":"4963:52:181"},{"nodeType":"YulAssignment","src":"5024:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5047:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5034:12:181"},"nodeType":"YulFunctionCall","src":"5034:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5024:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4919:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4930:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4942:6:181","type":""}],"src":"4883:180:181"},{"body":{"nodeType":"YulBlock","src":"5169:76:181","statements":[{"nodeType":"YulAssignment","src":"5179:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5191:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5202:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5187:3:181"},"nodeType":"YulFunctionCall","src":"5187:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5179:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5221:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"5232:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5214:6:181"},"nodeType":"YulFunctionCall","src":"5214:25:181"},"nodeType":"YulExpressionStatement","src":"5214:25:181"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5138:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5149:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5160:4:181","type":""}],"src":"5068:177:181"},{"body":{"nodeType":"YulBlock","src":"5447:746:181","statements":[{"body":{"nodeType":"YulBlock","src":"5494:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5503:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5506:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5496:6:181"},"nodeType":"YulFunctionCall","src":"5496:12:181"},"nodeType":"YulExpressionStatement","src":"5496:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5468:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5477:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5464:3:181"},"nodeType":"YulFunctionCall","src":"5464:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5489:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5460:3:181"},"nodeType":"YulFunctionCall","src":"5460:33:181"},"nodeType":"YulIf","src":"5457:53:181"},{"nodeType":"YulAssignment","src":"5519:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5548:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5529:18:181"},"nodeType":"YulFunctionCall","src":"5529:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5519:6:181"}]},{"nodeType":"YulAssignment","src":"5567:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5600:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5611:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5596:3:181"},"nodeType":"YulFunctionCall","src":"5596:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5577:18:181"},"nodeType":"YulFunctionCall","src":"5577:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5567:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5624:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5655:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5666:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5651:3:181"},"nodeType":"YulFunctionCall","src":"5651:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5638:12:181"},"nodeType":"YulFunctionCall","src":"5638:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5628:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5679:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"5689:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5683:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5734:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5743:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5746:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5736:6:181"},"nodeType":"YulFunctionCall","src":"5736:12:181"},"nodeType":"YulExpressionStatement","src":"5736:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5722:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5730:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5719:2:181"},"nodeType":"YulFunctionCall","src":"5719:14:181"},"nodeType":"YulIf","src":"5716:34:181"},{"nodeType":"YulAssignment","src":"5759:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5802:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"5813:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5798:3:181"},"nodeType":"YulFunctionCall","src":"5798:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5822:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"5769:28:181"},"nodeType":"YulFunctionCall","src":"5769:61:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5759:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5839:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5872:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5883:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5868:3:181"},"nodeType":"YulFunctionCall","src":"5868:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5855:12:181"},"nodeType":"YulFunctionCall","src":"5855:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5843:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5916:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5925:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5928:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5918:6:181"},"nodeType":"YulFunctionCall","src":"5918:12:181"},"nodeType":"YulExpressionStatement","src":"5918:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5902:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5912:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5899:2:181"},"nodeType":"YulFunctionCall","src":"5899:16:181"},"nodeType":"YulIf","src":"5896:36:181"},{"nodeType":"YulAssignment","src":"5941:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5984:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"5995:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5980:3:181"},"nodeType":"YulFunctionCall","src":"5980:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6006:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"5951:28:181"},"nodeType":"YulFunctionCall","src":"5951:63:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5941:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6023:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6067:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6052:3:181"},"nodeType":"YulFunctionCall","src":"6052:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6039:12:181"},"nodeType":"YulFunctionCall","src":"6039:33:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"6027:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6101:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6110:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6113:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6103:6:181"},"nodeType":"YulFunctionCall","src":"6103:12:181"},"nodeType":"YulExpressionStatement","src":"6103:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"6087:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6097:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6084:2:181"},"nodeType":"YulFunctionCall","src":"6084:16:181"},"nodeType":"YulIf","src":"6081:36:181"},{"nodeType":"YulAssignment","src":"6126:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6157:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"6168:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6153:3:181"},"nodeType":"YulFunctionCall","src":"6153:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6179:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6136:16:181"},"nodeType":"YulFunctionCall","src":"6136:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6126:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5381:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5392:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5404:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5412:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5420:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5428:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5436:6:181","type":""}],"src":"5250:943:181"},{"body":{"nodeType":"YulBlock","src":"6285:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"6331:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6340:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6343:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6333:6:181"},"nodeType":"YulFunctionCall","src":"6333:12:181"},"nodeType":"YulExpressionStatement","src":"6333:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6306:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6315:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6302:3:181"},"nodeType":"YulFunctionCall","src":"6302:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6327:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6298:3:181"},"nodeType":"YulFunctionCall","src":"6298:32:181"},"nodeType":"YulIf","src":"6295:52:181"},{"nodeType":"YulAssignment","src":"6356:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6379:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6366:12:181"},"nodeType":"YulFunctionCall","src":"6366:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6356:6:181"}]},{"nodeType":"YulAssignment","src":"6398:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6431:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6442:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6427:3:181"},"nodeType":"YulFunctionCall","src":"6427:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6408:18:181"},"nodeType":"YulFunctionCall","src":"6408:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6398:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6243:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6254:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6266:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6274:6:181","type":""}],"src":"6198:254:181"},{"body":{"nodeType":"YulBlock","src":"6594:1071:181","statements":[{"body":{"nodeType":"YulBlock","src":"6640:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6649:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6652:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6642:6:181"},"nodeType":"YulFunctionCall","src":"6642:12:181"},"nodeType":"YulExpressionStatement","src":"6642:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6615:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6624:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6611:3:181"},"nodeType":"YulFunctionCall","src":"6611:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6636:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6607:3:181"},"nodeType":"YulFunctionCall","src":"6607:32:181"},"nodeType":"YulIf","src":"6604:52:181"},{"nodeType":"YulVariableDeclaration","src":"6665:37:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6692:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6679:12:181"},"nodeType":"YulFunctionCall","src":"6679:23:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6669:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6711:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6721:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6715:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6766:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6775:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6778:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6768:6:181"},"nodeType":"YulFunctionCall","src":"6768:12:181"},"nodeType":"YulExpressionStatement","src":"6768:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6754:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6762:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6751:2:181"},"nodeType":"YulFunctionCall","src":"6751:14:181"},"nodeType":"YulIf","src":"6748:34:181"},{"nodeType":"YulVariableDeclaration","src":"6791:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6805:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"6816:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6801:3:181"},"nodeType":"YulFunctionCall","src":"6801:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6795:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6871:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6880:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6883:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6873:6:181"},"nodeType":"YulFunctionCall","src":"6873:12:181"},"nodeType":"YulExpressionStatement","src":"6873:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6850:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"6854:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6846:3:181"},"nodeType":"YulFunctionCall","src":"6846:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6861:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6842:3:181"},"nodeType":"YulFunctionCall","src":"6842:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6835:6:181"},"nodeType":"YulFunctionCall","src":"6835:35:181"},"nodeType":"YulIf","src":"6832:55:181"},{"nodeType":"YulVariableDeclaration","src":"6896:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6919:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6906:12:181"},"nodeType":"YulFunctionCall","src":"6906:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"6900:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6931:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6941:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"6935:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6954:53:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"7004:2:181"}],"functionName":{"name":"array_allocation_size_array_uint256_dyn","nodeType":"YulIdentifier","src":"6964:39:181"},"nodeType":"YulFunctionCall","src":"6964:43:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"6958:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7016:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7036:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7030:5:181"},"nodeType":"YulFunctionCall","src":"7030:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"7020:6:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7068:6:181"},{"name":"_5","nodeType":"YulIdentifier","src":"7076:2:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"7048:19:181"},"nodeType":"YulFunctionCall","src":"7048:31:181"},"nodeType":"YulExpressionStatement","src":"7048:31:181"},{"nodeType":"YulVariableDeclaration","src":"7088:17:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"7099:6:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"7092:3:181","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7121:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"7129:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7114:6:181"},"nodeType":"YulFunctionCall","src":"7114:18:181"},"nodeType":"YulExpressionStatement","src":"7114:18:181"},{"nodeType":"YulAssignment","src":"7141:22:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7152:6:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7160:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7148:3:181"},"nodeType":"YulFunctionCall","src":"7148:15:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7141:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"7172:42:181","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7194:2:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7202:1:181","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"7205:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7198:3:181"},"nodeType":"YulFunctionCall","src":"7198:10:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7190:3:181"},"nodeType":"YulFunctionCall","src":"7190:19:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7211:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7186:3:181"},"nodeType":"YulFunctionCall","src":"7186:28:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"7176:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7246:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7255:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7258:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7248:6:181"},"nodeType":"YulFunctionCall","src":"7248:12:181"},"nodeType":"YulExpressionStatement","src":"7248:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"7229:6:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7237:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7226:2:181"},"nodeType":"YulFunctionCall","src":"7226:19:181"},"nodeType":"YulIf","src":"7223:39:181"},{"nodeType":"YulVariableDeclaration","src":"7271:22:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7286:2:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7290:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7282:3:181"},"nodeType":"YulFunctionCall","src":"7282:11:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"7275:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7358:92:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7379:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7403:3:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7384:18:181"},"nodeType":"YulFunctionCall","src":"7384:23:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7372:6:181"},"nodeType":"YulFunctionCall","src":"7372:36:181"},"nodeType":"YulExpressionStatement","src":"7372:36:181"},{"nodeType":"YulAssignment","src":"7421:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7432:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7437:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7428:3:181"},"nodeType":"YulFunctionCall","src":"7428:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7421:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7313:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"7318:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7310:2:181"},"nodeType":"YulFunctionCall","src":"7310:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7326:23:181","statements":[{"nodeType":"YulAssignment","src":"7328:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7339:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7344:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7335:3:181"},"nodeType":"YulFunctionCall","src":"7335:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"7328:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"7306:3:181","statements":[]},"src":"7302:148:181"},{"nodeType":"YulAssignment","src":"7459:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"7469:6:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7459:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7484:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7517:9:181"},{"name":"_4","nodeType":"YulIdentifier","src":"7528:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7513:3:181"},"nodeType":"YulFunctionCall","src":"7513:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7500:12:181"},"nodeType":"YulFunctionCall","src":"7500:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7488:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7561:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7570:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7573:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7563:6:181"},"nodeType":"YulFunctionCall","src":"7563:12:181"},"nodeType":"YulExpressionStatement","src":"7563:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7547:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7544:2:181"},"nodeType":"YulFunctionCall","src":"7544:16:181"},"nodeType":"YulIf","src":"7541:36:181"},{"nodeType":"YulAssignment","src":"7586:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7629:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"7640:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7625:3:181"},"nodeType":"YulFunctionCall","src":"7625:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7651:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"7596:28:181"},"nodeType":"YulFunctionCall","src":"7596:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7586:6:181"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6552:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6563:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6575:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6583:6:181","type":""}],"src":"6457:1208:181"},{"body":{"nodeType":"YulBlock","src":"7731:374:181","statements":[{"nodeType":"YulVariableDeclaration","src":"7741:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7761:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7755:5:181"},"nodeType":"YulFunctionCall","src":"7755:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7745:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7783:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"7788:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7776:6:181"},"nodeType":"YulFunctionCall","src":"7776:19:181"},"nodeType":"YulExpressionStatement","src":"7776:19:181"},{"nodeType":"YulVariableDeclaration","src":"7804:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"7814:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7808:2:181","type":""}]},{"nodeType":"YulAssignment","src":"7827:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7838:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7843:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7834:3:181"},"nodeType":"YulFunctionCall","src":"7834:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7827:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"7855:28:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7873:5:181"},{"name":"_1","nodeType":"YulIdentifier","src":"7880:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7869:3:181"},"nodeType":"YulFunctionCall","src":"7869:14:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7859:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7892:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"7901:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7896:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7960:120:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7981:3:181"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7992:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7986:5:181"},"nodeType":"YulFunctionCall","src":"7986:13:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7974:6:181"},"nodeType":"YulFunctionCall","src":"7974:26:181"},"nodeType":"YulExpressionStatement","src":"7974:26:181"},{"nodeType":"YulAssignment","src":"8013:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8024:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"8029:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8020:3:181"},"nodeType":"YulFunctionCall","src":"8020:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8013:3:181"}]},{"nodeType":"YulAssignment","src":"8045:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8059:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"8067:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8055:3:181"},"nodeType":"YulFunctionCall","src":"8055:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8045:6:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7922:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"7925:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7919:2:181"},"nodeType":"YulFunctionCall","src":"7919:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7933:18:181","statements":[{"nodeType":"YulAssignment","src":"7935:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7944:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"7947:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7940:3:181"},"nodeType":"YulFunctionCall","src":"7940:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7935:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"7915:3:181","statements":[]},"src":"7911:169:181"},{"nodeType":"YulAssignment","src":"8089:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"8096:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8089:3:181"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7708:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7715:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7723:3:181","type":""}],"src":"7670:435:181"},{"body":{"nodeType":"YulBlock","src":"8261:110:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8278:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8289:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8271:6:181"},"nodeType":"YulFunctionCall","src":"8271:21:181"},"nodeType":"YulExpressionStatement","src":"8271:21:181"},{"nodeType":"YulAssignment","src":"8301:64:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8338:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8350:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8361:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8346:3:181"},"nodeType":"YulFunctionCall","src":"8346:18:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"8309:28:181"},"nodeType":"YulFunctionCall","src":"8309:56:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8301:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8230:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8241:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8252:4:181","type":""}],"src":"8110:261:181"},{"body":{"nodeType":"YulBlock","src":"8530:515:181","statements":[{"body":{"nodeType":"YulBlock","src":"8576:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8585:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8588:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8578:6:181"},"nodeType":"YulFunctionCall","src":"8578:12:181"},"nodeType":"YulExpressionStatement","src":"8578:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8551:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"8560:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8547:3:181"},"nodeType":"YulFunctionCall","src":"8547:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"8572:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8543:3:181"},"nodeType":"YulFunctionCall","src":"8543:32:181"},"nodeType":"YulIf","src":"8540:52:181"},{"nodeType":"YulAssignment","src":"8601:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8630:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8611:18:181"},"nodeType":"YulFunctionCall","src":"8611:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8601:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"8649:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8680:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8691:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8676:3:181"},"nodeType":"YulFunctionCall","src":"8676:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8663:12:181"},"nodeType":"YulFunctionCall","src":"8663:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8653:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8704:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"8714:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8708:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8759:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8768:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8771:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8761:6:181"},"nodeType":"YulFunctionCall","src":"8761:12:181"},"nodeType":"YulExpressionStatement","src":"8761:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8747:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"8755:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8744:2:181"},"nodeType":"YulFunctionCall","src":"8744:14:181"},"nodeType":"YulIf","src":"8741:34:181"},{"nodeType":"YulAssignment","src":"8784:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8827:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"8838:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8823:3:181"},"nodeType":"YulFunctionCall","src":"8823:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8847:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"8794:28:181"},"nodeType":"YulFunctionCall","src":"8794:61:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8784:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"8864:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8897:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8908:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8893:3:181"},"nodeType":"YulFunctionCall","src":"8893:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8880:12:181"},"nodeType":"YulFunctionCall","src":"8880:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"8868:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"8941:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8950:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8953:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8943:6:181"},"nodeType":"YulFunctionCall","src":"8943:12:181"},"nodeType":"YulExpressionStatement","src":"8943:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"8927:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"8937:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8924:2:181"},"nodeType":"YulFunctionCall","src":"8924:16:181"},"nodeType":"YulIf","src":"8921:36:181"},{"nodeType":"YulAssignment","src":"8966:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9009:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9020:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9005:3:181"},"nodeType":"YulFunctionCall","src":"9005:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9031:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"8976:28:181"},"nodeType":"YulFunctionCall","src":"8976:63:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8966:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8480:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8491:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8503:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8511:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8519:6:181","type":""}],"src":"8376:669:181"},{"body":{"nodeType":"YulBlock","src":"9180:401:181","statements":[{"body":{"nodeType":"YulBlock","src":"9227:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9236:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9239:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9229:6:181"},"nodeType":"YulFunctionCall","src":"9229:12:181"},"nodeType":"YulExpressionStatement","src":"9229:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9201:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"9210:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9197:3:181"},"nodeType":"YulFunctionCall","src":"9197:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"9222:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9193:3:181"},"nodeType":"YulFunctionCall","src":"9193:33:181"},"nodeType":"YulIf","src":"9190:53:181"},{"nodeType":"YulAssignment","src":"9252:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9281:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9262:18:181"},"nodeType":"YulFunctionCall","src":"9262:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9252:6:181"}]},{"nodeType":"YulAssignment","src":"9300:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9327:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9338:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9323:3:181"},"nodeType":"YulFunctionCall","src":"9323:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9310:12:181"},"nodeType":"YulFunctionCall","src":"9310:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9300:6:181"}]},{"nodeType":"YulAssignment","src":"9351:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9378:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9389:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9374:3:181"},"nodeType":"YulFunctionCall","src":"9374:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9361:12:181"},"nodeType":"YulFunctionCall","src":"9361:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9351:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"9402:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9433:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9444:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9429:3:181"},"nodeType":"YulFunctionCall","src":"9429:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9416:12:181"},"nodeType":"YulFunctionCall","src":"9416:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9406:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"9491:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9500:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9503:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9493:6:181"},"nodeType":"YulFunctionCall","src":"9493:12:181"},"nodeType":"YulExpressionStatement","src":"9493:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9463:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"9471:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9460:2:181"},"nodeType":"YulFunctionCall","src":"9460:30:181"},"nodeType":"YulIf","src":"9457:50:181"},{"nodeType":"YulAssignment","src":"9516:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9547:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"9558:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9543:3:181"},"nodeType":"YulFunctionCall","src":"9543:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9567:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9526:16:181"},"nodeType":"YulFunctionCall","src":"9526:49:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9516:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9122:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9133:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9145:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9153:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9161:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9169:6:181","type":""}],"src":"9050:531:181"},{"body":{"nodeType":"YulBlock","src":"9673:161:181","statements":[{"body":{"nodeType":"YulBlock","src":"9719:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9728:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9731:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9721:6:181"},"nodeType":"YulFunctionCall","src":"9721:12:181"},"nodeType":"YulExpressionStatement","src":"9721:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9694:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"9703:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9690:3:181"},"nodeType":"YulFunctionCall","src":"9690:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"9715:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9686:3:181"},"nodeType":"YulFunctionCall","src":"9686:32:181"},"nodeType":"YulIf","src":"9683:52:181"},{"nodeType":"YulAssignment","src":"9744:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9767:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9754:12:181"},"nodeType":"YulFunctionCall","src":"9754:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9744:6:181"}]},{"nodeType":"YulAssignment","src":"9786:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9813:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9824:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9809:3:181"},"nodeType":"YulFunctionCall","src":"9809:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9796:12:181"},"nodeType":"YulFunctionCall","src":"9796:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9786:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9631:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9642:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9654:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9662:6:181","type":""}],"src":"9586:248:181"},{"body":{"nodeType":"YulBlock","src":"9940:102:181","statements":[{"nodeType":"YulAssignment","src":"9950:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9962:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9973:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9958:3:181"},"nodeType":"YulFunctionCall","src":"9958:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9950:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9992:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10007:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10023:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"10028:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10019:3:181"},"nodeType":"YulFunctionCall","src":"10019:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"10032:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10015:3:181"},"nodeType":"YulFunctionCall","src":"10015:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10003:3:181"},"nodeType":"YulFunctionCall","src":"10003:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9985:6:181"},"nodeType":"YulFunctionCall","src":"9985:51:181"},"nodeType":"YulExpressionStatement","src":"9985:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9909:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9920:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9931:4:181","type":""}],"src":"9839:203:181"},{"body":{"nodeType":"YulBlock","src":"10131:263:181","statements":[{"body":{"nodeType":"YulBlock","src":"10177:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10186:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10189:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10179:6:181"},"nodeType":"YulFunctionCall","src":"10179:12:181"},"nodeType":"YulExpressionStatement","src":"10179:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10152:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"10161:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10148:3:181"},"nodeType":"YulFunctionCall","src":"10148:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"10173:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10144:3:181"},"nodeType":"YulFunctionCall","src":"10144:32:181"},"nodeType":"YulIf","src":"10141:52:181"},{"nodeType":"YulAssignment","src":"10202:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10231:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10212:18:181"},"nodeType":"YulFunctionCall","src":"10212:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10202:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"10250:45:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10280:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10291:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10276:3:181"},"nodeType":"YulFunctionCall","src":"10276:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10263:12:181"},"nodeType":"YulFunctionCall","src":"10263:32:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10254:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"10348:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10357:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10360:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10350:6:181"},"nodeType":"YulFunctionCall","src":"10350:12:181"},"nodeType":"YulExpressionStatement","src":"10350:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10317:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10338:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10331:6:181"},"nodeType":"YulFunctionCall","src":"10331:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10324:6:181"},"nodeType":"YulFunctionCall","src":"10324:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10314:2:181"},"nodeType":"YulFunctionCall","src":"10314:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10307:6:181"},"nodeType":"YulFunctionCall","src":"10307:40:181"},"nodeType":"YulIf","src":"10304:60:181"},{"nodeType":"YulAssignment","src":"10373:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"10383:5:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10373:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10089:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10100:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10112:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10120:6:181","type":""}],"src":"10047:347:181"},{"body":{"nodeType":"YulBlock","src":"10486:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"10532:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10541:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10544:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10534:6:181"},"nodeType":"YulFunctionCall","src":"10534:12:181"},"nodeType":"YulExpressionStatement","src":"10534:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10507:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"10516:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10503:3:181"},"nodeType":"YulFunctionCall","src":"10503:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"10528:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10499:3:181"},"nodeType":"YulFunctionCall","src":"10499:32:181"},"nodeType":"YulIf","src":"10496:52:181"},{"nodeType":"YulAssignment","src":"10557:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10586:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10567:18:181"},"nodeType":"YulFunctionCall","src":"10567:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10557:6:181"}]},{"nodeType":"YulAssignment","src":"10605:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10638:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10649:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10634:3:181"},"nodeType":"YulFunctionCall","src":"10634:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10615:18:181"},"nodeType":"YulFunctionCall","src":"10615:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10605:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10444:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10455:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10467:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10475:6:181","type":""}],"src":"10399:260:181"},{"body":{"nodeType":"YulBlock","src":"10811:459:181","statements":[{"body":{"nodeType":"YulBlock","src":"10858:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10867:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10870:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10860:6:181"},"nodeType":"YulFunctionCall","src":"10860:12:181"},"nodeType":"YulExpressionStatement","src":"10860:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10832:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"10841:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10828:3:181"},"nodeType":"YulFunctionCall","src":"10828:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"10853:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10824:3:181"},"nodeType":"YulFunctionCall","src":"10824:33:181"},"nodeType":"YulIf","src":"10821:53:181"},{"nodeType":"YulAssignment","src":"10883:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10912:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10893:18:181"},"nodeType":"YulFunctionCall","src":"10893:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10883:6:181"}]},{"nodeType":"YulAssignment","src":"10931:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10964:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10975:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10960:3:181"},"nodeType":"YulFunctionCall","src":"10960:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10941:18:181"},"nodeType":"YulFunctionCall","src":"10941:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10931:6:181"}]},{"nodeType":"YulAssignment","src":"10988:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11015:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11026:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11011:3:181"},"nodeType":"YulFunctionCall","src":"11011:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10998:12:181"},"nodeType":"YulFunctionCall","src":"10998:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10988:6:181"}]},{"nodeType":"YulAssignment","src":"11039:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11066:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11077:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11062:3:181"},"nodeType":"YulFunctionCall","src":"11062:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11049:12:181"},"nodeType":"YulFunctionCall","src":"11049:32:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"11039:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"11090:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11121:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11132:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11117:3:181"},"nodeType":"YulFunctionCall","src":"11117:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11104:12:181"},"nodeType":"YulFunctionCall","src":"11104:33:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11094:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"11180:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11189:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11192:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11182:6:181"},"nodeType":"YulFunctionCall","src":"11182:12:181"},"nodeType":"YulExpressionStatement","src":"11182:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11152:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"11160:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11149:2:181"},"nodeType":"YulFunctionCall","src":"11149:30:181"},"nodeType":"YulIf","src":"11146:50:181"},{"nodeType":"YulAssignment","src":"11205:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11236:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"11247:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11232:3:181"},"nodeType":"YulFunctionCall","src":"11232:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11256:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"11215:16:181"},"nodeType":"YulFunctionCall","src":"11215:49:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"11205:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10745:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10756:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10768:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10776:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10784:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10792:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"10800:6:181","type":""}],"src":"10664:606:181"},{"body":{"nodeType":"YulBlock","src":"11379:218:181","statements":[{"body":{"nodeType":"YulBlock","src":"11425:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11434:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11437:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11427:6:181"},"nodeType":"YulFunctionCall","src":"11427:12:181"},"nodeType":"YulExpressionStatement","src":"11427:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11400:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"11409:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11396:3:181"},"nodeType":"YulFunctionCall","src":"11396:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"11421:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11392:3:181"},"nodeType":"YulFunctionCall","src":"11392:32:181"},"nodeType":"YulIf","src":"11389:52:181"},{"nodeType":"YulAssignment","src":"11450:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11479:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"11460:18:181"},"nodeType":"YulFunctionCall","src":"11460:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11450:6:181"}]},{"nodeType":"YulAssignment","src":"11498:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11521:3:181"},"nodeType":"YulFunctionCall","src":"11521:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11508:12:181"},"nodeType":"YulFunctionCall","src":"11508:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11498:6:181"}]},{"nodeType":"YulAssignment","src":"11549:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11576:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11587:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11572:3:181"},"nodeType":"YulFunctionCall","src":"11572:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11559:12:181"},"nodeType":"YulFunctionCall","src":"11559:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11549:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11329:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11340:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11352:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11360:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11368:6:181","type":""}],"src":"11275:322:181"},{"body":{"nodeType":"YulBlock","src":"11776:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11793:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11804:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11786:6:181"},"nodeType":"YulFunctionCall","src":"11786:21:181"},"nodeType":"YulExpressionStatement","src":"11786:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11827:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11838:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11823:3:181"},"nodeType":"YulFunctionCall","src":"11823:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11843:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11816:6:181"},"nodeType":"YulFunctionCall","src":"11816:30:181"},"nodeType":"YulExpressionStatement","src":"11816:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11866:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11877:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11862:3:181"},"nodeType":"YulFunctionCall","src":"11862:18:181"},{"hexValue":"455243313135353a2061646472657373207a65726f206973206e6f7420612076","kind":"string","nodeType":"YulLiteral","src":"11882:34:181","type":"","value":"ERC1155: address zero is not a v"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11855:6:181"},"nodeType":"YulFunctionCall","src":"11855:62:181"},"nodeType":"YulExpressionStatement","src":"11855:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11937:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11948:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11933:3:181"},"nodeType":"YulFunctionCall","src":"11933:18:181"},{"hexValue":"616c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"11953:12:181","type":"","value":"alid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11926:6:181"},"nodeType":"YulFunctionCall","src":"11926:40:181"},"nodeType":"YulExpressionStatement","src":"11926:40:181"},{"nodeType":"YulAssignment","src":"11975:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11987:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11998:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11983:3:181"},"nodeType":"YulFunctionCall","src":"11983:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11975:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11753:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11767:4:181","type":""}],"src":"11602:406:181"},{"body":{"nodeType":"YulBlock","src":"12068:325:181","statements":[{"nodeType":"YulAssignment","src":"12078:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12092:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"12095:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"12088:3:181"},"nodeType":"YulFunctionCall","src":"12088:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12078:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"12109:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"12139:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"12145:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12135:3:181"},"nodeType":"YulFunctionCall","src":"12135:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"12113:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"12186:31:181","statements":[{"nodeType":"YulAssignment","src":"12188:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12202:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"12210:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12198:3:181"},"nodeType":"YulFunctionCall","src":"12198:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12188:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12166:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12159:6:181"},"nodeType":"YulFunctionCall","src":"12159:26:181"},"nodeType":"YulIf","src":"12156:61:181"},{"body":{"nodeType":"YulBlock","src":"12276:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12297:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12304:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12309:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12300:3:181"},"nodeType":"YulFunctionCall","src":"12300:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12290:6:181"},"nodeType":"YulFunctionCall","src":"12290:31:181"},"nodeType":"YulExpressionStatement","src":"12290:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12341:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12344:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12334:6:181"},"nodeType":"YulFunctionCall","src":"12334:15:181"},"nodeType":"YulExpressionStatement","src":"12334:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12369:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12372:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12362:6:181"},"nodeType":"YulFunctionCall","src":"12362:15:181"},"nodeType":"YulExpressionStatement","src":"12362:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12232:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12255:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"12263:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12252:2:181"},"nodeType":"YulFunctionCall","src":"12252:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12229:2:181"},"nodeType":"YulFunctionCall","src":"12229:38:181"},"nodeType":"YulIf","src":"12226:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"12048:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"12057:6:181","type":""}],"src":"12013:380:181"},{"body":{"nodeType":"YulBlock","src":"12572:246:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12589:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12600:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12582:6:181"},"nodeType":"YulFunctionCall","src":"12582:21:181"},"nodeType":"YulExpressionStatement","src":"12582:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12623:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12634:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12619:3:181"},"nodeType":"YulFunctionCall","src":"12619:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12639:2:181","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12612:6:181"},"nodeType":"YulFunctionCall","src":"12612:30:181"},"nodeType":"YulExpressionStatement","src":"12612:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12662:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12673:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12658:3:181"},"nodeType":"YulFunctionCall","src":"12658:18:181"},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d75737420","kind":"string","nodeType":"YulLiteral","src":"12678:34:181","type":"","value":"ERC1155PresetMinterPauser: must "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12651:6:181"},"nodeType":"YulFunctionCall","src":"12651:62:181"},"nodeType":"YulExpressionStatement","src":"12651:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12733:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12744:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12729:3:181"},"nodeType":"YulFunctionCall","src":"12729:18:181"},{"hexValue":"68617665206d696e74657220726f6c6520746f206d696e74","kind":"string","nodeType":"YulLiteral","src":"12749:26:181","type":"","value":"have minter role to mint"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12722:6:181"},"nodeType":"YulFunctionCall","src":"12722:54:181"},"nodeType":"YulExpressionStatement","src":"12722:54:181"},{"nodeType":"YulAssignment","src":"12785:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12797:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12808:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12793:3:181"},"nodeType":"YulFunctionCall","src":"12793:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12785:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12549:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12563:4:181","type":""}],"src":"12398:420:181"},{"body":{"nodeType":"YulBlock","src":"12997:236:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13014:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13025:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13007:6:181"},"nodeType":"YulFunctionCall","src":"13007:21:181"},"nodeType":"YulExpressionStatement","src":"13007:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13048:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13059:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13044:3:181"},"nodeType":"YulFunctionCall","src":"13044:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13064:2:181","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13037:6:181"},"nodeType":"YulFunctionCall","src":"13037:30:181"},"nodeType":"YulExpressionStatement","src":"13037:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13087:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13098:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13083:3:181"},"nodeType":"YulFunctionCall","src":"13083:18:181"},{"hexValue":"455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e","kind":"string","nodeType":"YulLiteral","src":"13103:34:181","type":"","value":"ERC1155: caller is not token own"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13076:6:181"},"nodeType":"YulFunctionCall","src":"13076:62:181"},"nodeType":"YulExpressionStatement","src":"13076:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13158:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13169:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13154:3:181"},"nodeType":"YulFunctionCall","src":"13154:18:181"},{"hexValue":"6572206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"13174:16:181","type":"","value":"er or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13147:6:181"},"nodeType":"YulFunctionCall","src":"13147:44:181"},"nodeType":"YulExpressionStatement","src":"13147:44:181"},{"nodeType":"YulAssignment","src":"13200:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13212:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13223:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13208:3:181"},"nodeType":"YulFunctionCall","src":"13208:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13200:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12974:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12988:4:181","type":""}],"src":"12823:410:181"},{"body":{"nodeType":"YulBlock","src":"13412:237:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13429:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13440:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13422:6:181"},"nodeType":"YulFunctionCall","src":"13422:21:181"},"nodeType":"YulExpressionStatement","src":"13422:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13463:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13474:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13459:3:181"},"nodeType":"YulFunctionCall","src":"13459:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13479:2:181","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13452:6:181"},"nodeType":"YulFunctionCall","src":"13452:30:181"},"nodeType":"YulExpressionStatement","src":"13452:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13502:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13513:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13498:3:181"},"nodeType":"YulFunctionCall","src":"13498:18:181"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"13518:34:181","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13491:6:181"},"nodeType":"YulFunctionCall","src":"13491:62:181"},"nodeType":"YulExpressionStatement","src":"13491:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13573:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13584:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13569:3:181"},"nodeType":"YulFunctionCall","src":"13569:18:181"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"13589:17:181","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13562:6:181"},"nodeType":"YulFunctionCall","src":"13562:45:181"},"nodeType":"YulExpressionStatement","src":"13562:45:181"},{"nodeType":"YulAssignment","src":"13616:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13628:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13639:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13624:3:181"},"nodeType":"YulFunctionCall","src":"13624:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13616:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13389:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13403:4:181","type":""}],"src":"13238:411:181"},{"body":{"nodeType":"YulBlock","src":"13828:249:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13845:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13856:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13838:6:181"},"nodeType":"YulFunctionCall","src":"13838:21:181"},"nodeType":"YulExpressionStatement","src":"13838:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13890:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13875:3:181"},"nodeType":"YulFunctionCall","src":"13875:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13895:2:181","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13868:6:181"},"nodeType":"YulFunctionCall","src":"13868:30:181"},"nodeType":"YulExpressionStatement","src":"13868:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13918:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13929:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13914:3:181"},"nodeType":"YulFunctionCall","src":"13914:18:181"},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d75737420","kind":"string","nodeType":"YulLiteral","src":"13934:34:181","type":"","value":"ERC1155PresetMinterPauser: must "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13907:6:181"},"nodeType":"YulFunctionCall","src":"13907:62:181"},"nodeType":"YulExpressionStatement","src":"13907:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13989:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14000:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13985:3:181"},"nodeType":"YulFunctionCall","src":"13985:18:181"},{"hexValue":"686176652070617573657220726f6c6520746f20756e7061757365","kind":"string","nodeType":"YulLiteral","src":"14005:29:181","type":"","value":"have pauser role to unpause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13978:6:181"},"nodeType":"YulFunctionCall","src":"13978:57:181"},"nodeType":"YulExpressionStatement","src":"13978:57:181"},{"nodeType":"YulAssignment","src":"14044:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14067:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14052:3:181"},"nodeType":"YulFunctionCall","src":"14052:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14044:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_be510562063387b7714478be5eff01a8c39efbb1b76d9be224d34aac440c9e31__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13805:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13819:4:181","type":""}],"src":"13654:423:181"},{"body":{"nodeType":"YulBlock","src":"14256:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14273:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14284:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14266:6:181"},"nodeType":"YulFunctionCall","src":"14266:21:181"},"nodeType":"YulExpressionStatement","src":"14266:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14307:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14318:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14303:3:181"},"nodeType":"YulFunctionCall","src":"14303:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"14323:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14296:6:181"},"nodeType":"YulFunctionCall","src":"14296:30:181"},"nodeType":"YulExpressionStatement","src":"14296:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14346:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14357:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14342:3:181"},"nodeType":"YulFunctionCall","src":"14342:18:181"},{"hexValue":"455243313135353a206163636f756e747320616e6420696473206c656e677468","kind":"string","nodeType":"YulLiteral","src":"14362:34:181","type":"","value":"ERC1155: accounts and ids length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14335:6:181"},"nodeType":"YulFunctionCall","src":"14335:62:181"},"nodeType":"YulExpressionStatement","src":"14335:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14417:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14428:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14413:3:181"},"nodeType":"YulFunctionCall","src":"14413:18:181"},{"hexValue":"206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"14433:11:181","type":"","value":" mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14406:6:181"},"nodeType":"YulFunctionCall","src":"14406:39:181"},"nodeType":"YulExpressionStatement","src":"14406:39:181"},{"nodeType":"YulAssignment","src":"14454:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14466:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14477:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14462:3:181"},"nodeType":"YulFunctionCall","src":"14462:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14454:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14233:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14247:4:181","type":""}],"src":"14082:405:181"},{"body":{"nodeType":"YulBlock","src":"14524:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14541:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14548:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14553:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14544:3:181"},"nodeType":"YulFunctionCall","src":"14544:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14534:6:181"},"nodeType":"YulFunctionCall","src":"14534:31:181"},"nodeType":"YulExpressionStatement","src":"14534:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14581:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14584:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14574:6:181"},"nodeType":"YulFunctionCall","src":"14574:15:181"},"nodeType":"YulExpressionStatement","src":"14574:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14605:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14608:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14598:6:181"},"nodeType":"YulFunctionCall","src":"14598:15:181"},"nodeType":"YulExpressionStatement","src":"14598:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"14492:127:181"},{"body":{"nodeType":"YulBlock","src":"14656:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14673:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14680:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14685:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14676:3:181"},"nodeType":"YulFunctionCall","src":"14676:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14666:6:181"},"nodeType":"YulFunctionCall","src":"14666:31:181"},"nodeType":"YulExpressionStatement","src":"14666:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14713:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14716:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14706:6:181"},"nodeType":"YulFunctionCall","src":"14706:15:181"},"nodeType":"YulExpressionStatement","src":"14706:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14737:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14740:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14730:6:181"},"nodeType":"YulFunctionCall","src":"14730:15:181"},"nodeType":"YulExpressionStatement","src":"14730:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"14624:127:181"},{"body":{"nodeType":"YulBlock","src":"14803:88:181","statements":[{"body":{"nodeType":"YulBlock","src":"14834:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14836:16:181"},"nodeType":"YulFunctionCall","src":"14836:18:181"},"nodeType":"YulExpressionStatement","src":"14836:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14819:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14830:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14826:3:181"},"nodeType":"YulFunctionCall","src":"14826:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14816:2:181"},"nodeType":"YulFunctionCall","src":"14816:17:181"},"nodeType":"YulIf","src":"14813:43:181"},{"nodeType":"YulAssignment","src":"14865:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14876:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"14883:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14872:3:181"},"nodeType":"YulFunctionCall","src":"14872:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14865:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14785:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"14795:3:181","type":""}],"src":"14756:135:181"},{"body":{"nodeType":"YulBlock","src":"15070:247:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15087:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15098:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15080:6:181"},"nodeType":"YulFunctionCall","src":"15080:21:181"},"nodeType":"YulExpressionStatement","src":"15080:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15121:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15132:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15117:3:181"},"nodeType":"YulFunctionCall","src":"15117:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15137:2:181","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15110:6:181"},"nodeType":"YulFunctionCall","src":"15110:30:181"},"nodeType":"YulExpressionStatement","src":"15110:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15160:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15171:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15156:3:181"},"nodeType":"YulFunctionCall","src":"15156:18:181"},{"hexValue":"455243313135355072657365744d696e7465725061757365723a206d75737420","kind":"string","nodeType":"YulLiteral","src":"15176:34:181","type":"","value":"ERC1155PresetMinterPauser: must "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15149:6:181"},"nodeType":"YulFunctionCall","src":"15149:62:181"},"nodeType":"YulExpressionStatement","src":"15149:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15231:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15242:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15227:3:181"},"nodeType":"YulFunctionCall","src":"15227:18:181"},{"hexValue":"686176652070617573657220726f6c6520746f207061757365","kind":"string","nodeType":"YulLiteral","src":"15247:27:181","type":"","value":"have pauser role to pause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15220:6:181"},"nodeType":"YulFunctionCall","src":"15220:55:181"},"nodeType":"YulExpressionStatement","src":"15220:55:181"},{"nodeType":"YulAssignment","src":"15284:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15296:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15307:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15292:3:181"},"nodeType":"YulFunctionCall","src":"15292:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15284:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_d5053a301adec69bf5c7c3782556a354b14090e41fa7ca93c4de3863fd6a98b9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15047:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15061:4:181","type":""}],"src":"14896:421:181"},{"body":{"nodeType":"YulBlock","src":"15496:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15513:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15524:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15506:6:181"},"nodeType":"YulFunctionCall","src":"15506:21:181"},"nodeType":"YulExpressionStatement","src":"15506:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15547:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15558:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15543:3:181"},"nodeType":"YulFunctionCall","src":"15543:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15563:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15536:6:181"},"nodeType":"YulFunctionCall","src":"15536:30:181"},"nodeType":"YulExpressionStatement","src":"15536:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15586:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15597:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15582:3:181"},"nodeType":"YulFunctionCall","src":"15582:18:181"},{"hexValue":"455243313135353a206d696e7420746f20746865207a65726f20616464726573","kind":"string","nodeType":"YulLiteral","src":"15602:34:181","type":"","value":"ERC1155: mint to the zero addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15575:6:181"},"nodeType":"YulFunctionCall","src":"15575:62:181"},"nodeType":"YulExpressionStatement","src":"15575:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15657:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15668:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15653:3:181"},"nodeType":"YulFunctionCall","src":"15653:18:181"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"15673:3:181","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15646:6:181"},"nodeType":"YulFunctionCall","src":"15646:31:181"},"nodeType":"YulExpressionStatement","src":"15646:31:181"},{"nodeType":"YulAssignment","src":"15686:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15698:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15709:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15694:3:181"},"nodeType":"YulFunctionCall","src":"15694:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15686:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15473:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15487:4:181","type":""}],"src":"15322:397:181"},{"body":{"nodeType":"YulBlock","src":"15898:230:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15915:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15926:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15908:6:181"},"nodeType":"YulFunctionCall","src":"15908:21:181"},"nodeType":"YulExpressionStatement","src":"15908:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15949:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15960:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15945:3:181"},"nodeType":"YulFunctionCall","src":"15945:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15965:2:181","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15938:6:181"},"nodeType":"YulFunctionCall","src":"15938:30:181"},"nodeType":"YulExpressionStatement","src":"15938:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15988:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15999:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15984:3:181"},"nodeType":"YulFunctionCall","src":"15984:18:181"},{"hexValue":"455243313135353a2069647320616e6420616d6f756e7473206c656e67746820","kind":"string","nodeType":"YulLiteral","src":"16004:34:181","type":"","value":"ERC1155: ids and amounts length "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15977:6:181"},"nodeType":"YulFunctionCall","src":"15977:62:181"},"nodeType":"YulExpressionStatement","src":"15977:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16059:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16070:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16055:3:181"},"nodeType":"YulFunctionCall","src":"16055:18:181"},{"hexValue":"6d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"16075:10:181","type":"","value":"mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16048:6:181"},"nodeType":"YulFunctionCall","src":"16048:38:181"},"nodeType":"YulExpressionStatement","src":"16048:38:181"},{"nodeType":"YulAssignment","src":"16095:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16107:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16118:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16103:3:181"},"nodeType":"YulFunctionCall","src":"16103:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16095:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15875:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15889:4:181","type":""}],"src":"15724:404:181"},{"body":{"nodeType":"YulBlock","src":"16181:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"16208:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16210:16:181"},"nodeType":"YulFunctionCall","src":"16210:18:181"},"nodeType":"YulExpressionStatement","src":"16210:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16197:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16204:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16200:3:181"},"nodeType":"YulFunctionCall","src":"16200:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16194:2:181"},"nodeType":"YulFunctionCall","src":"16194:13:181"},"nodeType":"YulIf","src":"16191:39:181"},{"nodeType":"YulAssignment","src":"16239:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16250:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"16253:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16246:3:181"},"nodeType":"YulFunctionCall","src":"16246:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"16239:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16164:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"16167:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"16173:3:181","type":""}],"src":"16133:128:181"},{"body":{"nodeType":"YulBlock","src":"16495:236:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16512:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16523:2:181","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16505:6:181"},"nodeType":"YulFunctionCall","src":"16505:21:181"},"nodeType":"YulExpressionStatement","src":"16505:21:181"},{"nodeType":"YulVariableDeclaration","src":"16535:70:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16578:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16590:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16601:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16586:3:181"},"nodeType":"YulFunctionCall","src":"16586:18:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"16549:28:181"},"nodeType":"YulFunctionCall","src":"16549:56:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"16539:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16625:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16636:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16621:3:181"},"nodeType":"YulFunctionCall","src":"16621:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"16645:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"16653:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16641:3:181"},"nodeType":"YulFunctionCall","src":"16641:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16614:6:181"},"nodeType":"YulFunctionCall","src":"16614:50:181"},"nodeType":"YulExpressionStatement","src":"16614:50:181"},{"nodeType":"YulAssignment","src":"16673:52:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16710:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"16718:6:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"16681:28:181"},"nodeType":"YulFunctionCall","src":"16681:44:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16673:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16456:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16467:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16475:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16486:4:181","type":""}],"src":"16266:465:181"},{"body":{"nodeType":"YulBlock","src":"16910:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16927:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16938:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16920:6:181"},"nodeType":"YulFunctionCall","src":"16920:21:181"},"nodeType":"YulExpressionStatement","src":"16920:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16961:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16972:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16957:3:181"},"nodeType":"YulFunctionCall","src":"16957:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"16977:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16950:6:181"},"nodeType":"YulFunctionCall","src":"16950:30:181"},"nodeType":"YulExpressionStatement","src":"16950:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17000:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17011:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16996:3:181"},"nodeType":"YulFunctionCall","src":"16996:18:181"},{"hexValue":"455243313135353a207472616e7366657220746f20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"17016:34:181","type":"","value":"ERC1155: transfer to the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16989:6:181"},"nodeType":"YulFunctionCall","src":"16989:62:181"},"nodeType":"YulExpressionStatement","src":"16989:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17071:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17082:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17067:3:181"},"nodeType":"YulFunctionCall","src":"17067:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"17087:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17060:6:181"},"nodeType":"YulFunctionCall","src":"17060:35:181"},"nodeType":"YulExpressionStatement","src":"17060:35:181"},{"nodeType":"YulAssignment","src":"17104:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17116:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17127:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17112:3:181"},"nodeType":"YulFunctionCall","src":"17112:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17104:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16887:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16901:4:181","type":""}],"src":"16736:401:181"},{"body":{"nodeType":"YulBlock","src":"17316:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17344:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17326:6:181"},"nodeType":"YulFunctionCall","src":"17326:21:181"},"nodeType":"YulExpressionStatement","src":"17326:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17367:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17378:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17363:3:181"},"nodeType":"YulFunctionCall","src":"17363:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17383:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17356:6:181"},"nodeType":"YulFunctionCall","src":"17356:30:181"},"nodeType":"YulExpressionStatement","src":"17356:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17406:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17417:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17402:3:181"},"nodeType":"YulFunctionCall","src":"17402:18:181"},{"hexValue":"455243313135353a20696e73756666696369656e742062616c616e636520666f","kind":"string","nodeType":"YulLiteral","src":"17422:34:181","type":"","value":"ERC1155: insufficient balance fo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17395:6:181"},"nodeType":"YulFunctionCall","src":"17395:62:181"},"nodeType":"YulExpressionStatement","src":"17395:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17477:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17488:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17473:3:181"},"nodeType":"YulFunctionCall","src":"17473:18:181"},{"hexValue":"72207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"17493:12:181","type":"","value":"r transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17466:6:181"},"nodeType":"YulFunctionCall","src":"17466:40:181"},"nodeType":"YulExpressionStatement","src":"17466:40:181"},{"nodeType":"YulAssignment","src":"17515:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17527:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17538:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17523:3:181"},"nodeType":"YulFunctionCall","src":"17523:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17515:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17293:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17307:4:181","type":""}],"src":"17142:406:181"},{"body":{"nodeType":"YulBlock","src":"17727:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17744:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17755:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17737:6:181"},"nodeType":"YulFunctionCall","src":"17737:21:181"},"nodeType":"YulExpressionStatement","src":"17737:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17778:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17789:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17774:3:181"},"nodeType":"YulFunctionCall","src":"17774:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17794:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17767:6:181"},"nodeType":"YulFunctionCall","src":"17767:30:181"},"nodeType":"YulExpressionStatement","src":"17767:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17828:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17813:3:181"},"nodeType":"YulFunctionCall","src":"17813:18:181"},{"hexValue":"455243313135353a206275726e2066726f6d20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"17833:34:181","type":"","value":"ERC1155: burn from the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17806:6:181"},"nodeType":"YulFunctionCall","src":"17806:62:181"},"nodeType":"YulExpressionStatement","src":"17806:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17888:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17899:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17884:3:181"},"nodeType":"YulFunctionCall","src":"17884:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"17904:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17877:6:181"},"nodeType":"YulFunctionCall","src":"17877:33:181"},"nodeType":"YulExpressionStatement","src":"17877:33:181"},{"nodeType":"YulAssignment","src":"17919:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17931:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17942:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17927:3:181"},"nodeType":"YulFunctionCall","src":"17927:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17919:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17704:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17718:4:181","type":""}],"src":"17553:399:181"},{"body":{"nodeType":"YulBlock","src":"18131:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18148:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18159:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18141:6:181"},"nodeType":"YulFunctionCall","src":"18141:21:181"},"nodeType":"YulExpressionStatement","src":"18141:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18182:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18193:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18178:3:181"},"nodeType":"YulFunctionCall","src":"18178:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"18198:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18171:6:181"},"nodeType":"YulFunctionCall","src":"18171:30:181"},"nodeType":"YulExpressionStatement","src":"18171:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18221:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18232:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18217:3:181"},"nodeType":"YulFunctionCall","src":"18217:18:181"},{"hexValue":"455243313135353a206275726e20616d6f756e7420657863656564732062616c","kind":"string","nodeType":"YulLiteral","src":"18237:34:181","type":"","value":"ERC1155: burn amount exceeds bal"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18210:6:181"},"nodeType":"YulFunctionCall","src":"18210:62:181"},"nodeType":"YulExpressionStatement","src":"18210:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18292:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18303:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18288:3:181"},"nodeType":"YulFunctionCall","src":"18288:18:181"},{"hexValue":"616e6365","kind":"string","nodeType":"YulLiteral","src":"18308:6:181","type":"","value":"ance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18281:6:181"},"nodeType":"YulFunctionCall","src":"18281:34:181"},"nodeType":"YulExpressionStatement","src":"18281:34:181"},{"nodeType":"YulAssignment","src":"18324:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18336:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18347:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18332:3:181"},"nodeType":"YulFunctionCall","src":"18332:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18324:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18108:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18122:4:181","type":""}],"src":"17957:400:181"},{"body":{"nodeType":"YulBlock","src":"18491:119:181","statements":[{"nodeType":"YulAssignment","src":"18501:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18513:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18524:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18509:3:181"},"nodeType":"YulFunctionCall","src":"18509:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18501:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18543:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"18554:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18536:6:181"},"nodeType":"YulFunctionCall","src":"18536:25:181"},"nodeType":"YulExpressionStatement","src":"18536:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18581:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18592:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18577:3:181"},"nodeType":"YulFunctionCall","src":"18577:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"18597:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18570:6:181"},"nodeType":"YulFunctionCall","src":"18570:34:181"},"nodeType":"YulExpressionStatement","src":"18570:34:181"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18452:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18463:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18471:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18482:4:181","type":""}],"src":"18362:248:181"},{"body":{"nodeType":"YulBlock","src":"18789:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18806:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18817:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18799:6:181"},"nodeType":"YulFunctionCall","src":"18799:21:181"},"nodeType":"YulExpressionStatement","src":"18799:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18840:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18851:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18836:3:181"},"nodeType":"YulFunctionCall","src":"18836:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"18856:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18829:6:181"},"nodeType":"YulFunctionCall","src":"18829:30:181"},"nodeType":"YulExpressionStatement","src":"18829:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18890:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18875:3:181"},"nodeType":"YulFunctionCall","src":"18875:18:181"},{"hexValue":"455243313135353a2073657474696e6720617070726f76616c20737461747573","kind":"string","nodeType":"YulLiteral","src":"18895:34:181","type":"","value":"ERC1155: setting approval status"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18868:6:181"},"nodeType":"YulFunctionCall","src":"18868:62:181"},"nodeType":"YulExpressionStatement","src":"18868:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18950:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"18961:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18946:3:181"},"nodeType":"YulFunctionCall","src":"18946:18:181"},{"hexValue":"20666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"18966:11:181","type":"","value":" for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18939:6:181"},"nodeType":"YulFunctionCall","src":"18939:39:181"},"nodeType":"YulExpressionStatement","src":"18939:39:181"},{"nodeType":"YulAssignment","src":"18987:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18999:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19010:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18995:3:181"},"nodeType":"YulFunctionCall","src":"18995:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18987:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18766:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18780:4:181","type":""}],"src":"18615:405:181"},{"body":{"nodeType":"YulBlock","src":"19356:496:181","statements":[{"nodeType":"YulVariableDeclaration","src":"19366:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19384:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"19389:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19380:3:181"},"nodeType":"YulFunctionCall","src":"19380:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"19393:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19376:3:181"},"nodeType":"YulFunctionCall","src":"19376:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"19370:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19411:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19426:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"19434:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19422:3:181"},"nodeType":"YulFunctionCall","src":"19422:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19404:6:181"},"nodeType":"YulFunctionCall","src":"19404:34:181"},"nodeType":"YulExpressionStatement","src":"19404:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19458:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19469:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19454:3:181"},"nodeType":"YulFunctionCall","src":"19454:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19478:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"19486:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19474:3:181"},"nodeType":"YulFunctionCall","src":"19474:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19447:6:181"},"nodeType":"YulFunctionCall","src":"19447:43:181"},"nodeType":"YulExpressionStatement","src":"19447:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19510:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19521:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19506:3:181"},"nodeType":"YulFunctionCall","src":"19506:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"19526:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19499:6:181"},"nodeType":"YulFunctionCall","src":"19499:31:181"},"nodeType":"YulExpressionStatement","src":"19499:31:181"},{"nodeType":"YulVariableDeclaration","src":"19539:71:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19582:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19594:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19605:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19590:3:181"},"nodeType":"YulFunctionCall","src":"19590:19:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"19553:28:181"},"nodeType":"YulFunctionCall","src":"19553:57:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"19543:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19630:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19641:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19626:3:181"},"nodeType":"YulFunctionCall","src":"19626:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"19650:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"19658:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19646:3:181"},"nodeType":"YulFunctionCall","src":"19646:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19619:6:181"},"nodeType":"YulFunctionCall","src":"19619:50:181"},"nodeType":"YulExpressionStatement","src":"19619:50:181"},{"nodeType":"YulVariableDeclaration","src":"19678:58:181","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19721:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"19729:6:181"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"19692:28:181"},"nodeType":"YulFunctionCall","src":"19692:44:181"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"19682:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19756:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"19767:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19752:3:181"},"nodeType":"YulFunctionCall","src":"19752:19:181"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"19777:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"19785:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19773:3:181"},"nodeType":"YulFunctionCall","src":"19773:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19745:6:181"},"nodeType":"YulFunctionCall","src":"19745:51:181"},"nodeType":"YulExpressionStatement","src":"19745:51:181"},{"nodeType":"YulAssignment","src":"19805:41:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"19831:6:181"},{"name":"tail_2","nodeType":"YulIdentifier","src":"19839:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"19813:17:181"},"nodeType":"YulFunctionCall","src":"19813:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19805:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19293:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19304:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19312:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19320:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19328:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19336:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19347:4:181","type":""}],"src":"19025:827:181"},{"body":{"nodeType":"YulBlock","src":"19937:169:181","statements":[{"body":{"nodeType":"YulBlock","src":"19983:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19992:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19995:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19985:6:181"},"nodeType":"YulFunctionCall","src":"19985:12:181"},"nodeType":"YulExpressionStatement","src":"19985:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19958:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"19967:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19954:3:181"},"nodeType":"YulFunctionCall","src":"19954:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"19979:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19950:3:181"},"nodeType":"YulFunctionCall","src":"19950:32:181"},"nodeType":"YulIf","src":"19947:52:181"},{"nodeType":"YulVariableDeclaration","src":"20008:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20027:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20021:5:181"},"nodeType":"YulFunctionCall","src":"20021:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20012:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20070:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"20046:23:181"},"nodeType":"YulFunctionCall","src":"20046:30:181"},"nodeType":"YulExpressionStatement","src":"20046:30:181"},{"nodeType":"YulAssignment","src":"20085:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"20095:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20085:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19903:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19914:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19926:6:181","type":""}],"src":"19857:249:181"},{"body":{"nodeType":"YulBlock","src":"20154:136:181","statements":[{"body":{"nodeType":"YulBlock","src":"20199:85:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20228:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20231:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20234:1:181","type":"","value":"4"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"20213:14:181"},"nodeType":"YulFunctionCall","src":"20213:23:181"},"nodeType":"YulExpressionStatement","src":"20213:23:181"},{"nodeType":"YulAssignment","src":"20249:25:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20260:3:181","type":"","value":"224"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20271:1:181","type":"","value":"0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20265:5:181"},"nodeType":"YulFunctionCall","src":"20265:8:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20256:3:181"},"nodeType":"YulFunctionCall","src":"20256:18:181"},"variableNames":[{"name":"sig","nodeType":"YulIdentifier","src":"20249:3:181"}]}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"20170:14:181"},"nodeType":"YulFunctionCall","src":"20170:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"20188:1:181","type":"","value":"3"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20167:2:181"},"nodeType":"YulFunctionCall","src":"20167:23:181"},"nodeType":"YulIf","src":"20164:120:181"}]},"name":"return_data_selector","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"sig","nodeType":"YulTypedName","src":"20146:3:181","type":""}],"src":"20111:179:181"},{"body":{"nodeType":"YulBlock","src":"20342:624:181","statements":[{"body":{"nodeType":"YulBlock","src":"20382:9:181","statements":[{"nodeType":"YulLeave","src":"20384:5:181"}]},"condition":{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"20358:14:181"},"nodeType":"YulFunctionCall","src":"20358:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"20376:4:181","type":"","value":"0x44"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20355:2:181"},"nodeType":"YulFunctionCall","src":"20355:26:181"},"nodeType":"YulIf","src":"20352:39:181"},{"nodeType":"YulVariableDeclaration","src":"20400:21:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20418:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20412:5:181"},"nodeType":"YulFunctionCall","src":"20412:9:181"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"20404:4:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20430:16:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20444:1:181","type":"","value":"3"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20440:3:181"},"nodeType":"YulFunctionCall","src":"20440:6:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20434:2:181","type":""}]},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20470:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"20476:1:181","type":"","value":"4"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"20483:14:181"},"nodeType":"YulFunctionCall","src":"20483:16:181"},{"name":"_1","nodeType":"YulIdentifier","src":"20501:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20479:3:181"},"nodeType":"YulFunctionCall","src":"20479:25:181"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"20455:14:181"},"nodeType":"YulFunctionCall","src":"20455:50:181"},"nodeType":"YulExpressionStatement","src":"20455:50:181"},{"nodeType":"YulVariableDeclaration","src":"20514:25:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20534:4:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20528:5:181"},"nodeType":"YulFunctionCall","src":"20528:11:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20518:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20548:26:181","value":{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"20558:14:181"},"nodeType":"YulFunctionCall","src":"20558:16:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"20552:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20583:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"20593:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"20587:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"20669:9:181","statements":[{"nodeType":"YulLeave","src":"20671:5:181"}]},"condition":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20629:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"20637:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20626:2:181"},"nodeType":"YulFunctionCall","src":"20626:14:181"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20649:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"20657:4:181","type":"","value":"0x24"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20645:3:181"},"nodeType":"YulFunctionCall","src":"20645:17:181"},{"name":"_2","nodeType":"YulIdentifier","src":"20664:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20642:2:181"},"nodeType":"YulFunctionCall","src":"20642:25:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"20623:2:181"},"nodeType":"YulFunctionCall","src":"20623:45:181"},"nodeType":"YulIf","src":"20620:58:181"},{"nodeType":"YulVariableDeclaration","src":"20687:28:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20702:4:181"},{"name":"offset","nodeType":"YulIdentifier","src":"20708:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20698:3:181"},"nodeType":"YulFunctionCall","src":"20698:17:181"},"variables":[{"name":"msg","nodeType":"YulTypedName","src":"20691:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20724:24:181","value":{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"20744:3:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20738:5:181"},"nodeType":"YulFunctionCall","src":"20738:10:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"20728:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"20775:9:181","statements":[{"nodeType":"YulLeave","src":"20777:5:181"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"20763:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"20771:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20760:2:181"},"nodeType":"YulFunctionCall","src":"20760:14:181"},"nodeType":"YulIf","src":"20757:27:181"},{"body":{"nodeType":"YulBlock","src":"20866:9:181","statements":[{"nodeType":"YulLeave","src":"20868:5:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"msg","nodeType":"YulIdentifier","src":"20807:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"20812:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20803:3:181"},"nodeType":"YulFunctionCall","src":"20803:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"20821:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20799:3:181"},"nodeType":"YulFunctionCall","src":"20799:27:181"},{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20836:4:181"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"20842:14:181"},"nodeType":"YulFunctionCall","src":"20842:16:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20832:3:181"},"nodeType":"YulFunctionCall","src":"20832:27:181"},{"name":"_1","nodeType":"YulIdentifier","src":"20861:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20828:3:181"},"nodeType":"YulFunctionCall","src":"20828:36:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20796:2:181"},"nodeType":"YulFunctionCall","src":"20796:69:181"},"nodeType":"YulIf","src":"20793:82:181"},{"expression":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20904:4:181"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20918:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"20926:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20914:3:181"},"nodeType":"YulFunctionCall","src":"20914:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"20935:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20910:3:181"},"nodeType":"YulFunctionCall","src":"20910:30:181"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"20884:19:181"},"nodeType":"YulFunctionCall","src":"20884:57:181"},"nodeType":"YulExpressionStatement","src":"20884:57:181"},{"nodeType":"YulAssignment","src":"20950:10:181","value":{"name":"msg","nodeType":"YulIdentifier","src":"20957:3:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"20950:3:181"}]}]},"name":"try_decode_error_message","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"20334:3:181","type":""}],"src":"20295:671:181"},{"body":{"nodeType":"YulBlock","src":"21145:242:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21162:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21173:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21155:6:181"},"nodeType":"YulFunctionCall","src":"21155:21:181"},"nodeType":"YulExpressionStatement","src":"21155:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21196:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21207:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21192:3:181"},"nodeType":"YulFunctionCall","src":"21192:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"21212:2:181","type":"","value":"52"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21185:6:181"},"nodeType":"YulFunctionCall","src":"21185:30:181"},"nodeType":"YulExpressionStatement","src":"21185:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21235:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21246:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21231:3:181"},"nodeType":"YulFunctionCall","src":"21231:18:181"},{"hexValue":"455243313135353a207472616e7366657220746f206e6f6e2d45524331313535","kind":"string","nodeType":"YulLiteral","src":"21251:34:181","type":"","value":"ERC1155: transfer to non-ERC1155"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21224:6:181"},"nodeType":"YulFunctionCall","src":"21224:62:181"},"nodeType":"YulExpressionStatement","src":"21224:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21306:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21317:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21302:3:181"},"nodeType":"YulFunctionCall","src":"21302:18:181"},{"hexValue":"526563656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"21322:22:181","type":"","value":"Receiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21295:6:181"},"nodeType":"YulFunctionCall","src":"21295:50:181"},"nodeType":"YulExpressionStatement","src":"21295:50:181"},{"nodeType":"YulAssignment","src":"21354:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21366:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21377:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21362:3:181"},"nodeType":"YulFunctionCall","src":"21362:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21354:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21122:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21136:4:181","type":""}],"src":"20971:416:181"},{"body":{"nodeType":"YulBlock","src":"21566:230:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21583:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21594:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21576:6:181"},"nodeType":"YulFunctionCall","src":"21576:21:181"},"nodeType":"YulExpressionStatement","src":"21576:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21617:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21628:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21613:3:181"},"nodeType":"YulFunctionCall","src":"21613:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"21633:2:181","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21606:6:181"},"nodeType":"YulFunctionCall","src":"21606:30:181"},"nodeType":"YulExpressionStatement","src":"21606:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21656:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21667:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21652:3:181"},"nodeType":"YulFunctionCall","src":"21652:18:181"},{"hexValue":"455243313135353a204552433131353552656365697665722072656a65637465","kind":"string","nodeType":"YulLiteral","src":"21672:34:181","type":"","value":"ERC1155: ERC1155Receiver rejecte"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21645:6:181"},"nodeType":"YulFunctionCall","src":"21645:62:181"},"nodeType":"YulExpressionStatement","src":"21645:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21727:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21738:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21723:3:181"},"nodeType":"YulFunctionCall","src":"21723:18:181"},{"hexValue":"6420746f6b656e73","kind":"string","nodeType":"YulLiteral","src":"21743:10:181","type":"","value":"d tokens"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21716:6:181"},"nodeType":"YulFunctionCall","src":"21716:38:181"},"nodeType":"YulExpressionStatement","src":"21716:38:181"},{"nodeType":"YulAssignment","src":"21763:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21775:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"21786:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21771:3:181"},"nodeType":"YulFunctionCall","src":"21771:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21763:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21543:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21557:4:181","type":""}],"src":"21392:404:181"},{"body":{"nodeType":"YulBlock","src":"22190:397:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22207:3:181"},{"hexValue":"416363657373436f6e74726f6c3a206163636f756e7420","kind":"string","nodeType":"YulLiteral","src":"22212:25:181","type":"","value":"AccessControl: account "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22200:6:181"},"nodeType":"YulFunctionCall","src":"22200:38:181"},"nodeType":"YulExpressionStatement","src":"22200:38:181"},{"nodeType":"YulVariableDeclaration","src":"22247:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22267:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22261:5:181"},"nodeType":"YulFunctionCall","src":"22261:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22251:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22309:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"22317:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22305:3:181"},"nodeType":"YulFunctionCall","src":"22305:17:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22328:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"22333:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22324:3:181"},"nodeType":"YulFunctionCall","src":"22324:12:181"},{"name":"length","nodeType":"YulIdentifier","src":"22338:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"22283:21:181"},"nodeType":"YulFunctionCall","src":"22283:62:181"},"nodeType":"YulExpressionStatement","src":"22283:62:181"},{"nodeType":"YulVariableDeclaration","src":"22354:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22368:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"22373:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22364:3:181"},"nodeType":"YulFunctionCall","src":"22364:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22358:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"22400:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"22404:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22396:3:181"},"nodeType":"YulFunctionCall","src":"22396:11:181"},{"hexValue":"206973206d697373696e6720726f6c6520","kind":"string","nodeType":"YulLiteral","src":"22409:19:181","type":"","value":" is missing role "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22389:6:181"},"nodeType":"YulFunctionCall","src":"22389:40:181"},"nodeType":"YulExpressionStatement","src":"22389:40:181"},{"nodeType":"YulVariableDeclaration","src":"22438:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22460:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22454:5:181"},"nodeType":"YulFunctionCall","src":"22454:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"22442:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22502:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"22510:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22498:3:181"},"nodeType":"YulFunctionCall","src":"22498:17:181"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"22521:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"22525:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22517:3:181"},"nodeType":"YulFunctionCall","src":"22517:11:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"22530:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"22476:21:181"},"nodeType":"YulFunctionCall","src":"22476:63:181"},"nodeType":"YulExpressionStatement","src":"22476:63:181"},{"nodeType":"YulAssignment","src":"22548:33:181","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"22563:2:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"22567:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22559:3:181"},"nodeType":"YulFunctionCall","src":"22559:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"22578:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22555:3:181"},"nodeType":"YulFunctionCall","src":"22555:26:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22548:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22158:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22163:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22171:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22182:3:181","type":""}],"src":"21801:786:181"},{"body":{"nodeType":"YulBlock","src":"22766:170:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22794:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22776:6:181"},"nodeType":"YulFunctionCall","src":"22776:21:181"},"nodeType":"YulExpressionStatement","src":"22776:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22828:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22813:3:181"},"nodeType":"YulFunctionCall","src":"22813:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"22833:2:181","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22806:6:181"},"nodeType":"YulFunctionCall","src":"22806:30:181"},"nodeType":"YulExpressionStatement","src":"22806:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22856:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22867:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22852:3:181"},"nodeType":"YulFunctionCall","src":"22852:18:181"},{"hexValue":"5061757361626c653a206e6f7420706175736564","kind":"string","nodeType":"YulLiteral","src":"22872:22:181","type":"","value":"Pausable: not paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22845:6:181"},"nodeType":"YulFunctionCall","src":"22845:50:181"},"nodeType":"YulExpressionStatement","src":"22845:50:181"},{"nodeType":"YulAssignment","src":"22904:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22916:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"22927:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22912:3:181"},"nodeType":"YulFunctionCall","src":"22912:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22904:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22743:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22757:4:181","type":""}],"src":"22592:344:181"},{"body":{"nodeType":"YulBlock","src":"23172:330:181","statements":[{"nodeType":"YulVariableDeclaration","src":"23182:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23200:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23205:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23196:3:181"},"nodeType":"YulFunctionCall","src":"23196:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"23209:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23192:3:181"},"nodeType":"YulFunctionCall","src":"23192:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23186:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23227:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23242:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"23250:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23238:3:181"},"nodeType":"YulFunctionCall","src":"23238:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23220:6:181"},"nodeType":"YulFunctionCall","src":"23220:34:181"},"nodeType":"YulExpressionStatement","src":"23220:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23274:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23285:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23270:3:181"},"nodeType":"YulFunctionCall","src":"23270:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23294:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"23302:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23290:3:181"},"nodeType":"YulFunctionCall","src":"23290:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23263:6:181"},"nodeType":"YulFunctionCall","src":"23263:43:181"},"nodeType":"YulExpressionStatement","src":"23263:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23326:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23337:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23322:3:181"},"nodeType":"YulFunctionCall","src":"23322:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"23342:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23315:6:181"},"nodeType":"YulFunctionCall","src":"23315:34:181"},"nodeType":"YulExpressionStatement","src":"23315:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23369:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23380:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23365:3:181"},"nodeType":"YulFunctionCall","src":"23365:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"23385:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23358:6:181"},"nodeType":"YulFunctionCall","src":"23358:34:181"},"nodeType":"YulExpressionStatement","src":"23358:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23412:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23423:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23408:3:181"},"nodeType":"YulFunctionCall","src":"23408:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"23429:3:181","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23401:6:181"},"nodeType":"YulFunctionCall","src":"23401:32:181"},"nodeType":"YulExpressionStatement","src":"23401:32:181"},{"nodeType":"YulAssignment","src":"23442:54:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"23468:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23480:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23491:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23476:3:181"},"nodeType":"YulFunctionCall","src":"23476:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"23450:17:181"},"nodeType":"YulFunctionCall","src":"23450:46:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23442:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23109:9:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"23120:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23128:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23136:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23144:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23152:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23163:4:181","type":""}],"src":"22941:561:181"},{"body":{"nodeType":"YulBlock","src":"23681:166:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23698:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23709:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23691:6:181"},"nodeType":"YulFunctionCall","src":"23691:21:181"},"nodeType":"YulExpressionStatement","src":"23691:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23732:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23743:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23728:3:181"},"nodeType":"YulFunctionCall","src":"23728:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"23748:2:181","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23721:6:181"},"nodeType":"YulFunctionCall","src":"23721:30:181"},"nodeType":"YulExpressionStatement","src":"23721:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23771:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23782:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23767:3:181"},"nodeType":"YulFunctionCall","src":"23767:18:181"},{"hexValue":"5061757361626c653a20706175736564","kind":"string","nodeType":"YulLiteral","src":"23787:18:181","type":"","value":"Pausable: paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23760:6:181"},"nodeType":"YulFunctionCall","src":"23760:46:181"},"nodeType":"YulExpressionStatement","src":"23760:46:181"},{"nodeType":"YulAssignment","src":"23815:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23827:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"23838:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23823:3:181"},"nodeType":"YulFunctionCall","src":"23823:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23815:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23658:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23672:4:181","type":""}],"src":"23507:340:181"},{"body":{"nodeType":"YulBlock","src":"24026:234:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24054:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24036:6:181"},"nodeType":"YulFunctionCall","src":"24036:21:181"},"nodeType":"YulExpressionStatement","src":"24036:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24077:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24088:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24073:3:181"},"nodeType":"YulFunctionCall","src":"24073:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"24093:2:181","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24066:6:181"},"nodeType":"YulFunctionCall","src":"24066:30:181"},"nodeType":"YulExpressionStatement","src":"24066:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24116:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24127:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24112:3:181"},"nodeType":"YulFunctionCall","src":"24112:18:181"},{"hexValue":"455243313135355061757361626c653a20746f6b656e207472616e7366657220","kind":"string","nodeType":"YulLiteral","src":"24132:34:181","type":"","value":"ERC1155Pausable: token transfer "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24105:6:181"},"nodeType":"YulFunctionCall","src":"24105:62:181"},"nodeType":"YulExpressionStatement","src":"24105:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24187:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24198:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24183:3:181"},"nodeType":"YulFunctionCall","src":"24183:18:181"},{"hexValue":"7768696c6520706175736564","kind":"string","nodeType":"YulLiteral","src":"24203:14:181","type":"","value":"while paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24176:6:181"},"nodeType":"YulFunctionCall","src":"24176:42:181"},"nodeType":"YulExpressionStatement","src":"24176:42:181"},{"nodeType":"YulAssignment","src":"24227:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24239:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24250:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24235:3:181"},"nodeType":"YulFunctionCall","src":"24235:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24227:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_382791644f51336ed3667770955aa8eb4efb839029c48708cadb22e92d271435__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24003:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24017:4:181","type":""}],"src":"23852:408:181"},{"body":{"nodeType":"YulBlock","src":"24317:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"24376:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"24378:16:181"},"nodeType":"YulFunctionCall","src":"24378:18:181"},"nodeType":"YulExpressionStatement","src":"24378:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24348:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24341:6:181"},"nodeType":"YulFunctionCall","src":"24341:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24334:6:181"},"nodeType":"YulFunctionCall","src":"24334:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"24356:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24367:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"24363:3:181"},"nodeType":"YulFunctionCall","src":"24363:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"24371:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"24359:3:181"},"nodeType":"YulFunctionCall","src":"24359:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24353:2:181"},"nodeType":"YulFunctionCall","src":"24353:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24330:3:181"},"nodeType":"YulFunctionCall","src":"24330:45:181"},"nodeType":"YulIf","src":"24327:71:181"},{"nodeType":"YulAssignment","src":"24407:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"24422:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"24425:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"24418:3:181"},"nodeType":"YulFunctionCall","src":"24418:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"24407:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"24296:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"24299:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"24305:7:181","type":""}],"src":"24265:168:181"},{"body":{"nodeType":"YulBlock","src":"24485:89:181","statements":[{"body":{"nodeType":"YulBlock","src":"24512:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"24514:16:181"},"nodeType":"YulFunctionCall","src":"24514:18:181"},"nodeType":"YulExpressionStatement","src":"24514:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24505:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24498:6:181"},"nodeType":"YulFunctionCall","src":"24498:13:181"},"nodeType":"YulIf","src":"24495:39:181"},{"nodeType":"YulAssignment","src":"24543:25:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24554:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24565:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"24561:3:181"},"nodeType":"YulFunctionCall","src":"24561:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24550:3:181"},"nodeType":"YulFunctionCall","src":"24550:18:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"24543:3:181"}]}]},"name":"decrement_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24467:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"24477:3:181","type":""}],"src":"24438:136:181"},{"body":{"nodeType":"YulBlock","src":"24753:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24770:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24781:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24763:6:181"},"nodeType":"YulFunctionCall","src":"24763:21:181"},"nodeType":"YulExpressionStatement","src":"24763:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24804:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24815:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24800:3:181"},"nodeType":"YulFunctionCall","src":"24800:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"24820:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24793:6:181"},"nodeType":"YulFunctionCall","src":"24793:30:181"},"nodeType":"YulExpressionStatement","src":"24793:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24843:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24854:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24839:3:181"},"nodeType":"YulFunctionCall","src":"24839:18:181"},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","kind":"string","nodeType":"YulLiteral","src":"24859:34:181","type":"","value":"Strings: hex length insufficient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24832:6:181"},"nodeType":"YulFunctionCall","src":"24832:62:181"},"nodeType":"YulExpressionStatement","src":"24832:62:181"},{"nodeType":"YulAssignment","src":"24903:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24915:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"24926:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24911:3:181"},"nodeType":"YulFunctionCall","src":"24911:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24903:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24730:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24744:4:181","type":""}],"src":"24579:356:181"},{"body":{"nodeType":"YulBlock","src":"24989:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"25011:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"25013:16:181"},"nodeType":"YulFunctionCall","src":"25013:18:181"},"nodeType":"YulExpressionStatement","src":"25013:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25005:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"25008:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25002:2:181"},"nodeType":"YulFunctionCall","src":"25002:8:181"},"nodeType":"YulIf","src":"24999:34:181"},{"nodeType":"YulAssignment","src":"25042:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25054:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"25057:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25050:3:181"},"nodeType":"YulFunctionCall","src":"25050:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"25042:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"24971:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"24974:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"24980:4:181","type":""}],"src":"24940:125:181"},{"body":{"nodeType":"YulBlock","src":"25102:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25119:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25126:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25131:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25122:3:181"},"nodeType":"YulFunctionCall","src":"25122:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25112:6:181"},"nodeType":"YulFunctionCall","src":"25112:31:181"},"nodeType":"YulExpressionStatement","src":"25112:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25159:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25162:4:181","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25152:6:181"},"nodeType":"YulFunctionCall","src":"25152:15:181"},"nodeType":"YulExpressionStatement","src":"25152:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25183:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25186:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25176:6:181"},"nodeType":"YulFunctionCall","src":"25176:15:181"},"nodeType":"YulExpressionStatement","src":"25176:15:181"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"25070:127:181"}]},"contents":"{\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\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 validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := 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 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 copy_memory_to_memory(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 if gt(i, length) { 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(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function finalize_allocation(memPtr, size)\n {\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint256_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let _3 := array_allocation_size_array_uint256_dyn(_1)\n let memPtr := mload(64)\n finalize_allocation(memPtr, _3)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n }\n array := memPtr\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let memPtr := mload(64)\n finalize_allocation(memPtr, add(and(add(_1, 0x1f), not(31)), 0x20))\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_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\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__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(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_array_uint256_dyn(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_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n let _4 := 0x20\n let _5 := array_allocation_size_array_uint256_dyn(_3)\n let memPtr := mload(64)\n finalize_allocation(memPtr, _5)\n let dst := memPtr\n mstore(memPtr, _3)\n dst := add(memPtr, _4)\n let srcEnd := add(add(_2, shl(5, _3)), _4)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _4)\n for { } lt(src, srcEnd) { src := add(src, _4) }\n {\n mstore(dst, abi_decode_address(src))\n dst := add(dst, _4)\n }\n value0 := memPtr\n let offset_1 := calldataload(add(headStart, _4))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_array_uint256_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\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_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_addresst_bool(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(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_stringliteral_415a1b99e1fd4a18cf87c08995f5a9130182e8d76e9c17c497bfebaaef9265ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC1155: address zero is not a v\")\n mstore(add(headStart, 96), \"alid owner\")\n tail := add(headStart, 128)\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 abi_encode_tuple_t_stringliteral_8955910be8371dda281e80fa38d092164791ccbd984aaa07b76276bef2682e9c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 56)\n mstore(add(headStart, 64), \"ERC1155PresetMinterPauser: must \")\n mstore(add(headStart, 96), \"have minter role to mint\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_47c72b42072ed6c647dec3a0a5c88bec44d3e901c64659bff94ecce0a0323156__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC1155: caller is not token own\")\n mstore(add(headStart, 96), \"er or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_be510562063387b7714478be5eff01a8c39efbb1b76d9be224d34aac440c9e31__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 59)\n mstore(add(headStart, 64), \"ERC1155PresetMinterPauser: must \")\n mstore(add(headStart, 96), \"have pauser role to unpause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e155f5d69798c6205436a388a4f3a5fd42f54147b40f4d63a2c8071ff8a9fee5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC1155: accounts and ids length\")\n mstore(add(headStart, 96), \" mismatch\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_d5053a301adec69bf5c7c3782556a354b14090e41fa7ca93c4de3863fd6a98b9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 57)\n mstore(add(headStart, 64), \"ERC1155PresetMinterPauser: must \")\n mstore(add(headStart, 96), \"have pauser role to pause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ebf031a1b7ee1d0b3a7752b450a3268e8b6c334561b48c1c0ba0f5bac05749f2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC1155: mint to the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e909e0c9a8f96b4f9af03b716811ece20beb070be416893ed1d50619b5930807__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC1155: ids and amounts length \")\n mstore(add(headStart, 96), \"mismatch\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_array_uint256_dyn(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_array_uint256_dyn(value1, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_6faf1c67f278b07c6771dcf4c315a89c21c0eaed11d9ab3d51774da1cfef545d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC1155: transfer to the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8ac7e9556b567c1c94bb4daaa3c3a65be5ac686579615210cb910fb8cb8d65bf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC1155: insufficient balance fo\")\n mstore(add(headStart, 96), \"r transfer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_87fd4aee52f5758d127cd9704d5ffef70f36ed1e87eb99b6f40e37a25c79a76a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC1155: burn from the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_294a5de01910e2350ff231c633ae2d453ed6b1b72c75506234b7aace63eae685__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC1155: burn amount exceeds bal\")\n mstore(add(headStart, 96), \"ance\")\n tail := add(headStart, 128)\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_stringliteral_df9806c6dc743de602e49918a67b580590d69ab768bdb59f977c0a884a91a7c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC1155: setting approval status\")\n mstore(add(headStart, 96), \" for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), 160)\n let tail_1 := abi_encode_array_uint256_dyn(value2, add(headStart, 160))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_array_uint256_dyn(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_string(value4, tail_2)\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function return_data_selector() -> sig\n {\n if gt(returndatasize(), 3)\n {\n returndatacopy(0, 0, 4)\n sig := shr(224, mload(0))\n }\n }\n function try_decode_error_message() -> ret\n {\n if lt(returndatasize(), 0x44) { leave }\n let data := mload(64)\n let _1 := not(3)\n returndatacopy(data, 4, add(returndatasize(), _1))\n let offset := mload(data)\n let _2 := returndatasize()\n let _3 := 0xffffffffffffffff\n if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n let msg := add(data, offset)\n let length := mload(msg)\n if gt(length, _3) { leave }\n if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n finalize_allocation(data, add(add(offset, length), 0x20))\n ret := msg\n }\n function abi_encode_tuple_t_stringliteral_f591f7b75ffc499e05f8b34c3364b2eceff651378d9549db1d5d67c0d8255c5d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"ERC1155: transfer to non-ERC1155\")\n mstore(add(headStart, 96), \"Receiver implementer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0587cccad73a80a7f013db13c596f4febc1968dc77e1d3589d5e7a509a3d6503__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC1155: ERC1155Receiver rejecte\")\n mstore(add(headStart, 96), \"d tokens\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\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 function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 160)\n tail := abi_encode_string(value4, add(headStart, 160))\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_382791644f51336ed3667770955aa8eb4efb839029c48708cadb22e92d271435__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC1155Pausable: token transfer \")\n mstore(add(headStart, 96), \"while paused\")\n tail := add(headStart, 128)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101725760003560e01c8063731133e9116100de578063ca15c87311610097578063e63ab1e911610071578063e63ab1e914610358578063e985e9c51461037f578063f242432a146103bb578063f5298aca146103ce57600080fd5b8063ca15c8731461030b578063d53913931461031e578063d547741f1461034557600080fd5b8063731133e9146102975780638456cb59146102aa5780639010d07c146102b257806391d14854146102dd578063a217fddf146102f0578063a22cb465146102f857600080fd5b80632f2ff15d116101305780632f2ff15d1461022b57806336568abe1461023e5780633f4ba83a146102515780634e1273f4146102595780635c975abb146102795780636b20c4541461028457600080fd5b8062fdd58e1461017757806301ffc9a71461019d5780630e89341c146101c05780631f7fdffa146101e0578063248a9ca3146101f55780632eb2c2d614610218575b600080fd5b61018a610185366004611d09565b6103e1565b6040519081526020015b60405180910390f35b6101b06101ab366004611d49565b61047c565b6040519015158152602001610194565b6101d36101ce366004611d66565b610487565b6040516101949190611dd7565b6101f36101ee366004611f36565b61051b565b005b61018a610203366004611d66565b60009081526020819052604090206001015490565b6101f3610226366004611fcf565b610573565b6101f3610239366004612079565b6105bf565b6101f361024c366004612079565b6105e9565b6101f3610667565b61026c6102673660046120a5565b61070d565b60405161019491906121ab565b60055460ff166101b0565b6101f36102923660046121be565b610837565b6101f36102a5366004612232565b61087a565b6101f36108cc565b6102c56102c0366004612287565b610970565b6040516001600160a01b039091168152602001610194565b6101b06102eb366004612079565b61098f565b61018a600081565b6101f36103063660046122a9565b6109b8565b61018a610319366004611d66565b6109c3565b61018a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101f3610353366004612079565b6109da565b61018a7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101b061038d3660046122e5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205460ff1690565b6101f36103c936600461230f565b6109ff565b6101f36103dc366004612374565b610a44565b60006001600160a01b0383166104515760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526002602090815260408083206001600160a01b03861684529091529020545b92915050565b600061047682610b20565b606060048054610496906123a7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c2906123a7565b801561050f5780601f106104e45761010080835404028352916020019161050f565b820191906000526020600020905b8154815290600101906020018083116104f257829003601f168201915b50505050509050919050565b6105457f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63361098f565b6105615760405162461bcd60e51b8152600401610448906123e2565b61056d84848484610b60565b50505050565b6001600160a01b03851633148061058f575061058f853361038d565b6105ab5760405162461bcd60e51b81526004016104489061243f565b6105b88585858585610cbb565b5050505050565b6000828152602081905260409020600101546105da81610e68565b6105e48383610e75565b505050565b6001600160a01b03811633146106595760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610448565b6106638282610e97565b5050565b6106917f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361098f565b6107035760405162461bcd60e51b815260206004820152603b60248201527f455243313135355072657365744d696e7465725061757365723a206d7573742060448201527f686176652070617573657220726f6c6520746f20756e706175736500000000006064820152608401610448565b61070b610eb9565b565b606081518351146107725760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610448565b6000835167ffffffffffffffff81111561078e5761078e611dea565b6040519080825280602002602001820160405280156107b7578160200160208202803683370190505b50905060005b845181101561082f576108028582815181106107db576107db61248d565b60200260200101518583815181106107f5576107f561248d565b60200260200101516103e1565b8282815181106108145761081461248d565b6020908102919091010152610828816124b9565b90506107bd565b509392505050565b6001600160a01b0383163314806108535750610853833361038d565b61086f5760405162461bcd60e51b81526004016104489061243f565b6105e4838383610f0b565b6108a47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63361098f565b6108c05760405162461bcd60e51b8152600401610448906123e2565b61056d848484846110aa565b6108f67f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361098f565b6109685760405162461bcd60e51b815260206004820152603960248201527f455243313135355072657365744d696e7465725061757365723a206d7573742060448201527f686176652070617573657220726f6c6520746f207061757365000000000000006064820152608401610448565b61070b611195565b600082815260016020526040812061098890836111d2565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6106633383836111de565b6000818152600160205260408120610476906112bf565b6000828152602081905260409020600101546109f581610e68565b6105e48383610e97565b6001600160a01b038516331480610a1b5750610a1b853361038d565b610a375760405162461bcd60e51b81526004016104489061243f565b6105b885858585856112c9565b6001600160a01b038316331480610a605750610a60833361038d565b610a7c5760405162461bcd60e51b81526004016104489061243f565b6105e4838383611405565b610a91828261098f565b610663576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610ac73390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610988836001600160a01b038416611521565b60006001600160e01b03198216636cdb3d1360e11b1480610b5157506001600160e01b031982166303a24d0760e21b145b80610476575061047682611570565b6001600160a01b038416610b865760405162461bcd60e51b8152600401610448906124d4565b8151835114610ba75760405162461bcd60e51b815260040161044890612515565b33610bb781600087878787611595565b60005b8451811015610c5357838181518110610bd557610bd561248d565b602002602001015160026000878481518110610bf357610bf361248d565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610c3b919061255d565b90915550819050610c4b816124b9565b915050610bba565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610ca4929190612575565b60405180910390a46105b8816000878787876115a3565b8151835114610cdc5760405162461bcd60e51b815260040161044890612515565b6001600160a01b038416610d025760405162461bcd60e51b8152600401610448906125a3565b33610d11818787878787611595565b60005b8451811015610dfa576000858281518110610d3157610d3161248d565b602002602001015190506000858381518110610d4f57610d4f61248d565b60209081029190910181015160008481526002835260408082206001600160a01b038e168352909352919091205490915081811015610da05760405162461bcd60e51b8152600401610448906125e8565b60008381526002602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610ddf90849061255d565b9250508190555050505080610df3906124b9565b9050610d14565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610e4a929190612575565b60405180910390a4610e608187878787876115a3565b505050505050565b610e72813361170e565b50565b610e7f8282610a87565b60008281526001602052604090206105e49082610b0b565b610ea18282611767565b60008281526001602052604090206105e490826117cc565b610ec16117e1565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038316610f315760405162461bcd60e51b815260040161044890612632565b8051825114610f525760405162461bcd60e51b815260040161044890612515565b6000339050610f7581856000868660405180602001604052806000815250611595565b60005b835181101561103d576000848281518110610f9557610f9561248d565b602002602001015190506000848381518110610fb357610fb361248d565b60209081029190910181015160008481526002835260408082206001600160a01b038c1683529093529190912054909150818110156110045760405162461bcd60e51b815260040161044890612675565b60009283526002602090815260408085206001600160a01b038b1686529091529092209103905580611035816124b9565b915050610f78565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161108e929190612575565b60405180910390a460408051602081019091526000905261056d565b6001600160a01b0384166110d05760405162461bcd60e51b8152600401610448906124d4565b3360006110dc8561182a565b905060006110e98561182a565b90506110fa83600089858589611595565b60008681526002602090815260408083206001600160a01b038b1684529091528120805487929061112c90849061255d565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461118c83600089898989611875565b50505050505050565b61119d61193f565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610eee3390565b60006109888383611985565b816001600160a01b0316836001600160a01b031614156112525760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610448565b6001600160a01b03838116600081815260036020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000610476825490565b6001600160a01b0384166112ef5760405162461bcd60e51b8152600401610448906125a3565b3360006112fb8561182a565b905060006113088561182a565b9050611318838989858589611595565b60008681526002602090815260408083206001600160a01b038c1684529091529020548581101561135b5760405162461bcd60e51b8152600401610448906125e8565b60008781526002602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061139a90849061255d565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46113fa848a8a8a8a8a611875565b505050505050505050565b6001600160a01b03831661142b5760405162461bcd60e51b815260040161044890612632565b3360006114378461182a565b905060006114448461182a565b905061146483876000858560405180602001604052806000815250611595565b60008581526002602090815260408083206001600160a01b038a168452909152902054848110156114a75760405162461bcd60e51b815260040161044890612675565b60008681526002602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261118c565b600081815260018301602052604081205461156857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610476565b506000610476565b60006001600160e01b03198216635a05180f60e01b14806104765750610476826119af565b610e608686868686866119e4565b6001600160a01b0384163b15610e605760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115e790899089908890889088906004016126b9565b602060405180830381600087803b15801561160157600080fd5b505af1925050508015611631575060408051601f3d908101601f1916820190925261162e91810190612717565b60015b6116de5761163d612734565b806308c379a014156116775750611652612750565b8061165d5750611679565b8060405162461bcd60e51b81526004016104489190611dd7565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610448565b6001600160e01b0319811663bc197c8160e01b1461118c5760405162461bcd60e51b8152600401610448906127da565b611718828261098f565b6106635761172581611a4c565b611730836020611a5e565b604051602001611741929190612822565b60408051601f198184030181529082905262461bcd60e51b825261044891600401611dd7565b611771828261098f565b15610663576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610988836001600160a01b038416611bfa565b60055460ff1661070b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610448565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118645761186461248d565b602090810291909101015292915050565b6001600160a01b0384163b15610e605760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906118b99089908990889088908890600401612897565b602060405180830381600087803b1580156118d357600080fd5b505af1925050508015611903575060408051601f3d908101601f1916820190925261190091810190612717565b60015b61190f5761163d612734565b6001600160e01b0319811663f23a6e6160e01b1461118c5760405162461bcd60e51b8152600401610448906127da565b60055460ff161561070b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610448565b600082600001828154811061199c5761199c61248d565b9060005260206000200154905092915050565b60006001600160e01b03198216637965db0b60e01b148061047657506301ffc9a760e01b6001600160e01b0319831614610476565b60055460ff1615610e605760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201526b1dda1a5b19481c185d5cd95960a21b6064820152608401610448565b60606104766001600160a01b03831660145b60606000611a6d8360026128dc565b611a7890600261255d565b67ffffffffffffffff811115611a9057611a90611dea565b6040519080825280601f01601f191660200182016040528015611aba576020820181803683370190505b509050600360fc1b81600081518110611ad557611ad561248d565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611b0457611b0461248d565b60200101906001600160f81b031916908160001a9053506000611b288460026128dc565b611b3390600161255d565b90505b6001811115611bab576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b6757611b6761248d565b1a60f81b828281518110611b7d57611b7d61248d565b60200101906001600160f81b031916908160001a90535060049490941c93611ba4816128fb565b9050611b36565b5083156109885760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610448565b60008181526001830160205260408120548015611ce3576000611c1e600183612912565b8554909150600090611c3290600190612912565b9050818114611c97576000866000018281548110611c5257611c5261248d565b9060005260206000200154905080876000018481548110611c7557611c7561248d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ca857611ca8612929565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610476565b6000915050610476565b80356001600160a01b0381168114611d0457600080fd5b919050565b60008060408385031215611d1c57600080fd5b611d2583611ced565b946020939093013593505050565b6001600160e01b031981168114610e7257600080fd5b600060208284031215611d5b57600080fd5b813561098881611d33565b600060208284031215611d7857600080fd5b5035919050565b60005b83811015611d9a578181015183820152602001611d82565b8381111561056d5750506000910152565b60008151808452611dc3816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006109886020830184611dab565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611e2657611e26611dea565b6040525050565b600067ffffffffffffffff821115611e4757611e47611dea565b5060051b60200190565b600082601f830112611e6257600080fd5b81356020611e6f82611e2d565b604051611e7c8282611e00565b83815260059390931b8501820192828101915086841115611e9c57600080fd5b8286015b84811015611eb75780358352918301918301611ea0565b509695505050505050565b600082601f830112611ed357600080fd5b813567ffffffffffffffff811115611eed57611eed611dea565b604051611f04601f8301601f191660200182611e00565b818152846020838601011115611f1957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611f4c57600080fd5b611f5585611ced565b9350602085013567ffffffffffffffff80821115611f7257600080fd5b611f7e88838901611e51565b94506040870135915080821115611f9457600080fd5b611fa088838901611e51565b93506060870135915080821115611fb657600080fd5b50611fc387828801611ec2565b91505092959194509250565b600080600080600060a08688031215611fe757600080fd5b611ff086611ced565b9450611ffe60208701611ced565b9350604086013567ffffffffffffffff8082111561201b57600080fd5b61202789838a01611e51565b9450606088013591508082111561203d57600080fd5b61204989838a01611e51565b9350608088013591508082111561205f57600080fd5b5061206c88828901611ec2565b9150509295509295909350565b6000806040838503121561208c57600080fd5b8235915061209c60208401611ced565b90509250929050565b600080604083850312156120b857600080fd5b823567ffffffffffffffff808211156120d057600080fd5b818501915085601f8301126120e457600080fd5b813560206120f182611e2d565b6040516120fe8282611e00565b83815260059390931b850182019282810191508984111561211e57600080fd5b948201945b838610156121435761213486611ced565b82529482019490820190612123565b9650508601359250508082111561215957600080fd5b5061216685828601611e51565b9150509250929050565b600081518084526020808501945080840160005b838110156121a057815187529582019590820190600101612184565b509495945050505050565b6020815260006109886020830184612170565b6000806000606084860312156121d357600080fd5b6121dc84611ced565b9250602084013567ffffffffffffffff808211156121f957600080fd5b61220587838801611e51565b9350604086013591508082111561221b57600080fd5b5061222886828701611e51565b9150509250925092565b6000806000806080858703121561224857600080fd5b61225185611ced565b93506020850135925060408501359150606085013567ffffffffffffffff81111561227b57600080fd5b611fc387828801611ec2565b6000806040838503121561229a57600080fd5b50508035926020909101359150565b600080604083850312156122bc57600080fd5b6122c583611ced565b9150602083013580151581146122da57600080fd5b809150509250929050565b600080604083850312156122f857600080fd5b61230183611ced565b915061209c60208401611ced565b600080600080600060a0868803121561232757600080fd5b61233086611ced565b945061233e60208701611ced565b93506040860135925060608601359150608086013567ffffffffffffffff81111561236857600080fd5b61206c88828901611ec2565b60008060006060848603121561238957600080fd5b61239284611ced565b95602085013595506040909401359392505050565b600181811c908216806123bb57607f821691505b602082108114156123dc57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526038908201527f455243313135355072657365744d696e7465725061757365723a206d7573742060408201527f68617665206d696e74657220726f6c6520746f206d696e740000000000000000606082015260800190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156124cd576124cd6124a3565b5060010190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60008219821115612570576125706124a3565b500190565b6040815260006125886040830185612170565b828103602084015261259a8185612170565b95945050505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906126e590830186612170565b82810360608401526126f78186612170565b9050828103608084015261270b8185611dab565b98975050505050505050565b60006020828403121561272957600080fd5b815161098881611d33565b600060033d111561274d5760046000803e5060005160e01c5b90565b600060443d101561275e5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561278e57505050505090565b82850191508151818111156127a65750505050505090565b843d87010160208285010111156127c05750505050505090565b6127cf60208286010187611e00565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161285a816017850160208801611d7f565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161288b816028840160208801611d7f565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906128d190830184611dab565b979650505050505050565b60008160001904831182151516156128f6576128f66124a3565b500290565b60008161290a5761290a6124a3565b506000190190565b600082821015612924576129246124a3565b500390565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e41e76614ae456c45096aeaea34280a06ba934e3b4d13a5dd49d959c97833e2664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x172 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x731133E9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xCA15C873 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xE63AB1E9 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x358 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0xF242432A EQ PUSH2 0x3BB JUMPI DUP1 PUSH4 0xF5298ACA EQ PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x731133E9 EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2DD JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0x4E1273F4 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x6B20C454 EQ PUSH2 0x284 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH3 0xFDD58E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xE89341C EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0x1F7FDFFA EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x2EB2C2D6 EQ PUSH2 0x218 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18A PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D09 JUMP JUMPDEST PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1D49 JUMP JUMPDEST PUSH2 0x47C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x1D3 PUSH2 0x1CE CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x1DD7 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0x1F36 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x18A PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1FCF JUMP JUMPDEST PUSH2 0x573 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x5BF JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x5E9 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x667 JUMP JUMPDEST PUSH2 0x26C PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A5 JUMP JUMPDEST PUSH2 0x70D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x21AB JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x292 CALLDATASIZE PUSH1 0x4 PUSH2 0x21BE JUMP JUMPDEST PUSH2 0x837 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x2A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2232 JUMP JUMPDEST PUSH2 0x87A JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2287 JUMP JUMPDEST PUSH2 0x970 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x98F JUMP JUMPDEST PUSH2 0x18A PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0x22A9 JUMP JUMPDEST PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0x18A PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x9C3 JUMP JUMPDEST PUSH2 0x18A PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x353 CALLDATASIZE PUSH1 0x4 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x18A PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x22E5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x3C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x230F JUMP JUMPDEST PUSH2 0x9FF JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x3DC CALLDATASIZE PUSH1 0x4 PUSH2 0x2374 JUMP JUMPDEST PUSH2 0xA44 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x451 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2061646472657373207A65726F206973206E6F7420612076 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x30B634B21037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x476 DUP3 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x496 SWAP1 PUSH2 0x23A7 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 0x4C2 SWAP1 PUSH2 0x23A7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x50F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50F 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 0x4F2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x545 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x561 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH2 0x56D DUP5 DUP5 DUP5 DUP5 PUSH2 0xB60 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0x58F JUMPI POP PUSH2 0x58F DUP6 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0x5AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5B8 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0xCBB JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x5DA DUP2 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 PUSH2 0xE75 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x659 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x663 DUP3 DUP3 PUSH2 0xE97 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x691 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686176652070617573657220726F6C6520746F20756E70617573650000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x70B PUSH2 0xEB9 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0x772 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A206163636F756E747320616E6420696473206C656E677468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x40DAD2E6DAC2E8C6D PUSH1 0xBB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x78E JUMPI PUSH2 0x78E PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x7B7 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x82F JUMPI PUSH2 0x802 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x7DB JUMPI PUSH2 0x7DB PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x7F5 JUMPI PUSH2 0x7F5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x3E1 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x814 JUMPI PUSH2 0x814 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE PUSH2 0x828 DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP1 POP PUSH2 0x7BD JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND CALLER EQ DUP1 PUSH2 0x853 JUMPI POP PUSH2 0x853 DUP4 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0x86F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 DUP4 PUSH2 0xF0B JUMP JUMPDEST PUSH2 0x8A4 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x8C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x23E2 JUMP JUMPDEST PUSH2 0x56D DUP5 DUP5 DUP5 DUP5 PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x8F6 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x98F JUMP JUMPDEST PUSH2 0x968 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686176652070617573657220726F6C6520746F20706175736500000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH2 0x70B PUSH2 0x1195 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x988 SWAP1 DUP4 PUSH2 0x11D2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x663 CALLER DUP4 DUP4 PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x476 SWAP1 PUSH2 0x12BF JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9F5 DUP2 PUSH2 0xE68 JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 PUSH2 0xE97 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND CALLER EQ DUP1 PUSH2 0xA1B JUMPI POP PUSH2 0xA1B DUP6 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0xA37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5B8 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x12C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND CALLER EQ DUP1 PUSH2 0xA60 JUMPI POP PUSH2 0xA60 DUP4 CALLER PUSH2 0x38D JUMP JUMPDEST PUSH2 0xA7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x243F JUMP JUMPDEST PUSH2 0x5E4 DUP4 DUP4 DUP4 PUSH2 0x1405 JUMP JUMPDEST PUSH2 0xA91 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x663 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xAC7 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1521 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x6CDB3D13 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB51 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x3A24D07 PUSH1 0xE2 SHL EQ JUMPDEST DUP1 PUSH2 0x476 JUMPI POP PUSH2 0x476 DUP3 PUSH2 0x1570 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x24D4 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0xBA7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST CALLER PUSH2 0xBB7 DUP2 PUSH1 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0xC53 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xBD5 JUMPI PUSH2 0xBD5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x2 PUSH1 0x0 DUP8 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xBF3 JUMPI PUSH2 0xBF3 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xC3B SWAP2 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP2 SWAP1 POP PUSH2 0xC4B DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xBBA JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xCA4 SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x5B8 DUP2 PUSH1 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x15A3 JUMP JUMPDEST DUP2 MLOAD DUP4 MLOAD EQ PUSH2 0xCDC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD02 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25A3 JUMP JUMPDEST CALLER PUSH2 0xD11 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0xDFA JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xD31 JUMPI PUSH2 0xD31 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xD4F JUMPI PUSH2 0xD4F PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0xDA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25E8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 DUP6 SUB SWAP1 SSTORE SWAP1 DUP12 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xDDF SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 PUSH2 0xDF3 SWAP1 PUSH2 0x24B9 JUMP JUMPDEST SWAP1 POP PUSH2 0xD14 JUMP JUMPDEST POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE4A SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0xE60 DUP2 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x15A3 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP2 CALLER PUSH2 0x170E JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xE7F DUP3 DUP3 PUSH2 0xA87 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x5E4 SWAP1 DUP3 PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xEA1 DUP3 DUP3 PUSH2 0x1767 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x5E4 SWAP1 DUP3 PUSH2 0x17CC JUMP JUMPDEST PUSH2 0xEC1 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xF31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2632 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0xF52 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2515 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0xF75 DUP2 DUP6 PUSH1 0x0 DUP7 DUP7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x103D JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xF95 JUMPI PUSH2 0xF95 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xFB3 JUMPI PUSH2 0xFB3 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP2 DUP2 LT ISZERO PUSH2 0x1004 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2675 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP7 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SUB SWAP1 SSTORE DUP1 PUSH2 0x1035 DUP2 PUSH2 0x24B9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xF78 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x4A39DC06D4C0DBC64B70AF90FD698A233A518AA5D07E595D983B8C0526C8F7FB DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x108E SWAP3 SWAP2 SWAP1 PUSH2 0x2575 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 SWAP1 MSTORE PUSH2 0x56D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x10D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x24D4 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x10DC DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x10E9 DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x10FA DUP4 PUSH1 0x0 DUP10 DUP6 DUP6 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x112C SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP8 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND SWAP3 PUSH1 0x0 SWAP3 SWAP2 DUP8 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x118C DUP4 PUSH1 0x0 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1875 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x119D PUSH2 0x193F JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0xEEE CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 DUP4 PUSH2 0x1985 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1252 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A2073657474696E6720617070726F76616C20737461747573 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x103337B91039B2B633 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x476 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x12EF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25A3 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x12FB DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1308 DUP6 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x1318 DUP4 DUP10 DUP10 DUP6 DUP6 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP6 DUP2 LT ISZERO PUSH2 0x135B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x25E8 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 DUP2 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP10 DUP6 SUB SWAP1 SSTORE SWAP1 DUP11 AND DUP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP9 SWAP3 SWAP1 PUSH2 0x139A SWAP1 DUP5 SWAP1 PUSH2 0x255D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP9 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP3 DUP13 DUP3 AND SWAP3 SWAP2 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH2 0x13FA DUP5 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0x1875 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x142B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2632 JUMP JUMPDEST CALLER PUSH1 0x0 PUSH2 0x1437 DUP5 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1444 DUP5 PUSH2 0x182A JUMP JUMPDEST SWAP1 POP PUSH2 0x1464 DUP4 DUP8 PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0x14A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x2675 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND DUP1 DUP7 MSTORE SWAP2 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP11 DUP8 SUB SWAP1 SSTORE DUP3 MLOAD DUP12 DUP2 MSTORE SWAP4 DUP5 ADD DUP11 SWAP1 MSTORE SWAP1 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH32 0xC3D58168C5AE7397731D063D5BBF3D657854427343F4C083240F7AACAA2D0F62 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 SWAP1 MSTORE PUSH2 0x118C JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1568 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x476 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x476 JUMPI POP PUSH2 0x476 DUP3 PUSH2 0x19AF JUMP JUMPDEST PUSH2 0xE60 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0x19E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBC197C81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xBC197C81 SWAP1 PUSH2 0x15E7 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1631 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x162E SWAP2 DUP2 ADD SWAP1 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x16DE JUMPI PUSH2 0x163D PUSH2 0x2734 JUMP JUMPDEST DUP1 PUSH4 0x8C379A0 EQ ISZERO PUSH2 0x1677 JUMPI POP PUSH2 0x1652 PUSH2 0x2750 JUMP JUMPDEST DUP1 PUSH2 0x165D JUMPI POP PUSH2 0x1679 JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP2 SWAP1 PUSH2 0x1DD7 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F206E6F6E2D45524331313535 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x2932B1B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x61 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xBC197C81 PUSH1 0xE0 SHL EQ PUSH2 0x118C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x27DA JUMP JUMPDEST PUSH2 0x1718 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x663 JUMPI PUSH2 0x1725 DUP2 PUSH2 0x1A4C JUMP JUMPDEST PUSH2 0x1730 DUP4 PUSH1 0x20 PUSH2 0x1A5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1741 SWAP3 SWAP2 SWAP1 PUSH2 0x2822 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x448 SWAP2 PUSH1 0x4 ADD PUSH2 0x1DD7 JUMP JUMPDEST PUSH2 0x1771 DUP3 DUP3 PUSH2 0x98F JUMP JUMPDEST ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x988 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1BFA JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH2 0x70B 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 0x448 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP1 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP DUP3 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1864 JUMPI PUSH2 0x1864 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF23A6E61 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xF23A6E61 SWAP1 PUSH2 0x18B9 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x2897 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1903 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1900 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x190F JUMPI PUSH2 0x163D PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xF23A6E61 PUSH1 0xE0 SHL EQ PUSH2 0x118C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x448 SWAP1 PUSH2 0x27DA JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x70B 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 0x448 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x199C JUMPI PUSH2 0x199C PUSH2 0x248D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x476 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x476 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313135355061757361626C653A20746F6B656E207472616E7366657220 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x1DDA1A5B19481C185D5CD959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x476 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1A6D DUP4 PUSH1 0x2 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1A78 SWAP1 PUSH1 0x2 PUSH2 0x255D JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A90 JUMPI PUSH2 0x1A90 PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1ABA JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1AD5 JUMPI PUSH2 0x1AD5 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1B04 JUMPI PUSH2 0x1B04 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1B28 DUP5 PUSH1 0x2 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1B33 SWAP1 PUSH1 0x1 PUSH2 0x255D JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1BAB JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x1B67 JUMPI PUSH2 0x1B67 PUSH2 0x248D JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1B7D JUMPI PUSH2 0x1B7D PUSH2 0x248D JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1BA4 DUP2 PUSH2 0x28FB JUMP JUMPDEST SWAP1 POP PUSH2 0x1B36 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x988 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1CE3 JUMPI PUSH1 0x0 PUSH2 0x1C1E PUSH1 0x1 DUP4 PUSH2 0x2912 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1C32 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x2912 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x1C97 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C52 JUMPI PUSH2 0x1C52 PUSH2 0x248D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1C75 JUMPI PUSH2 0x1C75 PUSH2 0x248D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1CA8 JUMPI PUSH2 0x1CA8 PUSH2 0x2929 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x476 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1D04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D25 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xE72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x988 DUP2 PUSH2 0x1D33 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D9A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1D82 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x56D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1DC3 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1D7F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x988 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1DAB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E26 JUMPI PUSH2 0x1E26 PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E47 JUMPI PUSH2 0x1E47 PUSH2 0x1DEA JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1E62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x1E6F DUP3 PUSH2 0x1E2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7C DUP3 DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP7 DUP5 GT ISZERO PUSH2 0x1E9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1EB7 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x1EA0 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1ED3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EED JUMPI PUSH2 0x1EED PUSH2 0x1DEA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F04 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x1F19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1F4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F55 DUP6 PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1F72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F7E DUP9 DUP4 DUP10 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FA0 DUP9 DUP4 DUP10 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1FB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FC3 DUP8 DUP3 DUP9 ADD PUSH2 0x1EC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1FE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FF0 DUP7 PUSH2 0x1CED JUMP JUMPDEST SWAP5 POP PUSH2 0x1FFE PUSH1 0x20 DUP8 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x201B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2027 DUP10 DUP4 DUP11 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x203D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2049 DUP10 DUP4 DUP11 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x205F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x206C DUP9 DUP3 DUP10 ADD PUSH2 0x1EC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x209C PUSH1 0x20 DUP5 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x20E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x20F1 DUP3 PUSH2 0x1E2D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20FE DUP3 DUP3 PUSH2 0x1E00 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x5 SWAP4 SWAP1 SWAP4 SHL DUP6 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP2 POP DUP10 DUP5 GT ISZERO PUSH2 0x211E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x2143 JUMPI PUSH2 0x2134 DUP7 PUSH2 0x1CED JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0x2123 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0x2159 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2166 DUP6 DUP3 DUP7 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x988 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2170 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x21D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21DC DUP5 PUSH2 0x1CED JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x21F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2205 DUP8 DUP4 DUP9 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x221B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2228 DUP7 DUP3 DUP8 ADD PUSH2 0x1E51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2251 DUP6 PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x227B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FC3 DUP8 DUP3 DUP9 ADD PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x229A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22C5 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x22DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2301 DUP4 PUSH2 0x1CED JUMP JUMPDEST SWAP2 POP PUSH2 0x209C PUSH1 0x20 DUP5 ADD PUSH2 0x1CED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2330 DUP7 PUSH2 0x1CED JUMP JUMPDEST SWAP5 POP PUSH2 0x233E PUSH1 0x20 DUP8 ADD PUSH2 0x1CED JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x206C DUP9 DUP3 DUP10 ADD PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2392 DUP5 PUSH2 0x1CED JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x23DC JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x38 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135355072657365744D696E7465725061757365723A206D75737420 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x68617665206D696E74657220726F6C6520746F206D696E740000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2063616C6C6572206973206E6F7420746F6B656E206F776E PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x195C881BDC88185C1C1C9BDD9959 PUSH1 0x92 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x24CD JUMPI PUSH2 0x24CD PUSH2 0x24A3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206D696E7420746F20746865207A65726F20616464726573 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A2069647320616E6420616D6F756E7473206C656E67746820 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0xDAD2E6DAC2E8C6D PUSH1 0xC3 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x2570 JUMPI PUSH2 0x2570 PUSH2 0x24A3 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2588 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2170 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x259A DUP2 DUP6 PUSH2 0x2170 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A207472616E7366657220746F20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A20696E73756666696369656E742062616C616E636520666F PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x39103A3930B739B332B9 PUSH1 0xB1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206275726E2066726F6D20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A206275726E20616D6F756E7420657863656564732062616C PUSH1 0x40 DUP3 ADD MSTORE PUSH4 0x616E6365 PUSH1 0xE0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x26E5 SWAP1 DUP4 ADD DUP7 PUSH2 0x2170 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x26F7 DUP2 DUP7 PUSH2 0x2170 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x270B DUP2 DUP6 PUSH2 0x1DAB JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2729 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x988 DUP2 PUSH2 0x1D33 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 RETURNDATASIZE GT ISZERO PUSH2 0x274D JUMPI PUSH1 0x4 PUSH1 0x0 DUP1 RETURNDATACOPY POP PUSH1 0x0 MLOAD PUSH1 0xE0 SHR JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x44 RETURNDATASIZE LT ISZERO PUSH2 0x275E JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3 NOT RETURNDATASIZE DUP2 ADD PUSH1 0x4 DUP4 RETURNDATACOPY DUP2 MLOAD RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 PUSH1 0x24 DUP5 ADD GT DUP2 DUP5 GT OR ISZERO PUSH2 0x278E JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP3 DUP6 ADD SWAP2 POP DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x27A6 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST DUP5 RETURNDATASIZE DUP8 ADD ADD PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x27C0 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x27CF PUSH1 0x20 DUP3 DUP7 ADD ADD DUP8 PUSH2 0x1E00 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x455243313135353A204552433131353552656365697665722072656A65637465 PUSH1 0x40 DUP3 ADD MSTORE PUSH8 0x6420746F6B656E73 PUSH1 0xC0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x285A DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1D7F JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x288B DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1D7F JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x28D1 SWAP1 DUP4 ADD DUP5 PUSH2 0x1DAB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x28F6 JUMPI PUSH2 0x28F6 PUSH2 0x24A3 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x290A JUMPI PUSH2 0x290A PUSH2 0x24A3 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2924 JUMPI PUSH2 0x2924 PUSH2 0x24A3 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 0x1E PUSH23 0x614AE456C45096AEAEA34280A06BA934E3B4D13A5DD49D SWAP6 SWAP13 SWAP8 DUP4 RETURNDATACOPY 0x26 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1017:2896:92:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2185:227:84;;;;;;:::i;:::-;;:::i;:::-;;;597:25:181;;;585:2;570:18;2185:227:84;;;;;;;;3346:229:92;;;;;;:::i;:::-;;:::i;:::-;;;1184:14:181;;1177:22;1159:41;;1147:2;1132:18;3346:229:92;1019:187:181;1940:103:84;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2201:316:92:-;;;;;;:::i;:::-;;:::i;:::-;;4378:129:4;;;;;;:::i;:::-;4452:7;4478:12;;;;;;;;;;:22;;;;4378:129;4064:426:84;;;;;;:::i;:::-;;:::i;4803:145:4:-;;;;;;:::i;:::-;;:::i;5912:214::-;;;;;;:::i;:::-;;:::i;3102:177:92:-;;;:::i;2569:508:84:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1615:84:81:-;1685:7;;;;1615:84;;729:347:87;;;;;;:::i;:::-;;:::i;1815:284:92:-;;;;;;:::i;:::-;;:::i;2722:171::-;;;:::i;1431:151:6:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;10003:32:181;;;9985:51;;9973:2;9958:18;1431:151:6;9839:203:181;2895:145:4;;;;;;:::i;:::-;;:::i;2027:49::-;;2072:4;2027:49;;3145:153:84;;;;;;:::i;:::-;;:::i;1750:140:6:-;;;;;;:::i;:::-;;:::i;1128:62:92:-;;1166:24;1128:62;;5228:147:4;;;;;;:::i;:::-;;:::i;1196:62:92:-;;1234:24;1196:62;;3365:166:84;;;;;;:::i;:::-;-1:-1:-1;;;;;3487:27:84;;;3464:4;3487:27;;;:18;:27;;;;;;;;:37;;;;;;;;;;;;;;;3365:166;3598:394;;;;;;:::i;:::-;;:::i;408:315:87:-;;;;;;:::i;:::-;;:::i;2185:227:84:-;2271:7;-1:-1:-1;;;;;2298:21:84;;2290:76;;;;-1:-1:-1;;;2290:76:84;;11804:2:181;2290:76:84;;;11786:21:181;11843:2;11823:18;;;11816:30;11882:34;11862:18;;;11855:62;-1:-1:-1;;;11933:18:181;;;11926:40;11983:19;;2290:76:84;;;;;;;;;-1:-1:-1;2383:13:84;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;2383:22:84;;;;;;;;;;2185:227;;;;;:::o;3346:229:92:-;3505:4;3532:36;3556:11;3532:23;:36::i;1940:103:84:-;2000:13;2032:4;2025:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:103;;;:::o;2201:316:92:-;2370:34;1166:24;719:10:138;2895:145:4;:::i;2370:34:92:-;2362:103;;;;-1:-1:-1;;;2362:103:92;;;;;;;:::i;:::-;2476:34;2487:2;2491:3;2496:7;2505:4;2476:10;:34::i;:::-;2201:316;;;;:::o;4064:426:84:-;-1:-1:-1;;;;;4289:20:84;;719:10:138;4289:20:84;;:60;;-1:-1:-1;4313:36:84;4330:4;719:10:138;3365:166:84;:::i;4313:36::-;4268:153;;;;-1:-1:-1;;;4268:153:84;;;;;;;:::i;:::-;4431:52;4454:4;4460:2;4464:3;4469:7;4478:4;4431:22;:52::i;:::-;4064:426;;;;;:::o;4803:145:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4916:25:::1;4927:4;4933:7;4916:10;:25::i;:::-;4803:145:::0;;;:::o;5912:214::-;-1:-1:-1;;;;;6007:23:4;;719:10:138;6007:23:4;5999:83;;;;-1:-1:-1;;;5999:83:4;;13440:2:181;5999:83:4;;;13422:21:181;13479:2;13459:18;;;13452:30;13518:34;13498:18;;;13491:62;-1:-1:-1;;;13569:18:181;;;13562:45;13624:19;;5999:83:4;13238:411:181;5999:83:4;6093:26;6105:4;6111:7;6093:11;:26::i;:::-;5912:214;;:::o;3102:177:92:-;3154:34;1234:24;719:10:138;2895:145:4;:::i;3154:34:92:-;3146:106;;;;-1:-1:-1;;;3146:106:92;;13856:2:181;3146:106:92;;;13838:21:181;13895:2;13875:18;;;13868:30;13934:34;13914:18;;;13907:62;14005:29;13985:18;;;13978:57;14052:19;;3146:106:92;13654:423:181;3146:106:92;3262:10;:8;:10::i;:::-;3102:177::o;2569:508:84:-;2720:16;2779:3;:10;2760:8;:15;:29;2752:83;;;;-1:-1:-1;;;2752:83:84;;14284:2:181;2752:83:84;;;14266:21:181;14323:2;14303:18;;;14296:30;14362:34;14342:18;;;14335:62;-1:-1:-1;;;14413:18:181;;;14406:39;14462:19;;2752:83:84;14082:405:181;2752:83:84;2846:30;2893:8;:15;2879:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2879:30:84;;2846:63;;2925:9;2920:120;2944:8;:15;2940:1;:19;2920:120;;;2999:30;3009:8;3018:1;3009:11;;;;;;;;:::i;:::-;;;;;;;3022:3;3026:1;3022:6;;;;;;;;:::i;:::-;;;;;;;2999:9;:30::i;:::-;2980:13;2994:1;2980:16;;;;;;;;:::i;:::-;;;;;;;;;;:49;2961:3;;;:::i;:::-;;;2920:120;;;-1:-1:-1;3057:13:84;2569:508;-1:-1:-1;;;2569:508:84:o;729:347:87:-;-1:-1:-1;;;;;888:23:87;;719:10:138;888:23:87;;:66;;-1:-1:-1;915:39:87;932:7;719:10:138;3365:166:84;:::i;915:39:87:-;867:159;;;;-1:-1:-1;;;867:159:87;;;;;;;:::i;:::-;1037:32;1048:7;1057:3;1062:6;1037:10;:32::i;1815:284:92:-;1959:34;1166:24;719:10:138;2895:145:4;:::i;1959:34:92:-;1951:103;;;;-1:-1:-1;;;1951:103:92;;;;;;;:::i;:::-;2065:27;2071:2;2075;2079:6;2087:4;2065:5;:27::i;2722:171::-;2772:34;1234:24;719:10:138;2895:145:4;:::i;2772:34:92:-;2764:104;;;;-1:-1:-1;;;2764:104:92;;15098:2:181;2764:104:92;;;15080:21:181;15137:2;15117:18;;;15110:30;15176:34;15156:18;;;15149:62;15247:27;15227:18;;;15220:55;15292:19;;2764:104:92;14896:421:181;2764:104:92;2878:8;:6;:8::i;1431:151:6:-;1521:7;1547:18;;;:12;:18;;;;;:28;;1569:5;1547:21;:28::i;:::-;1540:35;1431:151;-1:-1:-1;;;1431:151:6:o;2895:145:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;;;;2895:145::o;3145:153:84:-;3239:52;719:10:138;3272:8:84;3282;3239:18;:52::i;1750:140:6:-;1830:7;1856:18;;;:12;:18;;;;;:27;;:25;:27::i;5228:147:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5342:26:::1;5354:4;5360:7;5342:11;:26::i;3598:394:84:-:0;-1:-1:-1;;;;;3798:20:84;;719:10:138;3798:20:84;;:60;;-1:-1:-1;3822:36:84;3839:4;719:10:138;3365:166:84;:::i;3822:36::-;3777:153;;;;-1:-1:-1;;;3777:153:84;;;;;;;:::i;:::-;3940:45;3958:4;3964:2;3968;3972:6;3980:4;3940:17;:45::i;408:315:87:-;-1:-1:-1;;;;;542:23:87;;719:10:138;542:23:87;;:66;;-1:-1:-1;569:39:87;586:7;719:10:138;3365:166:84;:::i;569:39:87:-;521:159;;;;-1:-1:-1;;;521:159:87;;;;;;;:::i;:::-;691:25;697:7;706:2;710:5;691;:25::i;7461:233:4:-;7544:22;7552:4;7558:7;7544;:22::i;:::-;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;1236:305:84:-;1338:4;-1:-1:-1;;;;;;1373:41:84;;-1:-1:-1;;;1373:41:84;;:109;;-1:-1:-1;;;;;;;1430:52:84;;-1:-1:-1;;;1430:52:84;1373:109;:161;;;;1498:36;1522:11;1498:23;:36::i;9729:791::-;-1:-1:-1;;;;;9901:16:84;;9893:62;;;;-1:-1:-1;;;9893:62:84;;;;;;;:::i;:::-;9987:7;:14;9973:3;:10;:28;9965:81;;;;-1:-1:-1;;;9965:81:84;;;;;;;:::i;:::-;719:10:138;10099:66:84;719:10:138;10057:16:84;10142:2;10146:3;10151:7;10160:4;10099:20;:66::i;:::-;10181:9;10176:101;10200:3;:10;10196:1;:14;10176:101;;;10256:7;10264:1;10256:10;;;;;;;;:::i;:::-;;;;;;;10231:9;:17;10241:3;10245:1;10241:6;;;;;;;;:::i;:::-;;;;;;;10231:17;;;;;;;;;;;:21;10249:2;-1:-1:-1;;;;;10231:21:84;-1:-1:-1;;;;;10231:21:84;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;10212:3:84;;-1:-1:-1;10212:3:84;;;:::i;:::-;;;;10176:101;;;;10328:2;-1:-1:-1;;;;;10292:53:84;10324:1;-1:-1:-1;;;;;10292:53:84;10306:8;-1:-1:-1;;;;;10292:53:84;;10332:3;10337:7;10292:53;;;;;;;:::i;:::-;;;;;;;;10432:81;10468:8;10486:1;10490:2;10494:3;10499:7;10508:4;10432:35;:81::i;6233:1115::-;6453:7;:14;6439:3;:10;:28;6431:81;;;;-1:-1:-1;;;6431:81:84;;;;;;;:::i;:::-;-1:-1:-1;;;;;6530:16:84;;6522:66;;;;-1:-1:-1;;;6522:66:84;;;;;;;:::i;:::-;719:10:138;6641:60:84;719:10:138;6672:4:84;6678:2;6682:3;6687:7;6696:4;6641:20;:60::i;:::-;6717:9;6712:411;6736:3;:10;6732:1;:14;6712:411;;;6767:10;6780:3;6784:1;6780:6;;;;;;;;:::i;:::-;;;;;;;6767:19;;6800:14;6817:7;6825:1;6817:10;;;;;;;;:::i;:::-;;;;;;;;;;;;6842:19;6864:13;;;:9;:13;;;;;;-1:-1:-1;;;;;6864:19:84;;;;;;;;;;;;6817:10;;-1:-1:-1;6905:21:84;;;;6897:76;;;;-1:-1:-1;;;6897:76:84;;;;;;;:::i;:::-;7015:13;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;7015:19:84;;;;;;;;;;7037:20;;;7015:42;;7085:17;;;;;;;:27;;7037:20;;7015:13;7085:27;;7037:20;;7085:27;:::i;:::-;;;;;;;;6753:370;;;6748:3;;;;:::i;:::-;;;6712:411;;;;7168:2;-1:-1:-1;;;;;7138:47:84;7162:4;-1:-1:-1;;;;;7138:47:84;7152:8;-1:-1:-1;;;;;7138:47:84;;7172:3;7177:7;7138:47;;;;;;;:::i;:::-;;;;;;;;7266:75;7302:8;7312:4;7318:2;7322:3;7327:7;7336:4;7266:35;:75::i;:::-;6421:927;6233:1115;;;;;:::o;3334:103:4:-;3400:30;3411:4;719:10:138;3400::4;:30::i;:::-;3334:103;:::o;1978:166:6:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106:18;;;;:12;:18;;;;;:31;;2129:7;2106:22;:31::i;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:18;;;;:12;:18;;;;;:34;;2389:7;2363:25;:34::i;2433:117:81:-;1486:16;:14;:16::i;:::-;2491:7:::1;:15:::0;;-1:-1:-1;;2491:15:81::1;::::0;;2521:22:::1;719:10:138::0;2530:12:81::1;2521:22;::::0;-1:-1:-1;;;;;10003:32:181;;;9985:51;;9973:2;9958:18;2521:22:81::1;;;;;;;2433:117::o:0;11831:943:84:-;-1:-1:-1;;;;;11978:18:84;;11970:66;;;;-1:-1:-1;;;11970:66:84;;;;;;;:::i;:::-;12068:7;:14;12054:3;:10;:28;12046:81;;;;-1:-1:-1;;;12046:81:84;;;;;;;:::i;:::-;12138:16;719:10:138;12138:31:84;;12180:66;12201:8;12211:4;12225:1;12229:3;12234:7;12180:66;;;;;;;;;;;;:20;:66::i;:::-;12262:9;12257:364;12281:3;:10;12277:1;:14;12257:364;;;12312:10;12325:3;12329:1;12325:6;;;;;;;;:::i;:::-;;;;;;;12312:19;;12345:14;12362:7;12370:1;12362:10;;;;;;;;:::i;:::-;;;;;;;;;;;;12387:19;12409:13;;;:9;:13;;;;;;-1:-1:-1;;;;;12409:19:84;;;;;;;;;;;;12362:10;;-1:-1:-1;12450:21:84;;;;12442:70;;;;-1:-1:-1;;;12442:70:84;;;;;;;:::i;:::-;12554:13;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;12554:19:84;;;;;;;;;;12576:20;;12554:42;;12293:3;;;;:::i;:::-;;;;12257:364;;;;12674:1;-1:-1:-1;;;;;12636:55:84;12660:4;-1:-1:-1;;;;;12636:55:84;12650:8;-1:-1:-1;;;;;12636:55:84;;12678:3;12683:7;12636:55;;;;;;;:::i;:::-;;;;;;;;12702:65;;;;;;;;;12746:1;12702:65;;;6233:1115;8630:709;-1:-1:-1;;;;;8777:16:84;;8769:62;;;;-1:-1:-1;;;8769:62:84;;;;;;;:::i;:::-;719:10:138;8842:16:84;8906:21;8924:2;8906:17;:21::i;:::-;8883:44;;8937:24;8964:25;8982:6;8964:17;:25::i;:::-;8937:52;;9000:66;9021:8;9039:1;9043:2;9047:3;9052:7;9061:4;9000:20;:66::i;:::-;9077:13;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;9077:17:84;;;;;;;;;:27;;9098:6;;9077:13;:27;;9098:6;;9077:27;:::i;:::-;;;;-1:-1:-1;;9119:52:84;;;18536:25:181;;;18592:2;18577:18;;18570:34;;;-1:-1:-1;;;;;9119:52:84;;;;9152:1;;9119:52;;;;;;18509:18:181;9119:52:84;;;;;;;9258:74;9289:8;9307:1;9311:2;9315;9319:6;9327:4;9258:30;:74::i;:::-;8759:580;;;8630:709;;;;:::o;2186:115:81:-;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;-1:-1:-1;;2245:14:81::1;2255:4;2245:14;::::0;;2274:20:::1;2281:12;719:10:138::0;;640:96;9555:156:168;9629:7;9679:22;9683:3;9695:5;9679:3;:22::i;12910:323:84:-;13060:8;-1:-1:-1;;;;;13051:17:84;:5;-1:-1:-1;;;;;13051:17:84;;;13043:71;;;;-1:-1:-1;;;13043:71:84;;18817:2:181;13043:71:84;;;18799:21:181;18856:2;18836:18;;;18829:30;18895:34;18875:18;;;18868:62;-1:-1:-1;;;18946:18:181;;;18939:39;18995:19;;13043:71:84;18615:405:181;13043:71:84;-1:-1:-1;;;;;13124:25:84;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13124:46:84;;;;;;;;;;13185:41;;1159::181;;;13185::84;;1132:18:181;13185:41:84;;;;;;;12910:323;;;:::o;9098:115:168:-;9161:7;9187:19;9195:3;4537:18;;4455:107;4940:947:84;-1:-1:-1;;;;;5121:16:84;;5113:66;;;;-1:-1:-1;;;5113:66:84;;;;;;;:::i;:::-;719:10:138;5190:16:84;5254:21;5272:2;5254:17;:21::i;:::-;5231:44;;5285:24;5312:25;5330:6;5312:17;:25::i;:::-;5285:52;;5348:60;5369:8;5379:4;5385:2;5389:3;5394:7;5403:4;5348:20;:60::i;:::-;5419:19;5441:13;;;:9;:13;;;;;;;;-1:-1:-1;;;;;5441:19:84;;;;;;;;;;5478:21;;;;5470:76;;;;-1:-1:-1;;;5470:76:84;;;;;;;:::i;:::-;5580:13;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;5580:19:84;;;;;;;;;;5602:20;;;5580:42;;5642:17;;;;;;;:27;;5602:20;;5580:13;5642:27;;5602:20;;5642:27;:::i;:::-;;;;-1:-1:-1;;5685:46:84;;;18536:25:181;;;18592:2;18577:18;;18570:34;;;-1:-1:-1;;;;;5685:46:84;;;;;;;;;;;;;;18509:18:181;5685:46:84;;;;;;;5812:68;5843:8;5853:4;5859:2;5863;5867:6;5875:4;5812:30;:68::i;:::-;5103:784;;;;4940:947;;;;;:::o;10806:786::-;-1:-1:-1;;;;;10928:18:84;;10920:66;;;;-1:-1:-1;;;10920:66:84;;;;;;;:::i;:::-;719:10:138;10997:16:84;11061:21;11079:2;11061:17;:21::i;:::-;11038:44;;11092:24;11119:25;11137:6;11119:17;:25::i;:::-;11092:52;;11155:66;11176:8;11186:4;11200:1;11204:3;11209:7;11155:66;;;;;;;;;;;;:20;:66::i;:::-;11232:19;11254:13;;;:9;:13;;;;;;;;-1:-1:-1;;;;;11254:19:84;;;;;;;;;;11291:21;;;;11283:70;;;;-1:-1:-1;;;11283:70:84;;;;;;;:::i;:::-;11387:13;;;;:9;:13;;;;;;;;-1:-1:-1;;;;;11387:19:84;;;;;;;;;;;;11409:20;;;11387:42;;11455:54;;18536:25:181;;;18577:18;;;18570:34;;;11387:19:84;;11455:54;;;;;;18509:18:181;11455:54:84;;;;;;;11520:65;;;;;;;;;11564:1;11520:65;;;6233:1115;2206:404:168;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;634:212:6;719:4;-1:-1:-1;;;;;;742:57:6;;-1:-1:-1;;;742:57:6;;:97;;;803:36;827:11;803:23;:36::i;3581:330:92:-;3838:66;3865:8;3875:4;3881:2;3885:3;3890:7;3899:4;3838:26;:66::i;16266:792:84:-;-1:-1:-1;;;;;16498:13:84;;1465:19:134;:23;16494:558:84;;16533:79;;-1:-1:-1;;;16533:79:84;;-1:-1:-1;;;;;16533:43:84;;;;;:79;;16577:8;;16587:4;;16593:3;;16598:7;;16607:4;;16533:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16533:79:84;;;;;;;;-1:-1:-1;;16533:79:84;;;;;;;;;;;;:::i;:::-;;;16529:513;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;16918:6;16911:14;;-1:-1:-1;;;16911:14:84;;;;;;;;:::i;16529:513::-;;;16965:62;;-1:-1:-1;;;16965:62:84;;21173:2:181;16965:62:84;;;21155:21:181;21212:2;21192:18;;;21185:30;21251:34;21231:18;;;21224:62;-1:-1:-1;;;21302:18:181;;;21295:50;21362:19;;16965:62:84;20971:416:181;16529:513:84;-1:-1:-1;;;;;;16691:60:84;;-1:-1:-1;;;16691:60:84;16687:157;;16775:50;;-1:-1:-1;;;16775:50:84;;;;;;;:::i;3718:479:4:-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:390;;3989:28;4009:7;3989:19;:28::i;:::-;4088:38;4116:4;4123:2;4088:19;:38::i;:::-;3896:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:252:4;;;;;;;;;;-1:-1:-1;;;3844:336:4;;;;;;;:::i;7865:234::-;7948:22;7956:4;7962:7;7948;:22::i;:::-;7944:149;;;8018:5;7986:12;;;;;;;;;;;-1:-1:-1;;;;;7986:29:4;;;;;;;;;;:37;;-1:-1:-1;;7986:37:4;;;8042:40;719:10:138;;7986:12:4;;8042:40;;8018:5;8042:40;7865:234;;:::o;8615:156:168:-;8688:4;8711:53;8719:3;-1:-1:-1;;;;;8739:23:168;;8711:7;:53::i;1945:106:81:-;1685:7;;;;2003:41;;;;-1:-1:-1;;;2003:41:81;;22794:2:181;2003:41:81;;;22776:21:181;22833:2;22813:18;;;22806:30;-1:-1:-1;;;22852:18:181;;;22845:50;22912:18;;2003:41:81;22592:344:181;17064:193:84;17183:16;;;17197:1;17183:16;;;;;;;;;17130;;17158:22;;17183:16;;;;;;;;;;;;-1:-1:-1;17183:16:84;17158:41;;17220:7;17209:5;17215:1;17209:8;;;;;;;;:::i;:::-;;;;;;;;;;:18;17245:5;17064:193;-1:-1:-1;;17064:193:84:o;15535:725::-;-1:-1:-1;;;;;15742:13:84;;1465:19:134;:23;15738:516:84;;15777:72;;-1:-1:-1;;;15777:72:84;;-1:-1:-1;;;;;15777:38:84;;;;;:72;;15816:8;;15826:4;;15832:2;;15836:6;;15844:4;;15777:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15777:72:84;;;;;;;;-1:-1:-1;;15777:72:84;;;;;;;;;;;;:::i;:::-;;;15773:471;;;;:::i;:::-;-1:-1:-1;;;;;;15898:55:84;;-1:-1:-1;;;15898:55:84;15894:152;;15977:50;;-1:-1:-1;;;15977:50:84;;;;;;;:::i;1767:106:81:-;1685:7;;;;1836:9;1828:38;;;;-1:-1:-1;;;1828:38:81;;23709:2:181;1828:38:81;;;23691:21:181;23748:2;23728:18;;;23721:30;-1:-1:-1;;;23767:18:181;;;23760:46;23823:18;;1828:38:81;23507:340:181;4904:118:168;4971:7;4997:3;:11;;5009:5;4997:18;;;;;;;;:::i;:::-;;;;;;;;;4990:25;;4904:118;;;;:::o;2606:202:4:-;2691:4;-1:-1:-1;;;;;;2714:47:4;;-1:-1:-1;;;2714:47:4;;:87;;-1:-1:-1;;;;;;;;;;937:40:153;;;2765:36:4;829:155:153;709:381:88;1685:7:81;;;;1025:9:88;1017:66;;;;-1:-1:-1;;;1017:66:88;;24054:2:181;1017:66:88;;;24036:21:181;24093:2;24073:18;;;24066:30;24132:34;24112:18;;;24105:62;-1:-1:-1;;;24183:18:181;;;24176:42;24235:19;;1017:66:88;23852:408:181;2102:149:143;2160:13;2192:52;-1:-1:-1;;;;;2204:22:143;;311:2;1513:437;1588:13;1613:19;1645:10;1649:6;1645:1;:10;:::i;:::-;:14;;1658:1;1645:14;:::i;:::-;1635:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1635:25:143;;1613:47;;-1:-1:-1;;;1670:6:143;1677:1;1670:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1670:15:143;;;;;;;;;-1:-1:-1;;;1695:6:143;1702:1;1695:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1695:15:143;;;;;;;;-1:-1:-1;1725:9:143;1737:10;1741:6;1737:1;:10;:::i;:::-;:14;;1750:1;1737:14;:::i;:::-;1725:26;;1720:128;1757:1;1753;:5;1720:128;;;-1:-1:-1;;;1800:5:143;1808:3;1800:11;1791:21;;;;;;;:::i;:::-;;;;1779:6;1786:1;1779:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;1779:33:143;;;;;;;;-1:-1:-1;1836:1:143;1826:11;;;;;1760:3;;;:::i;:::-;;;1720:128;;;-1:-1:-1;1865:10:143;;1857:55;;;;-1:-1:-1;;;1857:55:143;;24781:2:181;1857:55:143;;;24763:21:181;;;24800:18;;;24793:30;24859:34;24839:18;;;24832:62;24911:18;;1857:55:143;24579:356:181;2778:1388:168;2844:4;2981:19;;;:12;;;:19;;;;;;3015:15;;3011:1149;;3384:21;3408:14;3421:1;3408:10;:14;:::i;:::-;3456:18;;3384:38;;-1:-1:-1;3436:17:168;;3456:22;;3477:1;;3456:22;:::i;:::-;3436:42;;3510:13;3497:9;:26;3493:398;;3543:17;3563:3;:11;;3575:9;3563:22;;;;;;;;:::i;:::-;;;;;;;;;3543:42;;3714:9;3685:3;:11;;3697:13;3685:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3797:23;;;:12;;;:23;;;;;:36;;;3493:398;3969:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4061:3;:12;;:19;4074:5;4061:19;;;;;;;;;;;4054:26;;;4102:4;4095:11;;;;;;;3011:1149;4144:5;4137:12;;;;;14:173:181;82:20;;-1:-1:-1;;;;;131:31:181;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:181:o;633:131::-;-1:-1:-1;;;;;;707:32:181;;697:43;;687:71;;754:1;751;744:12;769:245;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;1211:180::-;1270:6;1323:2;1311:9;1302:7;1298:23;1294:32;1291:52;;;1339:1;1336;1329:12;1291:52;-1:-1:-1;1362:23:181;;1211:180;-1:-1:-1;1211:180:181:o;1396:258::-;1468:1;1478:113;1492:6;1489:1;1486:13;1478:113;;;1568:11;;;1562:18;1549:11;;;1542:39;1514:2;1507:10;1478:113;;;1609:6;1606:1;1603:13;1600:48;;;-1:-1:-1;;1644:1:181;1626:16;;1619:27;1396:258::o;1659:::-;1701:3;1739:5;1733:12;1766:6;1761:3;1754:19;1782:63;1838:6;1831:4;1826:3;1822:14;1815:4;1808:5;1804:16;1782:63;:::i;:::-;1899:2;1878:15;-1:-1:-1;;1874:29:181;1865:39;;;;1906:4;1861:50;;1659:258;-1:-1:-1;;1659:258:181:o;1922:220::-;2071:2;2060:9;2053:21;2034:4;2091:45;2132:2;2121:9;2117:18;2109:6;2091:45;:::i;2147:127::-;2208:10;2203:3;2199:20;2196:1;2189:31;2239:4;2236:1;2229:15;2263:4;2260:1;2253:15;2279:249;2389:2;2370:13;;-1:-1:-1;;2366:27:181;2354:40;;2424:18;2409:34;;2445:22;;;2406:62;2403:88;;;2471:18;;:::i;:::-;2507:2;2500:22;-1:-1:-1;;2279:249:181:o;2533:183::-;2593:4;2626:18;2618:6;2615:30;2612:56;;;2648:18;;:::i;:::-;-1:-1:-1;2693:1:181;2689:14;2705:4;2685:25;;2533:183::o;2721:724::-;2775:5;2828:3;2821:4;2813:6;2809:17;2805:27;2795:55;;2846:1;2843;2836:12;2795:55;2882:6;2869:20;2908:4;2931:43;2971:2;2931:43;:::i;:::-;3003:2;2997:9;3015:31;3043:2;3035:6;3015:31;:::i;:::-;3081:18;;;3173:1;3169:10;;;;3157:23;;3153:32;;;3115:15;;;;-1:-1:-1;3197:15:181;;;3194:35;;;3225:1;3222;3215:12;3194:35;3261:2;3253:6;3249:15;3273:142;3289:6;3284:3;3281:15;3273:142;;;3355:17;;3343:30;;3393:12;;;;3306;;3273:142;;;-1:-1:-1;3433:6:181;2721:724;-1:-1:-1;;;;;;2721:724:181:o;3450:555::-;3492:5;3545:3;3538:4;3530:6;3526:17;3522:27;3512:55;;3563:1;3560;3553:12;3512:55;3599:6;3586:20;3625:18;3621:2;3618:26;3615:52;;;3647:18;;:::i;:::-;3696:2;3690:9;3708:67;3763:2;3744:13;;-1:-1:-1;;3740:27:181;3769:4;3736:38;3690:9;3708:67;:::i;:::-;3799:2;3791:6;3784:18;3845:3;3838:4;3833:2;3825:6;3821:15;3817:26;3814:35;3811:55;;;3862:1;3859;3852:12;3811:55;3926:2;3919:4;3911:6;3907:17;3900:4;3892:6;3888:17;3875:54;3973:1;3949:15;;;3966:4;3945:26;3938:37;;;;3953:6;3450:555;-1:-1:-1;;;3450:555:181:o;4010:868::-;4155:6;4163;4171;4179;4232:3;4220:9;4211:7;4207:23;4203:33;4200:53;;;4249:1;4246;4239:12;4200:53;4272:29;4291:9;4272:29;:::i;:::-;4262:39;;4352:2;4341:9;4337:18;4324:32;4375:18;4416:2;4408:6;4405:14;4402:34;;;4432:1;4429;4422:12;4402:34;4455:61;4508:7;4499:6;4488:9;4484:22;4455:61;:::i;:::-;4445:71;;4569:2;4558:9;4554:18;4541:32;4525:48;;4598:2;4588:8;4585:16;4582:36;;;4614:1;4611;4604:12;4582:36;4637:63;4692:7;4681:8;4670:9;4666:24;4637:63;:::i;:::-;4627:73;;4753:2;4742:9;4738:18;4725:32;4709:48;;4782:2;4772:8;4769:16;4766:36;;;4798:1;4795;4788:12;4766:36;;4821:51;4864:7;4853:8;4842:9;4838:24;4821:51;:::i;:::-;4811:61;;;4010:868;;;;;;;:::o;5250:943::-;5404:6;5412;5420;5428;5436;5489:3;5477:9;5468:7;5464:23;5460:33;5457:53;;;5506:1;5503;5496:12;5457:53;5529:29;5548:9;5529:29;:::i;:::-;5519:39;;5577:38;5611:2;5600:9;5596:18;5577:38;:::i;:::-;5567:48;;5666:2;5655:9;5651:18;5638:32;5689:18;5730:2;5722:6;5719:14;5716:34;;;5746:1;5743;5736:12;5716:34;5769:61;5822:7;5813:6;5802:9;5798:22;5769:61;:::i;:::-;5759:71;;5883:2;5872:9;5868:18;5855:32;5839:48;;5912:2;5902:8;5899:16;5896:36;;;5928:1;5925;5918:12;5896:36;5951:63;6006:7;5995:8;5984:9;5980:24;5951:63;:::i;:::-;5941:73;;6067:3;6056:9;6052:19;6039:33;6023:49;;6097:2;6087:8;6084:16;6081:36;;;6113:1;6110;6103:12;6081:36;;6136:51;6179:7;6168:8;6157:9;6153:24;6136:51;:::i;:::-;6126:61;;;5250:943;;;;;;;;:::o;6198:254::-;6266:6;6274;6327:2;6315:9;6306:7;6302:23;6298:32;6295:52;;;6343:1;6340;6333:12;6295:52;6379:9;6366:23;6356:33;;6408:38;6442:2;6431:9;6427:18;6408:38;:::i;:::-;6398:48;;6198:254;;;;;:::o;6457:1208::-;6575:6;6583;6636:2;6624:9;6615:7;6611:23;6607:32;6604:52;;;6652:1;6649;6642:12;6604:52;6692:9;6679:23;6721:18;6762:2;6754:6;6751:14;6748:34;;;6778:1;6775;6768:12;6748:34;6816:6;6805:9;6801:22;6791:32;;6861:7;6854:4;6850:2;6846:13;6842:27;6832:55;;6883:1;6880;6873:12;6832:55;6919:2;6906:16;6941:4;6964:43;7004:2;6964:43;:::i;:::-;7036:2;7030:9;7048:31;7076:2;7068:6;7048:31;:::i;:::-;7114:18;;;7202:1;7198:10;;;;7190:19;;7186:28;;;7148:15;;;;-1:-1:-1;7226:19:181;;;7223:39;;;7258:1;7255;7248:12;7223:39;7282:11;;;;7302:148;7318:6;7313:3;7310:15;7302:148;;;7384:23;7403:3;7384:23;:::i;:::-;7372:36;;7335:12;;;;7428;;;;7302:148;;;7469:6;-1:-1:-1;;7513:18:181;;7500:32;;-1:-1:-1;;7544:16:181;;;7541:36;;;7573:1;7570;7563:12;7541:36;;7596:63;7651:7;7640:8;7629:9;7625:24;7596:63;:::i;:::-;7586:73;;;6457:1208;;;;;:::o;7670:435::-;7723:3;7761:5;7755:12;7788:6;7783:3;7776:19;7814:4;7843:2;7838:3;7834:12;7827:19;;7880:2;7873:5;7869:14;7901:1;7911:169;7925:6;7922:1;7919:13;7911:169;;;7986:13;;7974:26;;8020:12;;;;8055:15;;;;7947:1;7940:9;7911:169;;;-1:-1:-1;8096:3:181;;7670:435;-1:-1:-1;;;;;7670:435:181:o;8110:261::-;8289:2;8278:9;8271:21;8252:4;8309:56;8361:2;8350:9;8346:18;8338:6;8309:56;:::i;8376:669::-;8503:6;8511;8519;8572:2;8560:9;8551:7;8547:23;8543:32;8540:52;;;8588:1;8585;8578:12;8540:52;8611:29;8630:9;8611:29;:::i;:::-;8601:39;;8691:2;8680:9;8676:18;8663:32;8714:18;8755:2;8747:6;8744:14;8741:34;;;8771:1;8768;8761:12;8741:34;8794:61;8847:7;8838:6;8827:9;8823:22;8794:61;:::i;:::-;8784:71;;8908:2;8897:9;8893:18;8880:32;8864:48;;8937:2;8927:8;8924:16;8921:36;;;8953:1;8950;8943:12;8921:36;;8976:63;9031:7;9020:8;9009:9;9005:24;8976:63;:::i;:::-;8966:73;;;8376:669;;;;;:::o;9050:531::-;9145:6;9153;9161;9169;9222:3;9210:9;9201:7;9197:23;9193:33;9190:53;;;9239:1;9236;9229:12;9190:53;9262:29;9281:9;9262:29;:::i;:::-;9252:39;;9338:2;9327:9;9323:18;9310:32;9300:42;;9389:2;9378:9;9374:18;9361:32;9351:42;;9444:2;9433:9;9429:18;9416:32;9471:18;9463:6;9460:30;9457:50;;;9503:1;9500;9493:12;9457:50;9526:49;9567:7;9558:6;9547:9;9543:22;9526:49;:::i;9586:248::-;9654:6;9662;9715:2;9703:9;9694:7;9690:23;9686:32;9683:52;;;9731:1;9728;9721:12;9683:52;-1:-1:-1;;9754:23:181;;;9824:2;9809:18;;;9796:32;;-1:-1:-1;9586:248:181:o;10047:347::-;10112:6;10120;10173:2;10161:9;10152:7;10148:23;10144:32;10141:52;;;10189:1;10186;10179:12;10141:52;10212:29;10231:9;10212:29;:::i;:::-;10202:39;;10291:2;10280:9;10276:18;10263:32;10338:5;10331:13;10324:21;10317:5;10314:32;10304:60;;10360:1;10357;10350:12;10304:60;10383:5;10373:15;;;10047:347;;;;;:::o;10399:260::-;10467:6;10475;10528:2;10516:9;10507:7;10503:23;10499:32;10496:52;;;10544:1;10541;10534:12;10496:52;10567:29;10586:9;10567:29;:::i;:::-;10557:39;;10615:38;10649:2;10638:9;10634:18;10615:38;:::i;10664:606::-;10768:6;10776;10784;10792;10800;10853:3;10841:9;10832:7;10828:23;10824:33;10821:53;;;10870:1;10867;10860:12;10821:53;10893:29;10912:9;10893:29;:::i;:::-;10883:39;;10941:38;10975:2;10964:9;10960:18;10941:38;:::i;:::-;10931:48;;11026:2;11015:9;11011:18;10998:32;10988:42;;11077:2;11066:9;11062:18;11049:32;11039:42;;11132:3;11121:9;11117:19;11104:33;11160:18;11152:6;11149:30;11146:50;;;11192:1;11189;11182:12;11146:50;11215:49;11256:7;11247:6;11236:9;11232:22;11215:49;:::i;11275:322::-;11352:6;11360;11368;11421:2;11409:9;11400:7;11396:23;11392:32;11389:52;;;11437:1;11434;11427:12;11389:52;11460:29;11479:9;11460:29;:::i;:::-;11450:39;11536:2;11521:18;;11508:32;;-1:-1:-1;11587:2:181;11572:18;;;11559:32;;11275:322;-1:-1:-1;;;11275:322:181:o;12013:380::-;12092:1;12088:12;;;;12135;;;12156:61;;12210:4;12202:6;12198:17;12188:27;;12156:61;12263:2;12255:6;12252:14;12232:18;12229:38;12226:161;;;12309:10;12304:3;12300:20;12297:1;12290:31;12344:4;12341:1;12334:15;12372:4;12369:1;12362:15;12226:161;;12013:380;;;:::o;12398:420::-;12600:2;12582:21;;;12639:2;12619:18;;;12612:30;12678:34;12673:2;12658:18;;12651:62;12749:26;12744:2;12729:18;;12722:54;12808:3;12793:19;;12398:420::o;12823:410::-;13025:2;13007:21;;;13064:2;13044:18;;;13037:30;13103:34;13098:2;13083:18;;13076:62;-1:-1:-1;;;13169:2:181;13154:18;;13147:44;13223:3;13208:19;;12823:410::o;14492:127::-;14553:10;14548:3;14544:20;14541:1;14534:31;14584:4;14581:1;14574:15;14608:4;14605:1;14598:15;14624:127;14685:10;14680:3;14676:20;14673:1;14666:31;14716:4;14713:1;14706:15;14740:4;14737:1;14730:15;14756:135;14795:3;-1:-1:-1;;14816:17:181;;14813:43;;;14836:18;;:::i;:::-;-1:-1:-1;14883:1:181;14872:13;;14756:135::o;15322:397::-;15524:2;15506:21;;;15563:2;15543:18;;;15536:30;15602:34;15597:2;15582:18;;15575:62;-1:-1:-1;;;15668:2:181;15653:18;;15646:31;15709:3;15694:19;;15322:397::o;15724:404::-;15926:2;15908:21;;;15965:2;15945:18;;;15938:30;16004:34;15999:2;15984:18;;15977:62;-1:-1:-1;;;16070:2:181;16055:18;;16048:38;16118:3;16103:19;;15724:404::o;16133:128::-;16173:3;16204:1;16200:6;16197:1;16194:13;16191:39;;;16210:18;;:::i;:::-;-1:-1:-1;16246:9:181;;16133:128::o;16266:465::-;16523:2;16512:9;16505:21;16486:4;16549:56;16601:2;16590:9;16586:18;16578:6;16549:56;:::i;:::-;16653:9;16645:6;16641:22;16636:2;16625:9;16621:18;16614:50;16681:44;16718:6;16710;16681:44;:::i;:::-;16673:52;16266:465;-1:-1:-1;;;;;16266:465:181:o;16736:401::-;16938:2;16920:21;;;16977:2;16957:18;;;16950:30;17016:34;17011:2;16996:18;;16989:62;-1:-1:-1;;;17082:2:181;17067:18;;17060:35;17127:3;17112:19;;16736:401::o;17142:406::-;17344:2;17326:21;;;17383:2;17363:18;;;17356:30;17422:34;17417:2;17402:18;;17395:62;-1:-1:-1;;;17488:2:181;17473:18;;17466:40;17538:3;17523:19;;17142:406::o;17553:399::-;17755:2;17737:21;;;17794:2;17774:18;;;17767:30;17833:34;17828:2;17813:18;;17806:62;-1:-1:-1;;;17899:2:181;17884:18;;17877:33;17942:3;17927:19;;17553:399::o;17957:400::-;18159:2;18141:21;;;18198:2;18178:18;;;18171:30;18237:34;18232:2;18217:18;;18210:62;-1:-1:-1;;;18303:2:181;18288:18;;18281:34;18347:3;18332:19;;17957:400::o;19025:827::-;-1:-1:-1;;;;;19422:15:181;;;19404:34;;19474:15;;19469:2;19454:18;;19447:43;19384:3;19521:2;19506:18;;19499:31;;;19347:4;;19553:57;;19590:19;;19582:6;19553:57;:::i;:::-;19658:9;19650:6;19646:22;19641:2;19630:9;19626:18;19619:50;19692:44;19729:6;19721;19692:44;:::i;:::-;19678:58;;19785:9;19777:6;19773:22;19767:3;19756:9;19752:19;19745:51;19813:33;19839:6;19831;19813:33;:::i;:::-;19805:41;19025:827;-1:-1:-1;;;;;;;;19025:827:181:o;19857:249::-;19926:6;19979:2;19967:9;19958:7;19954:23;19950:32;19947:52;;;19995:1;19992;19985:12;19947:52;20027:9;20021:16;20046:30;20070:5;20046:30;:::i;20111:179::-;20146:3;20188:1;20170:16;20167:23;20164:120;;;20234:1;20231;20228;20213:23;-1:-1:-1;20271:1:181;20265:8;20260:3;20256:18;20164:120;20111:179;:::o;20295:671::-;20334:3;20376:4;20358:16;20355:26;20352:39;;;20295:671;:::o;20352:39::-;20418:2;20412:9;-1:-1:-1;;20483:16:181;20479:25;;20476:1;20412:9;20455:50;20534:4;20528:11;20558:16;20593:18;20664:2;20657:4;20649:6;20645:17;20642:25;20637:2;20629:6;20626:14;20623:45;20620:58;;;20671:5;;;;;20295:671;:::o;20620:58::-;20708:6;20702:4;20698:17;20687:28;;20744:3;20738:10;20771:2;20763:6;20760:14;20757:27;;;20777:5;;;;;;20295:671;:::o;20757:27::-;20861:2;20842:16;20836:4;20832:27;20828:36;20821:4;20812:6;20807:3;20803:16;20799:27;20796:69;20793:82;;;20868:5;;;;;;20295:671;:::o;20793:82::-;20884:57;20935:4;20926:6;20918;20914:19;20910:30;20904:4;20884:57;:::i;:::-;-1:-1:-1;20957:3:181;;20295:671;-1:-1:-1;;;;;20295:671:181:o;21392:404::-;21594:2;21576:21;;;21633:2;21613:18;;;21606:30;21672:34;21667:2;21652:18;;21645:62;-1:-1:-1;;;21738:2:181;21723:18;;21716:38;21786:3;21771:19;;21392:404::o;21801:786::-;22212:25;22207:3;22200:38;22182:3;22267:6;22261:13;22283:62;22338:6;22333:2;22328:3;22324:12;22317:4;22309:6;22305:17;22283:62;:::i;:::-;-1:-1:-1;;;22404:2:181;22364:16;;;22396:11;;;22389:40;22454:13;;22476:63;22454:13;22525:2;22517:11;;22510:4;22498:17;;22476:63;:::i;:::-;22559:17;22578:2;22555:26;;21801:786;-1:-1:-1;;;;21801:786:181:o;22941:561::-;-1:-1:-1;;;;;23238:15:181;;;23220:34;;23290:15;;23285:2;23270:18;;23263:43;23337:2;23322:18;;23315:34;;;23380:2;23365:18;;23358:34;;;23200:3;23423;23408:19;;23401:32;;;23163:4;;23450:46;;23476:19;;23468:6;23450:46;:::i;:::-;23442:54;22941:561;-1:-1:-1;;;;;;;22941:561:181:o;24265:168::-;24305:7;24371:1;24367;24363:6;24359:14;24356:1;24353:21;24348:1;24341:9;24334:17;24330:45;24327:71;;;24378:18;;:::i;:::-;-1:-1:-1;24418:9:181;;24265:168::o;24438:136::-;24477:3;24505:5;24495:39;;24514:18;;:::i;:::-;-1:-1:-1;;;24550:18:181;;24438:136::o;24940:125::-;24980:4;25008:1;25005;25002:8;24999:34;;;25013:18;;:::i;:::-;-1:-1:-1;25050:9:181;;24940:125::o;25070:127::-;25131:10;25126:3;25122:20;25119:1;25112:31;25162:4;25159:1;25152:15;25186:4;25183:1;25176:15"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MINTER_ROLE()":"d5391393","PAUSER_ROLE()":"e63ab1e9","balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","burn(address,uint256,uint256)":"f5298aca","burnBatch(address,uint256[],uint256[])":"6b20c454","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isApprovedForAll(address,address)":"e985e9c5","mint(address,uint256,uint256,bytes)":"731133e9","mintBatch(address,uint256[],uint256[],bytes)":"1f7fdffa","pause()":"8456cb59","paused()":"5c975abb","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","unpause()":"3f4ba83a","uri(uint256)":"0e89341c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"burnBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mintBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC1155} token, including: - ability for holders to burn (destroy) their tokens - a minter role that allows for token minting (creation) - a pauser role that allows to stop all token transfers This contract uses {AccessControl} to lock permissioned functions using the different roles - head to its documentation for details. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role, which will let it grant both minter and pauser roles to other accounts. _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"constructor\":{\"details\":\"Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that deploys the contract.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"mint(address,uint256,uint256,bytes)\":{\"details\":\"Creates `amount` new tokens for `to`, of token type `id`. See {ERC1155-_mint}. Requirements: - the caller must have the `MINTER_ROLE`.\"},\"mintBatch(address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] variant of {mint}.\"},\"pause()\":{\"details\":\"Pauses all token transfers. See {ERC1155Pausable} and {Pausable-_pause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"unpause()\":{\"details\":\"Unpauses all token transfers. See {ERC1155Pausable} and {Pausable-_unpause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol\":\"ERC1155PresetMinterPauser\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol\":{\"keccak256\":\"0x0d960db62b7c6984d4b67602bc3b5c63ba15db63657feedc6c3604eb334fb648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c011e273a7a4ad251c317b6de69492a5f739dce3bf88ff09b1895fa233a759\",\"dweb:/ipfs/QmZ43AmC9msVpA3ZABk352obsjtZLfqpMKYxExXP772NfR\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol\":{\"keccak256\":\"0xdad22b949de979bb2ad9001c044b2aeaacf8a25e3de09ed6f022a9469f936d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2e9219d44b0ab528f8dc32f06897c5d7260e9f7190db830a017265ac0d22585\",\"dweb:/ipfs/QmYWP5r1Zkr5HRVm7cJG72vMqiDUwe9PbCmZZo9xc44V8K\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol\":{\"keccak256\":\"0x775e248004d21e0666740534a732daa9f17ceeee660ded876829e98a3a62b657\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a4babfb6f8a97aaf72ef6929d9662eedd99fdc8e9d99c86c4f1862ac77a911d\",\"dweb:/ipfs/QmZfD6m9BExvKHHNSpXGXanqZdVAAA9uY6ftfPqxxh5VS4\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"ERC1155Holder":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506103c5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c811461006e578063f23a6e61146100a6575b600080fd5b6100596100543660046100fc565b6100c5565b60405190151581526020015b60405180910390f35b61008d61007c366004610280565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610065565b61008d6100b436600461032a565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806100f657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006020828403121561010e57600080fd5b81356001600160e01b03198116811461012657600080fd5b9392505050565b80356001600160a01b038116811461014457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018857610188610149565b604052919050565b600082601f8301126101a157600080fd5b8135602067ffffffffffffffff8211156101bd576101bd610149565b8160051b6101cc82820161015f565b92835284810182019282810190878511156101e657600080fd5b83870192505b84831015610205578235825291830191908301906101ec565b979650505050505050565b600082601f83011261022157600080fd5b813567ffffffffffffffff81111561023b5761023b610149565b61024e601f8201601f191660200161015f565b81815284602083860101111561026357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561029857600080fd5b6102a18661012d565b94506102af6020870161012d565b9350604086013567ffffffffffffffff808211156102cc57600080fd5b6102d889838a01610190565b945060608801359150808211156102ee57600080fd5b6102fa89838a01610190565b9350608088013591508082111561031057600080fd5b5061031d88828901610210565b9150509295509295909350565b600080600080600060a0868803121561034257600080fd5b61034b8661012d565b94506103596020870161012d565b93506040860135925060608601359150608086013567ffffffffffffffff81111561038357600080fd5b61031d8882890161021056fea2646970667358221220a8959f23161a2a193f634d01bc2bee05abd6363582ac5a80776ff172d7eae81a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C5 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x6E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x7C CALLDATASIZE PUSH1 0x4 PUSH2 0x280 JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x65 JUMP JUMPDEST PUSH2 0x8D PUSH2 0xB4 CALLDATASIZE PUSH1 0x4 PUSH2 0x32A JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0xF6 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x126 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 0x144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x188 JUMPI PUSH2 0x188 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BD JUMPI PUSH2 0x1BD PUSH2 0x149 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1CC DUP3 DUP3 ADD PUSH2 0x15F JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x205 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23B JUMPI PUSH2 0x23B PUSH2 0x149 JUMP JUMPDEST PUSH2 0x24E PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x15F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x263 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A1 DUP7 PUSH2 0x12D JUMP JUMPDEST SWAP5 POP PUSH2 0x2AF PUSH1 0x20 DUP8 ADD PUSH2 0x12D JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D8 DUP10 DUP4 DUP11 ADD PUSH2 0x190 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FA DUP10 DUP4 DUP11 ADD PUSH2 0x190 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x31D DUP9 DUP3 DUP10 ADD PUSH2 0x210 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x342 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34B DUP7 PUSH2 0x12D JUMP JUMPDEST SWAP5 POP PUSH2 0x359 PUSH1 0x20 DUP8 ADD PUSH2 0x12D JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31D DUP9 DUP3 DUP10 ADD PUSH2 0x210 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA8 SWAP6 SWAP16 0x23 AND BYTE 0x2A NOT EXTCODEHASH PUSH4 0x4D01BC2B 0xEE SDIV 0xAB 0xD6 CALLDATASIZE CALLDATALOAD DUP3 0xAC GAS DUP1 PUSH24 0x6FF172D7EAE81A64736F6C63430008090033000000000000 ","sourceMap":"451:522:93:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@onERC1155BatchReceived_12770":{"entryPoint":null,"id":12770,"parameterSlots":5,"returnSlots":1},"@onERC1155Received_12747":{"entryPoint":null,"id":12747,"parameterSlots":5,"returnSlots":1},"@supportsInterface_12804":{"entryPoint":197,"id":12804,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"abi_decode_address":{"entryPoint":301,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":400,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":528,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":640,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":810,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_bytes4":{"entryPoint":252,"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_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":351,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":329,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4102:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"83:217:181","statements":[{"body":{"nodeType":"YulBlock","src":"129:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"138:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"141:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"131:6:181"},"nodeType":"YulFunctionCall","src":"131:12:181"},"nodeType":"YulExpressionStatement","src":"131:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"104:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"113:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"100:3:181"},"nodeType":"YulFunctionCall","src":"100:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"125:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"96:3:181"},"nodeType":"YulFunctionCall","src":"96:32:181"},"nodeType":"YulIf","src":"93:52:181"},{"nodeType":"YulVariableDeclaration","src":"154:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"180:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"167:12:181"},"nodeType":"YulFunctionCall","src":"167:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"158:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:181"},"nodeType":"YulFunctionCall","src":"256:12:181"},"nodeType":"YulExpressionStatement","src":"256:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"212:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"223:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"234:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"239:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"219:3:181"},"nodeType":"YulFunctionCall","src":"219:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"209:2:181"},"nodeType":"YulFunctionCall","src":"209:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"202:6:181"},"nodeType":"YulFunctionCall","src":"202:51:181"},"nodeType":"YulIf","src":"199:71:181"},{"nodeType":"YulAssignment","src":"279:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"49:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"60:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"72:6:181","type":""}],"src":"14:286:181"},{"body":{"nodeType":"YulBlock","src":"400:92:181","statements":[{"nodeType":"YulAssignment","src":"410:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"422:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"433:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"418:3:181"},"nodeType":"YulFunctionCall","src":"418:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"410:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"452:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"477:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"470:6:181"},"nodeType":"YulFunctionCall","src":"470:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"463:6:181"},"nodeType":"YulFunctionCall","src":"463:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"445:6:181"},"nodeType":"YulFunctionCall","src":"445:41:181"},"nodeType":"YulExpressionStatement","src":"445:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"369:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"380:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"391:4:181","type":""}],"src":"305:187:181"},{"body":{"nodeType":"YulBlock","src":"546:124:181","statements":[{"nodeType":"YulAssignment","src":"556:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"578:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"565:12:181"},"nodeType":"YulFunctionCall","src":"565:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"556:5:181"}]},{"body":{"nodeType":"YulBlock","src":"648:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"657:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"660:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"650:6:181"},"nodeType":"YulFunctionCall","src":"650:12:181"},"nodeType":"YulExpressionStatement","src":"650:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"607:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"618:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"633:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"638:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"629:3:181"},"nodeType":"YulFunctionCall","src":"629:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"642:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"625:3:181"},"nodeType":"YulFunctionCall","src":"625:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"614:3:181"},"nodeType":"YulFunctionCall","src":"614:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"604:2:181"},"nodeType":"YulFunctionCall","src":"604:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"597:6:181"},"nodeType":"YulFunctionCall","src":"597:50:181"},"nodeType":"YulIf","src":"594:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"525:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"536:5:181","type":""}],"src":"497:173:181"},{"body":{"nodeType":"YulBlock","src":"707:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"724:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"731:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"736:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"727:3:181"},"nodeType":"YulFunctionCall","src":"727:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"717:6:181"},"nodeType":"YulFunctionCall","src":"717:31:181"},"nodeType":"YulExpressionStatement","src":"717:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"764:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"767:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"757:6:181"},"nodeType":"YulFunctionCall","src":"757:15:181"},"nodeType":"YulExpressionStatement","src":"757:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"788:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"791:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"781:6:181"},"nodeType":"YulFunctionCall","src":"781:15:181"},"nodeType":"YulExpressionStatement","src":"781:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"675:127:181"},{"body":{"nodeType":"YulBlock","src":"852:230:181","statements":[{"nodeType":"YulAssignment","src":"862:19:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"878:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"872:5:181"},"nodeType":"YulFunctionCall","src":"872:9:181"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"862:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"890:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"912:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"928:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"934:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"924:3:181"},"nodeType":"YulFunctionCall","src":"924:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"943:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"939:3:181"},"nodeType":"YulFunctionCall","src":"939:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"920:3:181"},"nodeType":"YulFunctionCall","src":"920:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"908:3:181"},"nodeType":"YulFunctionCall","src":"908:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"894:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1023:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1025:16:181"},"nodeType":"YulFunctionCall","src":"1025:18:181"},"nodeType":"YulExpressionStatement","src":"1025:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"966:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"978:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"963:2:181"},"nodeType":"YulFunctionCall","src":"963:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1002:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1014:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"999:2:181"},"nodeType":"YulFunctionCall","src":"999:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"960:2:181"},"nodeType":"YulFunctionCall","src":"960:62:181"},"nodeType":"YulIf","src":"957:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1061:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1065:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1054:6:181"},"nodeType":"YulFunctionCall","src":"1054:22:181"},"nodeType":"YulExpressionStatement","src":"1054:22:181"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"832:4:181","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"841:6:181","type":""}],"src":"807:275:181"},{"body":{"nodeType":"YulBlock","src":"1151:648:181","statements":[{"body":{"nodeType":"YulBlock","src":"1200:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1209:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1212:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1202:6:181"},"nodeType":"YulFunctionCall","src":"1202:12:181"},"nodeType":"YulExpressionStatement","src":"1202:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1179:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1187:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1175:3:181"},"nodeType":"YulFunctionCall","src":"1175:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"1194:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1171:3:181"},"nodeType":"YulFunctionCall","src":"1171:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1164:6:181"},"nodeType":"YulFunctionCall","src":"1164:35:181"},"nodeType":"YulIf","src":"1161:55:181"},{"nodeType":"YulVariableDeclaration","src":"1225:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1248:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1235:12:181"},"nodeType":"YulFunctionCall","src":"1235:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1229:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1264:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1274:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1268:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1317:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1319:16:181"},"nodeType":"YulFunctionCall","src":"1319:18:181"},"nodeType":"YulExpressionStatement","src":"1319:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1293:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1297:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1290:2:181"},"nodeType":"YulFunctionCall","src":"1290:26:181"},"nodeType":"YulIf","src":"1287:52:181"},{"nodeType":"YulVariableDeclaration","src":"1348:20:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1362:1:181","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1365:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1358:3:181"},"nodeType":"YulFunctionCall","src":"1358:10:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1352:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1377:39:181","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1408:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1412:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1404:3:181"},"nodeType":"YulFunctionCall","src":"1404:11:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1388:15:181"},"nodeType":"YulFunctionCall","src":"1388:28:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1381:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1425:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"1438:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1429:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1457:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1462:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1450:6:181"},"nodeType":"YulFunctionCall","src":"1450:15:181"},"nodeType":"YulExpressionStatement","src":"1450:15:181"},{"nodeType":"YulAssignment","src":"1474:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1485:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1490:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1481:3:181"},"nodeType":"YulFunctionCall","src":"1481:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1474:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"1502:38:181","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1524:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1532:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1520:3:181"},"nodeType":"YulFunctionCall","src":"1520:15:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1537:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1516:3:181"},"nodeType":"YulFunctionCall","src":"1516:24:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1506:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1568:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1577:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1580:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1570:6:181"},"nodeType":"YulFunctionCall","src":"1570:12:181"},"nodeType":"YulExpressionStatement","src":"1570:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1555:6:181"},{"name":"end","nodeType":"YulIdentifier","src":"1563:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1552:2:181"},"nodeType":"YulFunctionCall","src":"1552:15:181"},"nodeType":"YulIf","src":"1549:35:181"},{"nodeType":"YulVariableDeclaration","src":"1593:26:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1608:6:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1616:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1604:3:181"},"nodeType":"YulFunctionCall","src":"1604:15:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1597:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1684:86:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1705:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1723:3:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1710:12:181"},"nodeType":"YulFunctionCall","src":"1710:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1698:6:181"},"nodeType":"YulFunctionCall","src":"1698:30:181"},"nodeType":"YulExpressionStatement","src":"1698:30:181"},{"nodeType":"YulAssignment","src":"1741:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1752:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1757:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1748:3:181"},"nodeType":"YulFunctionCall","src":"1748:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1741:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1639:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1644:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1636:2:181"},"nodeType":"YulFunctionCall","src":"1636:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1652:23:181","statements":[{"nodeType":"YulAssignment","src":"1654:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1665:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1670:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1661:3:181"},"nodeType":"YulFunctionCall","src":"1661:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1654:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"1632:3:181","statements":[]},"src":"1628:142:181"},{"nodeType":"YulAssignment","src":"1779:14:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"1788:5:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1779:5:181"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1125:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"1133:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1141:5:181","type":""}],"src":"1087:712:181"},{"body":{"nodeType":"YulBlock","src":"1856:478:181","statements":[{"body":{"nodeType":"YulBlock","src":"1905:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:181"},"nodeType":"YulFunctionCall","src":"1907:12:181"},"nodeType":"YulExpressionStatement","src":"1907:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1884:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1892:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1880:3:181"},"nodeType":"YulFunctionCall","src":"1880:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"1899:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1876:3:181"},"nodeType":"YulFunctionCall","src":"1876:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1869:6:181"},"nodeType":"YulFunctionCall","src":"1869:35:181"},"nodeType":"YulIf","src":"1866:55:181"},{"nodeType":"YulVariableDeclaration","src":"1930:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1953:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1940:12:181"},"nodeType":"YulFunctionCall","src":"1940:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1934:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1999:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2001:16:181"},"nodeType":"YulFunctionCall","src":"2001:18:181"},"nodeType":"YulExpressionStatement","src":"2001:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1975:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1979:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1972:2:181"},"nodeType":"YulFunctionCall","src":"1972:26:181"},"nodeType":"YulIf","src":"1969:52:181"},{"nodeType":"YulVariableDeclaration","src":"2030:70:181","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2073:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"2077:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2069:3:181"},"nodeType":"YulFunctionCall","src":"2069:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2088:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2084:3:181"},"nodeType":"YulFunctionCall","src":"2084:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2065:3:181"},"nodeType":"YulFunctionCall","src":"2065:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"2094:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2061:3:181"},"nodeType":"YulFunctionCall","src":"2061:38:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2045:15:181"},"nodeType":"YulFunctionCall","src":"2045:55:181"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"2034:7:181","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"2116:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2125:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2109:6:181"},"nodeType":"YulFunctionCall","src":"2109:19:181"},"nodeType":"YulExpressionStatement","src":"2109:19:181"},{"body":{"nodeType":"YulBlock","src":"2176:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2185:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2188:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2178:6:181"},"nodeType":"YulFunctionCall","src":"2178:12:181"},"nodeType":"YulExpressionStatement","src":"2178:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2151:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2159:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2147:3:181"},"nodeType":"YulFunctionCall","src":"2147:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"2164:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2143:3:181"},"nodeType":"YulFunctionCall","src":"2143:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"2171:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2140:2:181"},"nodeType":"YulFunctionCall","src":"2140:35:181"},"nodeType":"YulIf","src":"2137:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"2218:7:181"},{"kind":"number","nodeType":"YulLiteral","src":"2227:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2214:3:181"},"nodeType":"YulFunctionCall","src":"2214:18:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2246:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2234:3:181"},"nodeType":"YulFunctionCall","src":"2234:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2253:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2201:12:181"},"nodeType":"YulFunctionCall","src":"2201:55:181"},"nodeType":"YulExpressionStatement","src":"2201:55:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"2280:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2289:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2276:3:181"},"nodeType":"YulFunctionCall","src":"2276:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"2294:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2272:3:181"},"nodeType":"YulFunctionCall","src":"2272:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"2301:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2265:6:181"},"nodeType":"YulFunctionCall","src":"2265:38:181"},"nodeType":"YulExpressionStatement","src":"2265:38:181"},{"nodeType":"YulAssignment","src":"2312:16:181","value":{"name":"array_1","nodeType":"YulIdentifier","src":"2321:7:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2312:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1830:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"1838:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1846:5:181","type":""}],"src":"1804:530:181"},{"body":{"nodeType":"YulBlock","src":"2536:746:181","statements":[{"body":{"nodeType":"YulBlock","src":"2583:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2592:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2595:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2585:6:181"},"nodeType":"YulFunctionCall","src":"2585:12:181"},"nodeType":"YulExpressionStatement","src":"2585:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2557:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2566:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2553:3:181"},"nodeType":"YulFunctionCall","src":"2553:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2578:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2549:3:181"},"nodeType":"YulFunctionCall","src":"2549:33:181"},"nodeType":"YulIf","src":"2546:53:181"},{"nodeType":"YulAssignment","src":"2608:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2637:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2618:18:181"},"nodeType":"YulFunctionCall","src":"2618:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2608:6:181"}]},{"nodeType":"YulAssignment","src":"2656:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2689:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2700:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2685:3:181"},"nodeType":"YulFunctionCall","src":"2685:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2666:18:181"},"nodeType":"YulFunctionCall","src":"2666:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2656:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2713:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2744:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2755:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2740:3:181"},"nodeType":"YulFunctionCall","src":"2740:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2727:12:181"},"nodeType":"YulFunctionCall","src":"2727:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2717:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2768:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2778:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2772:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2823:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2832:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2835:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2825:6:181"},"nodeType":"YulFunctionCall","src":"2825:12:181"},"nodeType":"YulExpressionStatement","src":"2825:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2811:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2819:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2808:2:181"},"nodeType":"YulFunctionCall","src":"2808:14:181"},"nodeType":"YulIf","src":"2805:34:181"},{"nodeType":"YulAssignment","src":"2848:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2891:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"2902:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2887:3:181"},"nodeType":"YulFunctionCall","src":"2887:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2911:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"2858:28:181"},"nodeType":"YulFunctionCall","src":"2858:61:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2848:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2928:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2961:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2972:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2957:3:181"},"nodeType":"YulFunctionCall","src":"2957:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2944:12:181"},"nodeType":"YulFunctionCall","src":"2944:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2932:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3005:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3014:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3017:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3007:6:181"},"nodeType":"YulFunctionCall","src":"3007:12:181"},"nodeType":"YulExpressionStatement","src":"3007:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2991:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3001:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2988:2:181"},"nodeType":"YulFunctionCall","src":"2988:16:181"},"nodeType":"YulIf","src":"2985:36:181"},{"nodeType":"YulAssignment","src":"3030:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3073:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"3084:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3069:3:181"},"nodeType":"YulFunctionCall","src":"3069:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3095:7:181"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3040:28:181"},"nodeType":"YulFunctionCall","src":"3040:63:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3030:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3112:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3145:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3156:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3141:3:181"},"nodeType":"YulFunctionCall","src":"3141:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3128:12:181"},"nodeType":"YulFunctionCall","src":"3128:33:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"3116:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3190:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3199:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3202:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3192:6:181"},"nodeType":"YulFunctionCall","src":"3192:12:181"},"nodeType":"YulExpressionStatement","src":"3192:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"3176:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3186:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3173:2:181"},"nodeType":"YulFunctionCall","src":"3173:16:181"},"nodeType":"YulIf","src":"3170:36:181"},{"nodeType":"YulAssignment","src":"3215:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3246:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"3257:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:181"},"nodeType":"YulFunctionCall","src":"3242:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3268:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"3225:16:181"},"nodeType":"YulFunctionCall","src":"3225:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"3215:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2470:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2481:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2493:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2501:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2509:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2517:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2525:6:181","type":""}],"src":"2339:943:181"},{"body":{"nodeType":"YulBlock","src":"3386:103:181","statements":[{"nodeType":"YulAssignment","src":"3396:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3408:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3419:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3404:3:181"},"nodeType":"YulFunctionCall","src":"3404:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3396:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3438:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3453:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3465:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3470:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3461:3:181"},"nodeType":"YulFunctionCall","src":"3461:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3449:3:181"},"nodeType":"YulFunctionCall","src":"3449:33:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3431:6:181"},"nodeType":"YulFunctionCall","src":"3431:52:181"},"nodeType":"YulExpressionStatement","src":"3431:52:181"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3355:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3366:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3377:4:181","type":""}],"src":"3287:202:181"},{"body":{"nodeType":"YulBlock","src":"3641:459:181","statements":[{"body":{"nodeType":"YulBlock","src":"3688:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3697:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3700:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3690:6:181"},"nodeType":"YulFunctionCall","src":"3690:12:181"},"nodeType":"YulExpressionStatement","src":"3690:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3662:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3671:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3658:3:181"},"nodeType":"YulFunctionCall","src":"3658:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3683:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3654:3:181"},"nodeType":"YulFunctionCall","src":"3654:33:181"},"nodeType":"YulIf","src":"3651:53:181"},{"nodeType":"YulAssignment","src":"3713:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3742:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3723:18:181"},"nodeType":"YulFunctionCall","src":"3723:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3713:6:181"}]},{"nodeType":"YulAssignment","src":"3761:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3794:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3805:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3790:3:181"},"nodeType":"YulFunctionCall","src":"3790:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3771:18:181"},"nodeType":"YulFunctionCall","src":"3771:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3761:6:181"}]},{"nodeType":"YulAssignment","src":"3818:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3845:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3856:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3841:3:181"},"nodeType":"YulFunctionCall","src":"3841:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3828:12:181"},"nodeType":"YulFunctionCall","src":"3828:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3818:6:181"}]},{"nodeType":"YulAssignment","src":"3869:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3896:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3907:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3892:3:181"},"nodeType":"YulFunctionCall","src":"3892:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3879:12:181"},"nodeType":"YulFunctionCall","src":"3879:32:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3869:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3920:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3951:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3962:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3947:3:181"},"nodeType":"YulFunctionCall","src":"3947:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3934:12:181"},"nodeType":"YulFunctionCall","src":"3934:33:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3924:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4010:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4019:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4022:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4012:6:181"},"nodeType":"YulFunctionCall","src":"4012:12:181"},"nodeType":"YulExpressionStatement","src":"4012:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3982:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3990:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3979:2:181"},"nodeType":"YulFunctionCall","src":"3979:30:181"},"nodeType":"YulIf","src":"3976:50:181"},{"nodeType":"YulAssignment","src":"4035:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4066:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4077:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4062:3:181"},"nodeType":"YulFunctionCall","src":"4062:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4086:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4045:16:181"},"nodeType":"YulFunctionCall","src":"4045:49:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4035:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3575:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3586:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3598:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3606:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3614:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3622:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3630:6:181","type":""}],"src":"3494:606:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := 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 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 panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := shl(5, _1)\n let dst := allocate_memory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, _3), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n mstore(add(add(array_1, _1), 0x20), 0)\n array := array_1\n }\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(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_array_uint256_dyn(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_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, shl(224, 0xffffffff)))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c811461006e578063f23a6e61146100a6575b600080fd5b6100596100543660046100fc565b6100c5565b60405190151581526020015b60405180910390f35b61008d61007c366004610280565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610065565b61008d6100b436600461032a565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806100f657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006020828403121561010e57600080fd5b81356001600160e01b03198116811461012657600080fd5b9392505050565b80356001600160a01b038116811461014457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018857610188610149565b604052919050565b600082601f8301126101a157600080fd5b8135602067ffffffffffffffff8211156101bd576101bd610149565b8160051b6101cc82820161015f565b92835284810182019282810190878511156101e657600080fd5b83870192505b84831015610205578235825291830191908301906101ec565b979650505050505050565b600082601f83011261022157600080fd5b813567ffffffffffffffff81111561023b5761023b610149565b61024e601f8201601f191660200161015f565b81815284602083860101111561026357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561029857600080fd5b6102a18661012d565b94506102af6020870161012d565b9350604086013567ffffffffffffffff808211156102cc57600080fd5b6102d889838a01610190565b945060608801359150808211156102ee57600080fd5b6102fa89838a01610190565b9350608088013591508082111561031057600080fd5b5061031d88828901610210565b9150509295509295909350565b600080600080600060a0868803121561034257600080fd5b61034b8661012d565b94506103596020870161012d565b93506040860135925060608601359150608086013567ffffffffffffffff81111561038357600080fd5b61031d8882890161021056fea2646970667358221220a8959f23161a2a193f634d01bc2bee05abd6363582ac5a80776ff172d7eae81a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x6E JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x7C CALLDATASIZE PUSH1 0x4 PUSH2 0x280 JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x65 JUMP JUMPDEST PUSH2 0x8D PUSH2 0xB4 CALLDATASIZE PUSH1 0x4 PUSH2 0x32A JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0xF6 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x126 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 0x144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x188 JUMPI PUSH2 0x188 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BD JUMPI PUSH2 0x1BD PUSH2 0x149 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1CC DUP3 DUP3 ADD PUSH2 0x15F JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x205 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23B JUMPI PUSH2 0x23B PUSH2 0x149 JUMP JUMPDEST PUSH2 0x24E PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x15F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x263 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A1 DUP7 PUSH2 0x12D JUMP JUMPDEST SWAP5 POP PUSH2 0x2AF PUSH1 0x20 DUP8 ADD PUSH2 0x12D JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D8 DUP10 DUP4 DUP11 ADD PUSH2 0x190 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FA DUP10 DUP4 DUP11 ADD PUSH2 0x190 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x31D DUP9 DUP3 DUP10 ADD PUSH2 0x210 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x342 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34B DUP7 PUSH2 0x12D JUMP JUMPDEST SWAP5 POP PUSH2 0x359 PUSH1 0x20 DUP8 ADD PUSH2 0x12D JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31D DUP9 DUP3 DUP10 ADD PUSH2 0x210 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA8 SWAP6 SWAP16 0x23 AND BYTE 0x2A NOT EXTCODEHASH PUSH4 0x4D01BC2B 0xEE SDIV 0xAB 0xD6 CALLDATASIZE CALLDATALOAD DUP3 0xAC GAS DUP1 PUSH24 0x6FF172D7EAE81A64736F6C63430008090033000000000000 ","sourceMap":"451:522:93:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:221:94;;;;;;:::i;:::-;;:::i;:::-;;;470:14:181;;463:22;445:41;;433:2;418:18;387:221:94;;;;;;;;724:247:93;;;;;;:::i;:::-;-1:-1:-1;;;724:247:93;;;;;;;;;;;-1:-1:-1;;;;;;3449:33:181;;;3431:52;;3419:2;3404:18;724:247:93;3287:202:181;499:219:93;;;;;;:::i;:::-;-1:-1:-1;;;499:219:93;;;;;;;;387:221:94;489:4;-1:-1:-1;;;;;;512:49:94;;-1:-1:-1;;;512:49:94;;:89;;-1:-1:-1;;;;;;;;;;937:40:153;;;565:36:94;505:96;387:221;-1:-1:-1;;387:221:94:o;14:286:181:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:181;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:181:o;497:173::-;565:20;;-1:-1:-1;;;;;614:31:181;;604:42;;594:70;;660:1;657;650:12;594:70;497:173;;;:::o;675:127::-;736:10;731:3;727:20;724:1;717:31;767:4;764:1;757:15;791:4;788:1;781:15;807:275;878:2;872:9;943:2;924:13;;-1:-1:-1;;920:27:181;908:40;;978:18;963:34;;999:22;;;960:62;957:88;;;1025:18;;:::i;:::-;1061:2;1054:22;807:275;;-1:-1:-1;807:275:181:o;1087:712::-;1141:5;1194:3;1187:4;1179:6;1175:17;1171:27;1161:55;;1212:1;1209;1202:12;1161:55;1248:6;1235:20;1274:4;1297:18;1293:2;1290:26;1287:52;;;1319:18;;:::i;:::-;1365:2;1362:1;1358:10;1388:28;1412:2;1408;1404:11;1388:28;:::i;:::-;1450:15;;;1520;;;1516:24;;;1481:12;;;;1552:15;;;1549:35;;;1580:1;1577;1570:12;1549:35;1616:2;1608:6;1604:15;1593:26;;1628:142;1644:6;1639:3;1636:15;1628:142;;;1710:17;;1698:30;;1661:12;;;;1748;;;;1628:142;;;1788:5;1087:712;-1:-1:-1;;;;;;;1087:712:181:o;1804:530::-;1846:5;1899:3;1892:4;1884:6;1880:17;1876:27;1866:55;;1917:1;1914;1907:12;1866:55;1953:6;1940:20;1979:18;1975:2;1972:26;1969:52;;;2001:18;;:::i;:::-;2045:55;2088:2;2069:13;;-1:-1:-1;;2065:27:181;2094:4;2061:38;2045:55;:::i;:::-;2125:2;2116:7;2109:19;2171:3;2164:4;2159:2;2151:6;2147:15;2143:26;2140:35;2137:55;;;2188:1;2185;2178:12;2137:55;2253:2;2246:4;2238:6;2234:17;2227:4;2218:7;2214:18;2201:55;2301:1;2276:16;;;2294:4;2272:27;2265:38;;;;2280:7;1804:530;-1:-1:-1;;;1804:530:181:o;2339:943::-;2493:6;2501;2509;2517;2525;2578:3;2566:9;2557:7;2553:23;2549:33;2546:53;;;2595:1;2592;2585:12;2546:53;2618:29;2637:9;2618:29;:::i;:::-;2608:39;;2666:38;2700:2;2689:9;2685:18;2666:38;:::i;:::-;2656:48;;2755:2;2744:9;2740:18;2727:32;2778:18;2819:2;2811:6;2808:14;2805:34;;;2835:1;2832;2825:12;2805:34;2858:61;2911:7;2902:6;2891:9;2887:22;2858:61;:::i;:::-;2848:71;;2972:2;2961:9;2957:18;2944:32;2928:48;;3001:2;2991:8;2988:16;2985:36;;;3017:1;3014;3007:12;2985:36;3040:63;3095:7;3084:8;3073:9;3069:24;3040:63;:::i;:::-;3030:73;;3156:3;3145:9;3141:19;3128:33;3112:49;;3186:2;3176:8;3173:16;3170:36;;;3202:1;3199;3192:12;3170:36;;3225:51;3268:7;3257:8;3246:9;3242:24;3225:51;:::i;:::-;3215:61;;;2339:943;;;;;;;;:::o;3494:606::-;3598:6;3606;3614;3622;3630;3683:3;3671:9;3662:7;3658:23;3654:33;3651:53;;;3700:1;3697;3690:12;3651:53;3723:29;3742:9;3723:29;:::i;:::-;3713:39;;3771:38;3805:2;3794:9;3790:18;3771:38;:::i;:::-;3761:48;;3856:2;3845:9;3841:18;3828:32;3818:42;;3907:2;3896:9;3892:18;3879:32;3869:42;;3962:3;3951:9;3947:19;3934:33;3990:18;3982:6;3979:30;3976:50;;;4022:1;4019;4012:12;3976:50;4045:49;4086:7;4077:6;4066:9;4062:22;4045:49;:::i"},"methodIdentifiers":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"_Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Simple implementation of `ERC1155Receiver` that will allow a contract to hold ERC1155 tokens. IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be stuck.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":\"ERC1155Holder\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"ERC1155Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"_Available since v3.1._\",\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":\"ERC1155Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_12850":{"entryPoint":null,"id":12850,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":292,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":2},"extract_byte_array_length":{"entryPoint":581,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":270,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1985:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1154:444:181","statements":[{"body":{"nodeType":"YulBlock","src":"1200:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1209:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1212:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1202:6:181"},"nodeType":"YulFunctionCall","src":"1202:12:181"},"nodeType":"YulExpressionStatement","src":"1202:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1175:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1171:3:181"},"nodeType":"YulFunctionCall","src":"1171:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1196:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1167:3:181"},"nodeType":"YulFunctionCall","src":"1167:32:181"},"nodeType":"YulIf","src":"1164:52:181"},{"nodeType":"YulVariableDeclaration","src":"1225:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1239:5:181"},"nodeType":"YulFunctionCall","src":"1239:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1229:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1264:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1278:3:181"},"nodeType":"YulFunctionCall","src":"1278:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1290:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1274:3:181"},"nodeType":"YulFunctionCall","src":"1274:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1268:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1319:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1328:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1331:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1321:6:181"},"nodeType":"YulFunctionCall","src":"1321:12:181"},"nodeType":"YulExpressionStatement","src":"1321:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1307:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1315:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1304:2:181"},"nodeType":"YulFunctionCall","src":"1304:14:181"},"nodeType":"YulIf","src":"1301:34:181"},{"nodeType":"YulAssignment","src":"1344:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1387:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1383:3:181"},"nodeType":"YulFunctionCall","src":"1383:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1407:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1354:28:181"},"nodeType":"YulFunctionCall","src":"1354:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1344:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1424:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1450:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1461:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1446:3:181"},"nodeType":"YulFunctionCall","src":"1446:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1440:5:181"},"nodeType":"YulFunctionCall","src":"1440:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1428:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1494:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:181"},"nodeType":"YulFunctionCall","src":"1496:12:181"},"nodeType":"YulExpressionStatement","src":"1496:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1480:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1490:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:16:181"},"nodeType":"YulIf","src":"1474:36:181"},{"nodeType":"YulAssignment","src":"1519:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1562:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1573:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1558:3:181"},"nodeType":"YulFunctionCall","src":"1558:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1584:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1529:28:181"},"nodeType":"YulFunctionCall","src":"1529:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1519:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1112:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1123:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1135:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1143:6:181","type":""}],"src":"1036:562:181"},{"body":{"nodeType":"YulBlock","src":"1658:325:181","statements":[{"nodeType":"YulAssignment","src":"1668:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1682:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1685:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1678:3:181"},"nodeType":"YulFunctionCall","src":"1678:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1668:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1699:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1729:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1735:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1725:3:181"},"nodeType":"YulFunctionCall","src":"1725:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1703:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1776:31:181","statements":[{"nodeType":"YulAssignment","src":"1778:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1792:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1800:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1788:3:181"},"nodeType":"YulFunctionCall","src":"1788:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1778:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1756:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1749:6:181"},"nodeType":"YulFunctionCall","src":"1749:26:181"},"nodeType":"YulIf","src":"1746:61:181"},{"body":{"nodeType":"YulBlock","src":"1866:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1887:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1894:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1899:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1890:3:181"},"nodeType":"YulFunctionCall","src":"1890:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1880:6:181"},"nodeType":"YulFunctionCall","src":"1880:31:181"},"nodeType":"YulExpressionStatement","src":"1880:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1931:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1934:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1924:6:181"},"nodeType":"YulFunctionCall","src":"1924:15:181"},"nodeType":"YulExpressionStatement","src":"1924:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1962:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1952:6:181"},"nodeType":"YulFunctionCall","src":"1952:15:181"},"nodeType":"YulExpressionStatement","src":"1952:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1822:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1845:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1853:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1842:2:181"},"nodeType":"YulFunctionCall","src":"1842:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1819:2:181"},"nodeType":"YulFunctionCall","src":"1819:38:181"},"nodeType":"YulIf","src":"1816:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1638:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1647:6:181","type":""}],"src":"1603:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000aef38038062000aef8339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b61085d80620002926000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122092b290013c9c2d4d59cf30d69f62a9c1cb49410cce974e7774c9d1d5fc6810b664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xAEF CODESIZE SUB DUP1 PUSH3 0xAEF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1DB JUMP JUMPDEST DUP2 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP POP POP PUSH3 0x282 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x76 SWAP1 PUSH3 0x245 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x9A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC8 JUMP JUMPDEST POP PUSH3 0xF3 SWAP3 SWAP2 POP PUSH3 0xF7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xF3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xF8 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 PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x153 JUMPI PUSH3 0x153 PUSH3 0x10E 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 PUSH3 0x17E JUMPI PUSH3 0x17E PUSH3 0x10E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x1BF JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1A0 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x1D1 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x215 DUP7 DUP4 DUP8 ADD PUSH3 0x124 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x23B DUP6 DUP3 DUP7 ADD PUSH3 0x124 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x25A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x27C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85D DUP1 PUSH3 0x292 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 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xB2 SWAP1 ADD EXTCODECOPY SWAP13 0x2D 0x4D MSIZE 0xCF ADDRESS 0xD6 SWAP16 PUSH3 0xA9C1CB 0x49 COINBASE 0xC 0xCE SWAP8 0x4E PUSH24 0x74C9D1D5FC6810B664736F6C634300080900330000000000 ","sourceMap":"1401:11610:95:-:0;;;1976:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2065:17:95;;;;:7;;:17;;;;;:::i;:::-;;1976:113;;1401:11610;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1401:11610:95;;;-1:-1:-1;1401:11610:95;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:181;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;:::-;1401:11610:95;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_13391":{"entryPoint":null,"id":13391,"parameterSlots":3,"returnSlots":0},"@_approve_13326":{"entryPoint":856,"id":13326,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_13380":{"entryPoint":null,"id":13380,"parameterSlots":3,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_spendAllowance_13369":{"entryPoint":1148,"id":13369,"parameterSlots":3,"returnSlots":0},"@_transfer_13152":{"entryPoint":1270,"id":13152,"parameterSlots":3,"returnSlots":0},"@allowance_12947":{"entryPoint":813,"id":12947,"parameterSlots":2,"returnSlots":1},"@approve_12972":{"entryPoint":562,"id":12972,"parameterSlots":2,"returnSlots":1},"@balanceOf_12904":{"entryPoint":null,"id":12904,"parameterSlots":1,"returnSlots":1},"@decimals_12880":{"entryPoint":null,"id":12880,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_13075":{"entryPoint":671,"id":13075,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_13034":{"entryPoint":622,"id":13034,"parameterSlots":2,"returnSlots":1},"@name_12860":{"entryPoint":416,"id":12860,"parameterSlots":0,"returnSlots":1},"@symbol_12870":{"entryPoint":656,"id":12870,"parameterSlots":0,"returnSlots":1},"@totalSupply_12890":{"entryPoint":null,"id":12890,"parameterSlots":0,"returnSlots":1},"@transferFrom_13005":{"entryPoint":586,"id":13005,"parameterSlots":3,"returnSlots":1},"@transfer_12929":{"entryPoint":799,"id":12929,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":1775,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1905,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":1939,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":1845,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":1803,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1690,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__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},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2049,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":1990,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5806:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:476:181","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:181"},"nodeType":"YulFunctionCall","src":"166:21:181"},"nodeType":"YulExpressionStatement","src":"166:21:181"},{"nodeType":"YulVariableDeclaration","src":"196:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:181"},"nodeType":"YulFunctionCall","src":"210:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:181"},"nodeType":"YulFunctionCall","src":"232:34:181"},"nodeType":"YulExpressionStatement","src":"232:34:181"},{"nodeType":"YulVariableDeclaration","src":"275:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:181"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:181"},"nodeType":"YulFunctionCall","src":"369:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:181"},"nodeType":"YulFunctionCall","src":"365:26:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:181"},"nodeType":"YulFunctionCall","src":"403:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:181"},"nodeType":"YulFunctionCall","src":"399:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:181"},"nodeType":"YulFunctionCall","src":"393:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:181"},"nodeType":"YulFunctionCall","src":"358:66:181"},"nodeType":"YulExpressionStatement","src":"358:66:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:181","statements":[{"nodeType":"YulAssignment","src":"318:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:181"},"nodeType":"YulFunctionCall","src":"323:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:181","statements":[]},"src":"294:140:181"},{"body":{"nodeType":"YulBlock","src":"468:66:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"497:9:181"},{"name":"length","nodeType":"YulIdentifier","src":"508:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"493:3:181"},"nodeType":"YulFunctionCall","src":"493:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"489:3:181"},"nodeType":"YulFunctionCall","src":"489:31:181"},{"kind":"number","nodeType":"YulLiteral","src":"522:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"482:6:181"},"nodeType":"YulFunctionCall","src":"482:42:181"},"nodeType":"YulExpressionStatement","src":"482:42:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"449:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"446:2:181"},"nodeType":"YulFunctionCall","src":"446:13:181"},"nodeType":"YulIf","src":"443:91:181"},{"nodeType":"YulAssignment","src":"543:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"559:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"578:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"586:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"574:3:181"},"nodeType":"YulFunctionCall","src":"574:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"595:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"591:3:181"},"nodeType":"YulFunctionCall","src":"591:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"555:3:181"},"nodeType":"YulFunctionCall","src":"555:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"602:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"551:3:181"},"nodeType":"YulFunctionCall","src":"551:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"543:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:181","type":""}],"src":"14:597:181"},{"body":{"nodeType":"YulBlock","src":"665:124:181","statements":[{"nodeType":"YulAssignment","src":"675:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"697:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"684:12:181"},"nodeType":"YulFunctionCall","src":"684:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"675:5:181"}]},{"body":{"nodeType":"YulBlock","src":"767:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"776:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"779:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"769:6:181"},"nodeType":"YulFunctionCall","src":"769:12:181"},"nodeType":"YulExpressionStatement","src":"769:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"726:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"737:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"752:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"757:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"748:3:181"},"nodeType":"YulFunctionCall","src":"748:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"761:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"744:3:181"},"nodeType":"YulFunctionCall","src":"744:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"733:3:181"},"nodeType":"YulFunctionCall","src":"733:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"723:2:181"},"nodeType":"YulFunctionCall","src":"723:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"716:6:181"},"nodeType":"YulFunctionCall","src":"716:50:181"},"nodeType":"YulIf","src":"713:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"644:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"655:5:181","type":""}],"src":"616:173:181"},{"body":{"nodeType":"YulBlock","src":"881:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"927:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"939:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"929:6:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"nodeType":"YulExpressionStatement","src":"929:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"902:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"911:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:181"},"nodeType":"YulFunctionCall","src":"898:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"923:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"894:3:181"},"nodeType":"YulFunctionCall","src":"894:32:181"},"nodeType":"YulIf","src":"891:52:181"},{"nodeType":"YulAssignment","src":"952:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"981:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"962:18:181"},"nodeType":"YulFunctionCall","src":"962:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"952:6:181"}]},{"nodeType":"YulAssignment","src":"1000:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:181"},"nodeType":"YulFunctionCall","src":"1023:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1010:12:181"},"nodeType":"YulFunctionCall","src":"1010:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1000:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"870:6:181","type":""}],"src":"794:254:181"},{"body":{"nodeType":"YulBlock","src":"1148:92:181","statements":[{"nodeType":"YulAssignment","src":"1158:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1170:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1181:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1166:3:181"},"nodeType":"YulFunctionCall","src":"1166:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1158:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1225:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1218:6:181"},"nodeType":"YulFunctionCall","src":"1218:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1211:6:181"},"nodeType":"YulFunctionCall","src":"1211:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1193:6:181"},"nodeType":"YulFunctionCall","src":"1193:41:181"},"nodeType":"YulExpressionStatement","src":"1193:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1117:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1128:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1139:4:181","type":""}],"src":"1053:187:181"},{"body":{"nodeType":"YulBlock","src":"1346:76:181","statements":[{"nodeType":"YulAssignment","src":"1356:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1368:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1364:3:181"},"nodeType":"YulFunctionCall","src":"1364:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1356:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1409:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1391:6:181"},"nodeType":"YulFunctionCall","src":"1391:25:181"},"nodeType":"YulExpressionStatement","src":"1391:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1315:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1326:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1337:4:181","type":""}],"src":"1245:177:181"},{"body":{"nodeType":"YulBlock","src":"1531:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"1577:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1586:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1589:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1579:6:181"},"nodeType":"YulFunctionCall","src":"1579:12:181"},"nodeType":"YulExpressionStatement","src":"1579:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1552:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1561:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1548:3:181"},"nodeType":"YulFunctionCall","src":"1548:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1573:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1544:3:181"},"nodeType":"YulFunctionCall","src":"1544:32:181"},"nodeType":"YulIf","src":"1541:52:181"},{"nodeType":"YulAssignment","src":"1602:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1631:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1612:18:181"},"nodeType":"YulFunctionCall","src":"1612:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1602:6:181"}]},{"nodeType":"YulAssignment","src":"1650:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1679:3:181"},"nodeType":"YulFunctionCall","src":"1679:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1660:18:181"},"nodeType":"YulFunctionCall","src":"1660:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1650:6:181"}]},{"nodeType":"YulAssignment","src":"1707:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1745:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1730:3:181"},"nodeType":"YulFunctionCall","src":"1730:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1717:12:181"},"nodeType":"YulFunctionCall","src":"1717:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1707:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1481:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1492:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1504:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1512:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1520:6:181","type":""}],"src":"1427:328:181"},{"body":{"nodeType":"YulBlock","src":"1857:87:181","statements":[{"nodeType":"YulAssignment","src":"1867:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1890:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1875:3:181"},"nodeType":"YulFunctionCall","src":"1875:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1867:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1909:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1932:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1920:3:181"},"nodeType":"YulFunctionCall","src":"1920:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1902:6:181"},"nodeType":"YulFunctionCall","src":"1902:36:181"},"nodeType":"YulExpressionStatement","src":"1902:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1826:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1837:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1848:4:181","type":""}],"src":"1760:184:181"},{"body":{"nodeType":"YulBlock","src":"2019:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2065:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2074:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2077:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2067:6:181"},"nodeType":"YulFunctionCall","src":"2067:12:181"},"nodeType":"YulExpressionStatement","src":"2067:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2040:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2049:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2036:3:181"},"nodeType":"YulFunctionCall","src":"2036:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2061:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2032:3:181"},"nodeType":"YulFunctionCall","src":"2032:32:181"},"nodeType":"YulIf","src":"2029:52:181"},{"nodeType":"YulAssignment","src":"2090:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2119:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2100:18:181"},"nodeType":"YulFunctionCall","src":"2100:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2090:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1985:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1996:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2008:6:181","type":""}],"src":"1949:186:181"},{"body":{"nodeType":"YulBlock","src":"2227:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"2273:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2282:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2285:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2275:6:181"},"nodeType":"YulFunctionCall","src":"2275:12:181"},"nodeType":"YulExpressionStatement","src":"2275:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2248:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2257:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2244:3:181"},"nodeType":"YulFunctionCall","src":"2244:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2269:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2240:3:181"},"nodeType":"YulFunctionCall","src":"2240:32:181"},"nodeType":"YulIf","src":"2237:52:181"},{"nodeType":"YulAssignment","src":"2298:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2327:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2308:18:181"},"nodeType":"YulFunctionCall","src":"2308:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2298:6:181"}]},{"nodeType":"YulAssignment","src":"2346:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2379:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2390:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2375:3:181"},"nodeType":"YulFunctionCall","src":"2375:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2356:18:181"},"nodeType":"YulFunctionCall","src":"2356:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2346:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2185:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2196:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2208:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2216:6:181","type":""}],"src":"2140:260:181"},{"body":{"nodeType":"YulBlock","src":"2460:325:181","statements":[{"nodeType":"YulAssignment","src":"2470:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2484:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2487:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2480:3:181"},"nodeType":"YulFunctionCall","src":"2480:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2470:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2501:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2531:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2537:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2527:3:181"},"nodeType":"YulFunctionCall","src":"2527:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2505:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2578:31:181","statements":[{"nodeType":"YulAssignment","src":"2580:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2594:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2602:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2590:3:181"},"nodeType":"YulFunctionCall","src":"2590:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2580:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2558:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2551:6:181"},"nodeType":"YulFunctionCall","src":"2551:26:181"},"nodeType":"YulIf","src":"2548:61:181"},{"body":{"nodeType":"YulBlock","src":"2668:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2689:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2696:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2701:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2692:3:181"},"nodeType":"YulFunctionCall","src":"2692:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2682:6:181"},"nodeType":"YulFunctionCall","src":"2682:31:181"},"nodeType":"YulExpressionStatement","src":"2682:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2733:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2736:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2726:6:181"},"nodeType":"YulFunctionCall","src":"2726:15:181"},"nodeType":"YulExpressionStatement","src":"2726:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2761:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2764:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2754:6:181"},"nodeType":"YulFunctionCall","src":"2754:15:181"},"nodeType":"YulExpressionStatement","src":"2754:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2624:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2647:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2655:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2644:2:181"},"nodeType":"YulFunctionCall","src":"2644:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2621:2:181"},"nodeType":"YulFunctionCall","src":"2621:38:181"},"nodeType":"YulIf","src":"2618:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2440:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2449:6:181","type":""}],"src":"2405:380:181"},{"body":{"nodeType":"YulBlock","src":"2838:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"2873:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2894:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2901:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2906:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2897:3:181"},"nodeType":"YulFunctionCall","src":"2897:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2887:6:181"},"nodeType":"YulFunctionCall","src":"2887:31:181"},"nodeType":"YulExpressionStatement","src":"2887:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2938:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2941:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2931:6:181"},"nodeType":"YulFunctionCall","src":"2931:15:181"},"nodeType":"YulExpressionStatement","src":"2931:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2966:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2969:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2959:6:181"},"nodeType":"YulFunctionCall","src":"2959:15:181"},"nodeType":"YulExpressionStatement","src":"2959:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2854:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2861:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2857:3:181"},"nodeType":"YulFunctionCall","src":"2857:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2851:2:181"},"nodeType":"YulFunctionCall","src":"2851:13:181"},"nodeType":"YulIf","src":"2848:136:181"},{"nodeType":"YulAssignment","src":"2993:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3004:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"3007:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3000:3:181"},"nodeType":"YulFunctionCall","src":"3000:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2993:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2821:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2824:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2830:3:181","type":""}],"src":"2790:225:181"},{"body":{"nodeType":"YulBlock","src":"3194:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3211:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3222:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3204:6:181"},"nodeType":"YulFunctionCall","src":"3204:21:181"},"nodeType":"YulExpressionStatement","src":"3204:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3245:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3256:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3241:3:181"},"nodeType":"YulFunctionCall","src":"3241:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3261:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3234:6:181"},"nodeType":"YulFunctionCall","src":"3234:30:181"},"nodeType":"YulExpressionStatement","src":"3234:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3284:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3295:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3280:3:181"},"nodeType":"YulFunctionCall","src":"3280:18:181"},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77","kind":"string","nodeType":"YulLiteral","src":"3300:34:181","type":"","value":"ERC20: decreased allowance below"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3273:6:181"},"nodeType":"YulFunctionCall","src":"3273:62:181"},"nodeType":"YulExpressionStatement","src":"3273:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3355:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3366:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3351:3:181"},"nodeType":"YulFunctionCall","src":"3351:18:181"},{"hexValue":"207a65726f","kind":"string","nodeType":"YulLiteral","src":"3371:7:181","type":"","value":" zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3344:6:181"},"nodeType":"YulFunctionCall","src":"3344:35:181"},"nodeType":"YulExpressionStatement","src":"3344:35:181"},{"nodeType":"YulAssignment","src":"3388:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3400:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3411:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3396:3:181"},"nodeType":"YulFunctionCall","src":"3396:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3388:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3171:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3185:4:181","type":""}],"src":"3020:401:181"},{"body":{"nodeType":"YulBlock","src":"3600:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3617:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3628:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3610:6:181"},"nodeType":"YulFunctionCall","src":"3610:21:181"},"nodeType":"YulExpressionStatement","src":"3610:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:181"},"nodeType":"YulFunctionCall","src":"3647:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3667:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3640:6:181"},"nodeType":"YulFunctionCall","src":"3640:30:181"},"nodeType":"YulExpressionStatement","src":"3640:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3701:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3686:3:181"},"nodeType":"YulFunctionCall","src":"3686:18:181"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"3706:34:181","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3679:6:181"},"nodeType":"YulFunctionCall","src":"3679:62:181"},"nodeType":"YulExpressionStatement","src":"3679:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3761:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3772:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3757:3:181"},"nodeType":"YulFunctionCall","src":"3757:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"3777:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3750:6:181"},"nodeType":"YulFunctionCall","src":"3750:34:181"},"nodeType":"YulExpressionStatement","src":"3750:34:181"},{"nodeType":"YulAssignment","src":"3793:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3805:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3816:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3801:3:181"},"nodeType":"YulFunctionCall","src":"3801:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3793:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3577:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3591:4:181","type":""}],"src":"3426:400:181"},{"body":{"nodeType":"YulBlock","src":"4005:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4022:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4033:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4015:6:181"},"nodeType":"YulFunctionCall","src":"4015:21:181"},"nodeType":"YulExpressionStatement","src":"4015:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4067:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4052:3:181"},"nodeType":"YulFunctionCall","src":"4052:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4072:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4045:6:181"},"nodeType":"YulFunctionCall","src":"4045:30:181"},"nodeType":"YulExpressionStatement","src":"4045:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4106:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4091:3:181"},"nodeType":"YulFunctionCall","src":"4091:18:181"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"4111:34:181","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4084:6:181"},"nodeType":"YulFunctionCall","src":"4084:62:181"},"nodeType":"YulExpressionStatement","src":"4084:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4177:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4162:3:181"},"nodeType":"YulFunctionCall","src":"4162:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"4182:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4155:6:181"},"nodeType":"YulFunctionCall","src":"4155:32:181"},"nodeType":"YulExpressionStatement","src":"4155:32:181"},{"nodeType":"YulAssignment","src":"4196:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4208:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4219:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4204:3:181"},"nodeType":"YulFunctionCall","src":"4204:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4196:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3982:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3996:4:181","type":""}],"src":"3831:398:181"},{"body":{"nodeType":"YulBlock","src":"4408:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4436:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4418:6:181"},"nodeType":"YulFunctionCall","src":"4418:21:181"},"nodeType":"YulExpressionStatement","src":"4418:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4459:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4470:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4455:3:181"},"nodeType":"YulFunctionCall","src":"4455:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4475:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4448:6:181"},"nodeType":"YulFunctionCall","src":"4448:30:181"},"nodeType":"YulExpressionStatement","src":"4448:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4509:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4494:3:181"},"nodeType":"YulFunctionCall","src":"4494:18:181"},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"4514:31:181","type":"","value":"ERC20: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4487:6:181"},"nodeType":"YulFunctionCall","src":"4487:59:181"},"nodeType":"YulExpressionStatement","src":"4487:59:181"},{"nodeType":"YulAssignment","src":"4555:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4567:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4578:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4563:3:181"},"nodeType":"YulFunctionCall","src":"4563:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4555:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4385:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4399:4:181","type":""}],"src":"4234:353:181"},{"body":{"nodeType":"YulBlock","src":"4766:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4794:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4776:6:181"},"nodeType":"YulFunctionCall","src":"4776:21:181"},"nodeType":"YulExpressionStatement","src":"4776:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4828:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4813:3:181"},"nodeType":"YulFunctionCall","src":"4813:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4806:6:181"},"nodeType":"YulFunctionCall","src":"4806:30:181"},"nodeType":"YulExpressionStatement","src":"4806:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4856:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4867:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4852:3:181"},"nodeType":"YulFunctionCall","src":"4852:18:181"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"4872:34:181","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4845:6:181"},"nodeType":"YulFunctionCall","src":"4845:62:181"},"nodeType":"YulExpressionStatement","src":"4845:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4927:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4938:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4923:3:181"},"nodeType":"YulFunctionCall","src":"4923:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"4943:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4916:6:181"},"nodeType":"YulFunctionCall","src":"4916:35:181"},"nodeType":"YulExpressionStatement","src":"4916:35:181"},{"nodeType":"YulAssignment","src":"4960:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4972:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4983:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4968:3:181"},"nodeType":"YulFunctionCall","src":"4968:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4960:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4743:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4757:4:181","type":""}],"src":"4592:401:181"},{"body":{"nodeType":"YulBlock","src":"5172:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5189:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5200:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5182:6:181"},"nodeType":"YulFunctionCall","src":"5182:21:181"},"nodeType":"YulExpressionStatement","src":"5182:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5223:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5234:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5219:3:181"},"nodeType":"YulFunctionCall","src":"5219:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5239:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5212:6:181"},"nodeType":"YulFunctionCall","src":"5212:30:181"},"nodeType":"YulExpressionStatement","src":"5212:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5262:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5273:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5258:3:181"},"nodeType":"YulFunctionCall","src":"5258:18:181"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"5278:34:181","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5251:6:181"},"nodeType":"YulFunctionCall","src":"5251:62:181"},"nodeType":"YulExpressionStatement","src":"5251:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5344:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5329:3:181"},"nodeType":"YulFunctionCall","src":"5329:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"5349:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5322:6:181"},"nodeType":"YulFunctionCall","src":"5322:33:181"},"nodeType":"YulExpressionStatement","src":"5322:33:181"},{"nodeType":"YulAssignment","src":"5364:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5376:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5387:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5372:3:181"},"nodeType":"YulFunctionCall","src":"5372:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5364:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5149:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5163:4:181","type":""}],"src":"4998:399:181"},{"body":{"nodeType":"YulBlock","src":"5576:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5593:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5604:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5586:6:181"},"nodeType":"YulFunctionCall","src":"5586:21:181"},"nodeType":"YulExpressionStatement","src":"5586:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5627:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5638:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5623:3:181"},"nodeType":"YulFunctionCall","src":"5623:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5643:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5616:6:181"},"nodeType":"YulFunctionCall","src":"5616:30:181"},"nodeType":"YulExpressionStatement","src":"5616:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5666:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5677:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5662:3:181"},"nodeType":"YulFunctionCall","src":"5662:18:181"},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062","kind":"string","nodeType":"YulLiteral","src":"5682:34:181","type":"","value":"ERC20: transfer amount exceeds b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5655:6:181"},"nodeType":"YulFunctionCall","src":"5655:62:181"},"nodeType":"YulExpressionStatement","src":"5655:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5737:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5748:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5733:3:181"},"nodeType":"YulFunctionCall","src":"5733:18:181"},{"hexValue":"616c616e6365","kind":"string","nodeType":"YulLiteral","src":"5753:8:181","type":"","value":"alance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5726:6:181"},"nodeType":"YulFunctionCall","src":"5726:36:181"},"nodeType":"YulExpressionStatement","src":"5726:36:181"},{"nodeType":"YulAssignment","src":"5771:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5794:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5779:3:181"},"nodeType":"YulFunctionCall","src":"5779:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5771:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5553:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5567:4:181","type":""}],"src":"5402:402:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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 abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__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), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122092b290013c9c2d4d59cf30d69f62a9c1cb49410cce974e7774c9d1d5fc6810b664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xB2 SWAP1 ADD EXTCODECOPY SWAP13 0x2D 0x4D MSIZE 0xCF ADDRESS 0xD6 SWAP16 PUSH3 0xA9C1CB 0x49 COINBASE 0xC 0xCE SWAP8 0x4E PUSH24 0x74C9D1D5FC6810B664736F6C634300080900330000000000 ","sourceMap":"1401:11610:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:181;;1211:22;1193:41;;1181:2;1166:18;4431:197:95;1053:187:181;3242:106:95;3329:12;;3242:106;;;1391:25:181;;;1379:2;1364:18;3242:106:95;1245:177:181;5190:286:95;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1902:36:181;;1890:2;1875:18;3091:91:95;1760:184:181;5871:234:95;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:95;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:138;4568:32:95;719:10:138;4584:7:95;4593:6;4568:8;:32::i;:::-;-1:-1:-1;4617:4:95;;4431:197;-1:-1:-1;;;4431:197:95:o;5190:286::-;5317:4;719:10:138;5373:38:95;5389:4;719:10:138;5404:6:95;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:95;;5190:286;-1:-1:-1;;;;5190:286:95:o;5871:234::-;5959:4;719:10:138;6013:64:95;719:10:138;6029:7:95;6066:10;6038:25;719:10:138;6029:7:95;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:138;6685:4:95;6766:25;719:10:138;6783:7:95;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:95;;3222:2:181;6801:85:95;;;3204:21:181;3261:2;3241:18;;;3234:30;3300:34;3280:18;;;3273:62;-1:-1:-1;;;3351:18:181;;;3344:35;3396:19;;6801:85:95;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:138;3860:28:95;719:10:138;3877:2:95;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:95;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:95;;10627:68;;;;-1:-1:-1;;;10627:68:95;;3628:2:181;10627:68:95;;;3610:21:181;3667:2;3647:18;;;3640:30;3706:34;3686:18;;;3679:62;-1:-1:-1;;;3757:18:181;;;3750:34;3801:19;;10627:68:95;3426:400:181;10627:68:95;-1:-1:-1;;;;;10713:21:95;;10705:68;;;;-1:-1:-1;;;10705:68:95;;4033:2:181;10705:68:95;;;4015:21:181;4072:2;4052:18;;;4045:30;4111:34;4091:18;;;4084:62;-1:-1:-1;;;4162:18:181;;;4155:32;4204:19;;10705:68:95;3831:398:181;10705:68:95;-1:-1:-1;;;;;10784:18:95;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1391:25:181;;;10835:32:95;;1364:18:181;10835:32:95;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:95;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:95;;4436:2:181;11404:68:95;;;4418:21:181;4475:2;4455:18;;;4448:30;4514:31;4494:18;;;4487:59;4563:18;;11404:68:95;4234:353:181;11404:68:95;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:95;;7591:68;;;;-1:-1:-1;;;7591:68:95;;4794:2:181;7591:68:95;;;4776:21:181;4833:2;4813:18;;;4806:30;4872:34;4852:18;;;4845:62;-1:-1:-1;;;4923:18:181;;;4916:35;4968:19;;7591:68:95;4592:401:181;7591:68:95;-1:-1:-1;;;;;7677:16:95;;7669:64;;;;-1:-1:-1;;;7669:64:95;;5200:2:181;7669:64:95;;;5182:21:181;5239:2;5219:18;;;5212:30;5278:34;5258:18;;;5251:62;-1:-1:-1;;;5329:18:181;;;5322:33;5372:19;;7669:64:95;4998:399:181;7669:64:95;-1:-1:-1;;;;;7815:15:95;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:95;;5604:2:181;7840:72:95;;;5586:21:181;5643:2;5623:18;;;5616:30;5682:34;5662:18;;;5655:62;-1:-1:-1;;;5733:18:181;;;5726:36;5779:19;;7840:72:95;5402:402:181;7840:72:95;-1:-1:-1;;;;;7946:15:95;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1391:25:181;;;8161:13:95;;8210:26;;1364:18:181;8210:26:95;;;;;;;8247:37;12180:121;14:597:181;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:181;574:15;-1:-1:-1;;570:29:181;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:181:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:181;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:181:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;:::-;2090:39;1949:186;-1:-1:-1;;;1949:186:181:o;2140:260::-;2208:6;2216;2269:2;2257:9;2248:7;2244:23;2240:32;2237:52;;;2285:1;2282;2275:12;2237:52;2308:29;2327:9;2308:29;:::i;:::-;2298:39;;2356:38;2390:2;2379:9;2375:18;2356:38;:::i;:::-;2346:48;;2140:260;;;;;:::o;2405:380::-;2484:1;2480:12;;;;2527;;;2548:61;;2602:4;2594:6;2590:17;2580:27;;2548:61;2655:2;2647:6;2644:14;2624:18;2621:38;2618:161;;;2701:10;2696:3;2692:20;2689:1;2682:31;2736:4;2733:1;2726:15;2764:4;2761:1;2754:15;2618:161;;2405:380;;;:::o;2790:225::-;2830:3;2861:1;2857:6;2854:1;2851:13;2848:136;;;2906:10;2901:3;2897:20;2894:1;2887:31;2941:4;2938:1;2931:15;2969:4;2966:1;2959:15;2848:136;-1:-1:-1;3000:9:181;;2790:225::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol":{"ERC20Burnable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnFrom(address,uint256)":"79cc6790","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol":{"ERC20Capped":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","cap()":"355274ea","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that adds a cap to the supply of tokens.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"cap()\":{\"details\":\"Returns the cap on the token's total supply.\"},\"constructor\":{\"details\":\"Sets the value of the `cap`. This value is immutable, it can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol\":\"ERC20Capped\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol\":{\"keccak256\":\"0x3fe04ed1daf0f12454333fde982a25b103860d8a010dd5d8479b83ebf1dfb788\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8322152771e94c9e28a3bd9e7c9d5dd4fdd00ae214f95915962a6638d8dfc7d6\",\"dweb:/ipfs/QmaXJvF3UjRHacx3nPgt94DwAuXCkEoz6fS7MLr2jbuJyW\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol":{"ERC20FlashMint":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","flashFee(address,uint256)":"d9d98ce4","flashLoan(address,address,uint256,bytes)":"5cffe9de","increaseAllowance(address,uint256)":"39509351","maxFlashLoan(address)":"613255ab","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC3156 Flash loans extension, as defined in https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. Adds the {flashLoan} method, which provides flash loan support at the token level. By default there is no fee, but this can be changed by overriding {flashFee}. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"flashFee(address,uint256)\":{\"details\":\"Returns the fee applied when doing flash loans. This function calls the {_flashFee} function which returns the fee applied when doing flash loans.\",\"params\":{\"amount\":\"The amount of tokens to be loaned.\",\"token\":\"The token to be flash loaned.\"},\"returns\":{\"_0\":\"The fees applied to the corresponding flash loan.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Performs a flash loan. New tokens are minted and sent to the `receiver`, who is required to implement the {IERC3156FlashBorrower} interface. By the end of the flash loan, the receiver is expected to own amount + fee tokens and have them approved back to the token contract itself so they can be burned.\",\"params\":{\"amount\":\"The amount of tokens to be loaned.\",\"data\":\"An arbitrary datafield that is passed to the receiver.\",\"receiver\":\"The receiver of the flash loan. Should implement the {IERC3156FlashBorrower-onFlashLoan} interface.\",\"token\":\"The token to be flash loaned. Only `address(this)` is supported.\"},\"returns\":{\"_0\":\"`true` if the flash loan was successful.\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"maxFlashLoan(address)\":{\"details\":\"Returns the maximum amount of tokens available for loan.\",\"params\":{\"token\":\"The address of the token that is requested.\"},\"returns\":{\"_0\":\"The amount of token that can be loaned.\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol\":\"ERC20FlashMint\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x294520bb88c710bb1d3c21285f9b531acb5cb9950d77eaeef5598c7328afedb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6ea5de496f90e56940f98692c4869e78e8fc6952a416318e3986674d0aef27d\",\"dweb:/ipfs/QmeDAgZDoMBBdEYB8LTgAy7DLc1footigkkmLuT1qwvxQv\"]},\"contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x0d9159aa6c1a0d8006fb152b0aee46a0f9b8938575ede1a0d7e186b3bc79c8d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbfca0b4091d2f0caa762a3da47b56613d3ad06d1ce2a78dc2660be4febe49a\",\"dweb:/ipfs/QmeV9wZXFgdeUptik1GBzGn9NQfQQdXqRZF1m52jz9tdCY\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol\":{\"keccak256\":\"0x2889f96f15849772ce1ec2b39c2f2ee7848707c7985cb094d14266e00be927d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20828f95b8e46a69650a0cd67070532642aedb5a1f8b394538d97b32c8939aa8\",\"dweb:/ipfs/QmVndy6YgL1FHXKYsD4QyE96RX4JsjKFSPmNhS8o78FiFB\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol":{"ERC20Pausable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","paused()":"5c975abb","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC20 token with pausable token transfers, minting and burning. Useful for scenarios such as preventing trades until the end of an evaluation period, or having an emergency switch for freezing all token transfers in the event of a large bug.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\":\"ERC20Pausable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\":{\"keccak256\":\"0x978847fbff92d66d27d8767402a90ba996970b1936b372406aa17f5492bd8dc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1414cb92779420b50d3e796b47bad6ea800ef1805bc6f9bf35a3ccb4e17db3dc\",\"dweb:/ipfs/QmaMzwYqLiivfaWSgqeaAPboBtJjVD1hSrH48p7ExJZ7DG\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol":{"ERC20Snapshot":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Snapshot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","balanceOfAt(address,uint256)":"4ee2cd7e","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","totalSupplyAt(uint256)":"981b24d0","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Snapshot\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"balanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract extends an ERC20 token with a snapshot mechanism. When a snapshot is created, the balances and total supply at the time are recorded for later access. This can be used to safely create mechanisms based on token balances such as trustless dividends or weighted voting. In naive implementations it's possible to perform a \\\"double spend\\\" attack by reusing the same balance from different accounts. By using snapshots to calculate dividends or voting power, those attacks no longer apply. It can also be used to create an efficient ERC20 forking mechanism. Snapshots are created by the internal {_snapshot} function, which will emit the {Snapshot} event and return a snapshot id. To get the total supply at the time of a snapshot, call the function {totalSupplyAt} with the snapshot id. To get the balance of an account at the time of a snapshot, call the {balanceOfAt} function with the snapshot id and the account address. NOTE: Snapshot policy can be customized by overriding the {_getCurrentSnapshotId} method. For example, having it return `block.number` will trigger the creation of snapshot at the beginning of each new block. When overriding this function, be careful about the monotonicity of its result. Non-monotonic snapshot ids will break the contract. Implementing snapshots for every block using this method will incur significant gas costs. For a gas-efficient alternative consider {ERC20Votes}. ==== Gas Costs Snapshots are efficient. Snapshot creation is _O(1)_. Retrieval of balances or total supply from a snapshot is _O(log n)_ in the number of snapshots that have been created, although _n_ for a specific account will generally be much smaller since identical balances in subsequent snapshots are stored as a single entry. There is a constant overhead for normal ERC20 transfers due to the additional snapshot bookkeeping. This overhead is only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent transfers will have normal cost until the next snapshot, and so on.\",\"events\":{\"Snapshot(uint256)\":{\"details\":\"Emitted by {_snapshot} when a snapshot identified by `id` is created.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"balanceOfAt(address,uint256)\":{\"details\":\"Retrieves the balance of `account` at the time `snapshotId` was created.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"totalSupplyAt(uint256)\":{\"details\":\"Retrieves the total supply at the time `snapshotId` was created.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol\":\"ERC20Snapshot\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol\":{\"keccak256\":\"0x9f3a9fc338edd87bff11d626ee6f365ac72f03a8841c4a2938438ef81e8cf1d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d2192ec88279638f4866b2c09e017702699fdb995bf1ca167b7110bc5b29d51\",\"dweb:/ipfs/Qme2JhqYoH25xKpgC7qj8o9yKofJyragCuHfX4CQMuPuef\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x680e05d017ad097db73ea34e085c7c722c195c1f517f7311fcb3745571a18ba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28f21c523cdacbe08106b89fd2aa4b1a85d1a22e0c80ec36628342cce546e67b\",\"dweb:/ipfs/QmYGMF9UVC7GScniiN5KEFP1whSF4YYHDLJTGbxDarr47B\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"ERC20Votes":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"name":"checkpoints","outputs":[{"components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}],"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","checkpoints(address,uint32)":"f1127ed8","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting power can be queried through the public accessors {getVotes} and {getPastVotes}. By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. _Available since v4.2._\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. It is but NOT the sum of all the delegated votes! Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `blockNumber`. Requirements: - `blockNumber` must have been already mined\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":\"ERC20Votes\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x701d39aea4bce743cbc051a7f5ad0f27ee18f3eb38b5303e33b0eb7a54c0608d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e93c025465734c2adc943a0db1aa5d2e249e741f3ee28ed60eaf2944a080b693\",\"dweb:/ipfs/Qmc7tA4E2356bzms761sJYwRMh9JVtK8hG5hivHiPjL4pg\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":{\"keccak256\":\"0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7\",\"dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol":{"ERC20VotesComp":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"name":"checkpoints","outputs":[{"components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}],"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","checkpoints(address,uint32)":"f1127ed8","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getCurrentVotes(address)":"b4b5ea57","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getPriorVotes(address,uint256)":"782d6fe1","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getCurrentVotes\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPriorVotes\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC20 to support Compound's voting and delegation. This version exactly matches Compound's interface, with the drawback of only supporting supply up to (2^96^ - 1). NOTE: You should use this contract if you need exact compatibility with COMP (for example in order to use your token with Governor Alpha or Bravo) and if you are sure the supply cap of 2^96^ is enough for you. Otherwise, use the {ERC20Votes} variant of this module. This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting power can be queried through the public accessors {getCurrentVotes} and {getPriorVotes}. By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. _Available since v4.2._\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"getCurrentVotes(address)\":{\"details\":\"Comp version of the {getVotes} accessor, with `uint96` return type.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. It is but NOT the sum of all the delegated votes! Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `blockNumber`. Requirements: - `blockNumber` must have been already mined\"},\"getPriorVotes(address,uint256)\":{\"details\":\"Comp version of the {getPastVotes} accessor, with `uint96` return type.\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol\":\"ERC20VotesComp\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x701d39aea4bce743cbc051a7f5ad0f27ee18f3eb38b5303e33b0eb7a54c0608d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e93c025465734c2adc943a0db1aa5d2e249e741f3ee28ed60eaf2944a080b693\",\"dweb:/ipfs/Qmc7tA4E2356bzms761sJYwRMh9JVtK8hG5hivHiPjL4pg\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol\":{\"keccak256\":\"0x3e2cf78abe35170695b26fb9f820fe7bfeed607604f4d6c1261f811704c79f16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d677e79ed97d35fa1fa3df7b45df9de5947e0939bb7229bfb05bc00fef9ed45\",\"dweb:/ipfs/QmRiFfC3KJH6KX7hP5cdasrxvEVbB2Fy8UJDDbf2xNSax9\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":{\"keccak256\":\"0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7\",\"dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol":{"ERC20Wrapper":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","depositFor(address,uint256)":"2f4f21e2","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","underlying()":"6f307dc3","withdrawTo(address,uint256)":"205c2878"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of the ERC20 token contract to support token wrapping. Users can deposit and withdraw \\\"underlying tokens\\\" and receive a matching number of \\\"wrapped tokens\\\". This is useful in conjunction with other modules. For example, combining this wrapping mechanism with {ERC20Votes} will allow the wrapping of an existing \\\"basic\\\" ERC20 into a governance token. _Available since v4.2._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"See {ERC20-decimals}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"depositFor(address,uint256)\":{\"details\":\"Allow a user to deposit underlying tokens and mint the corresponding number of wrapped tokens.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"withdrawTo(address,uint256)\":{\"details\":\"Allow a user to burn a number of wrapped tokens and withdraw the corresponding number of underlying tokens.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol\":\"ERC20Wrapper\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol\":{\"keccak256\":\"0xc5473077f142608b060443a1c3a7ebd4c220ba874c9a9b6adcccc039de8bb7b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6e82d35156238f95063adbf56793419be3baad27b82c451450a710a629b2c9\",\"dweb:/ipfs/QmRbc2fW23k7NkzJAiSJE7e7t6JgbVGr1wVKPzAcB2BNoL\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol":{"ERC4626":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","asset()":"38d52e0f","balanceOf(address)":"70a08231","convertToAssets(uint256)":"07a2d13a","convertToShares(uint256)":"c6e6f592","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","deposit(uint256,address)":"6e553f65","increaseAllowance(address,uint256)":"39509351","maxDeposit(address)":"402d267d","maxMint(address)":"c63d75b6","maxRedeem(address)":"d905777e","maxWithdraw(address)":"ce96cb77","mint(uint256,address)":"94bf804d","name()":"06fdde03","previewDeposit(uint256)":"ef8b30f7","previewMint(uint256)":"b3d7f6b9","previewRedeem(uint256)":"4cdad506","previewWithdraw(uint256)":"0a28a477","redeem(uint256,address,address)":"ba087652","symbol()":"95d89b41","totalAssets()":"01e1d114","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(uint256,address,address)":"b460af94"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC4626 \\\"Tokenized Vault Standard\\\" as defined in https://eips.ethereum.org/EIPS/eip-4626[EIP-4626]. This extension allows the minting and burning of \\\"shares\\\" (represented using the ERC20 inheritance) in exchange for underlying \\\"assets\\\" through standardized {deposit}, {mint}, {redeem} and {burn} workflows. This contract extends the ERC20 standard. Any additional extensions included along it would affect the \\\"shares\\\" token represented by this contract and not the \\\"assets\\\" token which is an independent contract. CAUTION: Deposits and withdrawals may incur unexpected slippage. Users should verify that the amount received of shares or assets is as expected. EOAs should operate through a wrapper that performs these checks such as https://github.com/fei-protocol/ERC4626#erc4626router-and-base[ERC4626Router]. _Available since v4.7._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"asset()\":{\"details\":\"See {IERC4626-asset}. \"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Set the underlying asset contract. This must be an ERC20-compatible contract (ERC20 or ERC777).\"},\"convertToAssets(uint256)\":{\"details\":\"See {IERC4626-convertToAssets}. \"},\"convertToShares(uint256)\":{\"details\":\"See {IERC4626-convertToShares}. \"},\"decimals()\":{\"details\":\"Decimals are read from the underlying asset in the constructor and cached. If this fails (e.g., the asset has not been created yet), the cached value is set to a default obtained by `super.decimals()` (which depends on inheritance but is most likely 18). Override this function in order to set a guaranteed hardcoded value. See {IERC20Metadata-decimals}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256,address)\":{\"details\":\"See {IERC4626-deposit}. \"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"maxDeposit(address)\":{\"details\":\"See {IERC4626-maxDeposit}. \"},\"maxMint(address)\":{\"details\":\"See {IERC4626-maxMint}. \"},\"maxRedeem(address)\":{\"details\":\"See {IERC4626-maxRedeem}. \"},\"maxWithdraw(address)\":{\"details\":\"See {IERC4626-maxWithdraw}. \"},\"mint(uint256,address)\":{\"details\":\"See {IERC4626-mint}. \"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"previewDeposit(uint256)\":{\"details\":\"See {IERC4626-previewDeposit}. \"},\"previewMint(uint256)\":{\"details\":\"See {IERC4626-previewMint}. \"},\"previewRedeem(uint256)\":{\"details\":\"See {IERC4626-previewRedeem}. \"},\"previewWithdraw(uint256)\":{\"details\":\"See {IERC4626-previewWithdraw}. \"},\"redeem(uint256,address,address)\":{\"details\":\"See {IERC4626-redeem}. \"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalAssets()\":{\"details\":\"See {IERC4626-totalAssets}. \"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"withdraw(uint256,address,address)\":{\"details\":\"See {IERC4626-withdraw}. \"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol\":\"ERC4626\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC4626.sol\":{\"keccak256\":\"0xd82776ed6975a5939668e068f995acb1394c2f60a12a9ef3f14cacb91b5a8fd4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f381a6a834cd8d5296b819365ffd39d192ab7ac3d458b894a612d1c3b92f03f\",\"dweb:/ipfs/QmTRQE9c57bHGtuubLp8fMAA5jfsb1BR5s7iPd9cWSPfKm\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol\":{\"keccak256\":\"0xec3b5256889e2ef052b60a53c33ea8692a4d0f46c9e2f8ba1a07dbef81890df1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9775f7fcd1abc5466552e90815ecfdfc4510da4d3f80a31741afd23fe2cbd8dd\",\"dweb:/ipfs/QmZjZMhPCaywwFshjNBYxozzd3u7raxU6KpHGzK4z9hs9n\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol":{"ERC20Permit":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. _Available since v3.4._\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\\\"1\\\"`. It's a good idea to use the same `name` that is defined as the ERC20 token name.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"stateVariables\":{\"_PERMIT_TYPEHASH_DEPRECATED_SLOT\":{\"custom:oz-renamed-from\":\"_PERMIT_TYPEHASH\",\"details\":\"In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`. However, to ensure consistency with the upgradeable transpiler, we will continue to reserve a slot.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":\"ERC20Permit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":{\"keccak256\":\"0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7\",\"dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol":{"IERC20Permit":{"abi":[{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol":{"ERC20PresetFixedSupply":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_12850":{"entryPoint":null,"id":12850,"parameterSlots":2,"returnSlots":0},"@_15996":{"entryPoint":null,"id":15996,"parameterSlots":4,"returnSlots":0},"@_afterTokenTransfer_13391":{"entryPoint":null,"id":13391,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_13380":{"entryPoint":null,"id":13380,"parameterSlots":3,"returnSlots":0},"@_mint_13209":{"entryPoint":130,"id":13209,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":516,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_address_fromMemory":{"entryPoint":699,"id":null,"parameterSlots":2,"returnSlots":4},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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":848,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":887,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":494,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2986:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1188:639:181","statements":[{"body":{"nodeType":"YulBlock","src":"1235:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1244:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1247:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1237:6:181"},"nodeType":"YulFunctionCall","src":"1237:12:181"},"nodeType":"YulExpressionStatement","src":"1237:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1209:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1218:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1205:3:181"},"nodeType":"YulFunctionCall","src":"1205:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1230:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1201:3:181"},"nodeType":"YulFunctionCall","src":"1201:33:181"},"nodeType":"YulIf","src":"1198:53:181"},{"nodeType":"YulVariableDeclaration","src":"1260:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1280:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1274:5:181"},"nodeType":"YulFunctionCall","src":"1274:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1264:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1299:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1317:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1321:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1313:3:181"},"nodeType":"YulFunctionCall","src":"1313:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1325:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1309:3:181"},"nodeType":"YulFunctionCall","src":"1309:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1303:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1354:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1363:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1366:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1356:6:181"},"nodeType":"YulFunctionCall","src":"1356:12:181"},"nodeType":"YulExpressionStatement","src":"1356:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1342:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1350:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1339:2:181"},"nodeType":"YulFunctionCall","src":"1339:14:181"},"nodeType":"YulIf","src":"1336:34:181"},{"nodeType":"YulAssignment","src":"1379:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1422:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1433:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1418:3:181"},"nodeType":"YulFunctionCall","src":"1418:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1442:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1389:28:181"},"nodeType":"YulFunctionCall","src":"1389:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1379:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1459:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1485:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1496:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1481:3:181"},"nodeType":"YulFunctionCall","src":"1481:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1475:5:181"},"nodeType":"YulFunctionCall","src":"1475:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1463:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1529:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1538:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1541:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1531:6:181"},"nodeType":"YulFunctionCall","src":"1531:12:181"},"nodeType":"YulExpressionStatement","src":"1531:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1515:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1525:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1512:2:181"},"nodeType":"YulFunctionCall","src":"1512:16:181"},"nodeType":"YulIf","src":"1509:36:181"},{"nodeType":"YulAssignment","src":"1554:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1597:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1608:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1593:3:181"},"nodeType":"YulFunctionCall","src":"1593:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1619:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1564:28:181"},"nodeType":"YulFunctionCall","src":"1564:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1554:6:181"}]},{"nodeType":"YulAssignment","src":"1636:35:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1656:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1667:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1652:3:181"},"nodeType":"YulFunctionCall","src":"1652:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1646:5:181"},"nodeType":"YulFunctionCall","src":"1646:25:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1636:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1680:38:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1703:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1714:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1699:3:181"},"nodeType":"YulFunctionCall","src":"1699:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1693:5:181"},"nodeType":"YulFunctionCall","src":"1693:25:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1684:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1781:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1790:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1793:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1783:6:181"},"nodeType":"YulFunctionCall","src":"1783:12:181"},"nodeType":"YulExpressionStatement","src":"1783:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1740:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1751:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1766:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1771:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1762:3:181"},"nodeType":"YulFunctionCall","src":"1762:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1775:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1758:3:181"},"nodeType":"YulFunctionCall","src":"1758:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1747:3:181"},"nodeType":"YulFunctionCall","src":"1747:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1737:2:181"},"nodeType":"YulFunctionCall","src":"1737:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1730:6:181"},"nodeType":"YulFunctionCall","src":"1730:50:181"},"nodeType":"YulIf","src":"1727:70:181"},{"nodeType":"YulAssignment","src":"1806:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1816:5:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1806:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1130:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1141:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1153:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1161:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1169:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1177:6:181","type":""}],"src":"1036:791:181"},{"body":{"nodeType":"YulBlock","src":"2006:181:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2023:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2034:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2016:6:181"},"nodeType":"YulFunctionCall","src":"2016:21:181"},"nodeType":"YulExpressionStatement","src":"2016:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2057:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2068:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2053:3:181"},"nodeType":"YulFunctionCall","src":"2053:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2073:2:181","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2046:6:181"},"nodeType":"YulFunctionCall","src":"2046:30:181"},"nodeType":"YulExpressionStatement","src":"2046:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2096:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2107:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2092:3:181"},"nodeType":"YulFunctionCall","src":"2092:18:181"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"2112:33:181","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2085:6:181"},"nodeType":"YulFunctionCall","src":"2085:61:181"},"nodeType":"YulExpressionStatement","src":"2085:61:181"},{"nodeType":"YulAssignment","src":"2155:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2167:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2178:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2163:3:181"},"nodeType":"YulFunctionCall","src":"2163:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2155:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1983:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1997:4:181","type":""}],"src":"1832:355:181"},{"body":{"nodeType":"YulBlock","src":"2240:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"2275:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2296:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2303:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2308:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2299:3:181"},"nodeType":"YulFunctionCall","src":"2299:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2289:6:181"},"nodeType":"YulFunctionCall","src":"2289:31:181"},"nodeType":"YulExpressionStatement","src":"2289:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2340:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2343:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2333:6:181"},"nodeType":"YulFunctionCall","src":"2333:15:181"},"nodeType":"YulExpressionStatement","src":"2333:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2368:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2371:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2361:6:181"},"nodeType":"YulFunctionCall","src":"2361:15:181"},"nodeType":"YulExpressionStatement","src":"2361:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2256:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2263:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2259:3:181"},"nodeType":"YulFunctionCall","src":"2259:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2253:2:181"},"nodeType":"YulFunctionCall","src":"2253:13:181"},"nodeType":"YulIf","src":"2250:136:181"},{"nodeType":"YulAssignment","src":"2395:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2406:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"2409:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2402:3:181"},"nodeType":"YulFunctionCall","src":"2402:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2395:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2223:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2226:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2232:3:181","type":""}],"src":"2192:225:181"},{"body":{"nodeType":"YulBlock","src":"2523:76:181","statements":[{"nodeType":"YulAssignment","src":"2533:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2545:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2556:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2541:3:181"},"nodeType":"YulFunctionCall","src":"2541:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2533:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2575:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2586:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2568:6:181"},"nodeType":"YulFunctionCall","src":"2568:25:181"},"nodeType":"YulExpressionStatement","src":"2568:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2492:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2503:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2514:4:181","type":""}],"src":"2422:177:181"},{"body":{"nodeType":"YulBlock","src":"2659:325:181","statements":[{"nodeType":"YulAssignment","src":"2669:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2683:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2686:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2679:3:181"},"nodeType":"YulFunctionCall","src":"2679:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2669:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2700:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2730:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2736:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2726:3:181"},"nodeType":"YulFunctionCall","src":"2726:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2704:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2777:31:181","statements":[{"nodeType":"YulAssignment","src":"2779:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2793:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2801:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2789:3:181"},"nodeType":"YulFunctionCall","src":"2789:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2779:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2757:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2750:6:181"},"nodeType":"YulFunctionCall","src":"2750:26:181"},"nodeType":"YulIf","src":"2747:61:181"},{"body":{"nodeType":"YulBlock","src":"2867:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2888:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2895:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2900:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2891:3:181"},"nodeType":"YulFunctionCall","src":"2891:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2881:6:181"},"nodeType":"YulFunctionCall","src":"2881:31:181"},"nodeType":"YulExpressionStatement","src":"2881:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2932:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2935:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2925:6:181"},"nodeType":"YulFunctionCall","src":"2925:15:181"},"nodeType":"YulExpressionStatement","src":"2925:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2960:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2963:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2953:6:181"},"nodeType":"YulFunctionCall","src":"2953:15:181"},"nodeType":"YulExpressionStatement","src":"2953:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2823:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2846:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2854:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2843:2:181"},"nodeType":"YulFunctionCall","src":"2843:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2820:2:181"},"nodeType":"YulFunctionCall","src":"2820:38:181"},"nodeType":"YulIf","src":"2817:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2639:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2648:6:181","type":""}],"src":"2604:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_address_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n value2 := mload(add(headStart, 64))\n let value := mload(add(headStart, 96))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value3 := value\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\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 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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000dd938038062000dd98339810160408190526200003491620002bb565b8351849084906200004d90600390602085019062000148565b5080516200006390600490602084019062000148565b5050506200007881836200008260201b60201c565b50505050620003b4565b6001600160a01b038216620000dd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000f1919062000350565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b828054620001569062000377565b90600052602060002090601f0160209004810192826200017a5760008555620001c5565b82601f106200019557805160ff1916838001178555620001c5565b82800160010185558215620001c5579182015b82811115620001c5578251825591602001919060010190620001a8565b50620001d3929150620001d7565b5090565b5b80821115620001d35760008155600101620001d8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200021657600080fd5b81516001600160401b0380821115620002335762000233620001ee565b604051601f8301601f19908116603f011681019082821181831017156200025e576200025e620001ee565b816040528381526020925086838588010111156200027b57600080fd5b600091505b838210156200029f578582018301518183018401529082019062000280565b83821115620002b15760008385830101525b9695505050505050565b60008060008060808587031215620002d257600080fd5b84516001600160401b0380821115620002ea57600080fd5b620002f88883890162000204565b955060208701519150808211156200030f57600080fd5b506200031e8782880162000204565b60408701516060880151919550935090506001600160a01b03811681146200034557600080fd5b939692955090935050565b600082198211156200037257634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200038c57607f821691505b60208210811415620003ae57634e487b7160e01b600052602260045260246000fd5b50919050565b610a1580620003c46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101ad578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806342966c681461015c57806370a082311461017157806379cc67901461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e99190610839565b60405180910390f35b6101056101003660046108aa565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046108d4565b610298565b604051601281526020016100e9565b6101056101573660046108aa565b6102bc565b61016f61016a366004610910565b6102de565b005b61011961017f366004610929565b6001600160a01b031660009081526020819052604090205490565b61016f6101a83660046108aa565b6102eb565b6100dc610304565b6101056101c33660046108aa565b610313565b6101056101d63660046108aa565b610393565b6101196101e936600461094b565b6103a1565b6060600380546101fd9061097e565b80601f01602080910402602001604051908101604052809291908181526020018280546102299061097e565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103cc565b5060019392505050565b6000336102a68582856104f1565b6102b185858561056b565b506001949350505050565b60003361028e8185856102cf83836103a1565b6102d991906109b9565b6103cc565b6102e8338261070f565b50565b6102f68233836104f1565b610300828261070f565b5050565b6060600480546101fd9061097e565b6000338161032182866103a1565b9050838110156103865760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b182868684036103cc565b60003361028e81858561056b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661042e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161037d565b6001600160a01b03821661048f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161037d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104fd84846103a1565b9050600019811461056557818110156105585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161037d565b61056584848484036103cc565b50505050565b6001600160a01b0383166105cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161037d565b6001600160a01b0382166106315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161037d565b6001600160a01b038316600090815260208190526040902054818110156106a95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161037d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610565565b6001600160a01b03821661076f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161037d565b6001600160a01b038216600090815260208190526040902054818110156107e35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161037d565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104e4565b600060208083528351808285015260005b818110156108665785810183015185820160400152820161084a565b81811115610878576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146108a557600080fd5b919050565b600080604083850312156108bd57600080fd5b6108c68361088e565b946020939093013593505050565b6000806000606084860312156108e957600080fd5b6108f28461088e565b92506109006020850161088e565b9150604084013590509250925092565b60006020828403121561092257600080fd5b5035919050565b60006020828403121561093b57600080fd5b6109448261088e565b9392505050565b6000806040838503121561095e57600080fd5b6109678361088e565b91506109756020840161088e565b90509250929050565b600181811c9082168061099257607f821691505b602082108114156109b357634e487b7160e01b600052602260045260246000fd5b50919050565b600082198211156109da57634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220ef4cdad4cfbd709511ba0537694c82d9ac658e6c82631e8c36550aa07b73c4b564736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xDD9 CODESIZE SUB DUP1 PUSH3 0xDD9 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2BB JUMP JUMPDEST DUP4 MLOAD DUP5 SWAP1 DUP5 SWAP1 PUSH3 0x4D SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x148 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x63 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x148 JUMP JUMPDEST POP POP POP PUSH3 0x78 DUP2 DUP4 PUSH3 0x82 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP POP PUSH3 0x3B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0xDD 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 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0xF1 SWAP2 SWAP1 PUSH3 0x350 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x156 SWAP1 PUSH3 0x377 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x17A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1C5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x195 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1C5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1C5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1C5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1A8 JUMP JUMPDEST POP PUSH3 0x1D3 SWAP3 SWAP2 POP PUSH3 0x1D7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1D3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1D8 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 PUSH3 0x216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x233 JUMPI PUSH3 0x233 PUSH3 0x1EE 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 PUSH3 0x25E JUMPI PUSH3 0x25E PUSH3 0x1EE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x29F JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x280 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x2B1 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x2D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2F8 DUP9 DUP4 DUP10 ADD PUSH3 0x204 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x31E DUP8 DUP3 DUP9 ADD PUSH3 0x204 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MLOAD PUSH1 0x60 DUP9 ADD MLOAD SWAP2 SWAP6 POP SWAP4 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x372 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x38C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3AE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA15 DUP1 PUSH3 0x3C4 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 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x127 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDC PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x839 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH2 0x100 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x280 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x135 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D4 JUMP JUMPDEST PUSH2 0x298 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x16F PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x910 JUMP JUMPDEST PUSH2 0x2DE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x119 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x929 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x16F PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x2EB JUMP JUMPDEST PUSH2 0xDC PUSH2 0x304 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x1D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x393 JUMP JUMPDEST PUSH2 0x119 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x94B JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1FD SWAP1 PUSH2 0x97E 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 0x229 SWAP1 PUSH2 0x97E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x276 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x276 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 0x259 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x3CC JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2A6 DUP6 DUP3 DUP6 PUSH2 0x4F1 JUMP JUMPDEST PUSH2 0x2B1 DUP6 DUP6 DUP6 PUSH2 0x56B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x2CF DUP4 DUP4 PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x2D9 SWAP2 SWAP1 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x3CC JUMP JUMPDEST PUSH2 0x2E8 CALLER DUP3 PUSH2 0x70F JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F6 DUP3 CALLER DUP4 PUSH2 0x4F1 JUMP JUMPDEST PUSH2 0x300 DUP3 DUP3 PUSH2 0x70F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1FD SWAP1 PUSH2 0x97E JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x321 DUP3 DUP7 PUSH2 0x3A1 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x386 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B1 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x3CC JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x56B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x42E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x48F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FD DUP5 DUP5 PUSH2 0x3A1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x565 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x558 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37D JUMP JUMPDEST PUSH2 0x565 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x3CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x631 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x565 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x76F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x4E4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x866 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x84A JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x878 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x8A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8C6 DUP4 PUSH2 0x88E JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x8E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F2 DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 POP PUSH2 0x900 PUSH1 0x20 DUP6 ADD PUSH2 0x88E JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x93B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x944 DUP3 PUSH2 0x88E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x95E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x967 DUP4 PUSH2 0x88E JUMP JUMPDEST SWAP2 POP PUSH2 0x975 PUSH1 0x20 DUP5 ADD PUSH2 0x88E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x992 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x9B3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x9DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0x4C 0xDA 0xD4 0xCF 0xBD PUSH17 0x9511BA0537694C82D9AC658E6C82631E8C CALLDATASIZE SSTORE EXP LOG0 PUSH28 0x73C4B564736F6C634300080900330000000000000000000000000000 ","sourceMap":"637:387:109:-:0;;;828:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:13:95;;964:4:109;;970:6;;2042:13:95;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2065:17:95;;;;:7;;:17;;;;;:::i;:::-;;1976:113;;988:27:109::1;994:5;1001:13;988:5;;;:27;;:::i;:::-;828:194:::0;;;;637:387;;8567:535:95;-1:-1:-1;;;;;8650:21:95;;8642:65;;;;-1:-1:-1;;;8642:65:95;;2034:2:181;8642:65:95;;;2016:21:181;2073:2;2053:18;;;2046:30;2112:33;2092:18;;;2085:61;2163:18;;8642:65:95;;;;;;;;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:95;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;2568:25:181;;;8999:37:95;;2541:18:181;8999:37:95;;;;;;;8567:535;;:::o;637:387:109:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;637:387:109;;;-1:-1:-1;637:387:109;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:791::-;1153:6;1161;1169;1177;1230:3;1218:9;1209:7;1205:23;1201:33;1198:53;;;1247:1;1244;1237:12;1198:53;1274:16;;-1:-1:-1;;;;;1339:14:181;;;1336:34;;;1366:1;1363;1356:12;1336:34;1389:61;1442:7;1433:6;1422:9;1418:22;1389:61;:::i;:::-;1379:71;;1496:2;1485:9;1481:18;1475:25;1459:41;;1525:2;1515:8;1512:16;1509:36;;;1541:1;1538;1531:12;1509:36;;1564:63;1619:7;1608:8;1597:9;1593:24;1564:63;:::i;:::-;1667:2;1652:18;;1646:25;1714:2;1699:18;;1693:25;1554:73;;-1:-1:-1;1646:25:181;-1:-1:-1;1693:25:181;-1:-1:-1;;;;;;1747:31:181;;1737:42;;1727:70;;1793:1;1790;1783:12;1727:70;1036:791;;;;-1:-1:-1;1036:791:181;;-1:-1:-1;;1036:791:181:o;2192:225::-;2232:3;2263:1;2259:6;2256:1;2253:13;2250:136;;;2308:10;2303:3;2299:20;2296:1;2289:31;2343:4;2340:1;2333:15;2371:4;2368:1;2361:15;2250:136;-1:-1:-1;2402:9:181;;2192:225::o;2604:380::-;2683:1;2679:12;;;;2726;;;2747:61;;2801:4;2793:6;2789:17;2779:27;;2747:61;2854:2;2846:6;2843:14;2823:18;2820:38;2817:161;;;2900:10;2895:3;2891:20;2888:1;2881:31;2935:4;2932:1;2925:15;2963:4;2960:1;2953:15;2817:161;;2604:380;;;:::o;:::-;637:387:109;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_13391":{"entryPoint":null,"id":13391,"parameterSlots":3,"returnSlots":0},"@_approve_13326":{"entryPoint":972,"id":13326,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_13380":{"entryPoint":null,"id":13380,"parameterSlots":3,"returnSlots":0},"@_burn_13281":{"entryPoint":1807,"id":13281,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_spendAllowance_13369":{"entryPoint":1265,"id":13369,"parameterSlots":3,"returnSlots":0},"@_transfer_13152":{"entryPoint":1387,"id":13152,"parameterSlots":3,"returnSlots":0},"@allowance_12947":{"entryPoint":929,"id":12947,"parameterSlots":2,"returnSlots":1},"@approve_12972":{"entryPoint":640,"id":12972,"parameterSlots":2,"returnSlots":1},"@balanceOf_12904":{"entryPoint":null,"id":12904,"parameterSlots":1,"returnSlots":1},"@burnFrom_13513":{"entryPoint":747,"id":13513,"parameterSlots":2,"returnSlots":0},"@burn_13492":{"entryPoint":734,"id":13492,"parameterSlots":1,"returnSlots":0},"@decimals_12880":{"entryPoint":null,"id":12880,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_13075":{"entryPoint":787,"id":13075,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_13034":{"entryPoint":700,"id":13034,"parameterSlots":2,"returnSlots":1},"@name_12860":{"entryPoint":494,"id":12860,"parameterSlots":0,"returnSlots":1},"@symbol_12870":{"entryPoint":772,"id":12870,"parameterSlots":0,"returnSlots":1},"@totalSupply_12890":{"entryPoint":null,"id":12890,"parameterSlots":0,"returnSlots":1},"@transferFrom_13005":{"entryPoint":664,"id":13005,"parameterSlots":3,"returnSlots":1},"@transfer_12929":{"entryPoint":915,"id":12929,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":2190,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":2379,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":2260,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":2218,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":2320,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2105,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__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},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2489,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":2430,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:6796:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:476:181","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:181"},"nodeType":"YulFunctionCall","src":"166:21:181"},"nodeType":"YulExpressionStatement","src":"166:21:181"},{"nodeType":"YulVariableDeclaration","src":"196:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:181"},"nodeType":"YulFunctionCall","src":"210:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:181"},"nodeType":"YulFunctionCall","src":"232:34:181"},"nodeType":"YulExpressionStatement","src":"232:34:181"},{"nodeType":"YulVariableDeclaration","src":"275:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:181"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:181"},"nodeType":"YulFunctionCall","src":"369:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:181"},"nodeType":"YulFunctionCall","src":"365:26:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:181"},"nodeType":"YulFunctionCall","src":"403:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:181"},"nodeType":"YulFunctionCall","src":"399:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:181"},"nodeType":"YulFunctionCall","src":"393:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:181"},"nodeType":"YulFunctionCall","src":"358:66:181"},"nodeType":"YulExpressionStatement","src":"358:66:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:181","statements":[{"nodeType":"YulAssignment","src":"318:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:181"},"nodeType":"YulFunctionCall","src":"323:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:181","statements":[]},"src":"294:140:181"},{"body":{"nodeType":"YulBlock","src":"468:66:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"497:9:181"},{"name":"length","nodeType":"YulIdentifier","src":"508:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"493:3:181"},"nodeType":"YulFunctionCall","src":"493:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"489:3:181"},"nodeType":"YulFunctionCall","src":"489:31:181"},{"kind":"number","nodeType":"YulLiteral","src":"522:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"482:6:181"},"nodeType":"YulFunctionCall","src":"482:42:181"},"nodeType":"YulExpressionStatement","src":"482:42:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"449:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"446:2:181"},"nodeType":"YulFunctionCall","src":"446:13:181"},"nodeType":"YulIf","src":"443:91:181"},{"nodeType":"YulAssignment","src":"543:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"559:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"578:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"586:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"574:3:181"},"nodeType":"YulFunctionCall","src":"574:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"595:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"591:3:181"},"nodeType":"YulFunctionCall","src":"591:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"555:3:181"},"nodeType":"YulFunctionCall","src":"555:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"602:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"551:3:181"},"nodeType":"YulFunctionCall","src":"551:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"543:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:181","type":""}],"src":"14:597:181"},{"body":{"nodeType":"YulBlock","src":"665:124:181","statements":[{"nodeType":"YulAssignment","src":"675:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"697:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"684:12:181"},"nodeType":"YulFunctionCall","src":"684:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"675:5:181"}]},{"body":{"nodeType":"YulBlock","src":"767:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"776:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"779:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"769:6:181"},"nodeType":"YulFunctionCall","src":"769:12:181"},"nodeType":"YulExpressionStatement","src":"769:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"726:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"737:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"752:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"757:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"748:3:181"},"nodeType":"YulFunctionCall","src":"748:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"761:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"744:3:181"},"nodeType":"YulFunctionCall","src":"744:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"733:3:181"},"nodeType":"YulFunctionCall","src":"733:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"723:2:181"},"nodeType":"YulFunctionCall","src":"723:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"716:6:181"},"nodeType":"YulFunctionCall","src":"716:50:181"},"nodeType":"YulIf","src":"713:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"644:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"655:5:181","type":""}],"src":"616:173:181"},{"body":{"nodeType":"YulBlock","src":"881:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"927:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"939:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"929:6:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"nodeType":"YulExpressionStatement","src":"929:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"902:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"911:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:181"},"nodeType":"YulFunctionCall","src":"898:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"923:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"894:3:181"},"nodeType":"YulFunctionCall","src":"894:32:181"},"nodeType":"YulIf","src":"891:52:181"},{"nodeType":"YulAssignment","src":"952:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"981:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"962:18:181"},"nodeType":"YulFunctionCall","src":"962:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"952:6:181"}]},{"nodeType":"YulAssignment","src":"1000:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:181"},"nodeType":"YulFunctionCall","src":"1023:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1010:12:181"},"nodeType":"YulFunctionCall","src":"1010:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1000:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"870:6:181","type":""}],"src":"794:254:181"},{"body":{"nodeType":"YulBlock","src":"1148:92:181","statements":[{"nodeType":"YulAssignment","src":"1158:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1170:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1181:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1166:3:181"},"nodeType":"YulFunctionCall","src":"1166:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1158:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1225:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1218:6:181"},"nodeType":"YulFunctionCall","src":"1218:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1211:6:181"},"nodeType":"YulFunctionCall","src":"1211:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1193:6:181"},"nodeType":"YulFunctionCall","src":"1193:41:181"},"nodeType":"YulExpressionStatement","src":"1193:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1117:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1128:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1139:4:181","type":""}],"src":"1053:187:181"},{"body":{"nodeType":"YulBlock","src":"1346:76:181","statements":[{"nodeType":"YulAssignment","src":"1356:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1368:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1364:3:181"},"nodeType":"YulFunctionCall","src":"1364:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1356:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1409:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1391:6:181"},"nodeType":"YulFunctionCall","src":"1391:25:181"},"nodeType":"YulExpressionStatement","src":"1391:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1315:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1326:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1337:4:181","type":""}],"src":"1245:177:181"},{"body":{"nodeType":"YulBlock","src":"1531:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"1577:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1586:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1589:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1579:6:181"},"nodeType":"YulFunctionCall","src":"1579:12:181"},"nodeType":"YulExpressionStatement","src":"1579:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1552:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1561:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1548:3:181"},"nodeType":"YulFunctionCall","src":"1548:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1573:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1544:3:181"},"nodeType":"YulFunctionCall","src":"1544:32:181"},"nodeType":"YulIf","src":"1541:52:181"},{"nodeType":"YulAssignment","src":"1602:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1631:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1612:18:181"},"nodeType":"YulFunctionCall","src":"1612:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1602:6:181"}]},{"nodeType":"YulAssignment","src":"1650:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1679:3:181"},"nodeType":"YulFunctionCall","src":"1679:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1660:18:181"},"nodeType":"YulFunctionCall","src":"1660:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1650:6:181"}]},{"nodeType":"YulAssignment","src":"1707:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1745:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1730:3:181"},"nodeType":"YulFunctionCall","src":"1730:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1717:12:181"},"nodeType":"YulFunctionCall","src":"1717:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1707:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1481:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1492:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1504:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1512:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1520:6:181","type":""}],"src":"1427:328:181"},{"body":{"nodeType":"YulBlock","src":"1857:87:181","statements":[{"nodeType":"YulAssignment","src":"1867:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1890:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1875:3:181"},"nodeType":"YulFunctionCall","src":"1875:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1867:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1909:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1932:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1920:3:181"},"nodeType":"YulFunctionCall","src":"1920:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1902:6:181"},"nodeType":"YulFunctionCall","src":"1902:36:181"},"nodeType":"YulExpressionStatement","src":"1902:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1826:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1837:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1848:4:181","type":""}],"src":"1760:184:181"},{"body":{"nodeType":"YulBlock","src":"2019:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"2065:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2074:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2077:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2067:6:181"},"nodeType":"YulFunctionCall","src":"2067:12:181"},"nodeType":"YulExpressionStatement","src":"2067:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2040:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2049:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2036:3:181"},"nodeType":"YulFunctionCall","src":"2036:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2061:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2032:3:181"},"nodeType":"YulFunctionCall","src":"2032:32:181"},"nodeType":"YulIf","src":"2029:52:181"},{"nodeType":"YulAssignment","src":"2090:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2113:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2100:12:181"},"nodeType":"YulFunctionCall","src":"2100:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2090:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1985:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1996:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2008:6:181","type":""}],"src":"1949:180:181"},{"body":{"nodeType":"YulBlock","src":"2204:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2250:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2259:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2262:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2252:6:181"},"nodeType":"YulFunctionCall","src":"2252:12:181"},"nodeType":"YulExpressionStatement","src":"2252:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2225:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2234:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2221:3:181"},"nodeType":"YulFunctionCall","src":"2221:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2246:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2217:3:181"},"nodeType":"YulFunctionCall","src":"2217:32:181"},"nodeType":"YulIf","src":"2214:52:181"},{"nodeType":"YulAssignment","src":"2275:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2304:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2285:18:181"},"nodeType":"YulFunctionCall","src":"2285:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2275:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2170:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2181:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2193:6:181","type":""}],"src":"2134:186:181"},{"body":{"nodeType":"YulBlock","src":"2412:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"2458:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2467:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2470:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2460:6:181"},"nodeType":"YulFunctionCall","src":"2460:12:181"},"nodeType":"YulExpressionStatement","src":"2460:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2433:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2442:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2429:3:181"},"nodeType":"YulFunctionCall","src":"2429:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2454:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2425:3:181"},"nodeType":"YulFunctionCall","src":"2425:32:181"},"nodeType":"YulIf","src":"2422:52:181"},{"nodeType":"YulAssignment","src":"2483:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2512:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2493:18:181"},"nodeType":"YulFunctionCall","src":"2493:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2483:6:181"}]},{"nodeType":"YulAssignment","src":"2531:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2564:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2575:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2560:3:181"},"nodeType":"YulFunctionCall","src":"2560:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2541:18:181"},"nodeType":"YulFunctionCall","src":"2541:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2531:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2370:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2381:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2393:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2401:6:181","type":""}],"src":"2325:260:181"},{"body":{"nodeType":"YulBlock","src":"2645:325:181","statements":[{"nodeType":"YulAssignment","src":"2655:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2669:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2672:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2665:3:181"},"nodeType":"YulFunctionCall","src":"2665:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2655:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2686:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2716:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2722:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2712:3:181"},"nodeType":"YulFunctionCall","src":"2712:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2690:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2763:31:181","statements":[{"nodeType":"YulAssignment","src":"2765:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2779:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2787:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2775:3:181"},"nodeType":"YulFunctionCall","src":"2775:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2765:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2743:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2736:6:181"},"nodeType":"YulFunctionCall","src":"2736:26:181"},"nodeType":"YulIf","src":"2733:61:181"},{"body":{"nodeType":"YulBlock","src":"2853:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2874:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2881:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2886:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2877:3:181"},"nodeType":"YulFunctionCall","src":"2877:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2867:6:181"},"nodeType":"YulFunctionCall","src":"2867:31:181"},"nodeType":"YulExpressionStatement","src":"2867:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2918:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2921:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2911:6:181"},"nodeType":"YulFunctionCall","src":"2911:15:181"},"nodeType":"YulExpressionStatement","src":"2911:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2946:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2949:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2939:6:181"},"nodeType":"YulFunctionCall","src":"2939:15:181"},"nodeType":"YulExpressionStatement","src":"2939:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2809:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2832:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2840:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2829:2:181"},"nodeType":"YulFunctionCall","src":"2829:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2806:2:181"},"nodeType":"YulFunctionCall","src":"2806:38:181"},"nodeType":"YulIf","src":"2803:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2625:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2634:6:181","type":""}],"src":"2590:380:181"},{"body":{"nodeType":"YulBlock","src":"3023:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"3058:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3079:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3086:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3091:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3082:3:181"},"nodeType":"YulFunctionCall","src":"3082:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3072:6:181"},"nodeType":"YulFunctionCall","src":"3072:31:181"},"nodeType":"YulExpressionStatement","src":"3072:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3123:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3126:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3116:6:181"},"nodeType":"YulFunctionCall","src":"3116:15:181"},"nodeType":"YulExpressionStatement","src":"3116:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3151:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3154:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3144:6:181"},"nodeType":"YulFunctionCall","src":"3144:15:181"},"nodeType":"YulExpressionStatement","src":"3144:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3039:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"3046:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3042:3:181"},"nodeType":"YulFunctionCall","src":"3042:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3036:2:181"},"nodeType":"YulFunctionCall","src":"3036:13:181"},"nodeType":"YulIf","src":"3033:136:181"},{"nodeType":"YulAssignment","src":"3178:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3189:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"3192:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3185:3:181"},"nodeType":"YulFunctionCall","src":"3185:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3178:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3006:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"3009:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3015:3:181","type":""}],"src":"2975:225:181"},{"body":{"nodeType":"YulBlock","src":"3379:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3396:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3407:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3389:6:181"},"nodeType":"YulFunctionCall","src":"3389:21:181"},"nodeType":"YulExpressionStatement","src":"3389:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3430:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3441:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3426:3:181"},"nodeType":"YulFunctionCall","src":"3426:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3446:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3419:6:181"},"nodeType":"YulFunctionCall","src":"3419:30:181"},"nodeType":"YulExpressionStatement","src":"3419:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3469:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3480:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3465:3:181"},"nodeType":"YulFunctionCall","src":"3465:18:181"},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77","kind":"string","nodeType":"YulLiteral","src":"3485:34:181","type":"","value":"ERC20: decreased allowance below"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3458:6:181"},"nodeType":"YulFunctionCall","src":"3458:62:181"},"nodeType":"YulExpressionStatement","src":"3458:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3540:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3551:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3536:3:181"},"nodeType":"YulFunctionCall","src":"3536:18:181"},{"hexValue":"207a65726f","kind":"string","nodeType":"YulLiteral","src":"3556:7:181","type":"","value":" zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3529:6:181"},"nodeType":"YulFunctionCall","src":"3529:35:181"},"nodeType":"YulExpressionStatement","src":"3529:35:181"},{"nodeType":"YulAssignment","src":"3573:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3585:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3596:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3581:3:181"},"nodeType":"YulFunctionCall","src":"3581:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3573:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3356:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3370:4:181","type":""}],"src":"3205:401:181"},{"body":{"nodeType":"YulBlock","src":"3785:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3802:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3813:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3795:6:181"},"nodeType":"YulFunctionCall","src":"3795:21:181"},"nodeType":"YulExpressionStatement","src":"3795:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3836:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3847:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3832:3:181"},"nodeType":"YulFunctionCall","src":"3832:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3852:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3825:6:181"},"nodeType":"YulFunctionCall","src":"3825:30:181"},"nodeType":"YulExpressionStatement","src":"3825:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3875:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3886:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3871:3:181"},"nodeType":"YulFunctionCall","src":"3871:18:181"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"3891:34:181","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3864:6:181"},"nodeType":"YulFunctionCall","src":"3864:62:181"},"nodeType":"YulExpressionStatement","src":"3864:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3946:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3957:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3942:3:181"},"nodeType":"YulFunctionCall","src":"3942:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"3962:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3935:6:181"},"nodeType":"YulFunctionCall","src":"3935:34:181"},"nodeType":"YulExpressionStatement","src":"3935:34:181"},{"nodeType":"YulAssignment","src":"3978:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3990:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4001:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3986:3:181"},"nodeType":"YulFunctionCall","src":"3986:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3978:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3762:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3776:4:181","type":""}],"src":"3611:400:181"},{"body":{"nodeType":"YulBlock","src":"4190:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4207:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4218:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4200:6:181"},"nodeType":"YulFunctionCall","src":"4200:21:181"},"nodeType":"YulExpressionStatement","src":"4200:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4241:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4252:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4237:3:181"},"nodeType":"YulFunctionCall","src":"4237:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4257:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4230:6:181"},"nodeType":"YulFunctionCall","src":"4230:30:181"},"nodeType":"YulExpressionStatement","src":"4230:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4280:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4291:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4276:3:181"},"nodeType":"YulFunctionCall","src":"4276:18:181"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"4296:34:181","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4269:6:181"},"nodeType":"YulFunctionCall","src":"4269:62:181"},"nodeType":"YulExpressionStatement","src":"4269:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4351:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4362:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4347:3:181"},"nodeType":"YulFunctionCall","src":"4347:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"4367:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4340:6:181"},"nodeType":"YulFunctionCall","src":"4340:32:181"},"nodeType":"YulExpressionStatement","src":"4340:32:181"},{"nodeType":"YulAssignment","src":"4381:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4393:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4404:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4389:3:181"},"nodeType":"YulFunctionCall","src":"4389:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4381:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4167:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4181:4:181","type":""}],"src":"4016:398:181"},{"body":{"nodeType":"YulBlock","src":"4593:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4610:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4621:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4603:6:181"},"nodeType":"YulFunctionCall","src":"4603:21:181"},"nodeType":"YulExpressionStatement","src":"4603:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4644:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4655:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4640:3:181"},"nodeType":"YulFunctionCall","src":"4640:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4660:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4633:6:181"},"nodeType":"YulFunctionCall","src":"4633:30:181"},"nodeType":"YulExpressionStatement","src":"4633:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4694:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4679:3:181"},"nodeType":"YulFunctionCall","src":"4679:18:181"},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"4699:31:181","type":"","value":"ERC20: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4672:6:181"},"nodeType":"YulFunctionCall","src":"4672:59:181"},"nodeType":"YulExpressionStatement","src":"4672:59:181"},{"nodeType":"YulAssignment","src":"4740:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4752:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4763:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4748:3:181"},"nodeType":"YulFunctionCall","src":"4748:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4740:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4570:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4584:4:181","type":""}],"src":"4419:353:181"},{"body":{"nodeType":"YulBlock","src":"4951:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4968:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4979:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4961:6:181"},"nodeType":"YulFunctionCall","src":"4961:21:181"},"nodeType":"YulExpressionStatement","src":"4961:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5002:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5013:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4998:3:181"},"nodeType":"YulFunctionCall","src":"4998:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5018:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4991:6:181"},"nodeType":"YulFunctionCall","src":"4991:30:181"},"nodeType":"YulExpressionStatement","src":"4991:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5041:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5052:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5037:3:181"},"nodeType":"YulFunctionCall","src":"5037:18:181"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"5057:34:181","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5030:6:181"},"nodeType":"YulFunctionCall","src":"5030:62:181"},"nodeType":"YulExpressionStatement","src":"5030:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5112:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5123:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5108:3:181"},"nodeType":"YulFunctionCall","src":"5108:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"5128:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5101:6:181"},"nodeType":"YulFunctionCall","src":"5101:35:181"},"nodeType":"YulExpressionStatement","src":"5101:35:181"},{"nodeType":"YulAssignment","src":"5145:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5157:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5168:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5153:3:181"},"nodeType":"YulFunctionCall","src":"5153:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5145:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4928:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4942:4:181","type":""}],"src":"4777:401:181"},{"body":{"nodeType":"YulBlock","src":"5357:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5374:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5385:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5367:6:181"},"nodeType":"YulFunctionCall","src":"5367:21:181"},"nodeType":"YulExpressionStatement","src":"5367:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5408:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5419:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5404:3:181"},"nodeType":"YulFunctionCall","src":"5404:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5424:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5397:6:181"},"nodeType":"YulFunctionCall","src":"5397:30:181"},"nodeType":"YulExpressionStatement","src":"5397:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5447:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5458:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5443:3:181"},"nodeType":"YulFunctionCall","src":"5443:18:181"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"5463:34:181","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5436:6:181"},"nodeType":"YulFunctionCall","src":"5436:62:181"},"nodeType":"YulExpressionStatement","src":"5436:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5518:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5529:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5514:3:181"},"nodeType":"YulFunctionCall","src":"5514:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"5534:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5507:6:181"},"nodeType":"YulFunctionCall","src":"5507:33:181"},"nodeType":"YulExpressionStatement","src":"5507:33:181"},{"nodeType":"YulAssignment","src":"5549:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5561:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5572:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5557:3:181"},"nodeType":"YulFunctionCall","src":"5557:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5549:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5334:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5348:4:181","type":""}],"src":"5183:399:181"},{"body":{"nodeType":"YulBlock","src":"5761:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5778:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5789:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5771:6:181"},"nodeType":"YulFunctionCall","src":"5771:21:181"},"nodeType":"YulExpressionStatement","src":"5771:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5812:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5823:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5808:3:181"},"nodeType":"YulFunctionCall","src":"5808:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5828:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5801:6:181"},"nodeType":"YulFunctionCall","src":"5801:30:181"},"nodeType":"YulExpressionStatement","src":"5801:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5851:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5862:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5847:3:181"},"nodeType":"YulFunctionCall","src":"5847:18:181"},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062","kind":"string","nodeType":"YulLiteral","src":"5867:34:181","type":"","value":"ERC20: transfer amount exceeds b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5840:6:181"},"nodeType":"YulFunctionCall","src":"5840:62:181"},"nodeType":"YulExpressionStatement","src":"5840:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5922:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5933:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5918:3:181"},"nodeType":"YulFunctionCall","src":"5918:18:181"},{"hexValue":"616c616e6365","kind":"string","nodeType":"YulLiteral","src":"5938:8:181","type":"","value":"alance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5911:6:181"},"nodeType":"YulFunctionCall","src":"5911:36:181"},"nodeType":"YulExpressionStatement","src":"5911:36:181"},{"nodeType":"YulAssignment","src":"5956:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5968:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5979:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5964:3:181"},"nodeType":"YulFunctionCall","src":"5964:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5956:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5738:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5752:4:181","type":""}],"src":"5587:402:181"},{"body":{"nodeType":"YulBlock","src":"6168:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6185:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6196:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6178:6:181"},"nodeType":"YulFunctionCall","src":"6178:21:181"},"nodeType":"YulExpressionStatement","src":"6178:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6219:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6230:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6215:3:181"},"nodeType":"YulFunctionCall","src":"6215:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6235:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6208:6:181"},"nodeType":"YulFunctionCall","src":"6208:30:181"},"nodeType":"YulExpressionStatement","src":"6208:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6258:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6269:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6254:3:181"},"nodeType":"YulFunctionCall","src":"6254:18:181"},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f20616464726573","kind":"string","nodeType":"YulLiteral","src":"6274:34:181","type":"","value":"ERC20: burn from the zero addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6247:6:181"},"nodeType":"YulFunctionCall","src":"6247:62:181"},"nodeType":"YulExpressionStatement","src":"6247:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6329:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6340:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:181"},"nodeType":"YulFunctionCall","src":"6325:18:181"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"6345:3:181","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6318:6:181"},"nodeType":"YulFunctionCall","src":"6318:31:181"},"nodeType":"YulExpressionStatement","src":"6318:31:181"},{"nodeType":"YulAssignment","src":"6358:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6370:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6381:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6366:3:181"},"nodeType":"YulFunctionCall","src":"6366:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6358:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6145:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6159:4:181","type":""}],"src":"5994:397:181"},{"body":{"nodeType":"YulBlock","src":"6570:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6587:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6598:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6580:6:181"},"nodeType":"YulFunctionCall","src":"6580:21:181"},"nodeType":"YulExpressionStatement","src":"6580:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6621:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6632:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6617:3:181"},"nodeType":"YulFunctionCall","src":"6617:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6637:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6610:6:181"},"nodeType":"YulFunctionCall","src":"6610:30:181"},"nodeType":"YulExpressionStatement","src":"6610:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6660:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6671:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6656:3:181"},"nodeType":"YulFunctionCall","src":"6656:18:181"},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e","kind":"string","nodeType":"YulLiteral","src":"6676:34:181","type":"","value":"ERC20: burn amount exceeds balan"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6649:6:181"},"nodeType":"YulFunctionCall","src":"6649:62:181"},"nodeType":"YulExpressionStatement","src":"6649:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6731:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6742:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6727:3:181"},"nodeType":"YulFunctionCall","src":"6727:18:181"},{"hexValue":"6365","kind":"string","nodeType":"YulLiteral","src":"6747:4:181","type":"","value":"ce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6720:6:181"},"nodeType":"YulFunctionCall","src":"6720:32:181"},"nodeType":"YulExpressionStatement","src":"6720:32:181"},{"nodeType":"YulAssignment","src":"6761:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6773:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6784:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6769:3:181"},"nodeType":"YulFunctionCall","src":"6769:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6761:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6547:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6561:4:181","type":""}],"src":"6396:398:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__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), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101ad578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806342966c681461015c57806370a082311461017157806379cc67901461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e99190610839565b60405180910390f35b6101056101003660046108aa565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046108d4565b610298565b604051601281526020016100e9565b6101056101573660046108aa565b6102bc565b61016f61016a366004610910565b6102de565b005b61011961017f366004610929565b6001600160a01b031660009081526020819052604090205490565b61016f6101a83660046108aa565b6102eb565b6100dc610304565b6101056101c33660046108aa565b610313565b6101056101d63660046108aa565b610393565b6101196101e936600461094b565b6103a1565b6060600380546101fd9061097e565b80601f01602080910402602001604051908101604052809291908181526020018280546102299061097e565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103cc565b5060019392505050565b6000336102a68582856104f1565b6102b185858561056b565b506001949350505050565b60003361028e8185856102cf83836103a1565b6102d991906109b9565b6103cc565b6102e8338261070f565b50565b6102f68233836104f1565b610300828261070f565b5050565b6060600480546101fd9061097e565b6000338161032182866103a1565b9050838110156103865760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b182868684036103cc565b60003361028e81858561056b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661042e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161037d565b6001600160a01b03821661048f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161037d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104fd84846103a1565b9050600019811461056557818110156105585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161037d565b61056584848484036103cc565b50505050565b6001600160a01b0383166105cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161037d565b6001600160a01b0382166106315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161037d565b6001600160a01b038316600090815260208190526040902054818110156106a95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161037d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610565565b6001600160a01b03821661076f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161037d565b6001600160a01b038216600090815260208190526040902054818110156107e35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161037d565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104e4565b600060208083528351808285015260005b818110156108665785810183015185820160400152820161084a565b81811115610878576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146108a557600080fd5b919050565b600080604083850312156108bd57600080fd5b6108c68361088e565b946020939093013593505050565b6000806000606084860312156108e957600080fd5b6108f28461088e565b92506109006020850161088e565b9150604084013590509250925092565b60006020828403121561092257600080fd5b5035919050565b60006020828403121561093b57600080fd5b6109448261088e565b9392505050565b6000806040838503121561095e57600080fd5b6109678361088e565b91506109756020840161088e565b90509250929050565b600181811c9082168061099257607f821691505b602082108114156109b357634e487b7160e01b600052602260045260246000fd5b50919050565b600082198211156109da57634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220ef4cdad4cfbd709511ba0537694c82d9ac658e6c82631e8c36550aa07b73c4b564736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x127 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDC PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x839 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH2 0x100 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x280 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x135 CALLDATASIZE PUSH1 0x4 PUSH2 0x8D4 JUMP JUMPDEST PUSH2 0x298 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE9 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x16F PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x910 JUMP JUMPDEST PUSH2 0x2DE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x119 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x929 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x16F PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x2EB JUMP JUMPDEST PUSH2 0xDC PUSH2 0x304 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH2 0x105 PUSH2 0x1D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x8AA JUMP JUMPDEST PUSH2 0x393 JUMP JUMPDEST PUSH2 0x119 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x94B JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1FD SWAP1 PUSH2 0x97E 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 0x229 SWAP1 PUSH2 0x97E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x276 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x276 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 0x259 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x3CC JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2A6 DUP6 DUP3 DUP6 PUSH2 0x4F1 JUMP JUMPDEST PUSH2 0x2B1 DUP6 DUP6 DUP6 PUSH2 0x56B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x2CF DUP4 DUP4 PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x2D9 SWAP2 SWAP1 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x3CC JUMP JUMPDEST PUSH2 0x2E8 CALLER DUP3 PUSH2 0x70F JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x2F6 DUP3 CALLER DUP4 PUSH2 0x4F1 JUMP JUMPDEST PUSH2 0x300 DUP3 DUP3 PUSH2 0x70F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1FD SWAP1 PUSH2 0x97E JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x321 DUP3 DUP7 PUSH2 0x3A1 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x386 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B1 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x3CC JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x28E DUP2 DUP6 DUP6 PUSH2 0x56B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x42E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x48F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FD DUP5 DUP5 PUSH2 0x3A1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x565 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x558 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37D JUMP JUMPDEST PUSH2 0x565 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x3CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x631 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x565 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x76F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x4E4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x866 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x84A JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x878 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x8A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8C6 DUP4 PUSH2 0x88E JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x8E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F2 DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 POP PUSH2 0x900 PUSH1 0x20 DUP6 ADD PUSH2 0x88E JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x93B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x944 DUP3 PUSH2 0x88E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x95E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x967 DUP4 PUSH2 0x88E JUMP JUMPDEST SWAP2 POP PUSH2 0x975 PUSH1 0x20 DUP5 ADD PUSH2 0x88E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x992 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x9B3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x9DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0x4C 0xDA 0xD4 0xCF 0xBD PUSH17 0x9511BA0537694C82D9AC658E6C82631E8C CALLDATASIZE SSTORE EXP LOG0 PUSH28 0x73C4B564736F6C634300080900330000000000000000000000000000 ","sourceMap":"637:387:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:181;;1211:22;1193:41;;1181:2;1166:18;4431:197:95;1053:187:181;3242:106:95;3329:12;;3242:106;;;1391:25:181;;;1379:2;1364:18;3242:106:95;1245:177:181;5190:286:95;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1902:36:181;;1890:2;1875:18;3091:91:95;1760:184:181;5871:234:95;;;;;;:::i;:::-;;:::i;578:89:97:-;;;;;;:::i;:::-;;:::i;:::-;;3406:125:95;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:95;3480:7;3506:18;;;;;;;;;;;;3406:125;973:161:97;;;;;;:::i;:::-;;:::i;2365:102:95:-;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:138;4568:32:95;719:10:138;4584:7:95;4593:6;4568:8;:32::i;:::-;-1:-1:-1;4617:4:95;;4431:197;-1:-1:-1;;;4431:197:95:o;5190:286::-;5317:4;719:10:138;5373:38:95;5389:4;719:10:138;5404:6:95;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:95;;5190:286;-1:-1:-1;;;;5190:286:95:o;5871:234::-;5959:4;719:10:138;6013:64:95;719:10:138;6029:7:95;6066:10;6038:25;719:10:138;6029:7:95;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;578:89:97:-;633:27;719:10:138;653:6:97;633:5;:27::i;:::-;578:89;:::o;973:161::-;1049:46;1065:7;719:10:138;1088:6:97;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;2365:102:95:-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:138;6685:4:95;6766:25;719:10:138;6783:7:95;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:95;;3407:2:181;6801:85:95;;;3389:21:181;3446:2;3426:18;;;3419:30;3485:34;3465:18;;;3458:62;-1:-1:-1;;;3536:18:181;;;3529:35;3581:19;;6801:85:95;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:138;3860:28:95;719:10:138;3877:2:95;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:95;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:95;;10627:68;;;;-1:-1:-1;;;10627:68:95;;3813:2:181;10627:68:95;;;3795:21:181;3852:2;3832:18;;;3825:30;3891:34;3871:18;;;3864:62;-1:-1:-1;;;3942:18:181;;;3935:34;3986:19;;10627:68:95;3611:400:181;10627:68:95;-1:-1:-1;;;;;10713:21:95;;10705:68;;;;-1:-1:-1;;;10705:68:95;;4218:2:181;10705:68:95;;;4200:21:181;4257:2;4237:18;;;4230:30;4296:34;4276:18;;;4269:62;-1:-1:-1;;;4347:18:181;;;4340:32;4389:19;;10705:68:95;4016:398:181;10705:68:95;-1:-1:-1;;;;;10784:18:95;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1391:25:181;;;10835:32:95;;1364:18:181;10835:32:95;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:95;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:95;;4621:2:181;11404:68:95;;;4603:21:181;4660:2;4640:18;;;4633:30;4699:31;4679:18;;;4672:59;4748:18;;11404:68:95;4419:353:181;11404:68:95;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:95;;7591:68;;;;-1:-1:-1;;;7591:68:95;;4979:2:181;7591:68:95;;;4961:21:181;5018:2;4998:18;;;4991:30;5057:34;5037:18;;;5030:62;-1:-1:-1;;;5108:18:181;;;5101:35;5153:19;;7591:68:95;4777:401:181;7591:68:95;-1:-1:-1;;;;;7677:16:95;;7669:64;;;;-1:-1:-1;;;7669:64:95;;5385:2:181;7669:64:95;;;5367:21:181;5424:2;5404:18;;;5397:30;5463:34;5443:18;;;5436:62;-1:-1:-1;;;5514:18:181;;;5507:33;5557:19;;7669:64:95;5183:399:181;7669:64:95;-1:-1:-1;;;;;7815:15:95;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:95;;5789:2:181;7840:72:95;;;5771:21:181;5828:2;5808:18;;;5801:30;5867:34;5847:18;;;5840:62;-1:-1:-1;;;5918:18:181;;;5911:36;5964:19;;7840:72:95;5587:402:181;7840:72:95;-1:-1:-1;;;;;7946:15:95;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1391:25:181;;;8161:13:95;;8210:26;;1364:18:181;8210:26:95;;;;;;;8247:37;9422:659;;-1:-1:-1;;;;;9505:21:95;;9497:67;;;;-1:-1:-1;;;9497:67:95;;6196:2:181;9497:67:95;;;6178:21:181;6235:2;6215:18;;;6208:30;6274:34;6254:18;;;6247:62;-1:-1:-1;;;6325:18:181;;;6318:31;6366:19;;9497:67:95;5994:397:181;9497:67:95;-1:-1:-1;;;;;9660:18:95;;9635:22;9660:18;;;;;;;;;;;9696:24;;;;9688:71;;;;-1:-1:-1;;;9688:71:95;;6598:2:181;9688:71:95;;;6580:21:181;6637:2;6617:18;;;6610:30;6676:34;6656:18;;;6649:62;-1:-1:-1;;;6727:18:181;;;6720:32;6769:19;;9688:71:95;6396:398:181;9688:71:95;-1:-1:-1;;;;;9793:18:95;;:9;:18;;;;;;;;;;;9814:23;;;9793:44;;9930:12;:22;;;;;;;9978:37;1391:25:181;;;9793:9:95;;:18;9978:37;;1364:18:181;9978:37:95;1245:177:181;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:181;574:15;-1:-1:-1;;570:29:181;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:181:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:181;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:181:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:180::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;-1:-1:-1;2100:23:181;;1949:180;-1:-1:-1;1949:180:181:o;2134:186::-;2193:6;2246:2;2234:9;2225:7;2221:23;2217:32;2214:52;;;2262:1;2259;2252:12;2214:52;2285:29;2304:9;2285:29;:::i;:::-;2275:39;2134:186;-1:-1:-1;;;2134:186:181:o;2325:260::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2493:29;2512:9;2493:29;:::i;:::-;2483:39;;2541:38;2575:2;2564:9;2560:18;2541:38;:::i;:::-;2531:48;;2325:260;;;;;:::o;2590:380::-;2669:1;2665:12;;;;2712;;;2733:61;;2787:4;2779:6;2775:17;2765:27;;2733:61;2840:2;2832:6;2829:14;2809:18;2806:38;2803:161;;;2886:10;2881:3;2877:20;2874:1;2867:31;2921:4;2918:1;2911:15;2949:4;2946:1;2939:15;2803:161;;2590:380;;;:::o;2975:225::-;3015:3;3046:1;3042:6;3039:1;3036:13;3033:136;;;3091:10;3086:3;3082:20;3079:1;3072:31;3126:4;3123:1;3116:15;3154:4;3151:1;3144:15;3033:136;-1:-1:-1;3185:9:181;;2975:225::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnFrom(address,uint256)":"79cc6790","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC20} token, including: - Preminted initial supply - Ability for holders to burn (destroy) their tokens - No access control mechanism (for minting/pausing) and hence no governance This contract uses {ERC20Burnable} to include burn capabilities - head to its documentation for details. _Available since v3.4._ _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"constructor\":{\"details\":\"Mints `initialSupply` amount of token and transfers them to `owner`. See {ERC20-constructor}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol\":\"ERC20PresetFixedSupply\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol\":{\"keccak256\":\"0x93018808e929b9e03bb2e9e8981fe737ef079d1152abdf23b16e9f2dcf4d4b1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d194640b1eb6e7b81c06936201322c0a04f3508f55243779b213a09cd7585d3\",\"dweb:/ipfs/QmXSbJHrqtPFAdz5T7yuyaAaiMGqRNtiT2xpUmtnNGu9R8\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol":{"ERC20PresetMinterPauser":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_10561":{"entryPoint":null,"id":10561,"parameterSlots":0,"returnSlots":0},"@_12850":{"entryPoint":null,"id":12850,"parameterSlots":2,"returnSlots":0},"@_16054":{"entryPoint":null,"id":16054,"parameterSlots":2,"returnSlots":0},"@_add_29338":{"entryPoint":496,"id":29338,"parameterSlots":2,"returnSlots":1},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_grantRole_1182":{"entryPoint":237,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":304,"id":995,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setupRole_935":{"entryPoint":221,"id":935,"parameterSlots":2,"returnSlots":0},"@add_29638":{"entryPoint":464,"id":29638,"parameterSlots":2,"returnSlots":1},"@hasRole_791":{"entryPoint":null,"id":791,"parameterSlots":2,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":766,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":949,"id":null,"parameterSlots":2,"returnSlots":2},"extract_byte_array_length":{"entryPoint":1055,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":744,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1985:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1154:444:181","statements":[{"body":{"nodeType":"YulBlock","src":"1200:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1209:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1212:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1202:6:181"},"nodeType":"YulFunctionCall","src":"1202:12:181"},"nodeType":"YulExpressionStatement","src":"1202:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1175:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1171:3:181"},"nodeType":"YulFunctionCall","src":"1171:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1196:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1167:3:181"},"nodeType":"YulFunctionCall","src":"1167:32:181"},"nodeType":"YulIf","src":"1164:52:181"},{"nodeType":"YulVariableDeclaration","src":"1225:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1239:5:181"},"nodeType":"YulFunctionCall","src":"1239:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1229:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1264:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1278:3:181"},"nodeType":"YulFunctionCall","src":"1278:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1290:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1274:3:181"},"nodeType":"YulFunctionCall","src":"1274:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1268:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1319:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1328:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1331:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1321:6:181"},"nodeType":"YulFunctionCall","src":"1321:12:181"},"nodeType":"YulExpressionStatement","src":"1321:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1307:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1315:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1304:2:181"},"nodeType":"YulFunctionCall","src":"1304:14:181"},"nodeType":"YulIf","src":"1301:34:181"},{"nodeType":"YulAssignment","src":"1344:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1387:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1383:3:181"},"nodeType":"YulFunctionCall","src":"1383:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1407:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1354:28:181"},"nodeType":"YulFunctionCall","src":"1354:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1344:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1424:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1450:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1461:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1446:3:181"},"nodeType":"YulFunctionCall","src":"1446:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1440:5:181"},"nodeType":"YulFunctionCall","src":"1440:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1428:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1494:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:181"},"nodeType":"YulFunctionCall","src":"1496:12:181"},"nodeType":"YulExpressionStatement","src":"1496:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1480:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1490:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:16:181"},"nodeType":"YulIf","src":"1474:36:181"},{"nodeType":"YulAssignment","src":"1519:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1562:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1573:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1558:3:181"},"nodeType":"YulFunctionCall","src":"1558:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1584:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1529:28:181"},"nodeType":"YulFunctionCall","src":"1529:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1519:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1112:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1123:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1135:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1143:6:181","type":""}],"src":"1036:562:181"},{"body":{"nodeType":"YulBlock","src":"1658:325:181","statements":[{"nodeType":"YulAssignment","src":"1668:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1682:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1685:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1678:3:181"},"nodeType":"YulFunctionCall","src":"1678:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1668:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1699:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1729:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1735:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1725:3:181"},"nodeType":"YulFunctionCall","src":"1725:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1703:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1776:31:181","statements":[{"nodeType":"YulAssignment","src":"1778:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1792:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1800:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1788:3:181"},"nodeType":"YulFunctionCall","src":"1788:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1778:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1756:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1749:6:181"},"nodeType":"YulFunctionCall","src":"1749:26:181"},"nodeType":"YulIf","src":"1746:61:181"},{"body":{"nodeType":"YulBlock","src":"1866:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1887:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1894:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1899:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1890:3:181"},"nodeType":"YulFunctionCall","src":"1890:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1880:6:181"},"nodeType":"YulFunctionCall","src":"1880:31:181"},"nodeType":"YulExpressionStatement","src":"1880:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1931:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1934:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1924:6:181"},"nodeType":"YulFunctionCall","src":"1924:15:181"},"nodeType":"YulExpressionStatement","src":"1924:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1962:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1952:6:181"},"nodeType":"YulFunctionCall","src":"1952:15:181"},"nodeType":"YulExpressionStatement","src":"1952:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1822:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1845:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1853:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1842:2:181"},"nodeType":"YulFunctionCall","src":"1842:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1819:2:181"},"nodeType":"YulFunctionCall","src":"1819:38:181"},"nodeType":"YulIf","src":"1816:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1638:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1647:6:181","type":""}],"src":"1603:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162001d1238038062001d128339810160408190526200003491620003b5565b8151829082906200004d90600590602085019062000242565b5080516200006390600690602084019062000242565b50506007805460ff19169055506200007d600033620000dd565b620000a97f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000dd565b620000d57f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33620000dd565b50506200045c565b620000e98282620000ed565b5050565b6200010482826200013060201b6200093d1760201c565b60008281526001602090815260409091206200012b918390620009c1620001d0821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000e9576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200018c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620001e7836001600160a01b038416620001f0565b90505b92915050565b60008181526001830160205260408120546200023957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620001ea565b506000620001ea565b82805462000250906200041f565b90600052602060002090601f016020900481019282620002745760008555620002bf565b82601f106200028f57805160ff1916838001178555620002bf565b82800160010185558215620002bf579182015b82811115620002bf578251825591602001919060010190620002a2565b50620002cd929150620002d1565b5090565b5b80821115620002cd5760008155600101620002d2565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200031057600080fd5b81516001600160401b03808211156200032d576200032d620002e8565b604051601f8301601f19908116603f01168101908282118183101715620003585762000358620002e8565b816040528381526020925086838588010111156200037557600080fd5b600091505b838210156200039957858201830151818301840152908201906200037a565b83821115620003ab5760008385830101525b9695505050505050565b60008060408385031215620003c957600080fd5b82516001600160401b0380821115620003e157600080fd5b620003ef86838701620002fe565b935060208501519150808211156200040657600080fd5b506200041585828601620002fe565b9150509250929050565b600181811c908216806200043457607f821691505b602082108114156200045657634e487b7160e01b600052602260045260246000fd5b50919050565b6118a6806200046c6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a457c2d711610097578063d539139311610071578063d5391393146103af578063d547741f146103d6578063dd62ed3e146103e9578063e63ab1e9146103fc57600080fd5b8063a457c2d714610376578063a9059cbb14610389578063ca15c8731461039c57600080fd5b80639010d07c116100d35780639010d07c1461032857806391d148541461035357806395d89b4114610366578063a217fddf1461036e57600080fd5b806370a08231146102e457806379cc67901461030d5780638456cb591461032057600080fd5b8063313ce567116101665780633f4ba83a116101405780633f4ba83a146102ab57806340c10f19146102b357806342966c68146102c65780635c975abb146102d957600080fd5b8063313ce5671461027657806336568abe14610285578063395093511461029857600080fd5b806318160ddd116101a257806318160ddd1461021957806323b872dd1461022b578063248a9ca31461023e5780632f2ff15d1461026157600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063095ea7b314610206575b600080fd5b6101dc6101d736600461154c565b610423565b60405190151581526020015b60405180910390f35b6101f961044e565b6040516101e891906115a2565b6101dc6102143660046115f1565b6104e0565b6004545b6040519081526020016101e8565b6101dc61023936600461161b565b6104f8565b61021d61024c366004611657565b60009081526020819052604090206001015490565b61027461026f366004611670565b61051c565b005b604051601281526020016101e8565b610274610293366004611670565b610546565b6101dc6102a63660046115f1565b6105c9565b6102746105eb565b6102746102c13660046115f1565b610691565b6102746102d4366004611657565b610730565b60075460ff166101dc565b61021d6102f236600461169c565b6001600160a01b031660009081526002602052604090205490565b61027461031b3660046115f1565b61073d565b610274610752565b61033b6103363660046116b7565b6107f6565b6040516001600160a01b0390911681526020016101e8565b6101dc610361366004611670565b610815565b6101f961083e565b61021d600081565b6101dc6103843660046115f1565b61084d565b6101dc6103973660046115f1565b6108c8565b61021d6103aa366004611657565b6108d6565b61021d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102746103e4366004611670565b6108ed565b61021d6103f73660046116d9565b610912565b61021d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60006001600160e01b03198216635a05180f60e01b14806104485750610448826109d6565b92915050565b60606005805461045d90611703565b80601f016020809104026020016040519081016040528092919081815260200182805461048990611703565b80156104d65780601f106104ab576101008083540402835291602001916104d6565b820191906000526020600020905b8154815290600101906020018083116104b957829003601f168201915b5050505050905090565b6000336104ee818585610a0b565b5060019392505050565b600033610506858285610b2f565b610511858585610ba9565b506001949350505050565b60008281526020819052604090206001015461053781610d5f565b6105418383610d69565b505050565b6001600160a01b03811633146105bb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105c58282610d8b565b5050565b6000336104ee8185856105dc8383610912565b6105e69190611754565b610a0b565b6106157f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610815565b6106875760405162461bcd60e51b815260206004820152603960248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20756e70617573650000000000000060648201526084016105b2565b61068f610dad565b565b6106bb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610815565b6107265760405162461bcd60e51b815260206004820152603660248201527f45524332305072657365744d696e7465725061757365723a206d7573742068616044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b60648201526084016105b2565b6105c58282610dff565b61073a3382610ecc565b50565b610748823383610b2f565b6105c58282610ecc565b61077c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610815565b6107ee5760405162461bcd60e51b815260206004820152603760248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20706175736500000000000000000060648201526084016105b2565b61068f61100c565b600082815260016020526040812061080e9083611049565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606006805461045d90611703565b6000338161085b8286610912565b9050838110156108bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105b2565b6105118286868403610a0b565b6000336104ee818585610ba9565b600081815260016020526040812061044890611055565b60008281526020819052604090206001015461090881610d5f565b6105418383610d8b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6109478282610815565b6105c5576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561097d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061080e836001600160a01b03841661105f565b60006001600160e01b03198216637965db0b60e01b148061044857506301ffc9a760e01b6001600160e01b0319831614610448565b6001600160a01b038316610a6d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b2565b6001600160a01b038216610ace5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b2565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610b3b8484610912565b90506000198114610ba35781811015610b965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105b2565b610ba38484848403610a0b565b50505050565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b2565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b2565b610c7a8383836110ae565b6001600160a01b03831660009081526002602052604090205481811015610cf25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b2565b6001600160a01b0380851660008181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d529086815260200190565b60405180910390a3610ba3565b61073a81336110b9565b610d73828261093d565b600082815260016020526040902061054190826109c1565b610d958282611112565b60008281526001602052604090206105419082611177565b610db561118c565b6007805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610e555760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105b2565b610e61600083836110ae565b8060046000828254610e739190611754565b90915550506001600160a01b0382166000818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105b2565b610f38826000836110ae565b6001600160a01b03821660009081526002602052604090205481811015610fac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105b2565b6001600160a01b03831660008181526002602090815260408083208686039055600480548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6110146111d5565b6007805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610de23390565b600061080e838361121b565b6000610448825490565b60008181526001830160205260408120546110a657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610448565b506000610448565b610541838383611245565b6110c38282610815565b6105c5576110d0816112ab565b6110db8360206112bd565b6040516020016110ec92919061176c565b60408051601f198184030181529082905262461bcd60e51b82526105b2916004016115a2565b61111c8282610815565b156105c5576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061080e836001600160a01b038416611459565b60075460ff1661068f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105b2565b60075460ff161561068f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105b2565b6000826000018281548110611232576112326117e1565b9060005260206000200154905092915050565b60075460ff16156105415760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b60648201526084016105b2565b60606104486001600160a01b03831660145b606060006112cc8360026117f7565b6112d7906002611754565b67ffffffffffffffff8111156112ef576112ef611816565b6040519080825280601f01601f191660200182016040528015611319576020820181803683370190505b509050600360fc1b81600081518110611334576113346117e1565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611363576113636117e1565b60200101906001600160f81b031916908160001a90535060006113878460026117f7565b611392906001611754565b90505b600181111561140a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c6576113c66117e1565b1a60f81b8282815181106113dc576113dc6117e1565b60200101906001600160f81b031916908160001a90535060049490941c936114038161182c565b9050611395565b50831561080e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105b2565b6000818152600183016020526040812054801561154257600061147d600183611843565b855490915060009061149190600190611843565b90508181146114f65760008660000182815481106114b1576114b16117e1565b90600052602060002001549050808760000184815481106114d4576114d46117e1565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115075761150761185a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610448565b6000915050610448565b60006020828403121561155e57600080fd5b81356001600160e01b03198116811461080e57600080fd5b60005b83811015611591578181015183820152602001611579565b83811115610ba35750506000910152565b60208152600082518060208401526115c1816040850160208701611576565b601f01601f19169190910160400192915050565b80356001600160a01b03811681146115ec57600080fd5b919050565b6000806040838503121561160457600080fd5b61160d836115d5565b946020939093013593505050565b60008060006060848603121561163057600080fd5b611639846115d5565b9250611647602085016115d5565b9150604084013590509250925092565b60006020828403121561166957600080fd5b5035919050565b6000806040838503121561168357600080fd5b82359150611693602084016115d5565b90509250929050565b6000602082840312156116ae57600080fd5b61080e826115d5565b600080604083850312156116ca57600080fd5b50508035926020909101359150565b600080604083850312156116ec57600080fd5b6116f5836115d5565b9150611693602084016115d5565b600181811c9082168061171757607f821691505b6020821081141561173857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156117675761176761173e565b500190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516117a4816017850160208801611576565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516117d5816028840160208801611576565b01602801949350505050565b634e487b7160e01b600052603260045260246000fd5b60008160001904831182151516156118115761181161173e565b500290565b634e487b7160e01b600052604160045260246000fd5b60008161183b5761183b61173e565b506000190190565b6000828210156118555761185561173e565b500390565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a613099e8b7f693b3b8588bc915d6c49b24ea84af3d7993eb66d47d456d7fffa64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1D12 CODESIZE SUB DUP1 PUSH3 0x1D12 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x3B5 JUMP JUMPDEST DUP2 MLOAD DUP3 SWAP1 DUP3 SWAP1 PUSH3 0x4D SWAP1 PUSH1 0x5 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x242 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x63 SWAP1 PUSH1 0x6 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x242 JUMP JUMPDEST POP POP PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP PUSH3 0x7D PUSH1 0x0 CALLER PUSH3 0xDD JUMP JUMPDEST PUSH3 0xA9 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH3 0xDD JUMP JUMPDEST PUSH3 0xD5 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH3 0xDD JUMP JUMPDEST POP POP PUSH3 0x45C JUMP JUMPDEST PUSH3 0xE9 DUP3 DUP3 PUSH3 0xED JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x104 DUP3 DUP3 PUSH3 0x130 PUSH1 0x20 SHL PUSH3 0x93D OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH3 0x12B SWAP2 DUP4 SWAP1 PUSH3 0x9C1 PUSH3 0x1D0 DUP3 SHL OR SWAP1 SHR JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0xE9 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x18C CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E7 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH3 0x1F0 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH3 0x239 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH3 0x1EA JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x1EA JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x250 SWAP1 PUSH3 0x41F JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x274 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x2BF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x28F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x2BF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x2BF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x2BF JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x2A2 JUMP JUMPDEST POP PUSH3 0x2CD SWAP3 SWAP2 POP PUSH3 0x2D1 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x2CD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2D2 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 PUSH3 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x32D JUMPI PUSH3 0x32D PUSH3 0x2E8 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 PUSH3 0x358 JUMPI PUSH3 0x358 PUSH3 0x2E8 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x375 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x399 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x37A JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x3AB JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x3C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x3E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x3EF DUP7 DUP4 DUP8 ADD PUSH3 0x2FE JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x415 DUP6 DUP3 DUP7 ADD PUSH3 0x2FE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x434 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x456 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18A6 DUP1 PUSH3 0x46C 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 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x3AF JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3D6 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x3E9 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x3FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x353 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x36E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2E4 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x30D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3F4BA83A GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2B3 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x276 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x285 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x206 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x154C JUMP JUMPDEST PUSH2 0x423 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH2 0x44E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E8 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x214 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x4E0 JUMP JUMPDEST PUSH1 0x4 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x161B JUMP JUMPDEST PUSH2 0x4F8 JUMP JUMPDEST PUSH2 0x21D PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x26F CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x51C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x293 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x546 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x2A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x5C9 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0x274 PUSH2 0x2C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x691 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x2D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH2 0x730 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMP JUMPDEST PUSH2 0x21D PUSH2 0x2F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x169C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x274 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x33B PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0x16B7 JUMP JUMPDEST PUSH2 0x7F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x361 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x815 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x21D PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x384 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x397 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x8C8 JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3AA CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH2 0x8D6 JUMP JUMPDEST PUSH2 0x21D PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x8ED JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x16D9 JUMP JUMPDEST PUSH2 0x912 JUMP JUMPDEST PUSH2 0x21D PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x448 JUMPI POP PUSH2 0x448 DUP3 PUSH2 0x9D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD PUSH2 0x45D SWAP1 PUSH2 0x1703 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 0x489 SWAP1 PUSH2 0x1703 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4D6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4AB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4D6 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 0x4B9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0xA0B JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x506 DUP6 DUP3 DUP6 PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x511 DUP6 DUP6 DUP6 PUSH2 0xBA9 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x537 DUP2 PUSH2 0xD5F JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 PUSH2 0xD69 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xD8B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0x5DC DUP4 DUP4 PUSH2 0x912 JUMP JUMPDEST PUSH2 0x5E6 SWAP2 SWAP1 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0xA0B JUMP JUMPDEST PUSH2 0x615 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x687 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x76652070617573657220726F6C6520746F20756E706175736500000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x68F PUSH2 0xDAD JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x6BB PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x726 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x1D99481B5A5B9D195C881C9BDB19481D1BC81B5A5B9D PUSH1 0x52 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x73A CALLER DUP3 PUSH2 0xECC JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x748 DUP3 CALLER DUP4 PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xECC JUMP JUMPDEST PUSH2 0x77C PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x7EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x76652070617573657220726F6C6520746F207061757365000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x68F PUSH2 0x100C JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x80E SWAP1 DUP4 PUSH2 0x1049 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x45D SWAP1 PUSH2 0x1703 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x85B DUP3 DUP7 PUSH2 0x912 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x8BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x511 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0xA0B JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x448 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x908 DUP2 PUSH2 0xD5F JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 PUSH2 0xD8B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x947 DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST PUSH2 0x5C5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x97D CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x105F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x448 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xA6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xACE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3B DUP5 DUP5 PUSH2 0x912 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0xBA3 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0xB96 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xBA3 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0xA0B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xC0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xC7A DUP4 DUP4 DUP4 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE SWAP3 DUP7 AND DUP1 DUP3 MSTORE SWAP1 DUP4 SWAP1 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE SWAP2 MLOAD PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xD52 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xBA3 JUMP JUMPDEST PUSH2 0x73A DUP2 CALLER PUSH2 0x10B9 JUMP JUMPDEST PUSH2 0xD73 DUP3 DUP3 PUSH2 0x93D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x541 SWAP1 DUP3 PUSH2 0x9C1 JUMP JUMPDEST PUSH2 0xD95 DUP3 DUP3 PUSH2 0x1112 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x541 SWAP1 DUP3 PUSH2 0x1177 JUMP JUMPDEST PUSH2 0xDB5 PUSH2 0x118C JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xE55 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 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xE61 PUSH1 0x0 DUP4 DUP4 PUSH2 0x10AE JUMP JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xE73 SWAP2 SWAP1 PUSH2 0x1754 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xF38 DUP3 PUSH1 0x0 DUP4 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xFAC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1014 PUSH2 0x11D5 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0xDE2 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 DUP4 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x448 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x10A6 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x448 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 DUP4 PUSH2 0x1245 JUMP JUMPDEST PUSH2 0x10C3 DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST PUSH2 0x5C5 JUMPI PUSH2 0x10D0 DUP2 PUSH2 0x12AB JUMP JUMPDEST PUSH2 0x10DB DUP4 PUSH1 0x20 PUSH2 0x12BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x10EC SWAP3 SWAP2 SWAP1 PUSH2 0x176C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x5B2 SWAP2 PUSH1 0x4 ADD PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x111C DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST ISZERO PUSH2 0x5C5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1459 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND PUSH2 0x68F 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 0x5B2 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x68F 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 0x5B2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1232 JUMPI PUSH2 0x1232 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x541 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305061757361626C653A20746F6B656E207472616E73666572207768 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1A5B19481C185D5CD959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x448 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x12CC DUP4 PUSH1 0x2 PUSH2 0x17F7 JUMP JUMPDEST PUSH2 0x12D7 SWAP1 PUSH1 0x2 PUSH2 0x1754 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x12EF JUMPI PUSH2 0x12EF PUSH2 0x1816 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1319 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1334 JUMPI PUSH2 0x1334 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1363 JUMPI PUSH2 0x1363 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1387 DUP5 PUSH1 0x2 PUSH2 0x17F7 JUMP JUMPDEST PUSH2 0x1392 SWAP1 PUSH1 0x1 PUSH2 0x1754 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x140A JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x13C6 JUMPI PUSH2 0x13C6 PUSH2 0x17E1 JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13DC JUMPI PUSH2 0x13DC PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1403 DUP2 PUSH2 0x182C JUMP JUMPDEST SWAP1 POP PUSH2 0x1395 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x80E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1542 JUMPI PUSH1 0x0 PUSH2 0x147D PUSH1 0x1 DUP4 PUSH2 0x1843 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1491 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1843 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x14F6 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x14B1 JUMPI PUSH2 0x14B1 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x14D4 JUMPI PUSH2 0x14D4 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1507 JUMPI PUSH2 0x1507 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x155E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x80E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1591 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1579 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x15C1 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1576 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x15EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1604 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x160D DUP4 PUSH2 0x15D5 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1630 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1639 DUP5 PUSH2 0x15D5 JUMP JUMPDEST SWAP3 POP PUSH2 0x1647 PUSH1 0x20 DUP6 ADD PUSH2 0x15D5 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1669 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1693 PUSH1 0x20 DUP5 ADD PUSH2 0x15D5 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x80E DUP3 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16F5 DUP4 PUSH2 0x15D5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1693 PUSH1 0x20 DUP5 ADD PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1717 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1738 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1767 JUMPI PUSH2 0x1767 PUSH2 0x173E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x17A4 DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1576 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x17D5 DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1576 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1811 JUMPI PUSH2 0x1811 PUSH2 0x173E JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x183B JUMPI PUSH2 0x183B PUSH2 0x173E JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1855 JUMPI PUSH2 0x1855 PUSH2 0x173E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 SGT MULMOD SWAP15 DUP12 PUSH32 0x693B3B8588BC915D6C49B24EA84AF3D7993EB66D47D456D7FFFA64736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1005:2013:110:-:0;;;1424:230;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:13:95;;1484:4:110;;1490:6;;2042:13:95;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2065:17:95;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;996:7:81;:15;;-1:-1:-1;;996:15:81;;;-1:-1:-1;1508:44:110::1;-1:-1:-1::0;719:10:138;1508::110::1;:44::i;:::-;1563:37;1148:24;719:10:138::0;1508::110::1;:44::i;1563:37::-;1610;1216:24;719:10:138::0;1508::110::1;:44::i;1610:37::-;1424:230:::0;;1005:2013;;6811:110:4;6889:25;6900:4;6906:7;6889:10;:25::i;:::-;6811:110;;:::o;1978:166:6:-;2065:31;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106:18;;;;:12;:18;;;;;;;;:31;;2129:7;;2106:22;;;;;:31;;:::i;:::-;;1978:166;;:::o;7461:233:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;:::-;8383:57;;8297:150;;;;;:::o;2206:404::-;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;1005:2013:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1005:2013:110;;;-1:-1:-1;1005:2013:110;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:181;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;:::-;1005:2013:110;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_739":{"entryPoint":null,"id":739,"parameterSlots":0,"returnSlots":0},"@MINTER_ROLE_16018":{"entryPoint":null,"id":16018,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_16023":{"entryPoint":null,"id":16023,"parameterSlots":0,"returnSlots":0},"@_add_29338":{"entryPoint":4191,"id":29338,"parameterSlots":2,"returnSlots":1},"@_afterTokenTransfer_13391":{"entryPoint":null,"id":13391,"parameterSlots":3,"returnSlots":0},"@_approve_13326":{"entryPoint":2571,"id":13326,"parameterSlots":3,"returnSlots":0},"@_at_29472":{"entryPoint":4635,"id":29472,"parameterSlots":2,"returnSlots":1},"@_beforeTokenTransfer_13380":{"entryPoint":null,"id":13380,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_13832":{"entryPoint":4677,"id":13832,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_16132":{"entryPoint":4270,"id":16132,"parameterSlots":3,"returnSlots":0},"@_burn_13281":{"entryPoint":3788,"id":13281,"parameterSlots":2,"returnSlots":0},"@_checkRole_804":{"entryPoint":3423,"id":804,"parameterSlots":1,"returnSlots":0},"@_checkRole_843":{"entryPoint":4281,"id":843,"parameterSlots":2,"returnSlots":0},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_grantRole_1182":{"entryPoint":3433,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":2365,"id":995,"parameterSlots":2,"returnSlots":0},"@_length_29455":{"entryPoint":null,"id":29455,"parameterSlots":1,"returnSlots":1},"@_mint_13209":{"entryPoint":3583,"id":13209,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_pause_10625":{"entryPoint":4108,"id":10625,"parameterSlots":0,"returnSlots":0},"@_remove_29422":{"entryPoint":5209,"id":29422,"parameterSlots":2,"returnSlots":1},"@_requireNotPaused_10598":{"entryPoint":4565,"id":10598,"parameterSlots":0,"returnSlots":0},"@_requirePaused_10609":{"entryPoint":4492,"id":10609,"parameterSlots":0,"returnSlots":0},"@_revokeRole_1026":{"entryPoint":4370,"id":1026,"parameterSlots":2,"returnSlots":0},"@_revokeRole_1206":{"entryPoint":3467,"id":1206,"parameterSlots":2,"returnSlots":0},"@_spendAllowance_13369":{"entryPoint":2863,"id":13369,"parameterSlots":3,"returnSlots":0},"@_transfer_13152":{"entryPoint":2985,"id":13152,"parameterSlots":3,"returnSlots":0},"@_unpause_10641":{"entryPoint":3501,"id":10641,"parameterSlots":0,"returnSlots":0},"@add_29638":{"entryPoint":2497,"id":29638,"parameterSlots":2,"returnSlots":1},"@allowance_12947":{"entryPoint":2322,"id":12947,"parameterSlots":2,"returnSlots":1},"@approve_12972":{"entryPoint":1248,"id":12972,"parameterSlots":2,"returnSlots":1},"@at_29734":{"entryPoint":4169,"id":29734,"parameterSlots":2,"returnSlots":1},"@balanceOf_12904":{"entryPoint":null,"id":12904,"parameterSlots":1,"returnSlots":1},"@burnFrom_13513":{"entryPoint":1853,"id":13513,"parameterSlots":2,"returnSlots":0},"@burn_13492":{"entryPoint":1840,"id":13492,"parameterSlots":1,"returnSlots":0},"@decimals_12880":{"entryPoint":null,"id":12880,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_13075":{"entryPoint":2125,"id":13075,"parameterSlots":2,"returnSlots":1},"@getRoleAdmin_858":{"entryPoint":null,"id":858,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_1158":{"entryPoint":2262,"id":1158,"parameterSlots":1,"returnSlots":1},"@getRoleMember_1142":{"entryPoint":2038,"id":1142,"parameterSlots":2,"returnSlots":1},"@grantRole_878":{"entryPoint":1308,"id":878,"parameterSlots":2,"returnSlots":0},"@hasRole_791":{"entryPoint":2069,"id":791,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_13034":{"entryPoint":1481,"id":13034,"parameterSlots":2,"returnSlots":1},"@length_29707":{"entryPoint":4181,"id":29707,"parameterSlots":1,"returnSlots":1},"@mint_16077":{"entryPoint":1681,"id":16077,"parameterSlots":2,"returnSlots":0},"@name_12860":{"entryPoint":1102,"id":12860,"parameterSlots":0,"returnSlots":1},"@pause_16094":{"entryPoint":1874,"id":16094,"parameterSlots":0,"returnSlots":0},"@paused_10586":{"entryPoint":null,"id":10586,"parameterSlots":0,"returnSlots":1},"@remove_29665":{"entryPoint":4471,"id":29665,"parameterSlots":2,"returnSlots":1},"@renounceRole_921":{"entryPoint":1350,"id":921,"parameterSlots":2,"returnSlots":0},"@revokeRole_898":{"entryPoint":2285,"id":898,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1123":{"entryPoint":1059,"id":1123,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@supportsInterface_772":{"entryPoint":2518,"id":772,"parameterSlots":1,"returnSlots":1},"@symbol_12870":{"entryPoint":2110,"id":12870,"parameterSlots":0,"returnSlots":1},"@toHexString_22705":{"entryPoint":4797,"id":22705,"parameterSlots":2,"returnSlots":1},"@toHexString_22725":{"entryPoint":4779,"id":22725,"parameterSlots":1,"returnSlots":1},"@totalSupply_12890":{"entryPoint":null,"id":12890,"parameterSlots":0,"returnSlots":1},"@transferFrom_13005":{"entryPoint":1272,"id":13005,"parameterSlots":3,"returnSlots":1},"@transfer_12929":{"entryPoint":2248,"id":12929,"parameterSlots":2,"returnSlots":1},"@unpause_16111":{"entryPoint":1515,"id":16111,"parameterSlots":0,"returnSlots":0},"abi_decode_address":{"entryPoint":5589,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":5788,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":5849,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":5659,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":5617,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":5719,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":5744,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":5815,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":5452,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":5996,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":5538,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__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_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_176e32c23b35bed3cd8ee309232e2364823f6f66078e0cf4f5b5e41eee016186__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"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_9efa111136b49cf2058ce33f60fa04a5749fd87012d74cadc251e21e1db53342__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d581fb23a6d539f3015b3485052424734f4b05014d1d5211f35a049cff57e330__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4__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},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5972,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":6135,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":6211,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":5494,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint256":{"entryPoint":6188,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":5891,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":5950,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":6234,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":6113,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":6166,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:13404:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"83:217:181","statements":[{"body":{"nodeType":"YulBlock","src":"129:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"138:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"141:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"131:6:181"},"nodeType":"YulFunctionCall","src":"131:12:181"},"nodeType":"YulExpressionStatement","src":"131:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"104:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"113:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"100:3:181"},"nodeType":"YulFunctionCall","src":"100:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"125:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"96:3:181"},"nodeType":"YulFunctionCall","src":"96:32:181"},"nodeType":"YulIf","src":"93:52:181"},{"nodeType":"YulVariableDeclaration","src":"154:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"180:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"167:12:181"},"nodeType":"YulFunctionCall","src":"167:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"158:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:181"},"nodeType":"YulFunctionCall","src":"256:12:181"},"nodeType":"YulExpressionStatement","src":"256:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"212:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"223:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"234:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"239:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"219:3:181"},"nodeType":"YulFunctionCall","src":"219:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"209:2:181"},"nodeType":"YulFunctionCall","src":"209:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"202:6:181"},"nodeType":"YulFunctionCall","src":"202:51:181"},"nodeType":"YulIf","src":"199:71:181"},{"nodeType":"YulAssignment","src":"279:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"49:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"60:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"72:6:181","type":""}],"src":"14:286:181"},{"body":{"nodeType":"YulBlock","src":"400:92:181","statements":[{"nodeType":"YulAssignment","src":"410:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"422:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"433:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"418:3:181"},"nodeType":"YulFunctionCall","src":"418:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"410:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"452:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"477:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"470:6:181"},"nodeType":"YulFunctionCall","src":"470:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"463:6:181"},"nodeType":"YulFunctionCall","src":"463:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"445:6:181"},"nodeType":"YulFunctionCall","src":"445:41:181"},"nodeType":"YulExpressionStatement","src":"445:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"369:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"380:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"391:4:181","type":""}],"src":"305:187:181"},{"body":{"nodeType":"YulBlock","src":"550:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"560:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"569:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"564:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"629:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"654:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"659:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"650:3:181"},"nodeType":"YulFunctionCall","src":"650:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"673:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"678:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"669:3:181"},"nodeType":"YulFunctionCall","src":"669:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"663:5:181"},"nodeType":"YulFunctionCall","src":"663:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"643:6:181"},"nodeType":"YulFunctionCall","src":"643:39:181"},"nodeType":"YulExpressionStatement","src":"643:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"590:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"593:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"587:2:181"},"nodeType":"YulFunctionCall","src":"587:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"601:19:181","statements":[{"nodeType":"YulAssignment","src":"603:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"612:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"615:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"608:3:181"},"nodeType":"YulFunctionCall","src":"608:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"603:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"583:3:181","statements":[]},"src":"579:113:181"},{"body":{"nodeType":"YulBlock","src":"718:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"731:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"736:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"727:3:181"},"nodeType":"YulFunctionCall","src":"727:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"745:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"720:6:181"},"nodeType":"YulFunctionCall","src":"720:27:181"},"nodeType":"YulExpressionStatement","src":"720:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"707:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"710:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"704:2:181"},"nodeType":"YulFunctionCall","src":"704:13:181"},"nodeType":"YulIf","src":"701:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"528:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"533:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"538:6:181","type":""}],"src":"497:258:181"},{"body":{"nodeType":"YulBlock","src":"881:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"898:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"909:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"891:6:181"},"nodeType":"YulFunctionCall","src":"891:21:181"},"nodeType":"YulExpressionStatement","src":"891:21:181"},{"nodeType":"YulVariableDeclaration","src":"921:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"941:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"935:5:181"},"nodeType":"YulFunctionCall","src":"935:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"925:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"968:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"979:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"964:3:181"},"nodeType":"YulFunctionCall","src":"964:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"984:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"957:6:181"},"nodeType":"YulFunctionCall","src":"957:34:181"},"nodeType":"YulExpressionStatement","src":"957:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1026:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1034:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1022:3:181"},"nodeType":"YulFunctionCall","src":"1022:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1054:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1039:3:181"},"nodeType":"YulFunctionCall","src":"1039:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"1059:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1000:21:181"},"nodeType":"YulFunctionCall","src":"1000:66:181"},"nodeType":"YulExpressionStatement","src":"1000:66:181"},{"nodeType":"YulAssignment","src":"1075:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1091:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1110:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1118:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1106:3:181"},"nodeType":"YulFunctionCall","src":"1106:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1127:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1123:3:181"},"nodeType":"YulFunctionCall","src":"1123:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1102:3:181"},"nodeType":"YulFunctionCall","src":"1102:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1087:3:181"},"nodeType":"YulFunctionCall","src":"1087:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"1134:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1083:3:181"},"nodeType":"YulFunctionCall","src":"1083:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1075:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"850:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"861:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"872:4:181","type":""}],"src":"760:383:181"},{"body":{"nodeType":"YulBlock","src":"1197:124:181","statements":[{"nodeType":"YulAssignment","src":"1207:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1229:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1216:12:181"},"nodeType":"YulFunctionCall","src":"1216:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1207:5:181"}]},{"body":{"nodeType":"YulBlock","src":"1299:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1308:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1311:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1301:6:181"},"nodeType":"YulFunctionCall","src":"1301:12:181"},"nodeType":"YulExpressionStatement","src":"1301:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1258:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1269:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1284:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1289:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1280:3:181"},"nodeType":"YulFunctionCall","src":"1280:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1293:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1276:3:181"},"nodeType":"YulFunctionCall","src":"1276:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1265:3:181"},"nodeType":"YulFunctionCall","src":"1265:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1255:2:181"},"nodeType":"YulFunctionCall","src":"1255:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1248:6:181"},"nodeType":"YulFunctionCall","src":"1248:50:181"},"nodeType":"YulIf","src":"1245:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1176:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1187:5:181","type":""}],"src":"1148:173:181"},{"body":{"nodeType":"YulBlock","src":"1413:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"1459:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1468:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1471:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1461:6:181"},"nodeType":"YulFunctionCall","src":"1461:12:181"},"nodeType":"YulExpressionStatement","src":"1461:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1434:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1443:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1430:3:181"},"nodeType":"YulFunctionCall","src":"1430:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1455:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1426:3:181"},"nodeType":"YulFunctionCall","src":"1426:32:181"},"nodeType":"YulIf","src":"1423:52:181"},{"nodeType":"YulAssignment","src":"1484:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1513:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1494:18:181"},"nodeType":"YulFunctionCall","src":"1494:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1484:6:181"}]},{"nodeType":"YulAssignment","src":"1532:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1559:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1570:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1555:3:181"},"nodeType":"YulFunctionCall","src":"1555:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1542:12:181"},"nodeType":"YulFunctionCall","src":"1542:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1532:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1371:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1382:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1394:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1402:6:181","type":""}],"src":"1326:254:181"},{"body":{"nodeType":"YulBlock","src":"1686:76:181","statements":[{"nodeType":"YulAssignment","src":"1696:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1708:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1719:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1704:3:181"},"nodeType":"YulFunctionCall","src":"1704:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1696:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1738:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1749:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1731:6:181"},"nodeType":"YulFunctionCall","src":"1731:25:181"},"nodeType":"YulExpressionStatement","src":"1731:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1655:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1666:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1677:4:181","type":""}],"src":"1585:177:181"},{"body":{"nodeType":"YulBlock","src":"1871:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"1917:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1926:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1929:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1919:6:181"},"nodeType":"YulFunctionCall","src":"1919:12:181"},"nodeType":"YulExpressionStatement","src":"1919:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1892:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1901:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1888:3:181"},"nodeType":"YulFunctionCall","src":"1888:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1913:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1884:3:181"},"nodeType":"YulFunctionCall","src":"1884:32:181"},"nodeType":"YulIf","src":"1881:52:181"},{"nodeType":"YulAssignment","src":"1942:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1971:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1952:18:181"},"nodeType":"YulFunctionCall","src":"1952:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1942:6:181"}]},{"nodeType":"YulAssignment","src":"1990:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2023:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2034:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2019:3:181"},"nodeType":"YulFunctionCall","src":"2019:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2000:18:181"},"nodeType":"YulFunctionCall","src":"2000:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1990:6:181"}]},{"nodeType":"YulAssignment","src":"2047:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2074:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2085:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2070:3:181"},"nodeType":"YulFunctionCall","src":"2070:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2057:12:181"},"nodeType":"YulFunctionCall","src":"2057:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2047:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1821:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1832:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1844:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1852:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1860:6:181","type":""}],"src":"1767:328:181"},{"body":{"nodeType":"YulBlock","src":"2170:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"2216:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2225:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2228:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2218:6:181"},"nodeType":"YulFunctionCall","src":"2218:12:181"},"nodeType":"YulExpressionStatement","src":"2218:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2191:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2200:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2187:3:181"},"nodeType":"YulFunctionCall","src":"2187:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2212:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2183:3:181"},"nodeType":"YulFunctionCall","src":"2183:32:181"},"nodeType":"YulIf","src":"2180:52:181"},{"nodeType":"YulAssignment","src":"2241:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2264:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2251:12:181"},"nodeType":"YulFunctionCall","src":"2251:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2241:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2136:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2147:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2159:6:181","type":""}],"src":"2100:180:181"},{"body":{"nodeType":"YulBlock","src":"2386:76:181","statements":[{"nodeType":"YulAssignment","src":"2396:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2408:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2419:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2404:3:181"},"nodeType":"YulFunctionCall","src":"2404:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2396:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2438:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2449:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2431:6:181"},"nodeType":"YulFunctionCall","src":"2431:25:181"},"nodeType":"YulExpressionStatement","src":"2431:25:181"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2355:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2366:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2377:4:181","type":""}],"src":"2285:177:181"},{"body":{"nodeType":"YulBlock","src":"2554:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"2600:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2609:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2612:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2602:6:181"},"nodeType":"YulFunctionCall","src":"2602:12:181"},"nodeType":"YulExpressionStatement","src":"2602:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2575:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2584:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2571:3:181"},"nodeType":"YulFunctionCall","src":"2571:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2596:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2567:3:181"},"nodeType":"YulFunctionCall","src":"2567:32:181"},"nodeType":"YulIf","src":"2564:52:181"},{"nodeType":"YulAssignment","src":"2625:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2648:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2635:12:181"},"nodeType":"YulFunctionCall","src":"2635:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2625:6:181"}]},{"nodeType":"YulAssignment","src":"2667:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2700:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2711:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2696:3:181"},"nodeType":"YulFunctionCall","src":"2696:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2677:18:181"},"nodeType":"YulFunctionCall","src":"2677:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2667:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2512:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2523:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2535:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2543:6:181","type":""}],"src":"2467:254:181"},{"body":{"nodeType":"YulBlock","src":"2823:87:181","statements":[{"nodeType":"YulAssignment","src":"2833:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2845:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2856:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2841:3:181"},"nodeType":"YulFunctionCall","src":"2841:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2833:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2875:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2890:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2898:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2886:3:181"},"nodeType":"YulFunctionCall","src":"2886:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2868:6:181"},"nodeType":"YulFunctionCall","src":"2868:36:181"},"nodeType":"YulExpressionStatement","src":"2868:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2792:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2803:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2814:4:181","type":""}],"src":"2726:184:181"},{"body":{"nodeType":"YulBlock","src":"2985:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"3031:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3040:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3043:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3033:6:181"},"nodeType":"YulFunctionCall","src":"3033:12:181"},"nodeType":"YulExpressionStatement","src":"3033:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3006:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3015:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3002:3:181"},"nodeType":"YulFunctionCall","src":"3002:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3027:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2998:3:181"},"nodeType":"YulFunctionCall","src":"2998:32:181"},"nodeType":"YulIf","src":"2995:52:181"},{"nodeType":"YulAssignment","src":"3056:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3079:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3066:12:181"},"nodeType":"YulFunctionCall","src":"3066:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3056:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2951:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2962:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2974:6:181","type":""}],"src":"2915:180:181"},{"body":{"nodeType":"YulBlock","src":"3170:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:6:181"},"nodeType":"YulFunctionCall","src":"3218:12:181"},"nodeType":"YulExpressionStatement","src":"3218:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3191:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3200:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3187:3:181"},"nodeType":"YulFunctionCall","src":"3187:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3212:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3183:3:181"},"nodeType":"YulFunctionCall","src":"3183:32:181"},"nodeType":"YulIf","src":"3180:52:181"},{"nodeType":"YulAssignment","src":"3241:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3270:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3251:18:181"},"nodeType":"YulFunctionCall","src":"3251:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3241:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3136:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3147:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3159:6:181","type":""}],"src":"3100:186:181"},{"body":{"nodeType":"YulBlock","src":"3378:161:181","statements":[{"body":{"nodeType":"YulBlock","src":"3424:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3433:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3436:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3426:6:181"},"nodeType":"YulFunctionCall","src":"3426:12:181"},"nodeType":"YulExpressionStatement","src":"3426:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3399:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3408:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3395:3:181"},"nodeType":"YulFunctionCall","src":"3395:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3420:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3391:3:181"},"nodeType":"YulFunctionCall","src":"3391:32:181"},"nodeType":"YulIf","src":"3388:52:181"},{"nodeType":"YulAssignment","src":"3449:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3472:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3459:12:181"},"nodeType":"YulFunctionCall","src":"3459:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3449:6:181"}]},{"nodeType":"YulAssignment","src":"3491:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3518:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3529:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:181"},"nodeType":"YulFunctionCall","src":"3514:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3501:12:181"},"nodeType":"YulFunctionCall","src":"3501:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3491:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3336:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3347:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3359:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3367:6:181","type":""}],"src":"3291:248:181"},{"body":{"nodeType":"YulBlock","src":"3645:102:181","statements":[{"nodeType":"YulAssignment","src":"3655:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3667:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3678:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3663:3:181"},"nodeType":"YulFunctionCall","src":"3663:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3655:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3697:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3712:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3728:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3733:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3724:3:181"},"nodeType":"YulFunctionCall","src":"3724:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"3737:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3720:3:181"},"nodeType":"YulFunctionCall","src":"3720:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3708:3:181"},"nodeType":"YulFunctionCall","src":"3708:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3690:6:181"},"nodeType":"YulFunctionCall","src":"3690:51:181"},"nodeType":"YulExpressionStatement","src":"3690:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3614:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3625:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3636:4:181","type":""}],"src":"3544:203:181"},{"body":{"nodeType":"YulBlock","src":"3839:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"3885:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3894:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3897:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3887:6:181"},"nodeType":"YulFunctionCall","src":"3887:12:181"},"nodeType":"YulExpressionStatement","src":"3887:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3860:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3869:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3856:3:181"},"nodeType":"YulFunctionCall","src":"3856:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3881:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3852:3:181"},"nodeType":"YulFunctionCall","src":"3852:32:181"},"nodeType":"YulIf","src":"3849:52:181"},{"nodeType":"YulAssignment","src":"3910:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3939:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3920:18:181"},"nodeType":"YulFunctionCall","src":"3920:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3910:6:181"}]},{"nodeType":"YulAssignment","src":"3958:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3991:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4002:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3987:3:181"},"nodeType":"YulFunctionCall","src":"3987:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3968:18:181"},"nodeType":"YulFunctionCall","src":"3968:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3958:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3797:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3808:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3820:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3828:6:181","type":""}],"src":"3752:260:181"},{"body":{"nodeType":"YulBlock","src":"4072:325:181","statements":[{"nodeType":"YulAssignment","src":"4082:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4096:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4099:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4092:3:181"},"nodeType":"YulFunctionCall","src":"4092:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4082:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4113:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4143:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"4149:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4139:3:181"},"nodeType":"YulFunctionCall","src":"4139:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4117:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4190:31:181","statements":[{"nodeType":"YulAssignment","src":"4192:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4206:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4214:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4202:3:181"},"nodeType":"YulFunctionCall","src":"4202:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4192:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4170:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4163:6:181"},"nodeType":"YulFunctionCall","src":"4163:26:181"},"nodeType":"YulIf","src":"4160:61:181"},{"body":{"nodeType":"YulBlock","src":"4280:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4301:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4308:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4313:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4304:3:181"},"nodeType":"YulFunctionCall","src":"4304:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4294:6:181"},"nodeType":"YulFunctionCall","src":"4294:31:181"},"nodeType":"YulExpressionStatement","src":"4294:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4345:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4348:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4338:6:181"},"nodeType":"YulFunctionCall","src":"4338:15:181"},"nodeType":"YulExpressionStatement","src":"4338:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4373:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4376:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4366:6:181"},"nodeType":"YulFunctionCall","src":"4366:15:181"},"nodeType":"YulExpressionStatement","src":"4366:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4236:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4259:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4267:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4256:2:181"},"nodeType":"YulFunctionCall","src":"4256:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4233:2:181"},"nodeType":"YulFunctionCall","src":"4233:38:181"},"nodeType":"YulIf","src":"4230:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4052:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4061:6:181","type":""}],"src":"4017:380:181"},{"body":{"nodeType":"YulBlock","src":"4576:237:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4593:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4604:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4586:6:181"},"nodeType":"YulFunctionCall","src":"4586:21:181"},"nodeType":"YulExpressionStatement","src":"4586:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4627:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4638:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4623:3:181"},"nodeType":"YulFunctionCall","src":"4623:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4643:2:181","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4616:6:181"},"nodeType":"YulFunctionCall","src":"4616:30:181"},"nodeType":"YulExpressionStatement","src":"4616:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4666:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4677:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4662:3:181"},"nodeType":"YulFunctionCall","src":"4662:18:181"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"4682:34:181","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4655:6:181"},"nodeType":"YulFunctionCall","src":"4655:62:181"},"nodeType":"YulExpressionStatement","src":"4655:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4737:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4748:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4733:3:181"},"nodeType":"YulFunctionCall","src":"4733:18:181"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"4753:17:181","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4726:6:181"},"nodeType":"YulFunctionCall","src":"4726:45:181"},"nodeType":"YulExpressionStatement","src":"4726:45:181"},{"nodeType":"YulAssignment","src":"4780:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4792:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4803:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4788:3:181"},"nodeType":"YulFunctionCall","src":"4788:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4780:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4553:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4567:4:181","type":""}],"src":"4402:411:181"},{"body":{"nodeType":"YulBlock","src":"4850:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4867:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4874:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4879:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4870:3:181"},"nodeType":"YulFunctionCall","src":"4870:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4860:6:181"},"nodeType":"YulFunctionCall","src":"4860:31:181"},"nodeType":"YulExpressionStatement","src":"4860:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4907:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4910:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4900:6:181"},"nodeType":"YulFunctionCall","src":"4900:15:181"},"nodeType":"YulExpressionStatement","src":"4900:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4931:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4934:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4924:6:181"},"nodeType":"YulFunctionCall","src":"4924:15:181"},"nodeType":"YulExpressionStatement","src":"4924:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"4818:127:181"},{"body":{"nodeType":"YulBlock","src":"4998:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"5025:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5027:16:181"},"nodeType":"YulFunctionCall","src":"5027:18:181"},"nodeType":"YulExpressionStatement","src":"5027:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5014:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5021:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5017:3:181"},"nodeType":"YulFunctionCall","src":"5017:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5011:2:181"},"nodeType":"YulFunctionCall","src":"5011:13:181"},"nodeType":"YulIf","src":"5008:39:181"},{"nodeType":"YulAssignment","src":"5056:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5067:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"5070:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5063:3:181"},"nodeType":"YulFunctionCall","src":"5063:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5056:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4981:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"4984:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4990:3:181","type":""}],"src":"4950:128:181"},{"body":{"nodeType":"YulBlock","src":"5257:247:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5274:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5285:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5267:6:181"},"nodeType":"YulFunctionCall","src":"5267:21:181"},"nodeType":"YulExpressionStatement","src":"5267:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5308:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5319:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5304:3:181"},"nodeType":"YulFunctionCall","src":"5304:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5324:2:181","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5297:6:181"},"nodeType":"YulFunctionCall","src":"5297:30:181"},"nodeType":"YulExpressionStatement","src":"5297:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5347:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5358:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5343:3:181"},"nodeType":"YulFunctionCall","src":"5343:18:181"},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d757374206861","kind":"string","nodeType":"YulLiteral","src":"5363:34:181","type":"","value":"ERC20PresetMinterPauser: must ha"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5336:6:181"},"nodeType":"YulFunctionCall","src":"5336:62:181"},"nodeType":"YulExpressionStatement","src":"5336:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5418:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5429:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5414:3:181"},"nodeType":"YulFunctionCall","src":"5414:18:181"},{"hexValue":"76652070617573657220726f6c6520746f20756e7061757365","kind":"string","nodeType":"YulLiteral","src":"5434:27:181","type":"","value":"ve pauser role to unpause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5407:6:181"},"nodeType":"YulFunctionCall","src":"5407:55:181"},"nodeType":"YulExpressionStatement","src":"5407:55:181"},{"nodeType":"YulAssignment","src":"5471:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5483:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5494:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5479:3:181"},"nodeType":"YulFunctionCall","src":"5479:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5471:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_176e32c23b35bed3cd8ee309232e2364823f6f66078e0cf4f5b5e41eee016186__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5234:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5248:4:181","type":""}],"src":"5083:421:181"},{"body":{"nodeType":"YulBlock","src":"5683:244:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5700:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5711:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5693:6:181"},"nodeType":"YulFunctionCall","src":"5693:21:181"},"nodeType":"YulExpressionStatement","src":"5693:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5745:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5730:3:181"},"nodeType":"YulFunctionCall","src":"5730:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5750:2:181","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5723:6:181"},"nodeType":"YulFunctionCall","src":"5723:30:181"},"nodeType":"YulExpressionStatement","src":"5723:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5773:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5784:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5769:3:181"},"nodeType":"YulFunctionCall","src":"5769:18:181"},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d757374206861","kind":"string","nodeType":"YulLiteral","src":"5789:34:181","type":"","value":"ERC20PresetMinterPauser: must ha"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5762:6:181"},"nodeType":"YulFunctionCall","src":"5762:62:181"},"nodeType":"YulExpressionStatement","src":"5762:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5844:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5855:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5840:3:181"},"nodeType":"YulFunctionCall","src":"5840:18:181"},{"hexValue":"7665206d696e74657220726f6c6520746f206d696e74","kind":"string","nodeType":"YulLiteral","src":"5860:24:181","type":"","value":"ve minter role to mint"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5833:6:181"},"nodeType":"YulFunctionCall","src":"5833:52:181"},"nodeType":"YulExpressionStatement","src":"5833:52:181"},{"nodeType":"YulAssignment","src":"5894:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5906:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5917:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5902:3:181"},"nodeType":"YulFunctionCall","src":"5902:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5894:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9efa111136b49cf2058ce33f60fa04a5749fd87012d74cadc251e21e1db53342__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5660:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5674:4:181","type":""}],"src":"5509:418:181"},{"body":{"nodeType":"YulBlock","src":"6106:245:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6123:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6134:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6116:6:181"},"nodeType":"YulFunctionCall","src":"6116:21:181"},"nodeType":"YulExpressionStatement","src":"6116:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6157:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6168:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6153:3:181"},"nodeType":"YulFunctionCall","src":"6153:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6173:2:181","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6146:6:181"},"nodeType":"YulFunctionCall","src":"6146:30:181"},"nodeType":"YulExpressionStatement","src":"6146:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6196:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6207:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6192:3:181"},"nodeType":"YulFunctionCall","src":"6192:18:181"},{"hexValue":"45524332305072657365744d696e7465725061757365723a206d757374206861","kind":"string","nodeType":"YulLiteral","src":"6212:34:181","type":"","value":"ERC20PresetMinterPauser: must ha"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6185:6:181"},"nodeType":"YulFunctionCall","src":"6185:62:181"},"nodeType":"YulExpressionStatement","src":"6185:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6267:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6278:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6263:3:181"},"nodeType":"YulFunctionCall","src":"6263:18:181"},{"hexValue":"76652070617573657220726f6c6520746f207061757365","kind":"string","nodeType":"YulLiteral","src":"6283:25:181","type":"","value":"ve pauser role to pause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6256:6:181"},"nodeType":"YulFunctionCall","src":"6256:53:181"},"nodeType":"YulExpressionStatement","src":"6256:53:181"},{"nodeType":"YulAssignment","src":"6318:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6330:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6341:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6326:3:181"},"nodeType":"YulFunctionCall","src":"6326:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6318:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_d581fb23a6d539f3015b3485052424734f4b05014d1d5211f35a049cff57e330__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6083:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6097:4:181","type":""}],"src":"5932:419:181"},{"body":{"nodeType":"YulBlock","src":"6530:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6547:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6558:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6540:6:181"},"nodeType":"YulFunctionCall","src":"6540:21:181"},"nodeType":"YulExpressionStatement","src":"6540:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6581:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6592:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6577:3:181"},"nodeType":"YulFunctionCall","src":"6577:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6597:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6570:6:181"},"nodeType":"YulFunctionCall","src":"6570:30:181"},"nodeType":"YulExpressionStatement","src":"6570:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6620:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6631:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6616:3:181"},"nodeType":"YulFunctionCall","src":"6616:18:181"},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77","kind":"string","nodeType":"YulLiteral","src":"6636:34:181","type":"","value":"ERC20: decreased allowance below"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6609:6:181"},"nodeType":"YulFunctionCall","src":"6609:62:181"},"nodeType":"YulExpressionStatement","src":"6609:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6691:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6702:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6687:3:181"},"nodeType":"YulFunctionCall","src":"6687:18:181"},{"hexValue":"207a65726f","kind":"string","nodeType":"YulLiteral","src":"6707:7:181","type":"","value":" zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6680:6:181"},"nodeType":"YulFunctionCall","src":"6680:35:181"},"nodeType":"YulExpressionStatement","src":"6680:35:181"},{"nodeType":"YulAssignment","src":"6724:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6736:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6747:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6732:3:181"},"nodeType":"YulFunctionCall","src":"6732:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6724:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6507:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6521:4:181","type":""}],"src":"6356:401:181"},{"body":{"nodeType":"YulBlock","src":"6936:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6953:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6964:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6946:6:181"},"nodeType":"YulFunctionCall","src":"6946:21:181"},"nodeType":"YulExpressionStatement","src":"6946:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6987:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6998:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6983:3:181"},"nodeType":"YulFunctionCall","src":"6983:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7003:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6976:6:181"},"nodeType":"YulFunctionCall","src":"6976:30:181"},"nodeType":"YulExpressionStatement","src":"6976:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7026:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7037:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7022:3:181"},"nodeType":"YulFunctionCall","src":"7022:18:181"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"7042:34:181","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7015:6:181"},"nodeType":"YulFunctionCall","src":"7015:62:181"},"nodeType":"YulExpressionStatement","src":"7015:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7097:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7108:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7093:3:181"},"nodeType":"YulFunctionCall","src":"7093:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"7113:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7086:6:181"},"nodeType":"YulFunctionCall","src":"7086:34:181"},"nodeType":"YulExpressionStatement","src":"7086:34:181"},{"nodeType":"YulAssignment","src":"7129:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7141:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7152:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7137:3:181"},"nodeType":"YulFunctionCall","src":"7137:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7129:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6913:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6927:4:181","type":""}],"src":"6762:400:181"},{"body":{"nodeType":"YulBlock","src":"7341:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7358:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7369:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7351:6:181"},"nodeType":"YulFunctionCall","src":"7351:21:181"},"nodeType":"YulExpressionStatement","src":"7351:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7392:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7403:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7388:3:181"},"nodeType":"YulFunctionCall","src":"7388:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7408:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7381:6:181"},"nodeType":"YulFunctionCall","src":"7381:30:181"},"nodeType":"YulExpressionStatement","src":"7381:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7431:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7442:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7427:3:181"},"nodeType":"YulFunctionCall","src":"7427:18:181"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"7447:34:181","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7420:6:181"},"nodeType":"YulFunctionCall","src":"7420:62:181"},"nodeType":"YulExpressionStatement","src":"7420:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7502:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7513:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7498:3:181"},"nodeType":"YulFunctionCall","src":"7498:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"7518:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7491:6:181"},"nodeType":"YulFunctionCall","src":"7491:32:181"},"nodeType":"YulExpressionStatement","src":"7491:32:181"},{"nodeType":"YulAssignment","src":"7532:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7544:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7555:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7540:3:181"},"nodeType":"YulFunctionCall","src":"7540:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7532:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7318:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7332:4:181","type":""}],"src":"7167:398:181"},{"body":{"nodeType":"YulBlock","src":"7744:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7761:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7772:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7754:6:181"},"nodeType":"YulFunctionCall","src":"7754:21:181"},"nodeType":"YulExpressionStatement","src":"7754:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7795:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7806:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7791:3:181"},"nodeType":"YulFunctionCall","src":"7791:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7811:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7784:6:181"},"nodeType":"YulFunctionCall","src":"7784:30:181"},"nodeType":"YulExpressionStatement","src":"7784:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7834:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7845:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7830:3:181"},"nodeType":"YulFunctionCall","src":"7830:18:181"},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"7850:31:181","type":"","value":"ERC20: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7823:6:181"},"nodeType":"YulFunctionCall","src":"7823:59:181"},"nodeType":"YulExpressionStatement","src":"7823:59:181"},{"nodeType":"YulAssignment","src":"7891:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7903:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7914:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7899:3:181"},"nodeType":"YulFunctionCall","src":"7899:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7891:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7721:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7735:4:181","type":""}],"src":"7570:353:181"},{"body":{"nodeType":"YulBlock","src":"8102:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8119:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8130:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8112:6:181"},"nodeType":"YulFunctionCall","src":"8112:21:181"},"nodeType":"YulExpressionStatement","src":"8112:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8153:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8164:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8149:3:181"},"nodeType":"YulFunctionCall","src":"8149:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8169:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8142:6:181"},"nodeType":"YulFunctionCall","src":"8142:30:181"},"nodeType":"YulExpressionStatement","src":"8142:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8192:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8203:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8188:3:181"},"nodeType":"YulFunctionCall","src":"8188:18:181"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"8208:34:181","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8181:6:181"},"nodeType":"YulFunctionCall","src":"8181:62:181"},"nodeType":"YulExpressionStatement","src":"8181:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8263:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8274:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8259:3:181"},"nodeType":"YulFunctionCall","src":"8259:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"8279:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8252:6:181"},"nodeType":"YulFunctionCall","src":"8252:35:181"},"nodeType":"YulExpressionStatement","src":"8252:35:181"},{"nodeType":"YulAssignment","src":"8296:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8308:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8319:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8304:3:181"},"nodeType":"YulFunctionCall","src":"8304:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8296:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8079:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8093:4:181","type":""}],"src":"7928:401:181"},{"body":{"nodeType":"YulBlock","src":"8508:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8536:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8518:6:181"},"nodeType":"YulFunctionCall","src":"8518:21:181"},"nodeType":"YulExpressionStatement","src":"8518:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8559:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8570:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8555:3:181"},"nodeType":"YulFunctionCall","src":"8555:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8575:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8548:6:181"},"nodeType":"YulFunctionCall","src":"8548:30:181"},"nodeType":"YulExpressionStatement","src":"8548:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8598:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8609:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8594:3:181"},"nodeType":"YulFunctionCall","src":"8594:18:181"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"8614:34:181","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8587:6:181"},"nodeType":"YulFunctionCall","src":"8587:62:181"},"nodeType":"YulExpressionStatement","src":"8587:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8669:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8680:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8665:3:181"},"nodeType":"YulFunctionCall","src":"8665:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"8685:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8658:6:181"},"nodeType":"YulFunctionCall","src":"8658:33:181"},"nodeType":"YulExpressionStatement","src":"8658:33:181"},{"nodeType":"YulAssignment","src":"8700:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8712:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8723:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8708:3:181"},"nodeType":"YulFunctionCall","src":"8708:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8700:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8485:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8499:4:181","type":""}],"src":"8334:399:181"},{"body":{"nodeType":"YulBlock","src":"8912:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8929:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8940:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8922:6:181"},"nodeType":"YulFunctionCall","src":"8922:21:181"},"nodeType":"YulExpressionStatement","src":"8922:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8963:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8974:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8959:3:181"},"nodeType":"YulFunctionCall","src":"8959:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8979:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8952:6:181"},"nodeType":"YulFunctionCall","src":"8952:30:181"},"nodeType":"YulExpressionStatement","src":"8952:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9002:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9013:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8998:3:181"},"nodeType":"YulFunctionCall","src":"8998:18:181"},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062","kind":"string","nodeType":"YulLiteral","src":"9018:34:181","type":"","value":"ERC20: transfer amount exceeds b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8991:6:181"},"nodeType":"YulFunctionCall","src":"8991:62:181"},"nodeType":"YulExpressionStatement","src":"8991:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9073:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9084:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9069:3:181"},"nodeType":"YulFunctionCall","src":"9069:18:181"},{"hexValue":"616c616e6365","kind":"string","nodeType":"YulLiteral","src":"9089:8:181","type":"","value":"alance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9062:6:181"},"nodeType":"YulFunctionCall","src":"9062:36:181"},"nodeType":"YulExpressionStatement","src":"9062:36:181"},{"nodeType":"YulAssignment","src":"9107:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9119:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9130:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9115:3:181"},"nodeType":"YulFunctionCall","src":"9115:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9107:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8889:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8903:4:181","type":""}],"src":"8738:402:181"},{"body":{"nodeType":"YulBlock","src":"9319:181:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9336:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9347:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9329:6:181"},"nodeType":"YulFunctionCall","src":"9329:21:181"},"nodeType":"YulExpressionStatement","src":"9329:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9370:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9381:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9366:3:181"},"nodeType":"YulFunctionCall","src":"9366:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9386:2:181","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9359:6:181"},"nodeType":"YulFunctionCall","src":"9359:30:181"},"nodeType":"YulExpressionStatement","src":"9359:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9409:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9420:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9405:3:181"},"nodeType":"YulFunctionCall","src":"9405:18:181"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"9425:33:181","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9398:6:181"},"nodeType":"YulFunctionCall","src":"9398:61:181"},"nodeType":"YulExpressionStatement","src":"9398:61:181"},{"nodeType":"YulAssignment","src":"9468:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9480:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9491:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9476:3:181"},"nodeType":"YulFunctionCall","src":"9476:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9468:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9296:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9310:4:181","type":""}],"src":"9145:355:181"},{"body":{"nodeType":"YulBlock","src":"9679:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9696:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9707:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9689:6:181"},"nodeType":"YulFunctionCall","src":"9689:21:181"},"nodeType":"YulExpressionStatement","src":"9689:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9730:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9741:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9726:3:181"},"nodeType":"YulFunctionCall","src":"9726:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9746:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9719:6:181"},"nodeType":"YulFunctionCall","src":"9719:30:181"},"nodeType":"YulExpressionStatement","src":"9719:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9769:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9780:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9765:3:181"},"nodeType":"YulFunctionCall","src":"9765:18:181"},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f20616464726573","kind":"string","nodeType":"YulLiteral","src":"9785:34:181","type":"","value":"ERC20: burn from the zero addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9758:6:181"},"nodeType":"YulFunctionCall","src":"9758:62:181"},"nodeType":"YulExpressionStatement","src":"9758:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9840:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9851:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9836:3:181"},"nodeType":"YulFunctionCall","src":"9836:18:181"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"9856:3:181","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9829:6:181"},"nodeType":"YulFunctionCall","src":"9829:31:181"},"nodeType":"YulExpressionStatement","src":"9829:31:181"},{"nodeType":"YulAssignment","src":"9869:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9881:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9892:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9877:3:181"},"nodeType":"YulFunctionCall","src":"9877:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9869:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9656:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9670:4:181","type":""}],"src":"9505:397:181"},{"body":{"nodeType":"YulBlock","src":"10081:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10098:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10109:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10091:6:181"},"nodeType":"YulFunctionCall","src":"10091:21:181"},"nodeType":"YulExpressionStatement","src":"10091:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10132:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10143:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10128:3:181"},"nodeType":"YulFunctionCall","src":"10128:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10148:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10121:6:181"},"nodeType":"YulFunctionCall","src":"10121:30:181"},"nodeType":"YulExpressionStatement","src":"10121:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10171:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10182:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10167:3:181"},"nodeType":"YulFunctionCall","src":"10167:18:181"},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e","kind":"string","nodeType":"YulLiteral","src":"10187:34:181","type":"","value":"ERC20: burn amount exceeds balan"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10160:6:181"},"nodeType":"YulFunctionCall","src":"10160:62:181"},"nodeType":"YulExpressionStatement","src":"10160:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10242:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10253:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10238:3:181"},"nodeType":"YulFunctionCall","src":"10238:18:181"},{"hexValue":"6365","kind":"string","nodeType":"YulLiteral","src":"10258:4:181","type":"","value":"ce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10231:6:181"},"nodeType":"YulFunctionCall","src":"10231:32:181"},"nodeType":"YulExpressionStatement","src":"10231:32:181"},{"nodeType":"YulAssignment","src":"10272:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10284:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10295:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10280:3:181"},"nodeType":"YulFunctionCall","src":"10280:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10272:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10058:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10072:4:181","type":""}],"src":"9907:398:181"},{"body":{"nodeType":"YulBlock","src":"10699:397:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10716:3:181"},{"hexValue":"416363657373436f6e74726f6c3a206163636f756e7420","kind":"string","nodeType":"YulLiteral","src":"10721:25:181","type":"","value":"AccessControl: account "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10709:6:181"},"nodeType":"YulFunctionCall","src":"10709:38:181"},"nodeType":"YulExpressionStatement","src":"10709:38:181"},{"nodeType":"YulVariableDeclaration","src":"10756:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10776:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10770:5:181"},"nodeType":"YulFunctionCall","src":"10770:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10760:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10818:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"10826:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10814:3:181"},"nodeType":"YulFunctionCall","src":"10814:17:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10837:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"10842:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10833:3:181"},"nodeType":"YulFunctionCall","src":"10833:12:181"},{"name":"length","nodeType":"YulIdentifier","src":"10847:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"10792:21:181"},"nodeType":"YulFunctionCall","src":"10792:62:181"},"nodeType":"YulExpressionStatement","src":"10792:62:181"},{"nodeType":"YulVariableDeclaration","src":"10863:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10877:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"10882:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10873:3:181"},"nodeType":"YulFunctionCall","src":"10873:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10867:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10909:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"10913:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10905:3:181"},"nodeType":"YulFunctionCall","src":"10905:11:181"},{"hexValue":"206973206d697373696e6720726f6c6520","kind":"string","nodeType":"YulLiteral","src":"10918:19:181","type":"","value":" is missing role "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10898:6:181"},"nodeType":"YulFunctionCall","src":"10898:40:181"},"nodeType":"YulExpressionStatement","src":"10898:40:181"},{"nodeType":"YulVariableDeclaration","src":"10947:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10969:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10963:5:181"},"nodeType":"YulFunctionCall","src":"10963:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"10951:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11011:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"11019:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11007:3:181"},"nodeType":"YulFunctionCall","src":"11007:17:181"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"11030:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"11034:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11026:3:181"},"nodeType":"YulFunctionCall","src":"11026:11:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"11039:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"10985:21:181"},"nodeType":"YulFunctionCall","src":"10985:63:181"},"nodeType":"YulExpressionStatement","src":"10985:63:181"},{"nodeType":"YulAssignment","src":"11057:33:181","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"11072:2:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"11076:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11068:3:181"},"nodeType":"YulFunctionCall","src":"11068:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"11087:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11064:3:181"},"nodeType":"YulFunctionCall","src":"11064:26:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11057:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10667:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10672:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10680:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10691:3:181","type":""}],"src":"10310:786:181"},{"body":{"nodeType":"YulBlock","src":"11275:170:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11292:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11303:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11285:6:181"},"nodeType":"YulFunctionCall","src":"11285:21:181"},"nodeType":"YulExpressionStatement","src":"11285:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11326:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11337:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11322:3:181"},"nodeType":"YulFunctionCall","src":"11322:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11342:2:181","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11315:6:181"},"nodeType":"YulFunctionCall","src":"11315:30:181"},"nodeType":"YulExpressionStatement","src":"11315:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11365:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11376:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11361:3:181"},"nodeType":"YulFunctionCall","src":"11361:18:181"},{"hexValue":"5061757361626c653a206e6f7420706175736564","kind":"string","nodeType":"YulLiteral","src":"11381:22:181","type":"","value":"Pausable: not paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11354:6:181"},"nodeType":"YulFunctionCall","src":"11354:50:181"},"nodeType":"YulExpressionStatement","src":"11354:50:181"},{"nodeType":"YulAssignment","src":"11413:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11436:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11421:3:181"},"nodeType":"YulFunctionCall","src":"11421:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11413:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11252:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11266:4:181","type":""}],"src":"11101:344:181"},{"body":{"nodeType":"YulBlock","src":"11624:166:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11641:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11652:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11634:6:181"},"nodeType":"YulFunctionCall","src":"11634:21:181"},"nodeType":"YulExpressionStatement","src":"11634:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11675:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11686:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11671:3:181"},"nodeType":"YulFunctionCall","src":"11671:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11691:2:181","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11664:6:181"},"nodeType":"YulFunctionCall","src":"11664:30:181"},"nodeType":"YulExpressionStatement","src":"11664:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11714:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11725:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11710:3:181"},"nodeType":"YulFunctionCall","src":"11710:18:181"},{"hexValue":"5061757361626c653a20706175736564","kind":"string","nodeType":"YulLiteral","src":"11730:18:181","type":"","value":"Pausable: paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11703:6:181"},"nodeType":"YulFunctionCall","src":"11703:46:181"},"nodeType":"YulExpressionStatement","src":"11703:46:181"},{"nodeType":"YulAssignment","src":"11758:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11770:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11781:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11766:3:181"},"nodeType":"YulFunctionCall","src":"11766:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11758:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11601:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11615:4:181","type":""}],"src":"11450:340:181"},{"body":{"nodeType":"YulBlock","src":"11827:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11844:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11851:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11856:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11847:3:181"},"nodeType":"YulFunctionCall","src":"11847:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11837:6:181"},"nodeType":"YulFunctionCall","src":"11837:31:181"},"nodeType":"YulExpressionStatement","src":"11837:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11884:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11887:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11877:6:181"},"nodeType":"YulFunctionCall","src":"11877:15:181"},"nodeType":"YulExpressionStatement","src":"11877:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11908:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11911:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11901:6:181"},"nodeType":"YulFunctionCall","src":"11901:15:181"},"nodeType":"YulExpressionStatement","src":"11901:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"11795:127:181"},{"body":{"nodeType":"YulBlock","src":"12101:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12118:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12129:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12111:6:181"},"nodeType":"YulFunctionCall","src":"12111:21:181"},"nodeType":"YulExpressionStatement","src":"12111:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12152:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12163:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12148:3:181"},"nodeType":"YulFunctionCall","src":"12148:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12168:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12141:6:181"},"nodeType":"YulFunctionCall","src":"12141:30:181"},"nodeType":"YulExpressionStatement","src":"12141:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12191:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12202:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12187:3:181"},"nodeType":"YulFunctionCall","src":"12187:18:181"},{"hexValue":"45524332305061757361626c653a20746f6b656e207472616e73666572207768","kind":"string","nodeType":"YulLiteral","src":"12207:34:181","type":"","value":"ERC20Pausable: token transfer wh"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12180:6:181"},"nodeType":"YulFunctionCall","src":"12180:62:181"},"nodeType":"YulExpressionStatement","src":"12180:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12262:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12273:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12258:3:181"},"nodeType":"YulFunctionCall","src":"12258:18:181"},{"hexValue":"696c6520706175736564","kind":"string","nodeType":"YulLiteral","src":"12278:12:181","type":"","value":"ile paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12251:6:181"},"nodeType":"YulFunctionCall","src":"12251:40:181"},"nodeType":"YulExpressionStatement","src":"12251:40:181"},{"nodeType":"YulAssignment","src":"12300:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12312:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12323:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12308:3:181"},"nodeType":"YulFunctionCall","src":"12308:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12300:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12078:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12092:4:181","type":""}],"src":"11927:406:181"},{"body":{"nodeType":"YulBlock","src":"12390:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"12449:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12451:16:181"},"nodeType":"YulFunctionCall","src":"12451:18:181"},"nodeType":"YulExpressionStatement","src":"12451:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12421:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12414:6:181"},"nodeType":"YulFunctionCall","src":"12414:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12407:6:181"},"nodeType":"YulFunctionCall","src":"12407:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12429:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12440:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12436:3:181"},"nodeType":"YulFunctionCall","src":"12436:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"12444:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"12432:3:181"},"nodeType":"YulFunctionCall","src":"12432:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12426:2:181"},"nodeType":"YulFunctionCall","src":"12426:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12403:3:181"},"nodeType":"YulFunctionCall","src":"12403:45:181"},"nodeType":"YulIf","src":"12400:71:181"},{"nodeType":"YulAssignment","src":"12480:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12495:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"12498:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12491:3:181"},"nodeType":"YulFunctionCall","src":"12491:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"12480:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12369:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"12372:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"12378:7:181","type":""}],"src":"12338:168:181"},{"body":{"nodeType":"YulBlock","src":"12543:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12560:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12567:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12572:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12563:3:181"},"nodeType":"YulFunctionCall","src":"12563:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12553:6:181"},"nodeType":"YulFunctionCall","src":"12553:31:181"},"nodeType":"YulExpressionStatement","src":"12553:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12600:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12603:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12593:6:181"},"nodeType":"YulFunctionCall","src":"12593:15:181"},"nodeType":"YulExpressionStatement","src":"12593:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12624:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12627:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12617:6:181"},"nodeType":"YulFunctionCall","src":"12617:15:181"},"nodeType":"YulExpressionStatement","src":"12617:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"12511:127:181"},{"body":{"nodeType":"YulBlock","src":"12690:89:181","statements":[{"body":{"nodeType":"YulBlock","src":"12717:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12719:16:181"},"nodeType":"YulFunctionCall","src":"12719:18:181"},"nodeType":"YulExpressionStatement","src":"12719:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12710:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12703:6:181"},"nodeType":"YulFunctionCall","src":"12703:13:181"},"nodeType":"YulIf","src":"12700:39:181"},{"nodeType":"YulAssignment","src":"12748:25:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12759:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12770:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12766:3:181"},"nodeType":"YulFunctionCall","src":"12766:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12755:3:181"},"nodeType":"YulFunctionCall","src":"12755:18:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12748:3:181"}]}]},"name":"decrement_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12672:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"12682:3:181","type":""}],"src":"12643:136:181"},{"body":{"nodeType":"YulBlock","src":"12958:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12975:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12986:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12968:6:181"},"nodeType":"YulFunctionCall","src":"12968:21:181"},"nodeType":"YulExpressionStatement","src":"12968:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13009:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13020:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13005:3:181"},"nodeType":"YulFunctionCall","src":"13005:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13025:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12998:6:181"},"nodeType":"YulFunctionCall","src":"12998:30:181"},"nodeType":"YulExpressionStatement","src":"12998:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13048:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13059:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13044:3:181"},"nodeType":"YulFunctionCall","src":"13044:18:181"},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","kind":"string","nodeType":"YulLiteral","src":"13064:34:181","type":"","value":"Strings: hex length insufficient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13037:6:181"},"nodeType":"YulFunctionCall","src":"13037:62:181"},"nodeType":"YulExpressionStatement","src":"13037:62:181"},{"nodeType":"YulAssignment","src":"13108:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13120:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13131:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13116:3:181"},"nodeType":"YulFunctionCall","src":"13116:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13108:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12935:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12949:4:181","type":""}],"src":"12784:356:181"},{"body":{"nodeType":"YulBlock","src":"13194:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"13216:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13218:16:181"},"nodeType":"YulFunctionCall","src":"13218:18:181"},"nodeType":"YulExpressionStatement","src":"13218:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13210:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"13213:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13207:2:181"},"nodeType":"YulFunctionCall","src":"13207:8:181"},"nodeType":"YulIf","src":"13204:34:181"},{"nodeType":"YulAssignment","src":"13247:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13259:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"13262:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13255:3:181"},"nodeType":"YulFunctionCall","src":"13255:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"13247:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13176:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"13179:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"13185:4:181","type":""}],"src":"13145:125:181"},{"body":{"nodeType":"YulBlock","src":"13307:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13324:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13331:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13336:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13327:3:181"},"nodeType":"YulFunctionCall","src":"13327:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13317:6:181"},"nodeType":"YulFunctionCall","src":"13317:31:181"},"nodeType":"YulExpressionStatement","src":"13317:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13364:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13367:4:181","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13357:6:181"},"nodeType":"YulFunctionCall","src":"13357:15:181"},"nodeType":"YulExpressionStatement","src":"13357:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13388:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13391:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13381:6:181"},"nodeType":"YulFunctionCall","src":"13381:15:181"},"nodeType":"YulExpressionStatement","src":"13381:15:181"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"13275:127:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := 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 copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\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_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_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\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_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_176e32c23b35bed3cd8ee309232e2364823f6f66078e0cf4f5b5e41eee016186__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 57)\n mstore(add(headStart, 64), \"ERC20PresetMinterPauser: must ha\")\n mstore(add(headStart, 96), \"ve pauser role to unpause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9efa111136b49cf2058ce33f60fa04a5749fd87012d74cadc251e21e1db53342__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 54)\n mstore(add(headStart, 64), \"ERC20PresetMinterPauser: must ha\")\n mstore(add(headStart, 96), \"ve minter role to mint\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_d581fb23a6d539f3015b3485052424734f4b05014d1d5211f35a049cff57e330__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 55)\n mstore(add(headStart, 64), \"ERC20PresetMinterPauser: must ha\")\n mstore(add(headStart, 96), \"ve pauser role to pause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__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), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\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 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 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_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC20Pausable: token transfer wh\")\n mstore(add(headStart, 96), \"ile paused\")\n tail := add(headStart, 128)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a457c2d711610097578063d539139311610071578063d5391393146103af578063d547741f146103d6578063dd62ed3e146103e9578063e63ab1e9146103fc57600080fd5b8063a457c2d714610376578063a9059cbb14610389578063ca15c8731461039c57600080fd5b80639010d07c116100d35780639010d07c1461032857806391d148541461035357806395d89b4114610366578063a217fddf1461036e57600080fd5b806370a08231146102e457806379cc67901461030d5780638456cb591461032057600080fd5b8063313ce567116101665780633f4ba83a116101405780633f4ba83a146102ab57806340c10f19146102b357806342966c68146102c65780635c975abb146102d957600080fd5b8063313ce5671461027657806336568abe14610285578063395093511461029857600080fd5b806318160ddd116101a257806318160ddd1461021957806323b872dd1461022b578063248a9ca31461023e5780632f2ff15d1461026157600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063095ea7b314610206575b600080fd5b6101dc6101d736600461154c565b610423565b60405190151581526020015b60405180910390f35b6101f961044e565b6040516101e891906115a2565b6101dc6102143660046115f1565b6104e0565b6004545b6040519081526020016101e8565b6101dc61023936600461161b565b6104f8565b61021d61024c366004611657565b60009081526020819052604090206001015490565b61027461026f366004611670565b61051c565b005b604051601281526020016101e8565b610274610293366004611670565b610546565b6101dc6102a63660046115f1565b6105c9565b6102746105eb565b6102746102c13660046115f1565b610691565b6102746102d4366004611657565b610730565b60075460ff166101dc565b61021d6102f236600461169c565b6001600160a01b031660009081526002602052604090205490565b61027461031b3660046115f1565b61073d565b610274610752565b61033b6103363660046116b7565b6107f6565b6040516001600160a01b0390911681526020016101e8565b6101dc610361366004611670565b610815565b6101f961083e565b61021d600081565b6101dc6103843660046115f1565b61084d565b6101dc6103973660046115f1565b6108c8565b61021d6103aa366004611657565b6108d6565b61021d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102746103e4366004611670565b6108ed565b61021d6103f73660046116d9565b610912565b61021d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60006001600160e01b03198216635a05180f60e01b14806104485750610448826109d6565b92915050565b60606005805461045d90611703565b80601f016020809104026020016040519081016040528092919081815260200182805461048990611703565b80156104d65780601f106104ab576101008083540402835291602001916104d6565b820191906000526020600020905b8154815290600101906020018083116104b957829003601f168201915b5050505050905090565b6000336104ee818585610a0b565b5060019392505050565b600033610506858285610b2f565b610511858585610ba9565b506001949350505050565b60008281526020819052604090206001015461053781610d5f565b6105418383610d69565b505050565b6001600160a01b03811633146105bb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105c58282610d8b565b5050565b6000336104ee8185856105dc8383610912565b6105e69190611754565b610a0b565b6106157f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610815565b6106875760405162461bcd60e51b815260206004820152603960248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20756e70617573650000000000000060648201526084016105b2565b61068f610dad565b565b6106bb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610815565b6107265760405162461bcd60e51b815260206004820152603660248201527f45524332305072657365744d696e7465725061757365723a206d7573742068616044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b60648201526084016105b2565b6105c58282610dff565b61073a3382610ecc565b50565b610748823383610b2f565b6105c58282610ecc565b61077c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610815565b6107ee5760405162461bcd60e51b815260206004820152603760248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20706175736500000000000000000060648201526084016105b2565b61068f61100c565b600082815260016020526040812061080e9083611049565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606006805461045d90611703565b6000338161085b8286610912565b9050838110156108bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105b2565b6105118286868403610a0b565b6000336104ee818585610ba9565b600081815260016020526040812061044890611055565b60008281526020819052604090206001015461090881610d5f565b6105418383610d8b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6109478282610815565b6105c5576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561097d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061080e836001600160a01b03841661105f565b60006001600160e01b03198216637965db0b60e01b148061044857506301ffc9a760e01b6001600160e01b0319831614610448565b6001600160a01b038316610a6d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b2565b6001600160a01b038216610ace5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b2565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610b3b8484610912565b90506000198114610ba35781811015610b965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105b2565b610ba38484848403610a0b565b50505050565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b2565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b2565b610c7a8383836110ae565b6001600160a01b03831660009081526002602052604090205481811015610cf25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b2565b6001600160a01b0380851660008181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d529086815260200190565b60405180910390a3610ba3565b61073a81336110b9565b610d73828261093d565b600082815260016020526040902061054190826109c1565b610d958282611112565b60008281526001602052604090206105419082611177565b610db561118c565b6007805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610e555760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105b2565b610e61600083836110ae565b8060046000828254610e739190611754565b90915550506001600160a01b0382166000818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105b2565b610f38826000836110ae565b6001600160a01b03821660009081526002602052604090205481811015610fac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105b2565b6001600160a01b03831660008181526002602090815260408083208686039055600480548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6110146111d5565b6007805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610de23390565b600061080e838361121b565b6000610448825490565b60008181526001830160205260408120546110a657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610448565b506000610448565b610541838383611245565b6110c38282610815565b6105c5576110d0816112ab565b6110db8360206112bd565b6040516020016110ec92919061176c565b60408051601f198184030181529082905262461bcd60e51b82526105b2916004016115a2565b61111c8282610815565b156105c5576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061080e836001600160a01b038416611459565b60075460ff1661068f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105b2565b60075460ff161561068f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105b2565b6000826000018281548110611232576112326117e1565b9060005260206000200154905092915050565b60075460ff16156105415760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b60648201526084016105b2565b60606104486001600160a01b03831660145b606060006112cc8360026117f7565b6112d7906002611754565b67ffffffffffffffff8111156112ef576112ef611816565b6040519080825280601f01601f191660200182016040528015611319576020820181803683370190505b509050600360fc1b81600081518110611334576113346117e1565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611363576113636117e1565b60200101906001600160f81b031916908160001a90535060006113878460026117f7565b611392906001611754565b90505b600181111561140a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c6576113c66117e1565b1a60f81b8282815181106113dc576113dc6117e1565b60200101906001600160f81b031916908160001a90535060049490941c936114038161182c565b9050611395565b50831561080e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105b2565b6000818152600183016020526040812054801561154257600061147d600183611843565b855490915060009061149190600190611843565b90508181146114f65760008660000182815481106114b1576114b16117e1565b90600052602060002001549050808760000184815481106114d4576114d46117e1565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115075761150761185a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610448565b6000915050610448565b60006020828403121561155e57600080fd5b81356001600160e01b03198116811461080e57600080fd5b60005b83811015611591578181015183820152602001611579565b83811115610ba35750506000910152565b60208152600082518060208401526115c1816040850160208701611576565b601f01601f19169190910160400192915050565b80356001600160a01b03811681146115ec57600080fd5b919050565b6000806040838503121561160457600080fd5b61160d836115d5565b946020939093013593505050565b60008060006060848603121561163057600080fd5b611639846115d5565b9250611647602085016115d5565b9150604084013590509250925092565b60006020828403121561166957600080fd5b5035919050565b6000806040838503121561168357600080fd5b82359150611693602084016115d5565b90509250929050565b6000602082840312156116ae57600080fd5b61080e826115d5565b600080604083850312156116ca57600080fd5b50508035926020909101359150565b600080604083850312156116ec57600080fd5b6116f5836115d5565b9150611693602084016115d5565b600181811c9082168061171757607f821691505b6020821081141561173857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156117675761176761173e565b500190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516117a4816017850160208801611576565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516117d5816028840160208801611576565b01602801949350505050565b634e487b7160e01b600052603260045260246000fd5b60008160001904831182151516156118115761181161173e565b500290565b634e487b7160e01b600052604160045260246000fd5b60008161183b5761183b61173e565b506000190190565b6000828210156118555761185561173e565b500390565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a613099e8b7f693b3b8588bc915d6c49b24ea84af3d7993eb66d47d456d7fffa64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x3AF JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3D6 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x3E9 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x3FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x353 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x36E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2E4 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x30D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3F4BA83A GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2B3 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x276 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x285 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x206 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x154C JUMP JUMPDEST PUSH2 0x423 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH2 0x44E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E8 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x214 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x4E0 JUMP JUMPDEST PUSH1 0x4 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x161B JUMP JUMPDEST PUSH2 0x4F8 JUMP JUMPDEST PUSH2 0x21D PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x26F CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x51C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x293 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x546 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x2A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x5C9 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x5EB JUMP JUMPDEST PUSH2 0x274 PUSH2 0x2C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x691 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x2D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH2 0x730 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMP JUMPDEST PUSH2 0x21D PUSH2 0x2F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x169C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x274 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x33B PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0x16B7 JUMP JUMPDEST PUSH2 0x7F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x361 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x815 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x21D PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x384 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x397 CALLDATASIZE PUSH1 0x4 PUSH2 0x15F1 JUMP JUMPDEST PUSH2 0x8C8 JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3AA CALLDATASIZE PUSH1 0x4 PUSH2 0x1657 JUMP JUMPDEST PUSH2 0x8D6 JUMP JUMPDEST PUSH2 0x21D PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x274 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1670 JUMP JUMPDEST PUSH2 0x8ED JUMP JUMPDEST PUSH2 0x21D PUSH2 0x3F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x16D9 JUMP JUMPDEST PUSH2 0x912 JUMP JUMPDEST PUSH2 0x21D PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x448 JUMPI POP PUSH2 0x448 DUP3 PUSH2 0x9D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD PUSH2 0x45D SWAP1 PUSH2 0x1703 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 0x489 SWAP1 PUSH2 0x1703 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4D6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4AB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4D6 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 0x4B9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0xA0B JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x506 DUP6 DUP3 DUP6 PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x511 DUP6 DUP6 DUP6 PUSH2 0xBA9 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x537 DUP2 PUSH2 0xD5F JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 PUSH2 0xD69 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xD8B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0x5DC DUP4 DUP4 PUSH2 0x912 JUMP JUMPDEST PUSH2 0x5E6 SWAP2 SWAP1 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0xA0B JUMP JUMPDEST PUSH2 0x615 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x687 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x76652070617573657220726F6C6520746F20756E706175736500000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x68F PUSH2 0xDAD JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x6BB PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x726 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x1D99481B5A5B9D195C881C9BDB19481D1BC81B5A5B9D PUSH1 0x52 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x73A CALLER DUP3 PUSH2 0xECC JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x748 DUP3 CALLER DUP4 PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x5C5 DUP3 DUP3 PUSH2 0xECC JUMP JUMPDEST PUSH2 0x77C PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0x815 JUMP JUMPDEST PUSH2 0x7EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305072657365744D696E7465725061757365723A206D757374206861 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x76652070617573657220726F6C6520746F207061757365000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x68F PUSH2 0x100C JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x80E SWAP1 DUP4 PUSH2 0x1049 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x45D SWAP1 PUSH2 0x1703 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x85B DUP3 DUP7 PUSH2 0x912 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x8BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0x511 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0xA0B JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x4EE DUP2 DUP6 DUP6 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x448 SWAP1 PUSH2 0x1055 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x908 DUP2 PUSH2 0xD5F JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 PUSH2 0xD8B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x947 DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST PUSH2 0x5C5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x97D CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x105F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x448 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x448 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xA6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xACE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3B DUP5 DUP5 PUSH2 0x912 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0xBA3 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0xB96 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xBA3 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0xA0B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xC0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xC7A DUP4 DUP4 DUP4 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE SWAP3 DUP7 AND DUP1 DUP3 MSTORE SWAP1 DUP4 SWAP1 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE SWAP2 MLOAD PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xD52 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xBA3 JUMP JUMPDEST PUSH2 0x73A DUP2 CALLER PUSH2 0x10B9 JUMP JUMPDEST PUSH2 0xD73 DUP3 DUP3 PUSH2 0x93D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x541 SWAP1 DUP3 PUSH2 0x9C1 JUMP JUMPDEST PUSH2 0xD95 DUP3 DUP3 PUSH2 0x1112 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x541 SWAP1 DUP3 PUSH2 0x1177 JUMP JUMPDEST PUSH2 0xDB5 PUSH2 0x118C JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xE55 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 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xE61 PUSH1 0x0 DUP4 DUP4 PUSH2 0x10AE JUMP JUMPDEST DUP1 PUSH1 0x4 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xE73 SWAP2 SWAP1 PUSH2 0x1754 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH2 0xF38 DUP3 PUSH1 0x0 DUP4 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xFAC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1014 PUSH2 0x11D5 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0xDE2 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 DUP4 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x448 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x10A6 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x448 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x541 DUP4 DUP4 DUP4 PUSH2 0x1245 JUMP JUMPDEST PUSH2 0x10C3 DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST PUSH2 0x5C5 JUMPI PUSH2 0x10D0 DUP2 PUSH2 0x12AB JUMP JUMPDEST PUSH2 0x10DB DUP4 PUSH1 0x20 PUSH2 0x12BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x10EC SWAP3 SWAP2 SWAP1 PUSH2 0x176C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x5B2 SWAP2 PUSH1 0x4 ADD PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x111C DUP3 DUP3 PUSH2 0x815 JUMP JUMPDEST ISZERO PUSH2 0x5C5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80E DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1459 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND PUSH2 0x68F 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 0x5B2 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x68F 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 0x5B2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1232 JUMPI PUSH2 0x1232 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x541 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332305061757361626C653A20746F6B656E207472616E73666572207768 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1A5B19481C185D5CD959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x448 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x12CC DUP4 PUSH1 0x2 PUSH2 0x17F7 JUMP JUMPDEST PUSH2 0x12D7 SWAP1 PUSH1 0x2 PUSH2 0x1754 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x12EF JUMPI PUSH2 0x12EF PUSH2 0x1816 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1319 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1334 JUMPI PUSH2 0x1334 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1363 JUMPI PUSH2 0x1363 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1387 DUP5 PUSH1 0x2 PUSH2 0x17F7 JUMP JUMPDEST PUSH2 0x1392 SWAP1 PUSH1 0x1 PUSH2 0x1754 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x140A JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x13C6 JUMPI PUSH2 0x13C6 PUSH2 0x17E1 JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13DC JUMPI PUSH2 0x13DC PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1403 DUP2 PUSH2 0x182C JUMP JUMPDEST SWAP1 POP PUSH2 0x1395 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x80E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1542 JUMPI PUSH1 0x0 PUSH2 0x147D PUSH1 0x1 DUP4 PUSH2 0x1843 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1491 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1843 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x14F6 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x14B1 JUMPI PUSH2 0x14B1 PUSH2 0x17E1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x14D4 JUMPI PUSH2 0x14D4 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1507 JUMPI PUSH2 0x1507 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x155E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x80E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1591 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1579 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x15C1 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1576 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x15EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1604 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x160D DUP4 PUSH2 0x15D5 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1630 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1639 DUP5 PUSH2 0x15D5 JUMP JUMPDEST SWAP3 POP PUSH2 0x1647 PUSH1 0x20 DUP6 ADD PUSH2 0x15D5 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1669 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1693 PUSH1 0x20 DUP5 ADD PUSH2 0x15D5 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x80E DUP3 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16F5 DUP4 PUSH2 0x15D5 JUMP JUMPDEST SWAP2 POP PUSH2 0x1693 PUSH1 0x20 DUP5 ADD PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1717 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1738 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1767 JUMPI PUSH2 0x1767 PUSH2 0x173E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x17A4 DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1576 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x17D5 DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1576 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1811 JUMPI PUSH2 0x1811 PUSH2 0x173E JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x183B JUMPI PUSH2 0x183B PUSH2 0x173E JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1855 JUMPI PUSH2 0x1855 PUSH2 0x173E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 SGT MULMOD SWAP15 DUP12 PUSH32 0x693B3B8588BC915D6C49B24EA84AF3D7993EB66D47D456D7FFFA64736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1005:2013:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;634:212:6;;;;;;:::i;:::-;;:::i;:::-;;;470:14:181;;463:22;445:41;;433:2;418:18;634:212:6;;;;;;;;2154:98:95;;;:::i;:::-;;;;;;;:::i;4431:197::-;;;;;;:::i;:::-;;:::i;3242:106::-;3329:12;;3242:106;;;1731:25:181;;;1719:2;1704:18;3242:106:95;1585:177:181;5190:286:95;;;;;;:::i;:::-;;:::i;4378:129:4:-;;;;;;:::i;:::-;4452:7;4478:12;;;;;;;;;;:22;;;;4378:129;4803:145;;;;;;:::i;:::-;;:::i;:::-;;3091:91:95;;;3173:2;2868:36:181;;2856:2;2841:18;3091:91:95;2726:184:181;5912:214:4;;;;;;:::i;:::-;;:::i;5871:234:95:-;;;;;;:::i;:::-;;:::i;2624:175:110:-;;;:::i;1843:202::-;;;;;;:::i;:::-;;:::i;578:89:97:-;;;;;;:::i;:::-;;:::i;1615:84:81:-;1685:7;;;;1615:84;;3406:125:95;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:95;3480:7;3506:18;;;:9;:18;;;;;;;3406:125;973:161:97;;;;;;:::i;:::-;;:::i;2248:169:110:-;;;:::i;1431:151:6:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3708:32:181;;;3690:51;;3678:2;3663:18;1431:151:6;3544:203:181;2895:145:4;;;;;;:::i;:::-;;:::i;2365:102:95:-;;;:::i;2027:49:4:-;;2072:4;2027:49;;6592:427:95;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;1750:140:6:-;;;;;;:::i;:::-;;:::i;1110:62:110:-;;1148:24;1110:62;;5228:147:4;;;;;;:::i;:::-;;:::i;3974:149:95:-;;;;;;:::i;:::-;;:::i;1178:62:110:-;;1216:24;1178:62;;634:212:6;719:4;-1:-1:-1;;;;;;742:57:6;;-1:-1:-1;;;742:57:6;;:97;;;803:36;827:11;803:23;:36::i;:::-;735:104;634:212;-1:-1:-1;;634:212:6:o;2154:98:95:-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:138;4568:32:95;719:10:138;4584:7:95;4593:6;4568:8;:32::i;:::-;-1:-1:-1;4617:4:95;;4431:197;-1:-1:-1;;;4431:197:95:o;5190:286::-;5317:4;719:10:138;5373:38:95;5389:4;719:10:138;5404:6:95;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:95;;5190:286;-1:-1:-1;;;;5190:286:95:o;4803:145:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4916:25:::1;4927:4;4933:7;4916:10;:25::i;:::-;4803:145:::0;;;:::o;5912:214::-;-1:-1:-1;;;;;6007:23:4;;719:10:138;6007:23:4;5999:83;;;;-1:-1:-1;;;5999:83:4;;4604:2:181;5999:83:4;;;4586:21:181;4643:2;4623:18;;;4616:30;4682:34;4662:18;;;4655:62;-1:-1:-1;;;4733:18:181;;;4726:45;4788:19;;5999:83:4;;;;;;;;;6093:26;6105:4;6111:7;6093:11;:26::i;:::-;5912:214;;:::o;5871:234:95:-;5959:4;719:10:138;6013:64:95;719:10:138;6029:7:95;6066:10;6038:25;719:10:138;6029:7:95;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2624:175:110:-;2676:34;1216:24;719:10:138;2895:145:4;:::i;2676:34:110:-;2668:104;;;;-1:-1:-1;;;2668:104:110;;5285:2:181;2668:104:110;;;5267:21:181;5324:2;5304:18;;;5297:30;5363:34;5343:18;;;5336:62;5434:27;5414:18;;;5407:55;5479:19;;2668:104:110;5083:421:181;2668:104:110;2782:10;:8;:10::i;:::-;2624:175::o;1843:202::-;1918:34;1148:24;719:10:138;2895:145:4;:::i;1918:34:110:-;1910:101;;;;-1:-1:-1;;;1910:101:110;;5711:2:181;1910:101:110;;;5693:21:181;5750:2;5730:18;;;5723:30;5789:34;5769:18;;;5762:62;-1:-1:-1;;;5840:18:181;;;5833:52;5902:19;;1910:101:110;5509:418:181;1910:101:110;2021:17;2027:2;2031:6;2021:5;:17::i;578:89:97:-;633:27;719:10:138;653:6:97;633:5;:27::i;:::-;578:89;:::o;973:161::-;1049:46;1065:7;719:10:138;1088:6:97;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;2248:169:110:-;2298:34;1216:24;719:10:138;2895:145:4;:::i;2298:34:110:-;2290:102;;;;-1:-1:-1;;;2290:102:110;;6134:2:181;2290:102:110;;;6116:21:181;6173:2;6153:18;;;6146:30;6212:34;6192:18;;;6185:62;6283:25;6263:18;;;6256:53;6326:19;;2290:102:110;5932:419:181;2290:102:110;2402:8;:6;:8::i;1431:151:6:-;1521:7;1547:18;;;:12;:18;;;;;:28;;1569:5;1547:21;:28::i;:::-;1540:35;1431:151;-1:-1:-1;;;1431:151:6:o;2895:145:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;;;;2895:145::o;2365:102:95:-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:138;6685:4:95;6766:25;719:10:138;6783:7:95;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:95;;6558:2:181;6801:85:95;;;6540:21:181;6597:2;6577:18;;;6570:30;6636:34;6616:18;;;6609:62;-1:-1:-1;;;6687:18:181;;;6680:35;6732:19;;6801:85:95;6356:401:181;6801:85:95;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:138;3860:28:95;719:10:138;3877:2:95;3881:6;3860:9;:28::i;1750:140:6:-;1830:7;1856:18;;;:12;:18;;;;;:27;;:25;:27::i;5228:147:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5342:26:::1;5354:4;5360:7;5342:11;:26::i;3974:149:95:-:0;-1:-1:-1;;;;;4089:18:95;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;7461:233:4:-;7544:22;7552:4;7558:7;7544;:22::i;:::-;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;2606:202:4:-;2691:4;-1:-1:-1;;;;;;2714:47:4;;-1:-1:-1;;;2714:47:4;;:87;;-1:-1:-1;;;;;;;;;;937:40:153;;;2765:36:4;829:155:153;10504:370:95;-1:-1:-1;;;;;10635:19:95;;10627:68;;;;-1:-1:-1;;;10627:68:95;;6964:2:181;10627:68:95;;;6946:21:181;7003:2;6983:18;;;6976:30;7042:34;7022:18;;;7015:62;-1:-1:-1;;;7093:18:181;;;7086:34;7137:19;;10627:68:95;6762:400:181;10627:68:95;-1:-1:-1;;;;;10713:21:95;;10705:68;;;;-1:-1:-1;;;10705:68:95;;7369:2:181;10705:68:95;;;7351:21:181;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;-1:-1:-1;;;7498:18:181;;;7491:32;7540:19;;10705:68:95;7167:398:181;10705:68:95;-1:-1:-1;;;;;10784:18:95;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1731:25:181;;;10835:32:95;;1704:18:181;10835:32:95;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:95;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:95;;7772:2:181;11404:68:95;;;7754:21:181;7811:2;7791:18;;;7784:30;7850:31;7830:18;;;7823:59;7899:18;;11404:68:95;7570:353:181;11404:68:95;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:95;;7591:68;;;;-1:-1:-1;;;7591:68:95;;8130:2:181;7591:68:95;;;8112:21:181;8169:2;8149:18;;;8142:30;8208:34;8188:18;;;8181:62;-1:-1:-1;;;8259:18:181;;;8252:35;8304:19;;7591:68:95;7928:401:181;7591:68:95;-1:-1:-1;;;;;7677:16:95;;7669:64;;;;-1:-1:-1;;;7669:64:95;;8536:2:181;7669:64:95;;;8518:21:181;8575:2;8555:18;;;8548:30;8614:34;8594:18;;;8587:62;-1:-1:-1;;;8665:18:181;;;8658:33;8708:19;;7669:64:95;8334:399:181;7669:64:95;7744:38;7765:4;7771:2;7775:6;7744:20;:38::i;:::-;-1:-1:-1;;;;;7815:15:95;;7793:19;7815:15;;;:9;:15;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:95;;8940:2:181;7840:72:95;;;8922:21:181;8979:2;8959:18;;;8952:30;9018:34;8998:18;;;8991:62;-1:-1:-1;;;9069:18:181;;;9062:36;9115:19;;7840:72:95;8738:402:181;7840:72:95;-1:-1:-1;;;;;7946:15:95;;;;;;;:9;:15;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;;;;;7978:6;1731:25:181;;1719:2;1704:18;;1585:177;8210:26:95;;;;;;;;8247:37;4803:145:4;3334:103;3400:30;3411:4;719:10:138;3400::4;:30::i;1978:166:6:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106:18;;;;:12;:18;;;;;:31;;2129:7;2106:22;:31::i;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:18;;;;:12;:18;;;;;:34;;2389:7;2363:25;:34::i;2433:117:81:-;1486:16;:14;:16::i;:::-;2491:7:::1;:15:::0;;-1:-1:-1;;2491:15:81::1;::::0;;2521:22:::1;719:10:138::0;2530:12:81::1;2521:22;::::0;-1:-1:-1;;;;;3708:32:181;;;3690:51;;3678:2;3663:18;2521:22:81::1;;;;;;;2433:117::o:0;8567:535:95:-;-1:-1:-1;;;;;8650:21:95;;8642:65;;;;-1:-1:-1;;;8642:65:95;;9347:2:181;8642:65:95;;;9329:21:181;9386:2;9366:18;;;9359:30;9425:33;9405:18;;;9398:61;9476:18;;8642:65:95;9145:355:181;8642:65:95;8718:49;8747:1;8751:7;8760:6;8718:20;:49::i;:::-;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:95;;;;;;:9;:18;;;;;;;;:28;;;;;;8999:37;1731:25:181;;;8999:37:95;;1704:18:181;8999:37:95;;;;;;;5912:214:4;;:::o;9422:659:95:-;-1:-1:-1;;;;;9505:21:95;;9497:67;;;;-1:-1:-1;;;9497:67:95;;9707:2:181;9497:67:95;;;9689:21:181;9746:2;9726:18;;;9719:30;9785:34;9765:18;;;9758:62;-1:-1:-1;;;9836:18:181;;;9829:31;9877:19;;9497:67:95;9505:397:181;9497:67:95;9575:49;9596:7;9613:1;9617:6;9575:20;:49::i;:::-;-1:-1:-1;;;;;9660:18:95;;9635:22;9660:18;;;:9;:18;;;;;;9696:24;;;;9688:71;;;;-1:-1:-1;;;9688:71:95;;10109:2:181;9688:71:95;;;10091:21:181;10148:2;10128:18;;;10121:30;10187:34;10167:18;;;10160:62;-1:-1:-1;;;10238:18:181;;;10231:32;10280:19;;9688:71:95;9907:398:181;9688:71:95;-1:-1:-1;;;;;9793:18:95;;;;;;:9;:18;;;;;;;;9814:23;;;9793:44;;9930:12;:22;;;;;;;9978:37;1731:25:181;;;9793:18:95;;;9978:37;;1704:18:181;9978:37:95;;;;;;;4803:145:4;;;:::o;2186:115:81:-;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;-1:-1:-1;;2245:14:81::1;2255:4;2245:14;::::0;;2274:20:::1;2281:12;719:10:138::0;;640:96;9555:156:168;9629:7;9679:22;9683:3;9695:5;9679:3;:22::i;9098:115::-;9161:7;9187:19;9195:3;4537:18;;4455:107;2206:404;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;2805:211:110;2965:44;2992:4;2998:2;3002:6;2965:26;:44::i;3718:479:4:-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:390;;3989:28;4009:7;3989:19;:28::i;:::-;4088:38;4116:4;4123:2;4088:19;:38::i;:::-;3896:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:252:4;;;;;;;;;;-1:-1:-1;;;3844:336:4;;;;;;;:::i;7865:234::-;7948:22;7956:4;7962:7;7948;:22::i;:::-;7944:149;;;8018:5;7986:12;;;;;;;;;;;-1:-1:-1;;;;;7986:29:4;;;;;;;;;;:37;;-1:-1:-1;;7986:37:4;;;8042:40;719:10:138;;7986:12:4;;8042:40;;8018:5;8042:40;7865:234;;:::o;8615:156:168:-;8688:4;8711:53;8719:3;-1:-1:-1;;;;;8739:23:168;;8711:7;:53::i;1945:106:81:-;1685:7;;;;2003:41;;;;-1:-1:-1;;;2003:41:81;;11303:2:181;2003:41:81;;;11285:21:181;11342:2;11322:18;;;11315:30;-1:-1:-1;;;11361:18:181;;;11354:50;11421:18;;2003:41:81;11101:344:181;1767:106:81;1685:7;;;;1836:9;1828:38;;;;-1:-1:-1;;;1828:38:81;;11652:2:181;1828:38:81;;;11634:21:181;11691:2;11671:18;;;11664:30;-1:-1:-1;;;11710:18:181;;;11703:46;11766:18;;1828:38:81;11450:340:181;4904:118:168;4971:7;4997:3;:11;;5009:5;4997:18;;;;;;;;:::i;:::-;;;;;;;;;4990:25;;4904:118;;;;:::o;665:264:100:-;1685:7:81;;;;866:9:100;858:64;;;;-1:-1:-1;;;858:64:100;;12129:2:181;858:64:100;;;12111:21:181;12168:2;12148:18;;;12141:30;12207:34;12187:18;;;12180:62;-1:-1:-1;;;12258:18:181;;;12251:40;12308:19;;858:64:100;11927:406:181;2102:149:143;2160:13;2192:52;-1:-1:-1;;;;;2204:22:143;;311:2;1513:437;1588:13;1613:19;1645:10;1649:6;1645:1;:10;:::i;:::-;:14;;1658:1;1645:14;:::i;:::-;1635:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1635:25:143;;1613:47;;-1:-1:-1;;;1670:6:143;1677:1;1670:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1670:15:143;;;;;;;;;-1:-1:-1;;;1695:6:143;1702:1;1695:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1695:15:143;;;;;;;;-1:-1:-1;1725:9:143;1737:10;1741:6;1737:1;:10;:::i;:::-;:14;;1750:1;1737:14;:::i;:::-;1725:26;;1720:128;1757:1;1753;:5;1720:128;;;-1:-1:-1;;;1800:5:143;1808:3;1800:11;1791:21;;;;;;;:::i;:::-;;;;1779:6;1786:1;1779:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;1779:33:143;;;;;;;;-1:-1:-1;1836:1:143;1826:11;;;;;1760:3;;;:::i;:::-;;;1720:128;;;-1:-1:-1;1865:10:143;;1857:55;;;;-1:-1:-1;;;1857:55:143;;12986:2:181;1857:55:143;;;12968:21:181;;;13005:18;;;12998:30;13064:34;13044:18;;;13037:62;13116:18;;1857:55:143;12784:356:181;2778:1388:168;2844:4;2981:19;;;:12;;;:19;;;;;;3015:15;;3011:1149;;3384:21;3408:14;3421:1;3408:10;:14;:::i;:::-;3456:18;;3384:38;;-1:-1:-1;3436:17:168;;3456:22;;3477:1;;3456:22;:::i;:::-;3436:42;;3510:13;3497:9;:26;3493:398;;3543:17;3563:3;:11;;3575:9;3563:22;;;;;;;;:::i;:::-;;;;;;;;;3543:42;;3714:9;3685:3;:11;;3697:13;3685:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3797:23;;;:12;;;:23;;;;;:36;;;3493:398;3969:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4061:3;:12;;:19;4074:5;4061:19;;;;;;;;;;;4054:26;;;4102:4;4095:11;;;;;;;3011:1149;4144:5;4137:12;;;;;14:286:181;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:181;;209:43;;199:71;;266:1;263;256:12;497:258;569:1;579:113;593:6;590:1;587:13;579:113;;;669:11;;;663:18;650:11;;;643:39;615:2;608:10;579:113;;;710:6;707:1;704:13;701:48;;;-1:-1:-1;;745:1:181;727:16;;720:27;497:258::o;760:383::-;909:2;898:9;891:21;872:4;941:6;935:13;984:6;979:2;968:9;964:18;957:34;1000:66;1059:6;1054:2;1043:9;1039:18;1034:2;1026:6;1022:15;1000:66;:::i;:::-;1127:2;1106:15;-1:-1:-1;;1102:29:181;1087:45;;;;1134:2;1083:54;;760:383;-1:-1:-1;;760:383:181:o;1148:173::-;1216:20;;-1:-1:-1;;;;;1265:31:181;;1255:42;;1245:70;;1311:1;1308;1301:12;1245:70;1148:173;;;:::o;1326:254::-;1394:6;1402;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;1494:29;1513:9;1494:29;:::i;:::-;1484:39;1570:2;1555:18;;;;1542:32;;-1:-1:-1;;;1326:254:181:o;1767:328::-;1844:6;1852;1860;1913:2;1901:9;1892:7;1888:23;1884:32;1881:52;;;1929:1;1926;1919:12;1881:52;1952:29;1971:9;1952:29;:::i;:::-;1942:39;;2000:38;2034:2;2023:9;2019:18;2000:38;:::i;:::-;1990:48;;2085:2;2074:9;2070:18;2057:32;2047:42;;1767:328;;;;;:::o;2100:180::-;2159:6;2212:2;2200:9;2191:7;2187:23;2183:32;2180:52;;;2228:1;2225;2218:12;2180:52;-1:-1:-1;2251:23:181;;2100:180;-1:-1:-1;2100:180:181:o;2467:254::-;2535:6;2543;2596:2;2584:9;2575:7;2571:23;2567:32;2564:52;;;2612:1;2609;2602:12;2564:52;2648:9;2635:23;2625:33;;2677:38;2711:2;2700:9;2696:18;2677:38;:::i;:::-;2667:48;;2467:254;;;;;:::o;3100:186::-;3159:6;3212:2;3200:9;3191:7;3187:23;3183:32;3180:52;;;3228:1;3225;3218:12;3180:52;3251:29;3270:9;3251:29;:::i;3291:248::-;3359:6;3367;3420:2;3408:9;3399:7;3395:23;3391:32;3388:52;;;3436:1;3433;3426:12;3388:52;-1:-1:-1;;3459:23:181;;;3529:2;3514:18;;;3501:32;;-1:-1:-1;3291:248:181:o;3752:260::-;3820:6;3828;3881:2;3869:9;3860:7;3856:23;3852:32;3849:52;;;3897:1;3894;3887:12;3849:52;3920:29;3939:9;3920:29;:::i;:::-;3910:39;;3968:38;4002:2;3991:9;3987:18;3968:38;:::i;4017:380::-;4096:1;4092:12;;;;4139;;;4160:61;;4214:4;4206:6;4202:17;4192:27;;4160:61;4267:2;4259:6;4256:14;4236:18;4233:38;4230:161;;;4313:10;4308:3;4304:20;4301:1;4294:31;4348:4;4345:1;4338:15;4376:4;4373:1;4366:15;4230:161;;4017:380;;;:::o;4818:127::-;4879:10;4874:3;4870:20;4867:1;4860:31;4910:4;4907:1;4900:15;4934:4;4931:1;4924:15;4950:128;4990:3;5021:1;5017:6;5014:1;5011:13;5008:39;;;5027:18;;:::i;:::-;-1:-1:-1;5063:9:181;;4950:128::o;10310:786::-;10721:25;10716:3;10709:38;10691:3;10776:6;10770:13;10792:62;10847:6;10842:2;10837:3;10833:12;10826:4;10818:6;10814:17;10792:62;:::i;:::-;-1:-1:-1;;;10913:2:181;10873:16;;;10905:11;;;10898:40;10963:13;;10985:63;10963:13;11034:2;11026:11;;11019:4;11007:17;;10985:63;:::i;:::-;11068:17;11087:2;11064:26;;10310:786;-1:-1:-1;;;;10310:786:181:o;11795:127::-;11856:10;11851:3;11847:20;11844:1;11837:31;11887:4;11884:1;11877:15;11911:4;11908:1;11901:15;12338:168;12378:7;12444:1;12440;12436:6;12432:14;12429:1;12426:21;12421:1;12414:9;12407:17;12403:45;12400:71;;;12451:18;;:::i;:::-;-1:-1:-1;12491:9:181;;12338:168::o;12511:127::-;12572:10;12567:3;12563:20;12560:1;12553:31;12603:4;12600:1;12593:15;12627:4;12624:1;12617:15;12643:136;12682:3;12710:5;12700:39;;12719:18;;:::i;:::-;-1:-1:-1;;;12755:18:181;;12643:136::o;13145:125::-;13185:4;13213:1;13210;13207:8;13204:34;;;13218:18;;:::i;:::-;-1:-1:-1;13255:9:181;;13145:125::o;13275:127::-;13336:10;13331:3;13327:20;13324:1;13317:31;13367:4;13364:1;13357:15;13391:4;13388:1;13381:15"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MINTER_ROLE()":"d5391393","PAUSER_ROLE()":"e63ab1e9","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnFrom(address,uint256)":"79cc6790","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","pause()":"8456cb59","paused()":"5c975abb","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unpause()":"3f4ba83a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC20} token, including: - ability for holders to burn (destroy) their tokens - a minter role that allows for token minting (creation) - a pauser role that allows to stop all token transfers This contract uses {AccessControl} to lock permissioned functions using the different roles - head to its documentation for details. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role, which will let it grant both minter and pauser roles to other accounts. _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"constructor\":{\"details\":\"Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the account that deploys the contract. See {ERC20-constructor}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"Creates `amount` new tokens for `to`. See {ERC20-_mint}. Requirements: - the caller must have the `MINTER_ROLE`.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"pause()\":{\"details\":\"Pauses all token transfers. See {ERC20Pausable} and {Pausable-_pause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"unpause()\":{\"details\":\"Unpauses all token transfers. See {ERC20Pausable} and {Pausable-_unpause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol\":\"ERC20PresetMinterPauser\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\":{\"keccak256\":\"0x978847fbff92d66d27d8767402a90ba996970b1936b372406aa17f5492bd8dc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1414cb92779420b50d3e796b47bad6ea800ef1805bc6f9bf35a3ccb4e17db3dc\",\"dweb:/ipfs/QmaMzwYqLiivfaWSgqeaAPboBtJjVD1hSrH48p7ExJZ7DG\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol\":{\"keccak256\":\"0x2cd54808b851c4db22f459065af0b7a952262741a85a73923e7a660767cd7baa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://750c4a78e953fe92317bba7166afd0a4b7725723e5822ea1b92ffd4e72d2d36b\",\"dweb:/ipfs/QmZNyCSrdYXGQfmB6LkbX8R6y4gGZRNh1d2pJobYBpkaRF\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"SafeERC20":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203f619c1b7e5cb9d3657385111f201304c7f2da22689a217cff46cdf3e14c6fd064736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH PUSH2 0x9C1B PUSH31 0x5CB9D3657385111F201304C7F2DA22689A217CFF46CDF3E14C6FD064736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"707:3748:111:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;707:3748:111;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203f619c1b7e5cb9d3657385111f201304c7f2da22689a217cff46cdf3e14c6fd064736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH PUSH2 0x9C1B PUSH31 0x5CB9D3657385111F201304C7F2DA22689A217CFF46CDF3E14C6FD064736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"707:3748:111:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol":{"TokenTimelock":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"token_","type":"address"},{"internalType":"address","name":"beneficiary_","type":"address"},{"internalType":"uint256","name":"releaseTime_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"releaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_16461":{"entryPoint":null,"id":16461,"parameterSlots":3,"returnSlots":0},"abi_decode_tuple_t_contract$_IERC20_$13470t_addresst_uint256_fromMemory":{"entryPoint":208,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_t_stringliteral_e1658b776de3735ba90dc86438c12854f3617d6d488d64009fdab5928e27c313__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_contract_IERC20":{"entryPoint":184,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1057:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"67:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"131:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"140:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"143:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"133:6:181"},"nodeType":"YulFunctionCall","src":"133:12:181"},"nodeType":"YulExpressionStatement","src":"133:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"116:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"121:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"112:3:181"},"nodeType":"YulFunctionCall","src":"112:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"125:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"108:3:181"},"nodeType":"YulFunctionCall","src":"108:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"97:3:181"},"nodeType":"YulFunctionCall","src":"97:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"87:2:181"},"nodeType":"YulFunctionCall","src":"87:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"80:6:181"},"nodeType":"YulFunctionCall","src":"80:50:181"},"nodeType":"YulIf","src":"77:70:181"}]},"name":"validator_revert_contract_IERC20","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"56:5:181","type":""}],"src":"14:139:181"},{"body":{"nodeType":"YulBlock","src":"289:347:181","statements":[{"body":{"nodeType":"YulBlock","src":"335:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"344:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"347:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"337:6:181"},"nodeType":"YulFunctionCall","src":"337:12:181"},"nodeType":"YulExpressionStatement","src":"337:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"310:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"319:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"306:3:181"},"nodeType":"YulFunctionCall","src":"306:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"331:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"302:3:181"},"nodeType":"YulFunctionCall","src":"302:32:181"},"nodeType":"YulIf","src":"299:52:181"},{"nodeType":"YulVariableDeclaration","src":"360:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"379:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"373:5:181"},"nodeType":"YulFunctionCall","src":"373:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"364:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"431:5:181"}],"functionName":{"name":"validator_revert_contract_IERC20","nodeType":"YulIdentifier","src":"398:32:181"},"nodeType":"YulFunctionCall","src":"398:39:181"},"nodeType":"YulExpressionStatement","src":"398:39:181"},{"nodeType":"YulAssignment","src":"446:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"456:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"446:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"470:40:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"495:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"491:3:181"},"nodeType":"YulFunctionCall","src":"491:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"485:5:181"},"nodeType":"YulFunctionCall","src":"485:25:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"474:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"552:7:181"}],"functionName":{"name":"validator_revert_contract_IERC20","nodeType":"YulIdentifier","src":"519:32:181"},"nodeType":"YulFunctionCall","src":"519:41:181"},"nodeType":"YulExpressionStatement","src":"519:41:181"},{"nodeType":"YulAssignment","src":"569:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"579:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"569:6:181"}]},{"nodeType":"YulAssignment","src":"595:35:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"615:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"626:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"611:3:181"},"nodeType":"YulFunctionCall","src":"611:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"605:5:181"},"nodeType":"YulFunctionCall","src":"605:25:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"595:6:181"}]}]},"name":"abi_decode_tuple_t_contract$_IERC20_$13470t_addresst_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"239:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"250:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"262:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"270:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"278:6:181","type":""}],"src":"158:478:181"},{"body":{"nodeType":"YulBlock","src":"815:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"832:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"843:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"825:6:181"},"nodeType":"YulFunctionCall","src":"825:21:181"},"nodeType":"YulExpressionStatement","src":"825:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"866:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"877:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"862:3:181"},"nodeType":"YulFunctionCall","src":"862:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"882:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"855:6:181"},"nodeType":"YulFunctionCall","src":"855:30:181"},"nodeType":"YulExpressionStatement","src":"855:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"905:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"916:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"901:3:181"},"nodeType":"YulFunctionCall","src":"901:18:181"},{"hexValue":"546f6b656e54696d656c6f636b3a2072656c656173652074696d652069732062","kind":"string","nodeType":"YulLiteral","src":"921:34:181","type":"","value":"TokenTimelock: release time is b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"894:6:181"},"nodeType":"YulFunctionCall","src":"894:62:181"},"nodeType":"YulExpressionStatement","src":"894:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"976:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"987:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"972:3:181"},"nodeType":"YulFunctionCall","src":"972:18:181"},{"hexValue":"65666f72652063757272656e742074696d65","kind":"string","nodeType":"YulLiteral","src":"992:20:181","type":"","value":"efore current time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"965:6:181"},"nodeType":"YulFunctionCall","src":"965:48:181"},"nodeType":"YulExpressionStatement","src":"965:48:181"},{"nodeType":"YulAssignment","src":"1022:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1034:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1045:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1030:3:181"},"nodeType":"YulFunctionCall","src":"1030:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1022:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e1658b776de3735ba90dc86438c12854f3617d6d488d64009fdab5928e27c313__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"792:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"806:4:181","type":""}],"src":"641:414:181"}]},"contents":"{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$13470t_addresst_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n value2 := mload(add(headStart, 64))\n }\n function abi_encode_tuple_t_stringliteral_e1658b776de3735ba90dc86438c12854f3617d6d488d64009fdab5928e27c313__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"TokenTimelock: release time is b\")\n mstore(add(headStart, 96), \"efore current time\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60e060405234801561001057600080fd5b506040516107d63803806107d683398101604081905261002f916100d0565b42811161009d5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2072656c656173652074696d65206973206260448201527165666f72652063757272656e742074696d6560701b606482015260840160405180910390fd5b6001600160a01b03928316608052911660a05260c052610113565b6001600160a01b03811681146100cd57600080fd5b50565b6000806000606084860312156100e557600080fd5b83516100f0816100b8565b6020850151909350610101816100b8565b80925050604084015190509250925092565b60805160a05160c05161067c61015a60003960008181609f015260f0015260008181605301526102a701526000818160ca015281816101820152610285015261067c6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806338af3eed1461005157806386d1a69f14610090578063b91d40011461009a578063fc0c546a146100c8575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b6100986100ee565b005b6040517f00000000000000000000000000000000000000000000000000000000000000008152602001610087565b7f0000000000000000000000000000000000000000000000000000000000000000610073565b7f000000000000000000000000000000000000000000000000000000000000000042101561017e5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206260448201527165666f72652072656c656173652074696d6560701b60648201526084015b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b1580156101e257600080fd5b505afa1580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a9190610585565b9050600081116102785760405162461bcd60e51b815260206004820152602360248201527f546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c6560448201526261736560e81b6064820152608401610175565b6102cc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836102cf565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610321908490610326565b505050565b600061037b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f89092919063ffffffff16565b8051909150156103215780806020019051810190610399919061059e565b6103215760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610175565b6060610407848460008561040f565b949350505050565b6060824710156104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610175565b600080866001600160a01b0316858760405161048c91906105f7565b60006040518083038185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091506104df878383876104ea565b979650505050505050565b6060831561055657825161054f576001600160a01b0385163b61054f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610175565b5081610407565b610407838381511561056b5781518083602001fd5b8060405162461bcd60e51b81526004016101759190610613565b60006020828403121561059757600080fd5b5051919050565b6000602082840312156105b057600080fd5b815180151581146105c057600080fd5b9392505050565b60005b838110156105e25781810151838201526020016105ca565b838111156105f1576000848401525b50505050565b600082516106098184602087016105c7565b9190910192915050565b60208152600082518060208401526106328160408501602087016105c7565b601f01601f1916919091016040019291505056fea2646970667358221220266fa40f75ea80657d36996e876c1e597a2a6975b6f686c2adfb2a414850b85d64736f6c63430008090033","opcodes":"PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x7D6 CODESIZE SUB DUP1 PUSH2 0x7D6 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xD0 JUMP JUMPDEST TIMESTAMP DUP2 GT PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E54696D656C6F636B3A2072656C656173652074696D652069732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x65666F72652063757272656E742074696D65 PUSH1 0x70 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x80 MSTORE SWAP2 AND PUSH1 0xA0 MSTORE PUSH1 0xC0 MSTORE PUSH2 0x113 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH2 0xF0 DUP2 PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP1 SWAP4 POP PUSH2 0x101 DUP2 PUSH2 0xB8 JUMP JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x67C PUSH2 0x15A PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0x9F ADD MSTORE PUSH1 0xF0 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH1 0x53 ADD MSTORE PUSH2 0x2A7 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH1 0xCA ADD MSTORE DUP2 DUP2 PUSH2 0x182 ADD MSTORE PUSH2 0x285 ADD MSTORE PUSH2 0x67C 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38AF3EED EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x86D1A69F EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0xB91D4001 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x98 PUSH2 0xEE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x87 JUMP JUMPDEST PUSH32 0x0 PUSH2 0x73 JUMP JUMPDEST PUSH32 0x0 TIMESTAMP LT ISZERO PUSH2 0x17E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E54696D656C6F636B3A2063757272656E742074696D652069732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x65666F72652072656C656173652074696D65 PUSH1 0x70 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21A SWAP2 SWAP1 PUSH2 0x585 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x278 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E54696D656C6F636B3A206E6F20746F6B656E7320746F2072656C65 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x617365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH2 0x2CC PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND PUSH32 0x0 DUP4 PUSH2 0x2CF JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x321 SWAP1 DUP5 SWAP1 PUSH2 0x326 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37B DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F8 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x321 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x59E JUMP JUMPDEST PUSH2 0x321 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x407 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x40F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x470 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1C8818D85B1B PUSH1 0xD2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x48C SWAP2 SWAP1 PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4C9 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 0x4CE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4DF DUP8 DUP4 DUP4 DUP8 PUSH2 0x4EA JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x556 JUMPI DUP3 MLOAD PUSH2 0x54F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x54F 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x175 JUMP JUMPDEST POP DUP2 PUSH2 0x407 JUMP JUMPDEST PUSH2 0x407 DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x56B JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x613 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5E2 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x5CA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5F1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x609 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x5C7 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x632 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x5C7 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 PUSH16 0xA40F75EA80657D36996E876C1E597A2A PUSH10 0x75B6F686C2ADFB2A4148 POP 0xB8 0x5D PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"393:1955:112:-:0;;;995:310;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1129:15;1114:12;:30;1106:93;;;;-1:-1:-1;;;1106:93:112;;843:2:181;1106:93:112;;;825:21:181;882:2;862:18;;;855:30;921:34;901:18;;;894:62;-1:-1:-1;;;972:18:181;;;965:48;1030:19;;1106:93:112;;;;;;;;-1:-1:-1;;;;;1209:15:112;;;;;1234:27;;;;1271;;393:1955;;14:139:181;-1:-1:-1;;;;;97:31:181;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:478::-;262:6;270;278;331:2;319:9;310:7;306:23;302:32;299:52;;;347:1;344;337:12;299:52;379:9;373:16;398:39;431:5;398:39;:::i;:::-;506:2;491:18;;485:25;456:5;;-1:-1:-1;519:41:181;485:25;519:41;:::i;:::-;579:7;569:17;;;626:2;615:9;611:18;605:25;595:35;;158:478;;;;;:::o;641:414::-;393:1955:112;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_callOptionalReturn_16413":{"entryPoint":806,"id":16413,"parameterSlots":2,"returnSlots":0},"@_revert_20687":{"entryPoint":null,"id":20687,"parameterSlots":2,"returnSlots":0},"@beneficiary_16480":{"entryPoint":null,"id":16480,"parameterSlots":0,"returnSlots":1},"@functionCallWithValue_20512":{"entryPoint":1039,"id":20512,"parameterSlots":4,"returnSlots":1},"@functionCall_20448":{"entryPoint":1016,"id":20448,"parameterSlots":3,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@releaseTime_16489":{"entryPoint":null,"id":16489,"parameterSlots":0,"returnSlots":1},"@release_16529":{"entryPoint":238,"id":16529,"parameterSlots":0,"returnSlots":0},"@safeTransfer_16165":{"entryPoint":719,"id":16165,"parameterSlots":3,"returnSlots":0},"@token_16471":{"entryPoint":null,"id":16471,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_20643":{"entryPoint":1258,"id":20643,"parameterSlots":4,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":1438,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":1413,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1527,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_contract$_IERC20_$13470__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1555,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0345c6084b4d4be2f1249aa1f58ddc5a11b524aacb744b63dfad68c56d61fad0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fd167cd15f7f49233a4aac5b2fadd1b9f782ba42f4eadaf31348954b9436eae8__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},"copy_memory_to_memory":{"entryPoint":1479,"id":null,"parameterSlots":3,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4304:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"115:102:181","statements":[{"nodeType":"YulAssignment","src":"125:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"137:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"148:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"133:3:181"},"nodeType":"YulFunctionCall","src":"133:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"125:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"167:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"182:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"198:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"203:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"194:3:181"},"nodeType":"YulFunctionCall","src":"194:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"207:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"190:3:181"},"nodeType":"YulFunctionCall","src":"190:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"178:3:181"},"nodeType":"YulFunctionCall","src":"178:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"160:6:181"},"nodeType":"YulFunctionCall","src":"160:51:181"},"nodeType":"YulExpressionStatement","src":"160:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"84:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"95:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"106:4:181","type":""}],"src":"14:203:181"},{"body":{"nodeType":"YulBlock","src":"323:76:181","statements":[{"nodeType":"YulAssignment","src":"333:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"345:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"356:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"341:3:181"},"nodeType":"YulFunctionCall","src":"341:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"333:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"375:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"386:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"368:6:181"},"nodeType":"YulFunctionCall","src":"368:25:181"},"nodeType":"YulExpressionStatement","src":"368:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"292:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"303:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"314:4:181","type":""}],"src":"222:177:181"},{"body":{"nodeType":"YulBlock","src":"521:102:181","statements":[{"nodeType":"YulAssignment","src":"531:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"543:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"554:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"539:3:181"},"nodeType":"YulFunctionCall","src":"539:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"531:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"573:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"588:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"609:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"600:3:181"},"nodeType":"YulFunctionCall","src":"600:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"613:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"596:3:181"},"nodeType":"YulFunctionCall","src":"596:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"584:3:181"},"nodeType":"YulFunctionCall","src":"584:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"566:6:181"},"nodeType":"YulFunctionCall","src":"566:51:181"},"nodeType":"YulExpressionStatement","src":"566:51:181"}]},"name":"abi_encode_tuple_t_contract$_IERC20_$13470__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"490:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"501:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"512:4:181","type":""}],"src":"404:219:181"},{"body":{"nodeType":"YulBlock","src":"802:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"819:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"830:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"812:6:181"},"nodeType":"YulFunctionCall","src":"812:21:181"},"nodeType":"YulExpressionStatement","src":"812:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"853:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"864:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"849:3:181"},"nodeType":"YulFunctionCall","src":"849:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"869:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"842:6:181"},"nodeType":"YulFunctionCall","src":"842:30:181"},"nodeType":"YulExpressionStatement","src":"842:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"892:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"903:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"888:3:181"},"nodeType":"YulFunctionCall","src":"888:18:181"},{"hexValue":"546f6b656e54696d656c6f636b3a2063757272656e742074696d652069732062","kind":"string","nodeType":"YulLiteral","src":"908:34:181","type":"","value":"TokenTimelock: current time is b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"881:6:181"},"nodeType":"YulFunctionCall","src":"881:62:181"},"nodeType":"YulExpressionStatement","src":"881:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"963:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"974:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"959:3:181"},"nodeType":"YulFunctionCall","src":"959:18:181"},{"hexValue":"65666f72652072656c656173652074696d65","kind":"string","nodeType":"YulLiteral","src":"979:20:181","type":"","value":"efore release time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"952:6:181"},"nodeType":"YulFunctionCall","src":"952:48:181"},"nodeType":"YulExpressionStatement","src":"952:48:181"},{"nodeType":"YulAssignment","src":"1009:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1021:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1032:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1017:3:181"},"nodeType":"YulFunctionCall","src":"1017:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1009:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0345c6084b4d4be2f1249aa1f58ddc5a11b524aacb744b63dfad68c56d61fad0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"779:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"793:4:181","type":""}],"src":"628:414:181"},{"body":{"nodeType":"YulBlock","src":"1128:103:181","statements":[{"body":{"nodeType":"YulBlock","src":"1174:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1183:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1186:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1176:6:181"},"nodeType":"YulFunctionCall","src":"1176:12:181"},"nodeType":"YulExpressionStatement","src":"1176:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1149:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1158:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1145:3:181"},"nodeType":"YulFunctionCall","src":"1145:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1170:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1141:3:181"},"nodeType":"YulFunctionCall","src":"1141:32:181"},"nodeType":"YulIf","src":"1138:52:181"},{"nodeType":"YulAssignment","src":"1199:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1215:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1209:5:181"},"nodeType":"YulFunctionCall","src":"1209:16:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1199:6:181"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1094:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1105:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1117:6:181","type":""}],"src":"1047:184:181"},{"body":{"nodeType":"YulBlock","src":"1410:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1427:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1438:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1420:6:181"},"nodeType":"YulFunctionCall","src":"1420:21:181"},"nodeType":"YulExpressionStatement","src":"1420:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1461:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1472:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1457:3:181"},"nodeType":"YulFunctionCall","src":"1457:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1477:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1450:6:181"},"nodeType":"YulFunctionCall","src":"1450:30:181"},"nodeType":"YulExpressionStatement","src":"1450:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1500:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1511:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1496:3:181"},"nodeType":"YulFunctionCall","src":"1496:18:181"},{"hexValue":"546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c65","kind":"string","nodeType":"YulLiteral","src":"1516:34:181","type":"","value":"TokenTimelock: no tokens to rele"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1489:6:181"},"nodeType":"YulFunctionCall","src":"1489:62:181"},"nodeType":"YulExpressionStatement","src":"1489:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1571:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1582:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1567:3:181"},"nodeType":"YulFunctionCall","src":"1567:18:181"},{"hexValue":"617365","kind":"string","nodeType":"YulLiteral","src":"1587:5:181","type":"","value":"ase"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1560:6:181"},"nodeType":"YulFunctionCall","src":"1560:33:181"},"nodeType":"YulExpressionStatement","src":"1560:33:181"},{"nodeType":"YulAssignment","src":"1602:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1614:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1625:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1610:3:181"},"nodeType":"YulFunctionCall","src":"1610:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1602:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fd167cd15f7f49233a4aac5b2fadd1b9f782ba42f4eadaf31348954b9436eae8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1387:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1401:4:181","type":""}],"src":"1236:399:181"},{"body":{"nodeType":"YulBlock","src":"1769:145:181","statements":[{"nodeType":"YulAssignment","src":"1779:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1791:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1802:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1787:3:181"},"nodeType":"YulFunctionCall","src":"1787:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1779:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1821:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1836:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1852:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1857:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1848:3:181"},"nodeType":"YulFunctionCall","src":"1848:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1861:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1844:3:181"},"nodeType":"YulFunctionCall","src":"1844:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1832:3:181"},"nodeType":"YulFunctionCall","src":"1832:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1814:6:181"},"nodeType":"YulFunctionCall","src":"1814:51:181"},"nodeType":"YulExpressionStatement","src":"1814:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1885:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1896:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1881:3:181"},"nodeType":"YulFunctionCall","src":"1881:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"1901:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1874:6:181"},"nodeType":"YulFunctionCall","src":"1874:34:181"},"nodeType":"YulExpressionStatement","src":"1874:34:181"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1730:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1741:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1749:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1760:4:181","type":""}],"src":"1640:274:181"},{"body":{"nodeType":"YulBlock","src":"1997:199:181","statements":[{"body":{"nodeType":"YulBlock","src":"2043:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2052:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2055:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2045:6:181"},"nodeType":"YulFunctionCall","src":"2045:12:181"},"nodeType":"YulExpressionStatement","src":"2045:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2018:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2027:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2014:3:181"},"nodeType":"YulFunctionCall","src":"2014:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2039:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2010:3:181"},"nodeType":"YulFunctionCall","src":"2010:32:181"},"nodeType":"YulIf","src":"2007:52:181"},{"nodeType":"YulVariableDeclaration","src":"2068:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2087:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2081:5:181"},"nodeType":"YulFunctionCall","src":"2081:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2072:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2150:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2159:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2162:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2152:6:181"},"nodeType":"YulFunctionCall","src":"2152:12:181"},"nodeType":"YulExpressionStatement","src":"2152:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2119:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2140:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2133:6:181"},"nodeType":"YulFunctionCall","src":"2133:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2126:6:181"},"nodeType":"YulFunctionCall","src":"2126:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2116:2:181"},"nodeType":"YulFunctionCall","src":"2116:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2109:6:181"},"nodeType":"YulFunctionCall","src":"2109:40:181"},"nodeType":"YulIf","src":"2106:60:181"},{"nodeType":"YulAssignment","src":"2175:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"2185:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2175:6:181"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1963:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1974:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1986:6:181","type":""}],"src":"1919:277:181"},{"body":{"nodeType":"YulBlock","src":"2375:232:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2392:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2403:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2385:6:181"},"nodeType":"YulFunctionCall","src":"2385:21:181"},"nodeType":"YulExpressionStatement","src":"2385:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2426:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2437:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2422:3:181"},"nodeType":"YulFunctionCall","src":"2422:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2442:2:181","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2415:6:181"},"nodeType":"YulFunctionCall","src":"2415:30:181"},"nodeType":"YulExpressionStatement","src":"2415:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2465:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2476:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2461:3:181"},"nodeType":"YulFunctionCall","src":"2461:18:181"},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e","kind":"string","nodeType":"YulLiteral","src":"2481:34:181","type":"","value":"SafeERC20: ERC20 operation did n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2454:6:181"},"nodeType":"YulFunctionCall","src":"2454:62:181"},"nodeType":"YulExpressionStatement","src":"2454:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2536:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2547:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2532:3:181"},"nodeType":"YulFunctionCall","src":"2532:18:181"},{"hexValue":"6f742073756363656564","kind":"string","nodeType":"YulLiteral","src":"2552:12:181","type":"","value":"ot succeed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2525:6:181"},"nodeType":"YulFunctionCall","src":"2525:40:181"},"nodeType":"YulExpressionStatement","src":"2525:40:181"},{"nodeType":"YulAssignment","src":"2574:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2586:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2597:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2582:3:181"},"nodeType":"YulFunctionCall","src":"2582:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2574:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2352:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2366:4:181","type":""}],"src":"2201:406:181"},{"body":{"nodeType":"YulBlock","src":"2786:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2803:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2814:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2796:6:181"},"nodeType":"YulFunctionCall","src":"2796:21:181"},"nodeType":"YulExpressionStatement","src":"2796:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2837:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2848:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2833:3:181"},"nodeType":"YulFunctionCall","src":"2833:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2853:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2826:6:181"},"nodeType":"YulFunctionCall","src":"2826:30:181"},"nodeType":"YulExpressionStatement","src":"2826:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2876:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2887:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2872:3:181"},"nodeType":"YulFunctionCall","src":"2872:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f","kind":"string","nodeType":"YulLiteral","src":"2892:34:181","type":"","value":"Address: insufficient balance fo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2865:6:181"},"nodeType":"YulFunctionCall","src":"2865:62:181"},"nodeType":"YulExpressionStatement","src":"2865:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2947:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2958:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2943:3:181"},"nodeType":"YulFunctionCall","src":"2943:18:181"},{"hexValue":"722063616c6c","kind":"string","nodeType":"YulLiteral","src":"2963:8:181","type":"","value":"r call"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2936:6:181"},"nodeType":"YulFunctionCall","src":"2936:36:181"},"nodeType":"YulExpressionStatement","src":"2936:36:181"},{"nodeType":"YulAssignment","src":"2981:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2993:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3004:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2989:3:181"},"nodeType":"YulFunctionCall","src":"2989:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2981:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2763:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2777:4:181","type":""}],"src":"2612:402:181"},{"body":{"nodeType":"YulBlock","src":"3072:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"3082:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3091:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3086:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3151:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3176:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"3181:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3172:3:181"},"nodeType":"YulFunctionCall","src":"3172:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3195:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"3200:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3191:3:181"},"nodeType":"YulFunctionCall","src":"3191:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3185:5:181"},"nodeType":"YulFunctionCall","src":"3185:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3165:6:181"},"nodeType":"YulFunctionCall","src":"3165:39:181"},"nodeType":"YulExpressionStatement","src":"3165:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3112:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"3115:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3109:2:181"},"nodeType":"YulFunctionCall","src":"3109:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3123:19:181","statements":[{"nodeType":"YulAssignment","src":"3125:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3134:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"3137:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3130:3:181"},"nodeType":"YulFunctionCall","src":"3130:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3125:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"3105:3:181","statements":[]},"src":"3101:113:181"},{"body":{"nodeType":"YulBlock","src":"3240:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3253:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"3258:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3249:3:181"},"nodeType":"YulFunctionCall","src":"3249:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"3267:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3242:6:181"},"nodeType":"YulFunctionCall","src":"3242:27:181"},"nodeType":"YulExpressionStatement","src":"3242:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3229:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"3232:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3226:2:181"},"nodeType":"YulFunctionCall","src":"3226:13:181"},"nodeType":"YulIf","src":"3223:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"3050:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"3055:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"3060:6:181","type":""}],"src":"3019:258:181"},{"body":{"nodeType":"YulBlock","src":"3419:137:181","statements":[{"nodeType":"YulVariableDeclaration","src":"3429:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3449:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3443:5:181"},"nodeType":"YulFunctionCall","src":"3443:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3433:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3491:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3499:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3487:3:181"},"nodeType":"YulFunctionCall","src":"3487:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"3506:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"3511:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3465:21:181"},"nodeType":"YulFunctionCall","src":"3465:53:181"},"nodeType":"YulExpressionStatement","src":"3465:53:181"},{"nodeType":"YulAssignment","src":"3527:23:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3538:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"3543:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3534:3:181"},"nodeType":"YulFunctionCall","src":"3534:16:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3527:3:181"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3395:3:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3400:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3411:3:181","type":""}],"src":"3282:274:181"},{"body":{"nodeType":"YulBlock","src":"3735:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3763:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:181"},"nodeType":"YulFunctionCall","src":"3745:21:181"},"nodeType":"YulExpressionStatement","src":"3745:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3786:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3797:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3782:3:181"},"nodeType":"YulFunctionCall","src":"3782:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3802:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3775:6:181"},"nodeType":"YulFunctionCall","src":"3775:30:181"},"nodeType":"YulExpressionStatement","src":"3775:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3825:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3836:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3821:3:181"},"nodeType":"YulFunctionCall","src":"3821:18:181"},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"3841:31:181","type":"","value":"Address: call to non-contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3814:6:181"},"nodeType":"YulFunctionCall","src":"3814:59:181"},"nodeType":"YulExpressionStatement","src":"3814:59:181"},{"nodeType":"YulAssignment","src":"3882:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3894:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3905:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3890:3:181"},"nodeType":"YulFunctionCall","src":"3890:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3882:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3712:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3726:4:181","type":""}],"src":"3561:353:181"},{"body":{"nodeType":"YulBlock","src":"4040:262:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4057:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4068:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4050:6:181"},"nodeType":"YulFunctionCall","src":"4050:21:181"},"nodeType":"YulExpressionStatement","src":"4050:21:181"},{"nodeType":"YulVariableDeclaration","src":"4080:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4100:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4094:5:181"},"nodeType":"YulFunctionCall","src":"4094:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4084:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4127:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4138:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4123:3:181"},"nodeType":"YulFunctionCall","src":"4123:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"4143:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4116:6:181"},"nodeType":"YulFunctionCall","src":"4116:34:181"},"nodeType":"YulExpressionStatement","src":"4116:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4185:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4193:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4181:3:181"},"nodeType":"YulFunctionCall","src":"4181:15:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4202:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4198:3:181"},"nodeType":"YulFunctionCall","src":"4198:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"4218:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4159:21:181"},"nodeType":"YulFunctionCall","src":"4159:66:181"},"nodeType":"YulExpressionStatement","src":"4159:66:181"},{"nodeType":"YulAssignment","src":"4234:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4250:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4269:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4277:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4265:3:181"},"nodeType":"YulFunctionCall","src":"4265:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4286:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4282:3:181"},"nodeType":"YulFunctionCall","src":"4282:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4261:3:181"},"nodeType":"YulFunctionCall","src":"4261:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4246:3:181"},"nodeType":"YulFunctionCall","src":"4246:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"4293:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4242:3:181"},"nodeType":"YulFunctionCall","src":"4242:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4234:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4009:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4020:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4031:4:181","type":""}],"src":"3919:383:181"}]},"contents":"{\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_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_encode_tuple_t_contract$_IERC20_$13470__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_0345c6084b4d4be2f1249aa1f58ddc5a11b524aacb744b63dfad68c56d61fad0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"TokenTimelock: current time is b\")\n mstore(add(headStart, 96), \"efore release time\")\n tail := add(headStart, 128)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_fd167cd15f7f49233a4aac5b2fadd1b9f782ba42f4eadaf31348954b9436eae8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"TokenTimelock: no tokens to rele\")\n mstore(add(headStart, 96), \"ase\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_decode_tuple_t_bool_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, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"16425":[{"length":32,"start":202},{"length":32,"start":386},{"length":32,"start":645}],"16427":[{"length":32,"start":83},{"length":32,"start":679}],"16429":[{"length":32,"start":159},{"length":32,"start":240}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c806338af3eed1461005157806386d1a69f14610090578063b91d40011461009a578063fc0c546a146100c8575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b6100986100ee565b005b6040517f00000000000000000000000000000000000000000000000000000000000000008152602001610087565b7f0000000000000000000000000000000000000000000000000000000000000000610073565b7f000000000000000000000000000000000000000000000000000000000000000042101561017e5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206260448201527165666f72652072656c656173652074696d6560701b60648201526084015b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b1580156101e257600080fd5b505afa1580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a9190610585565b9050600081116102785760405162461bcd60e51b815260206004820152602360248201527f546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c6560448201526261736560e81b6064820152608401610175565b6102cc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836102cf565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610321908490610326565b505050565b600061037b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f89092919063ffffffff16565b8051909150156103215780806020019051810190610399919061059e565b6103215760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610175565b6060610407848460008561040f565b949350505050565b6060824710156104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610175565b600080866001600160a01b0316858760405161048c91906105f7565b60006040518083038185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091506104df878383876104ea565b979650505050505050565b6060831561055657825161054f576001600160a01b0385163b61054f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610175565b5081610407565b610407838381511561056b5781518083602001fd5b8060405162461bcd60e51b81526004016101759190610613565b60006020828403121561059757600080fd5b5051919050565b6000602082840312156105b057600080fd5b815180151581146105c057600080fd5b9392505050565b60005b838110156105e25781810151838201526020016105ca565b838111156105f1576000848401525b50505050565b600082516106098184602087016105c7565b9190910192915050565b60208152600082518060208401526106328160408501602087016105c7565b601f01601f1916919091016040019291505056fea2646970667358221220266fa40f75ea80657d36996e876c1e597a2a6975b6f686c2adfb2a414850b85d64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38AF3EED EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x86D1A69F EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0xB91D4001 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x98 PUSH2 0xEE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x87 JUMP JUMPDEST PUSH32 0x0 PUSH2 0x73 JUMP JUMPDEST PUSH32 0x0 TIMESTAMP LT ISZERO PUSH2 0x17E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E54696D656C6F636B3A2063757272656E742074696D652069732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x65666F72652072656C656173652074696D65 PUSH1 0x70 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21A SWAP2 SWAP1 PUSH2 0x585 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x278 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E54696D656C6F636B3A206E6F20746F6B656E7320746F2072656C65 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x617365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH2 0x2CC PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND PUSH32 0x0 DUP4 PUSH2 0x2CF JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x321 SWAP1 DUP5 SWAP1 PUSH2 0x326 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37B DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F8 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x321 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x59E JUMP JUMPDEST PUSH2 0x321 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1BDD081CDD58D8D95959 PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x407 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x40F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x470 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1C8818D85B1B PUSH1 0xD2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x48C SWAP2 SWAP1 PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4C9 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 0x4CE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4DF DUP8 DUP4 DUP4 DUP8 PUSH2 0x4EA JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x556 JUMPI DUP3 MLOAD PUSH2 0x54F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EXTCODESIZE PUSH2 0x54F 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 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x175 JUMP JUMPDEST POP DUP2 PUSH2 0x407 JUMP JUMPDEST PUSH2 0x407 DUP4 DUP4 DUP2 MLOAD ISZERO PUSH2 0x56B JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x613 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5E2 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x5CA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5F1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x609 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x5C7 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x632 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x5C7 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 PUSH16 0xA40F75EA80657D36996E876C1E597A2A PUSH10 0x75B6F686C2ADFB2A4148 POP 0xB8 0x5D PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"393:1955:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1541:97;1619:12;1541:97;;;-1:-1:-1;;;;;178:32:181;;;160:51;;148:2;133:18;1541:97:112;;;;;;;;2018:328;;;:::i;:::-;;1769:97;;;1847:12;368:25:181;;356:2;341:18;1769:97:112;222:177:181;1369:84:112;1440:6;1369:84;;2018:328;1847:12;2070:15;:32;;2062:95;;;;-1:-1:-1;;;2062:95:112;;830:2:181;2062:95:112;;;812:21:181;869:2;849:18;;;842:30;908:34;888:18;;;881:62;-1:-1:-1;;;959:18:181;;;952:48;1017:19;;2062:95:112;;;;;;;;;2168:14;1440:6;2185:32;;-1:-1:-1;;;2185:32:112;;2211:4;2185:32;;;160:51:181;-1:-1:-1;;;;;2185:17:112;;;;;;;133:18:181;;2185:32:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2168:49;;2244:1;2235:6;:10;2227:58;;;;-1:-1:-1;;;2227:58:112;;1438:2:181;2227:58:112;;;1420:21:181;1477:2;1457:18;;;1450:30;1516:34;1496:18;;;1489:62;-1:-1:-1;;;1567:18:181;;;1560:33;1610:19;;2227:58:112;1236:399:181;2227:58:112;2296:43;-1:-1:-1;;;;;1440:6:112;2296:20;1619:12;2332:6;2296:20;:43::i;:::-;2052:294;2018:328::o;763:205:111:-;902:58;;;-1:-1:-1;;;;;1832:32:181;;902:58:111;;;1814:51:181;1881:18;;;;1874:34;;;902:58:111;;;;;;;;;;1787:18:181;;;;902:58:111;;;;;;;;-1:-1:-1;;;;;902:58:111;-1:-1:-1;;;902:58:111;;;875:86;;895:5;;875:19;:86::i;:::-;763:205;;;:::o;3747:706::-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;-1:-1:-1;;;;;4192:27:111;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:111;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;-1:-1:-1;;;4351:85:111;;2403:2:181;4351:85:111;;;2385:21:181;2442:2;2422:18;;;2415:30;2481:34;2461:18;;;2454:62;-1:-1:-1;;;2532:18:181;;;2525:40;2582:19;;4351:85:111;2201:406:181;3873:223:134;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4037:21;:52::i;:::-;4030:59;3873:223;-1:-1:-1;;;;3873:223:134:o;4960:446::-;5125:12;5182:5;5157:21;:30;;5149:81;;;;-1:-1:-1;;;5149:81:134;;2814:2:181;5149:81:134;;;2796:21:181;2853:2;2833:18;;;2826:30;2892:34;2872:18;;;2865:62;-1:-1:-1;;;2943:18:181;;;2936:36;2989:19;;5149:81:134;2612:402:181;5149:81:134;5241:12;5255:23;5282:6;-1:-1:-1;;;;;5282:11:134;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:134:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:17;;7697:286;;-1:-1:-1;;;;;1465:19:134;;;7908:60;;;;-1:-1:-1;;;7908:60:134;;3763:2:181;7908:60:134;;;3745:21:181;3802:2;3782:18;;;3775:30;3841:31;3821:18;;;3814:59;3890:18;;7908:60:134;3561:353:181;7908:60:134;-1:-1:-1;8003:10:134;7996:17;;7670:418;8044:33;8052:10;8064:12;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:134;;;;;;;;:::i;1047:184:181:-;1117:6;1170:2;1158:9;1149:7;1145:23;1141:32;1138:52;;;1186:1;1183;1176:12;1138:52;-1:-1:-1;1209:16:181;;1047:184;-1:-1:-1;1047:184:181:o;1919:277::-;1986:6;2039:2;2027:9;2018:7;2014:23;2010:32;2007:52;;;2055:1;2052;2045:12;2007:52;2087:9;2081:16;2140:5;2133:13;2126:21;2119:5;2116:32;2106:60;;2162:1;2159;2152:12;2106:60;2185:5;1919:277;-1:-1:-1;;;1919:277:181:o;3019:258::-;3091:1;3101:113;3115:6;3112:1;3109:13;3101:113;;;3191:11;;;3185:18;3172:11;;;3165:39;3137:2;3130:10;3101:113;;;3232:6;3229:1;3226:13;3223:48;;;3267:1;3258:6;3253:3;3249:16;3242:27;3223:48;;3019:258;;;:::o;3282:274::-;3411:3;3449:6;3443:13;3465:53;3511:6;3506:3;3499:4;3491:6;3487:17;3465:53;:::i;:::-;3534:16;;;;;3282:274;-1:-1:-1;;3282:274:181:o;3919:383::-;4068:2;4057:9;4050:21;4031:4;4100:6;4094:13;4143:6;4138:2;4127:9;4123:18;4116:34;4159:66;4218:6;4213:2;4202:9;4198:18;4193:2;4185:6;4181:15;4159:66;:::i;:::-;4286:2;4265:15;-1:-1:-1;;4261:29:181;4246:45;;;;4293:2;4242:54;;3919:383;-1:-1:-1;;3919:383:181:o"},"methodIdentifiers":{"beneficiary()":"38af3eed","release()":"86d1a69f","releaseTime()":"b91d4001","token()":"fc0c546a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"releaseTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"beneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releaseTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A token holder contract that will allow a beneficiary to extract the tokens after a given release time. Useful for simple vesting schedules like \\\"advisors get all of their tokens after 1 year\\\".\",\"kind\":\"dev\",\"methods\":{\"beneficiary()\":{\"details\":\"Returns the beneficiary that will receive the tokens.\"},\"constructor\":{\"details\":\"Deploys a timelock instance that is able to hold the token specified, and will only release it to `beneficiary_` when {release} is invoked after `releaseTime_`. The release time is specified as a Unix timestamp (in seconds).\"},\"release()\":{\"details\":\"Transfers tokens held by the timelock to the beneficiary. Will only succeed if invoked after the release time.\"},\"releaseTime()\":{\"details\":\"Returns the time when the tokens are released in seconds since Unix epoch (i.e. Unix timestamp).\"},\"token()\":{\"details\":\"Returns the token being held.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol\":\"TokenTimelock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol\":{\"keccak256\":\"0xbd7afeb7c6d254cf689cde10071c1318b2e8fa6f438198efbe686032cb5f7799\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a68062990dc301180b86c10e55afad766225c2197cbb02afae76e3ce02e01c17\",\"dweb:/ipfs/QmS65QSUNnGyBzeAr5UgRotDb6LhuGTryY7MumFPrhade5\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ERC721":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_16593":{"entryPoint":null,"id":16593,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":292,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":2},"extract_byte_array_length":{"entryPoint":581,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":270,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1985:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1154:444:181","statements":[{"body":{"nodeType":"YulBlock","src":"1200:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1209:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1212:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1202:6:181"},"nodeType":"YulFunctionCall","src":"1202:12:181"},"nodeType":"YulExpressionStatement","src":"1202:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1175:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1184:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1171:3:181"},"nodeType":"YulFunctionCall","src":"1171:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1196:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1167:3:181"},"nodeType":"YulFunctionCall","src":"1167:32:181"},"nodeType":"YulIf","src":"1164:52:181"},{"nodeType":"YulVariableDeclaration","src":"1225:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1239:5:181"},"nodeType":"YulFunctionCall","src":"1239:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1229:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1264:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1278:3:181"},"nodeType":"YulFunctionCall","src":"1278:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1290:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1274:3:181"},"nodeType":"YulFunctionCall","src":"1274:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1268:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1319:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1328:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1331:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1321:6:181"},"nodeType":"YulFunctionCall","src":"1321:12:181"},"nodeType":"YulExpressionStatement","src":"1321:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1307:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1315:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1304:2:181"},"nodeType":"YulFunctionCall","src":"1304:14:181"},"nodeType":"YulIf","src":"1301:34:181"},{"nodeType":"YulAssignment","src":"1344:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1387:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1383:3:181"},"nodeType":"YulFunctionCall","src":"1383:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1407:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1354:28:181"},"nodeType":"YulFunctionCall","src":"1354:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1344:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1424:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1450:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1461:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1446:3:181"},"nodeType":"YulFunctionCall","src":"1446:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1440:5:181"},"nodeType":"YulFunctionCall","src":"1440:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1428:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1494:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:181"},"nodeType":"YulFunctionCall","src":"1496:12:181"},"nodeType":"YulExpressionStatement","src":"1496:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1480:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1490:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1477:2:181"},"nodeType":"YulFunctionCall","src":"1477:16:181"},"nodeType":"YulIf","src":"1474:36:181"},{"nodeType":"YulAssignment","src":"1519:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1562:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1573:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1558:3:181"},"nodeType":"YulFunctionCall","src":"1558:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1584:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1529:28:181"},"nodeType":"YulFunctionCall","src":"1529:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1519:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1112:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1123:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1135:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1143:6:181","type":""}],"src":"1036:562:181"},{"body":{"nodeType":"YulBlock","src":"1658:325:181","statements":[{"nodeType":"YulAssignment","src":"1668:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1682:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1685:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1678:3:181"},"nodeType":"YulFunctionCall","src":"1678:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1668:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1699:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1729:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1735:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1725:3:181"},"nodeType":"YulFunctionCall","src":"1725:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1703:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1776:31:181","statements":[{"nodeType":"YulAssignment","src":"1778:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1792:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1800:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1788:3:181"},"nodeType":"YulFunctionCall","src":"1788:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1778:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1756:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1749:6:181"},"nodeType":"YulFunctionCall","src":"1749:26:181"},"nodeType":"YulIf","src":"1746:61:181"},{"body":{"nodeType":"YulBlock","src":"1866:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1887:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1894:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1899:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1890:3:181"},"nodeType":"YulFunctionCall","src":"1890:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1880:6:181"},"nodeType":"YulFunctionCall","src":"1880:31:181"},"nodeType":"YulExpressionStatement","src":"1880:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1931:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1934:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1924:6:181"},"nodeType":"YulFunctionCall","src":"1924:15:181"},"nodeType":"YulExpressionStatement","src":"1924:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1962:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1952:6:181"},"nodeType":"YulFunctionCall","src":"1952:15:181"},"nodeType":"YulExpressionStatement","src":"1952:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1822:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1845:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1853:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1842:2:181"},"nodeType":"YulFunctionCall","src":"1842:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1819:2:181"},"nodeType":"YulFunctionCall","src":"1819:38:181"},"nodeType":"YulIf","src":"1816:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1638:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1647:6:181","type":""}],"src":"1603:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162001480380380620014808339810160408190526200003491620001db565b81516200004990600090602085019062000068565b5080516200005f90600190602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b6111ee80620002926000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610d2c565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610da1565b61012461011f366004610db4565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610de9565b610333565b005b61014f61015f366004610e13565b61044e565b61014f610172366004610e13565b61047f565b610124610185366004610db4565b61049a565b61019d610198366004610e4f565b6104fa565b6040519081526020016100f3565b610104610580565b61014f6101c1366004610e6a565b61058f565b61014f6101d4366004610ebc565b61059e565b6101046101e7366004610db4565b6105d6565b6100e76101fa366004610f98565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610fcb565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610fcb565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b60006103178261064a565b506000908152600460205260409020546001600160a01b031690565b600061033e8261049a565b9050806001600160a01b0316836001600160a01b031614156103b15760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cd57506103cd81336101fa565b61043f5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a8565b61044983836106ac565b505050565b610458338261071a565b6104745760405162461bcd60e51b81526004016103a890611006565b610449838383610799565b6104498383836040518060200160405280600081525061059e565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a8565b60006001600160a01b0382166105645760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a8565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610fcb565b61059a33838361090a565b5050565b6105a8338361071a565b6105c45760405162461bcd60e51b81526004016103a890611006565b6105d0848484846109d9565b50505050565b60606105e18261064a565b60006105f860408051602081019091526000815290565b905060008151116106185760405180602001604052806000815250610643565b8061062284610a0c565b604051602001610633929190611053565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a8565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e18261049a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806107268361049a565b9050806001600160a01b0316846001600160a01b0316148061076d57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107915750836001600160a01b03166107868461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ac8261049a565b6001600160a01b0316146107d25760405162461bcd60e51b81526004016103a890611082565b6001600160a01b0382166108345760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a8565b6108418383836001610aa9565b826001600160a01b03166108548261049a565b6001600160a01b03161461087a5760405162461bcd60e51b81526004016103a890611082565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b0316141561096c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a8565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109e4848484610799565b6109f084848484610b31565b6105d05760405162461bcd60e51b81526004016103a8906110c7565b60606000610a1983610c3e565b600101905060008167ffffffffffffffff811115610a3957610a39610ea6565b6040519080825280601f01601f191660200182016040528015610a63576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a9c57610aa1565b610a6d565b509392505050565b60018111156105d0576001600160a01b03841615610aef576001600160a01b03841660009081526003602052604081208054839290610ae990849061112f565b90915550505b6001600160a01b038316156105d0576001600160a01b03831660009081526003602052604081208054839290610b26908490611146565b909155505050505050565b60006001600160a01b0384163b15610c3357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610b7590339089908890889060040161115e565b602060405180830381600087803b158015610b8f57600080fd5b505af1925050508015610bbf575060408051601f3d908101601f19168201909252610bbc9181019061119b565b60015b610c19573d808015610bed576040519150601f19603f3d011682016040523d82523d6000602084013e610bf2565b606091505b508051610c115760405162461bcd60e51b81526004016103a8906110c7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610791565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610c7d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610ca9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610cc757662386f26fc10000830492506010015b6305f5e1008310610cdf576305f5e100830492506008015b6127108310610cf357612710830492506004015b60648310610d05576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a957600080fd5b600060208284031215610d3e57600080fd5b813561064381610d16565b60005b83811015610d64578181015183820152602001610d4c565b838111156105d05750506000910152565b60008151808452610d8d816020860160208601610d49565b601f01601f19169290920160200192915050565b6020815260006106436020830184610d75565b600060208284031215610dc657600080fd5b5035919050565b80356001600160a01b0381168114610de457600080fd5b919050565b60008060408385031215610dfc57600080fd5b610e0583610dcd565b946020939093013593505050565b600080600060608486031215610e2857600080fd5b610e3184610dcd565b9250610e3f60208501610dcd565b9150604084013590509250925092565b600060208284031215610e6157600080fd5b61064382610dcd565b60008060408385031215610e7d57600080fd5b610e8683610dcd565b915060208301358015158114610e9b57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610ed257600080fd5b610edb85610dcd565b9350610ee960208601610dcd565b925060408501359150606085013567ffffffffffffffff80821115610f0d57600080fd5b818701915087601f830112610f2157600080fd5b813581811115610f3357610f33610ea6565b604051601f8201601f19908116603f01168101908382118183101715610f5b57610f5b610ea6565b816040528281528a6020848701011115610f7457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610fab57600080fd5b610fb483610dcd565b9150610fc260208401610dcd565b90509250929050565b600181811c90821680610fdf57607f821691505b6020821081141561100057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351611065818460208801610d49565b835190830190611079818360208801610d49565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561114157611141611119565b500390565b6000821982111561115957611159611119565b500190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061119190830184610d75565b9695505050505050565b6000602082840312156111ad57600080fd5b815161064381610d1656fea26469706673582212200482895b097a3e824c2d58c2eb51fec208e4fb5448237591f07d137bb008c11d64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1480 CODESIZE SUB DUP1 PUSH3 0x1480 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1DB JUMP JUMPDEST DUP2 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP POP POP PUSH3 0x282 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x76 SWAP1 PUSH3 0x245 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x9A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC8 JUMP JUMPDEST POP PUSH3 0xF3 SWAP3 SWAP2 POP PUSH3 0xF7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xF3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xF8 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 PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x153 JUMPI PUSH3 0x153 PUSH3 0x10E 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 PUSH3 0x17E JUMPI PUSH3 0x17E PUSH3 0x10E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x1BF JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1A0 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x1D1 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x215 DUP7 DUP4 DUP8 ADD PUSH3 0x124 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x23B DUP6 DUP3 DUP7 ADD PUSH3 0x124 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x25A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x27C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11EE DUP1 PUSH3 0x292 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 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xDA1 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xDE9 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x44E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x49A JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xE4F JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x580 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xE6A JUMP JUMPDEST PUSH2 0x58F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x5D6 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xF98 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xFCB 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 0x2B5 SWAP1 PUSH2 0xFCB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 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 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x64A JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CD JUMPI POP PUSH2 0x3CD DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 PUSH2 0x6AC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x458 CALLER DUP3 PUSH2 0x71A JUMP JUMPDEST PUSH2 0x474 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1006 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 DUP4 PUSH2 0x799 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59E JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x564 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xFCB JUMP JUMPDEST PUSH2 0x59A CALLER DUP4 DUP4 PUSH2 0x90A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A8 CALLER DUP4 PUSH2 0x71A JUMP JUMPDEST PUSH2 0x5C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1006 JUMP JUMPDEST PUSH2 0x5D0 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9D9 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E1 DUP3 PUSH2 0x64A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F8 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x618 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x643 JUMP JUMPDEST DUP1 PUSH2 0x622 DUP5 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x633 SWAP3 SWAP2 SWAP1 PUSH2 0x1053 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A9 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E1 DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x726 DUP4 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x791 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x786 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AC DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x834 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x841 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xAA9 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x854 DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x87A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x96C 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 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9E4 DUP5 DUP5 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH2 0x9F0 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB31 JUMP JUMPDEST PUSH2 0x5D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x10C7 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA19 DUP4 PUSH2 0xC3E JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA39 JUMPI PUSH2 0xA39 PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA63 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA9C JUMPI PUSH2 0xAA1 JUMP JUMPDEST PUSH2 0xA6D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0xAEF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAE9 SWAP1 DUP5 SWAP1 PUSH2 0x112F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xB26 SWAP1 DUP5 SWAP1 PUSH2 0x1146 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC33 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xB75 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x115E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBBF JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBBC SWAP2 DUP2 ADD SWAP1 PUSH2 0x119B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC19 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xBED 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 0xBF2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH2 0xC11 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x10C7 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x791 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xC7D JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xCA9 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xCC7 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xCDF JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xCF3 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xD05 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x643 DUP2 PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD64 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD4C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD8D DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xD49 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x643 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD75 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xDE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE05 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE31 DUP5 PUSH2 0xDCD JUMP JUMPDEST SWAP3 POP PUSH2 0xE3F PUSH1 0x20 DUP6 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x643 DUP3 PUSH2 0xDCD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE86 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE9B 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEDB DUP6 PUSH2 0xDCD JUMP JUMPDEST SWAP4 POP PUSH2 0xEE9 PUSH1 0x20 DUP7 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xF0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xF33 JUMPI PUSH2 0xF33 PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xF5B JUMPI PUSH2 0xF5B PUSH2 0xEA6 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xF74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFB4 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH2 0xFC2 PUSH1 0x20 DUP5 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xFDF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1000 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1065 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xD49 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1079 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xD49 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1141 JUMPI PUSH2 0x1141 PUSH2 0x1119 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1159 JUMPI PUSH2 0x1159 PUSH2 0x1119 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1191 SWAP1 DUP4 ADD DUP5 PUSH2 0xD75 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x643 DUP2 PUSH2 0xD16 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV DUP3 DUP10 JUMPDEST MULMOD PUSH27 0x3E824C2D58C2EB51FEC208E4FB5448237591F07D137BB008C11D64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"628:16327:113:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:113;;;;:7;;:17;;;;;:::i;:::-;;1390:113;;628:16327;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;628:16327:113;;;-1:-1:-1;628:16327:113;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:181;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;:::-;628:16327:113;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_17474":{"entryPoint":null,"id":17474,"parameterSlots":4,"returnSlots":0},"@_approve_17307":{"entryPoint":1708,"id":17307,"parameterSlots":2,"returnSlots":0},"@_baseURI_16744":{"entryPoint":null,"id":16744,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_17461":{"entryPoint":2729,"id":17461,"parameterSlots":4,"returnSlots":0},"@_checkOnERC721Received_17415":{"entryPoint":2865,"id":17415,"parameterSlots":4,"returnSlots":1},"@_exists_16976":{"entryPoint":null,"id":16976,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_17010":{"entryPoint":1818,"id":17010,"parameterSlots":2,"returnSlots":1},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_ownerOf_16958":{"entryPoint":null,"id":16958,"parameterSlots":1,"returnSlots":1},"@_requireMinted_17353":{"entryPoint":1610,"id":17353,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_16945":{"entryPoint":2521,"id":16945,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_17339":{"entryPoint":2314,"id":17339,"parameterSlots":3,"returnSlots":0},"@_transfer_17283":{"entryPoint":1945,"id":17283,"parameterSlots":3,"returnSlots":0},"@approve_16787":{"entryPoint":819,"id":16787,"parameterSlots":2,"returnSlots":0},"@balanceOf_16648":{"entryPoint":1274,"id":16648,"parameterSlots":1,"returnSlots":1},"@getApproved_16805":{"entryPoint":780,"id":16805,"parameterSlots":1,"returnSlots":1},"@isApprovedForAll_16840":{"entryPoint":null,"id":16840,"parameterSlots":2,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@log10_25499":{"entryPoint":3134,"id":25499,"parameterSlots":1,"returnSlots":1},"@name_16686":{"entryPoint":634,"id":16686,"parameterSlots":0,"returnSlots":1},"@ownerOf_16676":{"entryPoint":1178,"id":16676,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_16886":{"entryPoint":1151,"id":16886,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_16916":{"entryPoint":1438,"id":16916,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_16822":{"entryPoint":1423,"id":16822,"parameterSlots":2,"returnSlots":0},"@supportsInterface_16624":{"entryPoint":552,"id":16624,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@symbol_16696":{"entryPoint":1408,"id":16696,"parameterSlots":0,"returnSlots":1},"@toString_22609":{"entryPoint":2572,"id":22609,"parameterSlots":1,"returnSlots":1},"@tokenURI_16735":{"entryPoint":1494,"id":16735,"parameterSlots":1,"returnSlots":1},"@transferFrom_16867":{"entryPoint":1102,"id":16867,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":3533,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":3663,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3992,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":3603,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":3772,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":3690,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":3561,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":3372,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4507,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3508,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3445,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":4179,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":4446,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3489,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4102,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4295,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4226,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__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":4422,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4399,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":3401,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":4043,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4377,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3750,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":3350,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10496:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:181","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:181"},"nodeType":"YulFunctionCall","src":"125:12:181"},"nodeType":"YulExpressionStatement","src":"125:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:181"},"nodeType":"YulFunctionCall","src":"99:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:181"},"nodeType":"YulFunctionCall","src":"88:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:181"},"nodeType":"YulFunctionCall","src":"78:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:181"},"nodeType":"YulFunctionCall","src":"71:51:181"},"nodeType":"YulIf","src":"68:71:181"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:181","type":""}],"src":"14:131:181"},{"body":{"nodeType":"YulBlock","src":"219:176:181","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:181"},"nodeType":"YulFunctionCall","src":"267:12:181"},"nodeType":"YulExpressionStatement","src":"267:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:181"},"nodeType":"YulFunctionCall","src":"236:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:181"},"nodeType":"YulFunctionCall","src":"232:32:181"},"nodeType":"YulIf","src":"229:52:181"},{"nodeType":"YulVariableDeclaration","src":"290:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:181"},"nodeType":"YulFunctionCall","src":"303:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:181"},"nodeType":"YulFunctionCall","src":"335:30:181"},"nodeType":"YulExpressionStatement","src":"335:30:181"},{"nodeType":"YulAssignment","src":"374:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:181","type":""}],"src":"150:245:181"},{"body":{"nodeType":"YulBlock","src":"495:92:181","statements":[{"nodeType":"YulAssignment","src":"505:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:181"},"nodeType":"YulFunctionCall","src":"513:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:181"},"nodeType":"YulFunctionCall","src":"565:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:181"},"nodeType":"YulFunctionCall","src":"558:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:181"},"nodeType":"YulFunctionCall","src":"540:41:181"},"nodeType":"YulExpressionStatement","src":"540:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:181","type":""}],"src":"400:187:181"},{"body":{"nodeType":"YulBlock","src":"645:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"655:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"664:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"659:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"724:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"749:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"754:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"745:3:181"},"nodeType":"YulFunctionCall","src":"745:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"768:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"773:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"764:3:181"},"nodeType":"YulFunctionCall","src":"764:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"758:5:181"},"nodeType":"YulFunctionCall","src":"758:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"738:6:181"},"nodeType":"YulFunctionCall","src":"738:39:181"},"nodeType":"YulExpressionStatement","src":"738:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"685:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"688:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"682:2:181"},"nodeType":"YulFunctionCall","src":"682:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"696:19:181","statements":[{"nodeType":"YulAssignment","src":"698:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"707:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"710:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"703:3:181"},"nodeType":"YulFunctionCall","src":"703:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"678:3:181","statements":[]},"src":"674:113:181"},{"body":{"nodeType":"YulBlock","src":"813:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"826:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"831:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"822:3:181"},"nodeType":"YulFunctionCall","src":"822:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"815:6:181"},"nodeType":"YulFunctionCall","src":"815:27:181"},"nodeType":"YulExpressionStatement","src":"815:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"802:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"805:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"799:2:181"},"nodeType":"YulFunctionCall","src":"799:13:181"},"nodeType":"YulIf","src":"796:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"623:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"628:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"633:6:181","type":""}],"src":"592:258:181"},{"body":{"nodeType":"YulBlock","src":"905:208:181","statements":[{"nodeType":"YulVariableDeclaration","src":"915:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"929:5:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"919:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"957:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"962:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"950:6:181"},"nodeType":"YulFunctionCall","src":"950:19:181"},"nodeType":"YulExpressionStatement","src":"950:19:181"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1004:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"1011:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1000:3:181"},"nodeType":"YulFunctionCall","src":"1000:16:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1022:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"1027:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1018:3:181"},"nodeType":"YulFunctionCall","src":"1018:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"1034:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"978:21:181"},"nodeType":"YulFunctionCall","src":"978:63:181"},"nodeType":"YulExpressionStatement","src":"978:63:181"},{"nodeType":"YulAssignment","src":"1050:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1065:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1078:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1086:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1074:3:181"},"nodeType":"YulFunctionCall","src":"1074:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1095:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1091:3:181"},"nodeType":"YulFunctionCall","src":"1091:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1070:3:181"},"nodeType":"YulFunctionCall","src":"1070:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1061:3:181"},"nodeType":"YulFunctionCall","src":"1061:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1102:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1057:3:181"},"nodeType":"YulFunctionCall","src":"1057:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1050:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"882:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"889:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"897:3:181","type":""}],"src":"855:258:181"},{"body":{"nodeType":"YulBlock","src":"1239:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1256:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1267:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1249:6:181"},"nodeType":"YulFunctionCall","src":"1249:21:181"},"nodeType":"YulExpressionStatement","src":"1249:21:181"},{"nodeType":"YulAssignment","src":"1279:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1305:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1317:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1328:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1313:3:181"},"nodeType":"YulFunctionCall","src":"1313:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1287:17:181"},"nodeType":"YulFunctionCall","src":"1287:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1279:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1208:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1219:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1230:4:181","type":""}],"src":"1118:220:181"},{"body":{"nodeType":"YulBlock","src":"1413:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"1459:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1468:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1471:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1461:6:181"},"nodeType":"YulFunctionCall","src":"1461:12:181"},"nodeType":"YulExpressionStatement","src":"1461:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1434:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1443:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1430:3:181"},"nodeType":"YulFunctionCall","src":"1430:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1455:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1426:3:181"},"nodeType":"YulFunctionCall","src":"1426:32:181"},"nodeType":"YulIf","src":"1423:52:181"},{"nodeType":"YulAssignment","src":"1484:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1507:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1494:12:181"},"nodeType":"YulFunctionCall","src":"1494:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1484:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1379:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1390:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1402:6:181","type":""}],"src":"1343:180:181"},{"body":{"nodeType":"YulBlock","src":"1629:102:181","statements":[{"nodeType":"YulAssignment","src":"1639:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1662:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1647:3:181"},"nodeType":"YulFunctionCall","src":"1647:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1639:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1681:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1696:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1712:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1717:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1708:3:181"},"nodeType":"YulFunctionCall","src":"1708:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1721:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1704:3:181"},"nodeType":"YulFunctionCall","src":"1704:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1692:3:181"},"nodeType":"YulFunctionCall","src":"1692:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1674:6:181"},"nodeType":"YulFunctionCall","src":"1674:51:181"},"nodeType":"YulExpressionStatement","src":"1674:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1598:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1609:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1620:4:181","type":""}],"src":"1528:203:181"},{"body":{"nodeType":"YulBlock","src":"1785:124:181","statements":[{"nodeType":"YulAssignment","src":"1795:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1817:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1804:12:181"},"nodeType":"YulFunctionCall","src":"1804:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1795:5:181"}]},{"body":{"nodeType":"YulBlock","src":"1887:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1896:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1899:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1889:6:181"},"nodeType":"YulFunctionCall","src":"1889:12:181"},"nodeType":"YulExpressionStatement","src":"1889:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1846:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1857:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1872:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1877:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1868:3:181"},"nodeType":"YulFunctionCall","src":"1868:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1881:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1864:3:181"},"nodeType":"YulFunctionCall","src":"1864:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1853:3:181"},"nodeType":"YulFunctionCall","src":"1853:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1843:2:181"},"nodeType":"YulFunctionCall","src":"1843:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1836:6:181"},"nodeType":"YulFunctionCall","src":"1836:50:181"},"nodeType":"YulIf","src":"1833:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1764:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1775:5:181","type":""}],"src":"1736:173:181"},{"body":{"nodeType":"YulBlock","src":"2001:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"2047:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2056:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2059:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2049:6:181"},"nodeType":"YulFunctionCall","src":"2049:12:181"},"nodeType":"YulExpressionStatement","src":"2049:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2022:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2031:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2018:3:181"},"nodeType":"YulFunctionCall","src":"2018:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2043:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2014:3:181"},"nodeType":"YulFunctionCall","src":"2014:32:181"},"nodeType":"YulIf","src":"2011:52:181"},{"nodeType":"YulAssignment","src":"2072:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2101:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2082:18:181"},"nodeType":"YulFunctionCall","src":"2082:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2072:6:181"}]},{"nodeType":"YulAssignment","src":"2120:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2147:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2158:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2143:3:181"},"nodeType":"YulFunctionCall","src":"2143:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2130:12:181"},"nodeType":"YulFunctionCall","src":"2130:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2120:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1959:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1970:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1982:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1990:6:181","type":""}],"src":"1914:254:181"},{"body":{"nodeType":"YulBlock","src":"2277:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"2323:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2332:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2335:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2325:6:181"},"nodeType":"YulFunctionCall","src":"2325:12:181"},"nodeType":"YulExpressionStatement","src":"2325:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2298:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2307:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2294:3:181"},"nodeType":"YulFunctionCall","src":"2294:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2319:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2290:3:181"},"nodeType":"YulFunctionCall","src":"2290:32:181"},"nodeType":"YulIf","src":"2287:52:181"},{"nodeType":"YulAssignment","src":"2348:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2377:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2358:18:181"},"nodeType":"YulFunctionCall","src":"2358:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2348:6:181"}]},{"nodeType":"YulAssignment","src":"2396:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2429:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2440:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2425:3:181"},"nodeType":"YulFunctionCall","src":"2425:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2406:18:181"},"nodeType":"YulFunctionCall","src":"2406:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2396:6:181"}]},{"nodeType":"YulAssignment","src":"2453:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2480:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2491:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2476:3:181"},"nodeType":"YulFunctionCall","src":"2476:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2463:12:181"},"nodeType":"YulFunctionCall","src":"2463:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2453:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2227:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2238:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2250:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2258:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2266:6:181","type":""}],"src":"2173:328:181"},{"body":{"nodeType":"YulBlock","src":"2576:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2622:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2631:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2634:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2624:6:181"},"nodeType":"YulFunctionCall","src":"2624:12:181"},"nodeType":"YulExpressionStatement","src":"2624:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2597:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2606:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2593:3:181"},"nodeType":"YulFunctionCall","src":"2593:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2618:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2589:3:181"},"nodeType":"YulFunctionCall","src":"2589:32:181"},"nodeType":"YulIf","src":"2586:52:181"},{"nodeType":"YulAssignment","src":"2647:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2676:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2657:18:181"},"nodeType":"YulFunctionCall","src":"2657:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2647:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2542:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2553:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2565:6:181","type":""}],"src":"2506:186:181"},{"body":{"nodeType":"YulBlock","src":"2798:76:181","statements":[{"nodeType":"YulAssignment","src":"2808:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2820:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2831:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2816:3:181"},"nodeType":"YulFunctionCall","src":"2816:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2808:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2850:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2861:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2843:6:181"},"nodeType":"YulFunctionCall","src":"2843:25:181"},"nodeType":"YulExpressionStatement","src":"2843:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2767:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2778:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2789:4:181","type":""}],"src":"2697:177:181"},{"body":{"nodeType":"YulBlock","src":"2963:263:181","statements":[{"body":{"nodeType":"YulBlock","src":"3009:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3018:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3021:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3011:6:181"},"nodeType":"YulFunctionCall","src":"3011:12:181"},"nodeType":"YulExpressionStatement","src":"3011:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2984:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2993:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2980:3:181"},"nodeType":"YulFunctionCall","src":"2980:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3005:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2976:3:181"},"nodeType":"YulFunctionCall","src":"2976:32:181"},"nodeType":"YulIf","src":"2973:52:181"},{"nodeType":"YulAssignment","src":"3034:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3063:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3044:18:181"},"nodeType":"YulFunctionCall","src":"3044:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3034:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3082:45:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3112:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3123:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3108:3:181"},"nodeType":"YulFunctionCall","src":"3108:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3095:12:181"},"nodeType":"YulFunctionCall","src":"3095:32:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3086:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3180:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3189:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3192:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3182:6:181"},"nodeType":"YulFunctionCall","src":"3182:12:181"},"nodeType":"YulExpressionStatement","src":"3182:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3149:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3170:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3163:6:181"},"nodeType":"YulFunctionCall","src":"3163:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3156:6:181"},"nodeType":"YulFunctionCall","src":"3156:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3146:2:181"},"nodeType":"YulFunctionCall","src":"3146:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3139:6:181"},"nodeType":"YulFunctionCall","src":"3139:40:181"},"nodeType":"YulIf","src":"3136:60:181"},{"nodeType":"YulAssignment","src":"3205:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"3215:5:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3205:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2921:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2932:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2944:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2952:6:181","type":""}],"src":"2879:347:181"},{"body":{"nodeType":"YulBlock","src":"3263:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3280:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3287:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3292:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3283:3:181"},"nodeType":"YulFunctionCall","src":"3283:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3273:6:181"},"nodeType":"YulFunctionCall","src":"3273:31:181"},"nodeType":"YulExpressionStatement","src":"3273:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3320:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3323:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3313:6:181"},"nodeType":"YulFunctionCall","src":"3313:15:181"},"nodeType":"YulExpressionStatement","src":"3313:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3344:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3347:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3337:6:181"},"nodeType":"YulFunctionCall","src":"3337:15:181"},"nodeType":"YulExpressionStatement","src":"3337:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3231:127:181"},{"body":{"nodeType":"YulBlock","src":"3493:1008:181","statements":[{"body":{"nodeType":"YulBlock","src":"3540:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3549:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3552:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3542:6:181"},"nodeType":"YulFunctionCall","src":"3542:12:181"},"nodeType":"YulExpressionStatement","src":"3542:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3514:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3523:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3510:3:181"},"nodeType":"YulFunctionCall","src":"3510:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3535:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3506:3:181"},"nodeType":"YulFunctionCall","src":"3506:33:181"},"nodeType":"YulIf","src":"3503:53:181"},{"nodeType":"YulAssignment","src":"3565:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3594:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3575:18:181"},"nodeType":"YulFunctionCall","src":"3575:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3565:6:181"}]},{"nodeType":"YulAssignment","src":"3613:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3646:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3657:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3642:3:181"},"nodeType":"YulFunctionCall","src":"3642:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3623:18:181"},"nodeType":"YulFunctionCall","src":"3623:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3613:6:181"}]},{"nodeType":"YulAssignment","src":"3670:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3697:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3708:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3693:3:181"},"nodeType":"YulFunctionCall","src":"3693:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3680:12:181"},"nodeType":"YulFunctionCall","src":"3680:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3670:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3721:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3763:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3748:3:181"},"nodeType":"YulFunctionCall","src":"3748:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3735:12:181"},"nodeType":"YulFunctionCall","src":"3735:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3725:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3776:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3786:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3780:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3831:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3840:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3843:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3833:6:181"},"nodeType":"YulFunctionCall","src":"3833:12:181"},"nodeType":"YulExpressionStatement","src":"3833:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3819:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3827:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3816:2:181"},"nodeType":"YulFunctionCall","src":"3816:14:181"},"nodeType":"YulIf","src":"3813:34:181"},{"nodeType":"YulVariableDeclaration","src":"3856:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3870:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"3881:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3866:3:181"},"nodeType":"YulFunctionCall","src":"3866:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3860:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3936:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3945:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3948:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3938:6:181"},"nodeType":"YulFunctionCall","src":"3938:12:181"},"nodeType":"YulExpressionStatement","src":"3938:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3915:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3919:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3911:3:181"},"nodeType":"YulFunctionCall","src":"3911:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3926:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3907:3:181"},"nodeType":"YulFunctionCall","src":"3907:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3900:6:181"},"nodeType":"YulFunctionCall","src":"3900:35:181"},"nodeType":"YulIf","src":"3897:55:181"},{"nodeType":"YulVariableDeclaration","src":"3961:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3984:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3971:12:181"},"nodeType":"YulFunctionCall","src":"3971:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3965:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4010:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4012:16:181"},"nodeType":"YulFunctionCall","src":"4012:18:181"},"nodeType":"YulExpressionStatement","src":"4012:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4002:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4006:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3999:2:181"},"nodeType":"YulFunctionCall","src":"3999:10:181"},"nodeType":"YulIf","src":"3996:36:181"},{"nodeType":"YulVariableDeclaration","src":"4041:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4055:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4051:3:181"},"nodeType":"YulFunctionCall","src":"4051:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4045:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4067:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4087:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4081:5:181"},"nodeType":"YulFunctionCall","src":"4081:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4071:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4099:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4121:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4145:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"4149:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4141:3:181"},"nodeType":"YulFunctionCall","src":"4141:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"4156:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4137:3:181"},"nodeType":"YulFunctionCall","src":"4137:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"4161:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4133:3:181"},"nodeType":"YulFunctionCall","src":"4133:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"4166:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4129:3:181"},"nodeType":"YulFunctionCall","src":"4129:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4117:3:181"},"nodeType":"YulFunctionCall","src":"4117:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4103:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4229:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4231:16:181"},"nodeType":"YulFunctionCall","src":"4231:18:181"},"nodeType":"YulExpressionStatement","src":"4231:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4188:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4200:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4185:2:181"},"nodeType":"YulFunctionCall","src":"4185:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4208:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4220:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4205:2:181"},"nodeType":"YulFunctionCall","src":"4205:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4182:2:181"},"nodeType":"YulFunctionCall","src":"4182:46:181"},"nodeType":"YulIf","src":"4179:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4267:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4271:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4260:6:181"},"nodeType":"YulFunctionCall","src":"4260:22:181"},"nodeType":"YulExpressionStatement","src":"4260:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4298:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"4306:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4291:6:181"},"nodeType":"YulFunctionCall","src":"4291:18:181"},"nodeType":"YulExpressionStatement","src":"4291:18:181"},{"body":{"nodeType":"YulBlock","src":"4355:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4364:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4367:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4357:6:181"},"nodeType":"YulFunctionCall","src":"4357:12:181"},"nodeType":"YulExpressionStatement","src":"4357:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4332:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"4336:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4328:3:181"},"nodeType":"YulFunctionCall","src":"4328:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"4341:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4324:3:181"},"nodeType":"YulFunctionCall","src":"4324:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4346:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4321:2:181"},"nodeType":"YulFunctionCall","src":"4321:33:181"},"nodeType":"YulIf","src":"4318:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4397:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4405:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4393:3:181"},"nodeType":"YulFunctionCall","src":"4393:15:181"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4414:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"4418:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4410:3:181"},"nodeType":"YulFunctionCall","src":"4410:11:181"},{"name":"_3","nodeType":"YulIdentifier","src":"4423:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4380:12:181"},"nodeType":"YulFunctionCall","src":"4380:46:181"},"nodeType":"YulExpressionStatement","src":"4380:46:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4450:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"4458:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4446:3:181"},"nodeType":"YulFunctionCall","src":"4446:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"4463:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4442:3:181"},"nodeType":"YulFunctionCall","src":"4442:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"4468:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4435:6:181"},"nodeType":"YulFunctionCall","src":"4435:35:181"},"nodeType":"YulExpressionStatement","src":"4435:35:181"},{"nodeType":"YulAssignment","src":"4479:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4489:6:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4479:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3435:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3446:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3458:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3466:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3474:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3482:6:181","type":""}],"src":"3363:1138:181"},{"body":{"nodeType":"YulBlock","src":"4593:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"4639:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4648:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4651:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4641:6:181"},"nodeType":"YulFunctionCall","src":"4641:12:181"},"nodeType":"YulExpressionStatement","src":"4641:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4614:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4623:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4610:3:181"},"nodeType":"YulFunctionCall","src":"4610:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4635:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4606:3:181"},"nodeType":"YulFunctionCall","src":"4606:32:181"},"nodeType":"YulIf","src":"4603:52:181"},{"nodeType":"YulAssignment","src":"4664:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4693:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4674:18:181"},"nodeType":"YulFunctionCall","src":"4674:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4664:6:181"}]},{"nodeType":"YulAssignment","src":"4712:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4745:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4756:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4741:3:181"},"nodeType":"YulFunctionCall","src":"4741:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4722:18:181"},"nodeType":"YulFunctionCall","src":"4722:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4712:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4551:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4562:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4574:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4582:6:181","type":""}],"src":"4506:260:181"},{"body":{"nodeType":"YulBlock","src":"4826:325:181","statements":[{"nodeType":"YulAssignment","src":"4836:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4850:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4853:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4846:3:181"},"nodeType":"YulFunctionCall","src":"4846:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4836:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4867:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4897:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"4903:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4893:3:181"},"nodeType":"YulFunctionCall","src":"4893:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4871:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4944:31:181","statements":[{"nodeType":"YulAssignment","src":"4946:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4960:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4968:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4956:3:181"},"nodeType":"YulFunctionCall","src":"4956:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4946:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4924:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4917:6:181"},"nodeType":"YulFunctionCall","src":"4917:26:181"},"nodeType":"YulIf","src":"4914:61:181"},{"body":{"nodeType":"YulBlock","src":"5034:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5055:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5062:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5067:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5058:3:181"},"nodeType":"YulFunctionCall","src":"5058:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5048:6:181"},"nodeType":"YulFunctionCall","src":"5048:31:181"},"nodeType":"YulExpressionStatement","src":"5048:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5099:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5102:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5092:6:181"},"nodeType":"YulFunctionCall","src":"5092:15:181"},"nodeType":"YulExpressionStatement","src":"5092:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5120:6:181"},"nodeType":"YulFunctionCall","src":"5120:15:181"},"nodeType":"YulExpressionStatement","src":"5120:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4990:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5013:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5021:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5010:2:181"},"nodeType":"YulFunctionCall","src":"5010:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4987:2:181"},"nodeType":"YulFunctionCall","src":"4987:38:181"},"nodeType":"YulIf","src":"4984:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4806:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4815:6:181","type":""}],"src":"4771:380:181"},{"body":{"nodeType":"YulBlock","src":"5330:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5347:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5358:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5340:6:181"},"nodeType":"YulFunctionCall","src":"5340:21:181"},"nodeType":"YulExpressionStatement","src":"5340:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5381:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5392:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5377:3:181"},"nodeType":"YulFunctionCall","src":"5377:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5397:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5370:6:181"},"nodeType":"YulFunctionCall","src":"5370:30:181"},"nodeType":"YulExpressionStatement","src":"5370:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5420:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5431:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5416:3:181"},"nodeType":"YulFunctionCall","src":"5416:18:181"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"5436:34:181","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5409:6:181"},"nodeType":"YulFunctionCall","src":"5409:62:181"},"nodeType":"YulExpressionStatement","src":"5409:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5491:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5502:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5487:3:181"},"nodeType":"YulFunctionCall","src":"5487:18:181"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"5507:3:181","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5480:6:181"},"nodeType":"YulFunctionCall","src":"5480:31:181"},"nodeType":"YulExpressionStatement","src":"5480:31:181"},{"nodeType":"YulAssignment","src":"5520:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5532:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5543:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5528:3:181"},"nodeType":"YulFunctionCall","src":"5528:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5520:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5307:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5321:4:181","type":""}],"src":"5156:397:181"},{"body":{"nodeType":"YulBlock","src":"5732:251:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5749:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5760:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5742:6:181"},"nodeType":"YulFunctionCall","src":"5742:21:181"},"nodeType":"YulExpressionStatement","src":"5742:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5794:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5779:3:181"},"nodeType":"YulFunctionCall","src":"5779:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5799:2:181","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5772:6:181"},"nodeType":"YulFunctionCall","src":"5772:30:181"},"nodeType":"YulExpressionStatement","src":"5772:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5822:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5833:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5818:3:181"},"nodeType":"YulFunctionCall","src":"5818:18:181"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"5838:34:181","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5811:6:181"},"nodeType":"YulFunctionCall","src":"5811:62:181"},"nodeType":"YulExpressionStatement","src":"5811:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5893:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5904:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5889:3:181"},"nodeType":"YulFunctionCall","src":"5889:18:181"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"5909:31:181","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5882:6:181"},"nodeType":"YulFunctionCall","src":"5882:59:181"},"nodeType":"YulExpressionStatement","src":"5882:59:181"},{"nodeType":"YulAssignment","src":"5950:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5962:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5973:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5958:3:181"},"nodeType":"YulFunctionCall","src":"5958:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5950:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5709:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5723:4:181","type":""}],"src":"5558:425:181"},{"body":{"nodeType":"YulBlock","src":"6162:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6179:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6190:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6172:6:181"},"nodeType":"YulFunctionCall","src":"6172:21:181"},"nodeType":"YulExpressionStatement","src":"6172:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6213:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6224:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6209:3:181"},"nodeType":"YulFunctionCall","src":"6209:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6229:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6202:6:181"},"nodeType":"YulFunctionCall","src":"6202:30:181"},"nodeType":"YulExpressionStatement","src":"6202:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6252:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6263:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6248:3:181"},"nodeType":"YulFunctionCall","src":"6248:18:181"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"6268:34:181","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6241:6:181"},"nodeType":"YulFunctionCall","src":"6241:62:181"},"nodeType":"YulExpressionStatement","src":"6241:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6323:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6334:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6319:3:181"},"nodeType":"YulFunctionCall","src":"6319:18:181"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"6339:15:181","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6312:6:181"},"nodeType":"YulFunctionCall","src":"6312:43:181"},"nodeType":"YulExpressionStatement","src":"6312:43:181"},{"nodeType":"YulAssignment","src":"6364:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6376:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6387:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6372:3:181"},"nodeType":"YulFunctionCall","src":"6372:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6364:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6139:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6153:4:181","type":""}],"src":"5988:409:181"},{"body":{"nodeType":"YulBlock","src":"6576:174:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6593:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6604:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6586:6:181"},"nodeType":"YulFunctionCall","src":"6586:21:181"},"nodeType":"YulExpressionStatement","src":"6586:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6627:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6638:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6623:3:181"},"nodeType":"YulFunctionCall","src":"6623:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6643:2:181","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6616:6:181"},"nodeType":"YulFunctionCall","src":"6616:30:181"},"nodeType":"YulExpressionStatement","src":"6616:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6666:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6677:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6662:3:181"},"nodeType":"YulFunctionCall","src":"6662:18:181"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"6682:26:181","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6655:6:181"},"nodeType":"YulFunctionCall","src":"6655:54:181"},"nodeType":"YulExpressionStatement","src":"6655:54:181"},{"nodeType":"YulAssignment","src":"6718:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6730:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6741:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6726:3:181"},"nodeType":"YulFunctionCall","src":"6726:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6718:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6553:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6567:4:181","type":""}],"src":"6402:348:181"},{"body":{"nodeType":"YulBlock","src":"6929:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6946:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6957:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6939:6:181"},"nodeType":"YulFunctionCall","src":"6939:21:181"},"nodeType":"YulExpressionStatement","src":"6939:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6980:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6991:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6976:3:181"},"nodeType":"YulFunctionCall","src":"6976:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6996:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6969:6:181"},"nodeType":"YulFunctionCall","src":"6969:30:181"},"nodeType":"YulExpressionStatement","src":"6969:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7019:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7030:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7015:3:181"},"nodeType":"YulFunctionCall","src":"7015:18:181"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"7035:34:181","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7008:6:181"},"nodeType":"YulFunctionCall","src":"7008:62:181"},"nodeType":"YulExpressionStatement","src":"7008:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7090:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7101:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7086:3:181"},"nodeType":"YulFunctionCall","src":"7086:18:181"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"7106:11:181","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7079:6:181"},"nodeType":"YulFunctionCall","src":"7079:39:181"},"nodeType":"YulExpressionStatement","src":"7079:39:181"},{"nodeType":"YulAssignment","src":"7127:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7139:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7150:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7135:3:181"},"nodeType":"YulFunctionCall","src":"7135:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7127:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6906:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6920:4:181","type":""}],"src":"6755:405:181"},{"body":{"nodeType":"YulBlock","src":"7352:283:181","statements":[{"nodeType":"YulVariableDeclaration","src":"7362:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7382:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7376:5:181"},"nodeType":"YulFunctionCall","src":"7376:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7366:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7424:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7432:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7420:3:181"},"nodeType":"YulFunctionCall","src":"7420:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"7439:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"7444:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7398:21:181"},"nodeType":"YulFunctionCall","src":"7398:53:181"},"nodeType":"YulExpressionStatement","src":"7398:53:181"},{"nodeType":"YulVariableDeclaration","src":"7460:29:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7477:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"7482:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7473:3:181"},"nodeType":"YulFunctionCall","src":"7473:16:181"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"7464:5:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7498:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7520:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7514:5:181"},"nodeType":"YulFunctionCall","src":"7514:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"7502:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7562:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7570:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7558:3:181"},"nodeType":"YulFunctionCall","src":"7558:17:181"},{"name":"end_1","nodeType":"YulIdentifier","src":"7577:5:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"7584:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7536:21:181"},"nodeType":"YulFunctionCall","src":"7536:57:181"},"nodeType":"YulExpressionStatement","src":"7536:57:181"},{"nodeType":"YulAssignment","src":"7602:27:181","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"7613:5:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"7620:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7609:3:181"},"nodeType":"YulFunctionCall","src":"7609:20:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7602:3:181"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7320:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7325:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7333:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7344:3:181","type":""}],"src":"7165:470:181"},{"body":{"nodeType":"YulBlock","src":"7814:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7831:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7842:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7824:6:181"},"nodeType":"YulFunctionCall","src":"7824:21:181"},"nodeType":"YulExpressionStatement","src":"7824:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7865:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7876:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7861:3:181"},"nodeType":"YulFunctionCall","src":"7861:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7881:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7854:6:181"},"nodeType":"YulFunctionCall","src":"7854:30:181"},"nodeType":"YulExpressionStatement","src":"7854:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7904:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7915:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7900:3:181"},"nodeType":"YulFunctionCall","src":"7900:18:181"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"7920:34:181","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7893:6:181"},"nodeType":"YulFunctionCall","src":"7893:62:181"},"nodeType":"YulExpressionStatement","src":"7893:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7975:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7986:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7971:3:181"},"nodeType":"YulFunctionCall","src":"7971:18:181"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"7991:7:181","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7964:6:181"},"nodeType":"YulFunctionCall","src":"7964:35:181"},"nodeType":"YulExpressionStatement","src":"7964:35:181"},{"nodeType":"YulAssignment","src":"8008:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8020:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8031:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8016:3:181"},"nodeType":"YulFunctionCall","src":"8016:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8008:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7791:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7805:4:181","type":""}],"src":"7640:401:181"},{"body":{"nodeType":"YulBlock","src":"8220:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8237:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8248:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8230:6:181"},"nodeType":"YulFunctionCall","src":"8230:21:181"},"nodeType":"YulExpressionStatement","src":"8230:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8271:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8282:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8267:3:181"},"nodeType":"YulFunctionCall","src":"8267:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8287:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8260:6:181"},"nodeType":"YulFunctionCall","src":"8260:30:181"},"nodeType":"YulExpressionStatement","src":"8260:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8310:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8321:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8306:3:181"},"nodeType":"YulFunctionCall","src":"8306:18:181"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"8326:34:181","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8299:6:181"},"nodeType":"YulFunctionCall","src":"8299:62:181"},"nodeType":"YulExpressionStatement","src":"8299:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8381:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8392:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8377:3:181"},"nodeType":"YulFunctionCall","src":"8377:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"8397:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8370:6:181"},"nodeType":"YulFunctionCall","src":"8370:34:181"},"nodeType":"YulExpressionStatement","src":"8370:34:181"},{"nodeType":"YulAssignment","src":"8413:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8436:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8421:3:181"},"nodeType":"YulFunctionCall","src":"8421:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8413:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8197:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8211:4:181","type":""}],"src":"8046:400:181"},{"body":{"nodeType":"YulBlock","src":"8625:175:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8642:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8653:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8635:6:181"},"nodeType":"YulFunctionCall","src":"8635:21:181"},"nodeType":"YulExpressionStatement","src":"8635:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8676:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8687:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8672:3:181"},"nodeType":"YulFunctionCall","src":"8672:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8692:2:181","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8665:6:181"},"nodeType":"YulFunctionCall","src":"8665:30:181"},"nodeType":"YulExpressionStatement","src":"8665:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8715:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8726:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8711:3:181"},"nodeType":"YulFunctionCall","src":"8711:18:181"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"8731:27:181","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8704:6:181"},"nodeType":"YulFunctionCall","src":"8704:55:181"},"nodeType":"YulExpressionStatement","src":"8704:55:181"},{"nodeType":"YulAssignment","src":"8768:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8780:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8791:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8776:3:181"},"nodeType":"YulFunctionCall","src":"8776:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8768:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8602:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8616:4:181","type":""}],"src":"8451:349:181"},{"body":{"nodeType":"YulBlock","src":"8979:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8996:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9007:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8989:6:181"},"nodeType":"YulFunctionCall","src":"8989:21:181"},"nodeType":"YulExpressionStatement","src":"8989:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9030:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9041:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9026:3:181"},"nodeType":"YulFunctionCall","src":"9026:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9046:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9019:6:181"},"nodeType":"YulFunctionCall","src":"9019:30:181"},"nodeType":"YulExpressionStatement","src":"9019:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9069:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9080:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9065:3:181"},"nodeType":"YulFunctionCall","src":"9065:18:181"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"9085:34:181","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9058:6:181"},"nodeType":"YulFunctionCall","src":"9058:62:181"},"nodeType":"YulExpressionStatement","src":"9058:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9140:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9151:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9136:3:181"},"nodeType":"YulFunctionCall","src":"9136:18:181"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"9156:20:181","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9129:6:181"},"nodeType":"YulFunctionCall","src":"9129:48:181"},"nodeType":"YulExpressionStatement","src":"9129:48:181"},{"nodeType":"YulAssignment","src":"9186:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9198:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9209:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9194:3:181"},"nodeType":"YulFunctionCall","src":"9194:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9186:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8956:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8970:4:181","type":""}],"src":"8805:414:181"},{"body":{"nodeType":"YulBlock","src":"9256:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9273:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9280:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9285:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9276:3:181"},"nodeType":"YulFunctionCall","src":"9276:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9266:6:181"},"nodeType":"YulFunctionCall","src":"9266:31:181"},"nodeType":"YulExpressionStatement","src":"9266:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9313:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9316:4:181","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9306:6:181"},"nodeType":"YulFunctionCall","src":"9306:15:181"},"nodeType":"YulExpressionStatement","src":"9306:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9337:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9340:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9330:6:181"},"nodeType":"YulFunctionCall","src":"9330:15:181"},"nodeType":"YulExpressionStatement","src":"9330:15:181"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9224:127:181"},{"body":{"nodeType":"YulBlock","src":"9388:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9405:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9412:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9417:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9408:3:181"},"nodeType":"YulFunctionCall","src":"9408:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9398:6:181"},"nodeType":"YulFunctionCall","src":"9398:31:181"},"nodeType":"YulExpressionStatement","src":"9398:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9445:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9448:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9438:6:181"},"nodeType":"YulFunctionCall","src":"9438:15:181"},"nodeType":"YulExpressionStatement","src":"9438:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9469:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9472:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9462:6:181"},"nodeType":"YulFunctionCall","src":"9462:15:181"},"nodeType":"YulExpressionStatement","src":"9462:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9356:127:181"},{"body":{"nodeType":"YulBlock","src":"9537:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"9559:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9561:16:181"},"nodeType":"YulFunctionCall","src":"9561:18:181"},"nodeType":"YulExpressionStatement","src":"9561:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9553:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"9556:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9550:2:181"},"nodeType":"YulFunctionCall","src":"9550:8:181"},"nodeType":"YulIf","src":"9547:34:181"},{"nodeType":"YulAssignment","src":"9590:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9602:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"9605:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9598:3:181"},"nodeType":"YulFunctionCall","src":"9598:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9590:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9519:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"9522:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"9528:4:181","type":""}],"src":"9488:125:181"},{"body":{"nodeType":"YulBlock","src":"9666:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"9693:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9695:16:181"},"nodeType":"YulFunctionCall","src":"9695:18:181"},"nodeType":"YulExpressionStatement","src":"9695:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9682:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9689:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9685:3:181"},"nodeType":"YulFunctionCall","src":"9685:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9679:2:181"},"nodeType":"YulFunctionCall","src":"9679:13:181"},"nodeType":"YulIf","src":"9676:39:181"},{"nodeType":"YulAssignment","src":"9724:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9735:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"9738:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9731:3:181"},"nodeType":"YulFunctionCall","src":"9731:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"9724:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9649:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"9652:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"9658:3:181","type":""}],"src":"9618:128:181"},{"body":{"nodeType":"YulBlock","src":"9954:286:181","statements":[{"nodeType":"YulVariableDeclaration","src":"9964:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9982:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9987:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9978:3:181"},"nodeType":"YulFunctionCall","src":"9978:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"9991:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9974:3:181"},"nodeType":"YulFunctionCall","src":"9974:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9968:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10009:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10024:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"10032:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10020:3:181"},"nodeType":"YulFunctionCall","src":"10020:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10002:6:181"},"nodeType":"YulFunctionCall","src":"10002:34:181"},"nodeType":"YulExpressionStatement","src":"10002:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10067:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:181"},"nodeType":"YulFunctionCall","src":"10052:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10076:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"10084:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10072:3:181"},"nodeType":"YulFunctionCall","src":"10072:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:181"},"nodeType":"YulFunctionCall","src":"10045:43:181"},"nodeType":"YulExpressionStatement","src":"10045:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10108:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10119:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10104:3:181"},"nodeType":"YulFunctionCall","src":"10104:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"10124:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10097:6:181"},"nodeType":"YulFunctionCall","src":"10097:34:181"},"nodeType":"YulExpressionStatement","src":"10097:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10151:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10162:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10147:3:181"},"nodeType":"YulFunctionCall","src":"10147:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10167:3:181","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10140:6:181"},"nodeType":"YulFunctionCall","src":"10140:31:181"},"nodeType":"YulExpressionStatement","src":"10140:31:181"},{"nodeType":"YulAssignment","src":"10180:54:181","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"10206:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10218:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10229:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10214:3:181"},"nodeType":"YulFunctionCall","src":"10214:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10188:17:181"},"nodeType":"YulFunctionCall","src":"10188:46:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10180:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9899:9:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9910:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9918:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9926:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9934:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9945:4:181","type":""}],"src":"9751:489:181"},{"body":{"nodeType":"YulBlock","src":"10325:169:181","statements":[{"body":{"nodeType":"YulBlock","src":"10371:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10380:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10383:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10373:6:181"},"nodeType":"YulFunctionCall","src":"10373:12:181"},"nodeType":"YulExpressionStatement","src":"10373:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10346:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"10355:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10342:3:181"},"nodeType":"YulFunctionCall","src":"10342:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"10367:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10338:3:181"},"nodeType":"YulFunctionCall","src":"10338:32:181"},"nodeType":"YulIf","src":"10335:52:181"},{"nodeType":"YulVariableDeclaration","src":"10396:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10415:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10409:5:181"},"nodeType":"YulFunctionCall","src":"10409:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10400:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10458:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"10434:23:181"},"nodeType":"YulFunctionCall","src":"10434:30:181"},"nodeType":"YulExpressionStatement","src":"10434:30:181"},{"nodeType":"YulAssignment","src":"10473:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"10483:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10473:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10291:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10302:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10314:6:181","type":""}],"src":"10245:249:181"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := 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 copy_memory_to_memory(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 if gt(i, length) { 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(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, 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_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_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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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 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_addresst_bool(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(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\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_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__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), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\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 if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610d2c565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610da1565b61012461011f366004610db4565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610de9565b610333565b005b61014f61015f366004610e13565b61044e565b61014f610172366004610e13565b61047f565b610124610185366004610db4565b61049a565b61019d610198366004610e4f565b6104fa565b6040519081526020016100f3565b610104610580565b61014f6101c1366004610e6a565b61058f565b61014f6101d4366004610ebc565b61059e565b6101046101e7366004610db4565b6105d6565b6100e76101fa366004610f98565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610fcb565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610fcb565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b60006103178261064a565b506000908152600460205260409020546001600160a01b031690565b600061033e8261049a565b9050806001600160a01b0316836001600160a01b031614156103b15760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cd57506103cd81336101fa565b61043f5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a8565b61044983836106ac565b505050565b610458338261071a565b6104745760405162461bcd60e51b81526004016103a890611006565b610449838383610799565b6104498383836040518060200160405280600081525061059e565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a8565b60006001600160a01b0382166105645760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a8565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610fcb565b61059a33838361090a565b5050565b6105a8338361071a565b6105c45760405162461bcd60e51b81526004016103a890611006565b6105d0848484846109d9565b50505050565b60606105e18261064a565b60006105f860408051602081019091526000815290565b905060008151116106185760405180602001604052806000815250610643565b8061062284610a0c565b604051602001610633929190611053565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a8565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e18261049a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806107268361049a565b9050806001600160a01b0316846001600160a01b0316148061076d57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107915750836001600160a01b03166107868461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ac8261049a565b6001600160a01b0316146107d25760405162461bcd60e51b81526004016103a890611082565b6001600160a01b0382166108345760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a8565b6108418383836001610aa9565b826001600160a01b03166108548261049a565b6001600160a01b03161461087a5760405162461bcd60e51b81526004016103a890611082565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b0316141561096c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a8565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109e4848484610799565b6109f084848484610b31565b6105d05760405162461bcd60e51b81526004016103a8906110c7565b60606000610a1983610c3e565b600101905060008167ffffffffffffffff811115610a3957610a39610ea6565b6040519080825280601f01601f191660200182016040528015610a63576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a9c57610aa1565b610a6d565b509392505050565b60018111156105d0576001600160a01b03841615610aef576001600160a01b03841660009081526003602052604081208054839290610ae990849061112f565b90915550505b6001600160a01b038316156105d0576001600160a01b03831660009081526003602052604081208054839290610b26908490611146565b909155505050505050565b60006001600160a01b0384163b15610c3357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610b7590339089908890889060040161115e565b602060405180830381600087803b158015610b8f57600080fd5b505af1925050508015610bbf575060408051601f3d908101601f19168201909252610bbc9181019061119b565b60015b610c19573d808015610bed576040519150601f19603f3d011682016040523d82523d6000602084013e610bf2565b606091505b508051610c115760405162461bcd60e51b81526004016103a8906110c7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610791565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610c7d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610ca9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610cc757662386f26fc10000830492506010015b6305f5e1008310610cdf576305f5e100830492506008015b6127108310610cf357612710830492506004015b60648310610d05576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a957600080fd5b600060208284031215610d3e57600080fd5b813561064381610d16565b60005b83811015610d64578181015183820152602001610d4c565b838111156105d05750506000910152565b60008151808452610d8d816020860160208601610d49565b601f01601f19169290920160200192915050565b6020815260006106436020830184610d75565b600060208284031215610dc657600080fd5b5035919050565b80356001600160a01b0381168114610de457600080fd5b919050565b60008060408385031215610dfc57600080fd5b610e0583610dcd565b946020939093013593505050565b600080600060608486031215610e2857600080fd5b610e3184610dcd565b9250610e3f60208501610dcd565b9150604084013590509250925092565b600060208284031215610e6157600080fd5b61064382610dcd565b60008060408385031215610e7d57600080fd5b610e8683610dcd565b915060208301358015158114610e9b57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610ed257600080fd5b610edb85610dcd565b9350610ee960208601610dcd565b925060408501359150606085013567ffffffffffffffff80821115610f0d57600080fd5b818701915087601f830112610f2157600080fd5b813581811115610f3357610f33610ea6565b604051601f8201601f19908116603f01168101908382118183101715610f5b57610f5b610ea6565b816040528281528a6020848701011115610f7457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610fab57600080fd5b610fb483610dcd565b9150610fc260208401610dcd565b90509250929050565b600181811c90821680610fdf57607f821691505b6020821081141561100057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351611065818460208801610d49565b835190830190611079818360208801610d49565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561114157611141611119565b500390565b6000821982111561115957611159611119565b500190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061119190830184610d75565b9695505050505050565b6000602082840312156111ad57600080fd5b815161064381610d1656fea26469706673582212200482895b097a3e824c2d58c2eb51fec208e4fb5448237591f07d137bb008c11d64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xDA1 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xDE9 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x44E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xE13 JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x49A JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xE4F JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x580 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xE6A JUMP JUMPDEST PUSH2 0x58F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xEBC JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x5D6 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xF98 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xFCB 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 0x2B5 SWAP1 PUSH2 0xFCB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 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 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x64A JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CD JUMPI POP PUSH2 0x3CD DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 PUSH2 0x6AC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x458 CALLER DUP3 PUSH2 0x71A JUMP JUMPDEST PUSH2 0x474 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1006 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 DUP4 PUSH2 0x799 JUMP JUMPDEST PUSH2 0x449 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59E JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x564 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xFCB JUMP JUMPDEST PUSH2 0x59A CALLER DUP4 DUP4 PUSH2 0x90A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A8 CALLER DUP4 PUSH2 0x71A JUMP JUMPDEST PUSH2 0x5C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1006 JUMP JUMPDEST PUSH2 0x5D0 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9D9 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E1 DUP3 PUSH2 0x64A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F8 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x618 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x643 JUMP JUMPDEST DUP1 PUSH2 0x622 DUP5 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x633 SWAP3 SWAP2 SWAP1 PUSH2 0x1053 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A9 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E1 DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x726 DUP4 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x791 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x786 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AC DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x834 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x841 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xAA9 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x854 DUP3 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x87A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x96C 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 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9E4 DUP5 DUP5 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH2 0x9F0 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB31 JUMP JUMPDEST PUSH2 0x5D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x10C7 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA19 DUP4 PUSH2 0xC3E JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA39 JUMPI PUSH2 0xA39 PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA63 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA9C JUMPI PUSH2 0xAA1 JUMP JUMPDEST PUSH2 0xA6D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0xAEF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAE9 SWAP1 DUP5 SWAP1 PUSH2 0x112F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xB26 SWAP1 DUP5 SWAP1 PUSH2 0x1146 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC33 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xB75 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x115E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBBF JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBBC SWAP2 DUP2 ADD SWAP1 PUSH2 0x119B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC19 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xBED 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 0xBF2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH2 0xC11 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A8 SWAP1 PUSH2 0x10C7 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x791 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xC7D JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xCA9 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xCC7 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xCDF JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xCF3 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xD05 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x643 DUP2 PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD64 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD4C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD8D DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xD49 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x643 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD75 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xDE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE05 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE31 DUP5 PUSH2 0xDCD JUMP JUMPDEST SWAP3 POP PUSH2 0xE3F PUSH1 0x20 DUP6 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x643 DUP3 PUSH2 0xDCD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE86 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE9B 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEDB DUP6 PUSH2 0xDCD JUMP JUMPDEST SWAP4 POP PUSH2 0xEE9 PUSH1 0x20 DUP7 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xF0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xF33 JUMPI PUSH2 0xF33 PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xF5B JUMPI PUSH2 0xF5B PUSH2 0xEA6 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xF74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFB4 DUP4 PUSH2 0xDCD JUMP JUMPDEST SWAP2 POP PUSH2 0xFC2 PUSH1 0x20 DUP5 ADD PUSH2 0xDCD JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xFDF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1000 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1065 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xD49 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1079 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xD49 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1141 JUMPI PUSH2 0x1141 PUSH2 0x1119 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1159 JUMPI PUSH2 0x1159 PUSH2 0x1119 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1191 SWAP1 DUP4 ADD DUP5 PUSH2 0xD75 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x643 DUP2 PUSH2 0xD16 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV DUP3 DUP10 JUMPDEST MULMOD PUSH27 0x3E824C2D58C2EB51FEC208E4FB5448237591F07D137BB008C11D64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"628:16327:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:181;;558:22;540:41;;528:2;513:18;1570:300:113;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:181;;;1674:51;;1662:2;1647:18;3935:167:113;1528:203:181;3468:406:113;;;;;;:::i;:::-;;:::i;:::-;;4612:326;;;;;;:::i;:::-;;:::i;5004:179::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2843:25:181;;;2831:2;2816:18;1929:204:113;2697:177:181;2633:102:113;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5249:314::-;;;;;;:::i;:::-;;:::i;2801:276::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:113;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:113;;-1:-1:-1;;;1707:40:113;;:104;;-1:-1:-1;;;;;;;1763:48:113;;-1:-1:-1;;;1763:48:113;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:153;;;1827:36:113;1688:175;1570:300;-1:-1:-1;;1570:300:113:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:113;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:113;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:113;:2;-1:-1:-1;;;;;3605:11:113;;;3597:57;;;;-1:-1:-1;;;3597:57:113;;5358:2:181;3597:57:113;;;5340:21:181;5397:2;5377:18;;;5370:30;5436:34;5416:18;;;5409:62;-1:-1:-1;;;5487:18:181;;;5480:31;5528:19;;3597:57:113;;;;;;;;;719:10:138;-1:-1:-1;;;;;3686:21:113;;;;:62;;-1:-1:-1;3711:37:113;3728:5;719:10:138;4388:162:113;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:113;;5760:2:181;3665:170:113;;;5742:21:181;5799:2;5779:18;;;5772:30;5838:34;5818:18;;;5811:62;5909:31;5889:18;;;5882:59;5958:19;;3665:170:113;5558:425:181;3665:170:113;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:326::-;4801:41;719:10:138;4834:7:113;4801:18;:41::i;:::-;4793:99;;;;-1:-1:-1;;;4793:99:113;;;;;;;:::i;:::-;4903:28;4913:4;4919:2;4923:7;4903:9;:28::i;5004:179::-;5137:39;5154:4;5160:2;5164:7;5137:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;;2324:56;;;;-1:-1:-1;;;2324:56:113;;6604:2:181;2324:56:113;;;6586:21:181;6643:2;6623:18;;;6616:30;-1:-1:-1;;;6662:18:181;;;6655:54;6726:18;;2324:56:113;6402:348:181;1929:204:113;2001:7;-1:-1:-1;;;;;2028:19:113;;2020:73;;;;-1:-1:-1;;;2020:73:113;;6957:2:181;2020:73:113;;;6939:21:181;6996:2;6976:18;;;6969:30;7035:34;7015:18;;;7008:62;-1:-1:-1;;;7086:18:181;;;7079:39;7135:19;;2020:73:113;6755:405:181;2020:73:113;-1:-1:-1;;;;;;2110:16:113;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:138;4296:8:113;4306;4263:18;:52::i;:::-;4169:153;;:::o;5249:314::-;5417:41;719:10:138;5450:7:113;5417:18;:41::i;:::-;5409:99;;;;-1:-1:-1;;;5409:99:113;;;;;;;:::i;:::-;5518:38;5532:4;5538:2;5542:7;5551:4;5518:13;:38::i;:::-;5249:314;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:113;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:113:o;13466:133::-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;13539:53;;;;-1:-1:-1;;;13539:53:113;;6604:2:181;13539:53:113;;;6586:21:181;6643:2;6623:18;;;6616:30;-1:-1:-1;;;6662:18:181;;;6655:54;6726:18;;13539:53:113;6402:348:181;13539:53:113;13466:133;:::o;12768:171::-;12842:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12842:29:113;-1:-1:-1;;;;;12842:29:113;;;;;;;;:24;;12895:23;12842:24;12895:14;:23::i;:::-;-1:-1:-1;;;;;12886:46:113;;;;;;;;;;;12768:171;;:::o;7540:261::-;7633:4;7649:13;7665:23;7680:7;7665:14;:23::i;:::-;7649:39;;7717:5;-1:-1:-1;;;;;7706:16:113;:7;-1:-1:-1;;;;;7706:16:113;;:52;;;-1:-1:-1;;;;;;4508:25:113;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7726:32;7706:87;;;;7786:7;-1:-1:-1;;;;;7762:31:113;:20;7774:7;7762:11;:20::i;:::-;-1:-1:-1;;;;;7762:31:113;;7706:87;7698:96;7540:261;-1:-1:-1;;;;7540:261:113:o;11423:1233::-;11577:4;-1:-1:-1;;;;;11550:31:113;:23;11565:7;11550:14;:23::i;:::-;-1:-1:-1;;;;;11550:31:113;;11542:81;;;;-1:-1:-1;;;11542:81:113;;;;;;;:::i;:::-;-1:-1:-1;;;;;11641:16:113;;11633:65;;;;-1:-1:-1;;;11633:65:113;;8248:2:181;11633:65:113;;;8230:21:181;8287:2;8267:18;;;8260:30;8326:34;8306:18;;;8299:62;-1:-1:-1;;;8377:18:181;;;8370:34;8421:19;;11633:65:113;8046:400:181;11633:65:113;11709:42;11730:4;11736:2;11740:7;11749:1;11709:20;:42::i;:::-;11878:4;-1:-1:-1;;;;;11851:31:113;:23;11866:7;11851:14;:23::i;:::-;-1:-1:-1;;;;;11851:31:113;;11843:81;;;;-1:-1:-1;;;11843:81:113;;;;;;;:::i;:::-;11993:24;;;;:15;:24;;;;;;;;11986:31;;-1:-1:-1;;;;;;11986:31:113;;;;;;-1:-1:-1;;;;;12461:15:113;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12461:20:113;;;12495:13;;;;;;;;;:18;;11986:31;12495:18;;;12533:16;;;:7;:16;;;;;;:21;;;;;;;;;;12570:27;;12009:7;;12570:27;;;3538:336;3468:406;;:::o;13075:307::-;13225:8;-1:-1:-1;;;;;13216:17:113;:5;-1:-1:-1;;;;;13216:17:113;;;13208:55;;;;-1:-1:-1;;;13208:55:113;;8653:2:181;13208:55:113;;;8635:21:181;8692:2;8672:18;;;8665:30;8731:27;8711:18;;;8704:55;8776:18;;13208:55:113;8451:349:181;13208:55:113;-1:-1:-1;;;;;13273:25:113;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13273:46:113;;;;;;;;;;13334:41;;540::181;;;13334::113;;513:18:181;13334:41:113;;;;;;;13075:307;;;:::o;6424:305::-;6574:28;6584:4;6590:2;6594:7;6574:9;:28::i;:::-;6620:47;6643:4;6649:2;6653:7;6662:4;6620:22;:47::i;:::-;6612:110;;;;-1:-1:-1;;;6612:110:113;;;;;;;:::i;415:696:143:-;471:13;520:14;537:17;548:5;537:10;:17::i;:::-;557:1;537:21;520:38;;572:20;606:6;595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;595:18:143;-1:-1:-1;572:41:143;-1:-1:-1;733:28:143;;;749:2;733:28;788:280;-1:-1:-1;;819:5:143;-1:-1:-1;;;953:2:143;942:14;;937:30;819:5;924:44;1012:2;1003:11;;;-1:-1:-1;1036:10:143;1032:21;;1048:5;;1032:21;788:280;;;-1:-1:-1;1088:6:143;415:696;-1:-1:-1;;;415:696:143:o;15698:396:113:-;15882:1;15870:9;:13;15866:222;;;-1:-1:-1;;;;;15903:18:113;;;15899:85;;-1:-1:-1;;;;;15941:15:113;;;;;;:9;:15;;;;;:28;;15960:9;;15941:15;:28;;15960:9;;15941:28;:::i;:::-;;;;-1:-1:-1;;15899:85:113;-1:-1:-1;;;;;16001:16:113;;;15997:81;;-1:-1:-1;;;;;16037:13:113;;;;;;:9;:13;;;;;:26;;16054:9;;16037:13;:26;;16054:9;;16037:26;:::i;:::-;;;;-1:-1:-1;;15698:396:113;;;;:::o;14151:831::-;14300:4;-1:-1:-1;;;;;14320:13:113;;1465:19:134;:23;14316:660:113;;14355:71;;-1:-1:-1;;;14355:71:113;;-1:-1:-1;;;;;14355:36:113;;;;;:71;;719:10:138;;14406:4:113;;14412:7;;14421:4;;14355:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14355:71:113;;;;;;;;-1:-1:-1;;14355:71:113;;;;;;;;;;;;:::i;:::-;;;14351:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14593:13:113;;14589:321;;14635:60;;-1:-1:-1;;;14635:60:113;;;;;;;:::i;14589:321::-;14862:6;14856:13;14847:6;14843:2;14839:15;14832:38;14351:573;-1:-1:-1;;;;;;14476:51:113;-1:-1:-1;;;14476:51:113;;-1:-1:-1;14469:58:113;;14316:660;-1:-1:-1;14961:4:113;14151:831;;;;;;:::o;9889:890:160:-;9942:7;;-1:-1:-1;;;10017:15:160;;10013:99;;-1:-1:-1;;;10052:15:160;;;-1:-1:-1;10095:2:160;10085:12;10013:99;10138:6;10129:5;:15;10125:99;;10173:6;10164:15;;;-1:-1:-1;10207:2:160;10197:12;10125:99;10250:6;10241:5;:15;10237:99;;10285:6;10276:15;;;-1:-1:-1;10319:2:160;10309:12;10237:99;10362:5;10353;:14;10349:96;;10396:5;10387:14;;;-1:-1:-1;10429:1:160;10419:11;10349:96;10471:5;10462;:14;10458:96;;10505:5;10496:14;;;-1:-1:-1;10538:1:160;10528:11;10458:96;10580:5;10571;:14;10567:96;;10614:5;10605:14;;;-1:-1:-1;10647:1:160;10637:11;10567:96;10689:5;10680;:14;10676:64;;10724:1;10714:11;10766:6;9889:890;-1:-1:-1;;9889:890:160:o;14:131:181:-;-1:-1:-1;;;;;;88:32:181;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:181;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:181;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:181:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:181;;1343:180;-1:-1:-1;1343:180:181:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:181;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:181:o;2173:328::-;2250:6;2258;2266;2319:2;2307:9;2298:7;2294:23;2290:32;2287:52;;;2335:1;2332;2325:12;2287:52;2358:29;2377:9;2358:29;:::i;:::-;2348:39;;2406:38;2440:2;2429:9;2425:18;2406:38;:::i;:::-;2396:48;;2491:2;2480:9;2476:18;2463:32;2453:42;;2173:328;;;;;:::o;2506:186::-;2565:6;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;2657:29;2676:9;2657:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:1138;3458:6;3466;3474;3482;3535:3;3523:9;3514:7;3510:23;3506:33;3503:53;;;3552:1;3549;3542:12;3503:53;3575:29;3594:9;3575:29;:::i;:::-;3565:39;;3623:38;3657:2;3646:9;3642:18;3623:38;:::i;:::-;3613:48;;3708:2;3697:9;3693:18;3680:32;3670:42;;3763:2;3752:9;3748:18;3735:32;3786:18;3827:2;3819:6;3816:14;3813:34;;;3843:1;3840;3833:12;3813:34;3881:6;3870:9;3866:22;3856:32;;3926:7;3919:4;3915:2;3911:13;3907:27;3897:55;;3948:1;3945;3938:12;3897:55;3984:2;3971:16;4006:2;4002;3999:10;3996:36;;;4012:18;;:::i;:::-;4087:2;4081:9;4055:2;4141:13;;-1:-1:-1;;4137:22:181;;;4161:2;4133:31;4129:40;4117:53;;;4185:18;;;4205:22;;;4182:46;4179:72;;;4231:18;;:::i;:::-;4271:10;4267:2;4260:22;4306:2;4298:6;4291:18;4346:7;4341:2;4336;4332;4328:11;4324:20;4321:33;4318:53;;;4367:1;4364;4357:12;4318:53;4423:2;4418;4414;4410:11;4405:2;4397:6;4393:15;4380:46;4468:1;4463:2;4458;4450:6;4446:15;4442:24;4435:35;4489:6;4479:16;;;;;;;3363:1138;;;;;;;:::o;4506:260::-;4574:6;4582;4635:2;4623:9;4614:7;4610:23;4606:32;4603:52;;;4651:1;4648;4641:12;4603:52;4674:29;4693:9;4674:29;:::i;:::-;4664:39;;4722:38;4756:2;4745:9;4741:18;4722:38;:::i;:::-;4712:48;;4506:260;;;;;:::o;4771:380::-;4850:1;4846:12;;;;4893;;;4914:61;;4968:4;4960:6;4956:17;4946:27;;4914:61;5021:2;5013:6;5010:14;4990:18;4987:38;4984:161;;;5067:10;5062:3;5058:20;5055:1;5048:31;5102:4;5099:1;5092:15;5130:4;5127:1;5120:15;4984:161;;4771:380;;;:::o;5988:409::-;6190:2;6172:21;;;6229:2;6209:18;;;6202:30;6268:34;6263:2;6248:18;;6241:62;-1:-1:-1;;;6334:2:181;6319:18;;6312:43;6387:3;6372:19;;5988:409::o;7165:470::-;7344:3;7382:6;7376:13;7398:53;7444:6;7439:3;7432:4;7424:6;7420:17;7398:53;:::i;:::-;7514:13;;7473:16;;;;7536:57;7514:13;7473:16;7570:4;7558:17;;7536:57;:::i;:::-;7609:20;;7165:470;-1:-1:-1;;;;7165:470:181:o;7640:401::-;7842:2;7824:21;;;7881:2;7861:18;;;7854:30;7920:34;7915:2;7900:18;;7893:62;-1:-1:-1;;;7986:2:181;7971:18;;7964:35;8031:3;8016:19;;7640:401::o;8805:414::-;9007:2;8989:21;;;9046:2;9026:18;;;9019:30;9085:34;9080:2;9065:18;;9058:62;-1:-1:-1;;;9151:2:181;9136:18;;9129:48;9209:3;9194:19;;8805:414::o;9356:127::-;9417:10;9412:3;9408:20;9405:1;9398:31;9448:4;9445:1;9438:15;9472:4;9469:1;9462:15;9488:125;9528:4;9556:1;9553;9550:8;9547:34;;;9561:18;;:::i;:::-;-1:-1:-1;9598:9:181;;9488:125::o;9618:128::-;9658:3;9689:1;9685:6;9682:1;9679:13;9676:39;;;9695:18;;:::i;:::-;-1:-1:-1;9731:9:181;;9618:128::o;9751:489::-;-1:-1:-1;;;;;10020:15:181;;;10002:34;;10072:15;;10067:2;10052:18;;10045:43;10119:2;10104:18;;10097:34;;;10167:3;10162:2;10147:18;;10140:31;;;9945:4;;10188:46;;10214:19;;10206:6;10188:46;:::i;:::-;10180:54;9751:489;-1:-1:-1;;;;;;9751:489:181:o;10245:249::-;10314:6;10367:2;10355:9;10346:7;10342:23;10338:32;10335:52;;;10383:1;10380;10373:12;10335:52;10415:9;10409:16;10434:30;10458:5;10434:30;:::i"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"IERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"IERC721Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ERC721Burnable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 Token that can be burned (destroyed).\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Burnable Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":\"ERC721Burnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol":{"ERC721Consecutive":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC2309 \\\"Consecutive Transfer Extension\\\" as defined in https://eips.ethereum.org/EIPS/eip-2309[EIP-2309]. This extension allows the minting of large batches of tokens, during contract construction only. For upgradeable contracts this implies that batch minting is only available during proxy deployment, and not in subsequent upgrades. These batches are limited to 5000 tokens at a time by default to accommodate off-chain indexers. Using this extension removes the ability to mint single tokens during contract construction. This ability is regained after construction. During construction, only batch minting is allowed. IMPORTANT: This extension bypasses the hooks {_beforeTokenTransfer} and {_afterTokenTransfer} for tokens minted in batch. When using this extension, you should consider the {_beforeConsecutiveTokenTransfer} and {_afterConsecutiveTokenTransfer} hooks in addition to {_beforeTokenTransfer} and {_afterTokenTransfer}. IMPORTANT: When overriding {_afterTokenTransfer}, be careful about call ordering. {ownerOf} may return invalid values during the {_afterTokenTransfer} execution if the super call is not called first. To be safe, execute the super call before your custom logic. _Available since v4.8._\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol\":\"ERC721Consecutive\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2309.sol\":{\"keccak256\":\"0x769b8c97e7ceca35514f85dcf77ea7e9da1c9a3b3b9c119dda811cd8394aa601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://113df79cc1cae24c055be91b41febfa2dbb28089c969547f7ca3ca5d23d308f6\",\"dweb:/ipfs/QmTwrtF69W9G3t9VbUjF6P1m6jNW4dh6y3kE5vQqUdsSnr\"]},\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol\":{\"keccak256\":\"0xd8c0b1351e248a91b25576d8f0ee29a252e0a439b6421cbdb503baaba62af5d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f37230532160ba1f65da58e8865c91d211701c20c8fa270392b9189360a7dc\",\"dweb:/ipfs/QmQJSzyLE4cVGEYmSmwVUCQEGZsgvd8ecmBfuZyq2Du9za\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x676d65383d5311b6c1fe9c6b580a32abd0a5582d1d5d2b67f388153578a9bbc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520ee8207d98ba4aae20941a8d48673e60c89b8aaf4e91eb99c6d7fc2d57ce2e\",\"dweb:/ipfs/QmTCZisUyrBMkVMDY7nQ8jCaV87yZhsQ5dG7QNbbD6ViJe\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0xbe43faa7ef7ac3c588d91a2f457fb90f4dc0cf9972b0eb8d9bdfa7d136f25df5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea4732350035680324e30e0e3ab8af2452cc63ef7ab790a8eb36f6acbbda9f6\",\"dweb:/ipfs/QmV1DfVg96UJJ5pk92wUBzdyosqTryxvZkq3uTJ2CztTVZ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol":{"ERC721Enumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This implements an optional extension of {ERC721} defined in the EIP that adds enumerability of all the token ids in the contract as well as all token ids owned by each account.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":\"ERC721Enumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol":{"ERC721Pausable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","paused()":"5c975abb","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 token with pausable token transfers, minting and burning. Useful for scenarios such as preventing trades until the end of an evaluation period, or having an emergency switch for freezing all token transfers in the event of a large bug.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol\":\"ERC721Pausable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol\":{\"keccak256\":\"0xf074cfca02ad2251eb52f6798ddfce396fa4964eb80821928b32a4908599d621\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b101524b4c229ce75ca7668e497c649d49005585497b17a1a89bd6cadb13851\",\"dweb:/ipfs/QmUbcv92jUrfDCHasmFUAShYdWVzhCEgxH2neXPmqAnygK\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol":{"ERC721Royalty":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC721 with the ERC2981 NFT Royalty Standard, a standardized way to retrieve royalty payment information. Royalty information can be specified globally for all token ids via {ERC2981-_setDefaultRoyalty}, and/or individually for specific token ids via {ERC2981-_setTokenRoyalty}. The latter takes precedence over the first. IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to voluntarily pay royalties together with sales, but note that this standard is not yet widely supported. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"royaltyInfo(uint256,uint256)\":{\"details\":\"Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of exchange. The royalty amount is denominated and should be paid in that same unit of exchange.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol\":\"ERC721Royalty\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0xa812eed728198acd2c30d06950a5bea8d68436e4f694dd892273266ec2f79f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5522afc5c222c810d9ad67c45f37cb7169452fcf76692cad10ac8153c068daa\",\"dweb:/ipfs/QmX4XgnDp7pyvojQ6g5tacrUMCf7TED2qC2vERH9Xh9feZ\"]},\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol\":{\"keccak256\":\"0x93d24eea4e6ddbed53ef161567ae62bfd0c3aebb7b48f37e4dbeb7a937108866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2ed35e16e296fcc3d2311d584e5006ddc188d7d76198e8e750193750b65f9c4\",\"dweb:/ipfs/QmYzLcEgZ4TSBJNPBxhq9BdLQC89w3zyWH88rw3DBy4MxY\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/token/common/ERC2981.sol\":{\"keccak256\":\"0x9bc4d7eb03c4e87fd5122e03cdff5f60fa360d76925980ad022b2c6fac9876f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c6d7cfaac6b54599068126b75474c86ccbbaf386c3581abf82d9cda21b35c81\",\"dweb:/ipfs/QmPZteoCvkiUgv4TZxv2wiEKR5KqM83UCohHnSGw1RytpM\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ERC721URIStorage":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 token with storage based token URI management.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":\"ERC721URIStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x5c3501c1b70fcfc64417e9da5cc6a3597191baa354781e508e1e14cc0e50a038\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://899c87a849a94c848818d0afede6961d2c87665af1dd23a5c983e78981a65691\",\"dweb:/ipfs/QmUeFDffQRDmX87FX3MRxN3bmpUxDTWpWLwPJzeAJ3yF6H\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"ERC721Votes":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getApproved(uint256)":"081812fc","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","nonces(address)":"7ecebe00","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC721 to support voting and delegation as implemented by {Votes}, where each individual NFT counts as 1 vote unit. Tokens do not count as votes until they are delegated, because votes must be tracked which incurs an additional cost on every transfer. Token holders can either delegate to a trusted representative who will decide how to make use of the votes in governance decisions, or they can delegate to themselves to be their own representative. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":\"ERC721Votes\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"contracts/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0xbf868a3a3cd497eb5896303474d25b9b5fe487ba30391db0a3e5b950573498d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://463a8a3be23b60a30f621c275c3195740501dc69a202b8364b383b5dc5470f0d\",\"dweb:/ipfs/Qma8bNQEtBeoG1N2tqiPN6dYPbp3S4WGN6eBXAopjYEPjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0x19cf96045e935b99fe8fc15018af1d74203ad6ae1b301b950da4e90ddec05f50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6233da69d82699c102aa28e6f63ff2935655918ce8f44ae555185be73a1a3fbd\",\"dweb:/ipfs/QmPc2QL2xWY3UsbmAKV3KWREXU4omp3dodW6hSpzdMiqFC\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x676d65383d5311b6c1fe9c6b580a32abd0a5582d1d5d2b67f388153578a9bbc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520ee8207d98ba4aae20941a8d48673e60c89b8aaf4e91eb99c6d7fc2d57ce2e\",\"dweb:/ipfs/QmTCZisUyrBMkVMDY7nQ8jCaV87yZhsQ5dG7QNbbD6ViJe\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"IERC721Enumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"IERC721Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol":{"ERC721PresetMinterPauserAutoId":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"baseTokenURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_10561":{"entryPoint":null,"id":10561,"parameterSlots":0,"returnSlots":0},"@_16593":{"entryPoint":null,"id":16593,"parameterSlots":2,"returnSlots":0},"@_18689":{"entryPoint":null,"id":18689,"parameterSlots":3,"returnSlots":0},"@_add_29338":{"entryPoint":519,"id":29338,"parameterSlots":2,"returnSlots":1},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_grantRole_1182":{"entryPoint":260,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":327,"id":995,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_setupRole_935":{"entryPoint":244,"id":935,"parameterSlots":2,"returnSlots":0},"@add_29638":{"entryPoint":487,"id":29638,"parameterSlots":2,"returnSlots":1},"@hasRole_791":{"entryPoint":null,"id":791,"parameterSlots":2,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":789,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":972,"id":null,"parameterSlots":2,"returnSlots":3},"extract_byte_array_length":{"entryPoint":1117,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x41":{"entryPoint":767,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2189:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"210:821:181","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:181"},"nodeType":"YulFunctionCall","src":"261:12:181"},"nodeType":"YulExpressionStatement","src":"261:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:181"},"nodeType":"YulFunctionCall","src":"234:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:181"},"nodeType":"YulFunctionCall","src":"230:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:181"},"nodeType":"YulFunctionCall","src":"223:35:181"},"nodeType":"YulIf","src":"220:55:181"},{"nodeType":"YulVariableDeclaration","src":"284:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:181"},"nodeType":"YulFunctionCall","src":"294:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:181"},"nodeType":"YulFunctionCall","src":"330:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:181"},"nodeType":"YulFunctionCall","src":"326:18:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:181"},"nodeType":"YulFunctionCall","src":"369:18:181"},"nodeType":"YulExpressionStatement","src":"369:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:181"},"nodeType":"YulFunctionCall","src":"356:10:181"},"nodeType":"YulIf","src":"353:36:181"},{"nodeType":"YulVariableDeclaration","src":"398:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:181"},"nodeType":"YulFunctionCall","src":"438:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:181"},"nodeType":"YulFunctionCall","src":"498:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:181"},"nodeType":"YulFunctionCall","src":"494:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:181"},"nodeType":"YulFunctionCall","src":"490:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:181"},"nodeType":"YulFunctionCall","src":"486:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:181"},"nodeType":"YulFunctionCall","src":"474:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:181"},"nodeType":"YulFunctionCall","src":"588:18:181"},"nodeType":"YulExpressionStatement","src":"588:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:181"},"nodeType":"YulFunctionCall","src":"542:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:181"},"nodeType":"YulFunctionCall","src":"562:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:181"},"nodeType":"YulFunctionCall","src":"539:46:181"},"nodeType":"YulIf","src":"536:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:181"},"nodeType":"YulFunctionCall","src":"617:22:181"},"nodeType":"YulExpressionStatement","src":"617:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},"nodeType":"YulExpressionStatement","src":"648:18:181"},{"nodeType":"YulVariableDeclaration","src":"675:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:181","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:181"},"nodeType":"YulFunctionCall","src":"737:12:181"},"nodeType":"YulExpressionStatement","src":"737:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:181"},"nodeType":"YulFunctionCall","src":"708:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:181"},"nodeType":"YulFunctionCall","src":"704:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:181"},"nodeType":"YulFunctionCall","src":"701:33:181"},"nodeType":"YulIf","src":"698:53:181"},{"nodeType":"YulVariableDeclaration","src":"760:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:181"},"nodeType":"YulFunctionCall","src":"850:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:181"},"nodeType":"YulFunctionCall","src":"881:14:181"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:181"},"nodeType":"YulFunctionCall","src":"877:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:181"},"nodeType":"YulFunctionCall","src":"871:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:181"},"nodeType":"YulFunctionCall","src":"839:63:181"},"nodeType":"YulExpressionStatement","src":"839:63:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:181"},"nodeType":"YulFunctionCall","src":"787:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:181","statements":[{"nodeType":"YulAssignment","src":"799:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:181"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:181"},"nodeType":"YulFunctionCall","src":"804:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:181","statements":[]},"src":"779:133:181"},{"body":{"nodeType":"YulBlock","src":"942:59:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"971:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"979:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:181"},"nodeType":"YulFunctionCall","src":"967:15:181"},{"name":"_4","nodeType":"YulIdentifier","src":"984:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:181"},"nodeType":"YulFunctionCall","src":"963:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"989:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:181"},"nodeType":"YulFunctionCall","src":"956:35:181"},"nodeType":"YulExpressionStatement","src":"956:35:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"927:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"930:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"924:2:181"},"nodeType":"YulFunctionCall","src":"924:9:181"},"nodeType":"YulIf","src":"921:80:181"},{"nodeType":"YulAssignment","src":"1010:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1019:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1010:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:181","type":""}],"src":"146:885:181"},{"body":{"nodeType":"YulBlock","src":"1181:621:181","statements":[{"body":{"nodeType":"YulBlock","src":"1227:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1236:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1239:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1229:6:181"},"nodeType":"YulFunctionCall","src":"1229:12:181"},"nodeType":"YulExpressionStatement","src":"1229:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1202:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1211:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1198:3:181"},"nodeType":"YulFunctionCall","src":"1198:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1223:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1194:3:181"},"nodeType":"YulFunctionCall","src":"1194:32:181"},"nodeType":"YulIf","src":"1191:52:181"},{"nodeType":"YulVariableDeclaration","src":"1252:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1272:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1266:5:181"},"nodeType":"YulFunctionCall","src":"1266:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1256:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1291:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1309:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1313:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1305:3:181"},"nodeType":"YulFunctionCall","src":"1305:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1317:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1301:3:181"},"nodeType":"YulFunctionCall","src":"1301:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1295:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1346:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1355:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1358:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1348:6:181"},"nodeType":"YulFunctionCall","src":"1348:12:181"},"nodeType":"YulExpressionStatement","src":"1348:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1334:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1342:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1331:2:181"},"nodeType":"YulFunctionCall","src":"1331:14:181"},"nodeType":"YulIf","src":"1328:34:181"},{"nodeType":"YulAssignment","src":"1371:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1414:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1425:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1410:3:181"},"nodeType":"YulFunctionCall","src":"1410:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1434:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1381:28:181"},"nodeType":"YulFunctionCall","src":"1381:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1371:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1451:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1477:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1488:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1473:3:181"},"nodeType":"YulFunctionCall","src":"1473:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1467:5:181"},"nodeType":"YulFunctionCall","src":"1467:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1455:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1521:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1530:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1533:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1523:6:181"},"nodeType":"YulFunctionCall","src":"1523:12:181"},"nodeType":"YulExpressionStatement","src":"1523:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1507:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1517:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1504:2:181"},"nodeType":"YulFunctionCall","src":"1504:16:181"},"nodeType":"YulIf","src":"1501:36:181"},{"nodeType":"YulAssignment","src":"1546:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1589:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1600:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1585:3:181"},"nodeType":"YulFunctionCall","src":"1585:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1611:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1556:28:181"},"nodeType":"YulFunctionCall","src":"1556:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1546:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1628:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1654:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1665:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1650:3:181"},"nodeType":"YulFunctionCall","src":"1650:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1644:5:181"},"nodeType":"YulFunctionCall","src":"1644:25:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"1632:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1698:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1707:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1710:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1700:6:181"},"nodeType":"YulFunctionCall","src":"1700:12:181"},"nodeType":"YulExpressionStatement","src":"1700:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"1684:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1694:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1681:2:181"},"nodeType":"YulFunctionCall","src":"1681:16:181"},"nodeType":"YulIf","src":"1678:36:181"},{"nodeType":"YulAssignment","src":"1723:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1766:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"1777:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1762:3:181"},"nodeType":"YulFunctionCall","src":"1762:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1788:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1733:28:181"},"nodeType":"YulFunctionCall","src":"1733:63:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1723:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1131:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1142:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1154:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1162:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1170:6:181","type":""}],"src":"1036:766:181"},{"body":{"nodeType":"YulBlock","src":"1862:325:181","statements":[{"nodeType":"YulAssignment","src":"1872:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1886:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1889:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1882:3:181"},"nodeType":"YulFunctionCall","src":"1882:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1872:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1903:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1933:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"1939:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1929:3:181"},"nodeType":"YulFunctionCall","src":"1929:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1907:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1980:31:181","statements":[{"nodeType":"YulAssignment","src":"1982:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1996:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2004:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1992:3:181"},"nodeType":"YulFunctionCall","src":"1992:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1982:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1960:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1953:6:181"},"nodeType":"YulFunctionCall","src":"1953:26:181"},"nodeType":"YulIf","src":"1950:61:181"},{"body":{"nodeType":"YulBlock","src":"2070:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2091:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2098:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2103:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2094:3:181"},"nodeType":"YulFunctionCall","src":"2094:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2084:6:181"},"nodeType":"YulFunctionCall","src":"2084:31:181"},"nodeType":"YulExpressionStatement","src":"2084:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2135:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2138:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2128:6:181"},"nodeType":"YulFunctionCall","src":"2128:15:181"},"nodeType":"YulExpressionStatement","src":"2128:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2163:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2166:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2156:6:181"},"nodeType":"YulFunctionCall","src":"2156:15:181"},"nodeType":"YulExpressionStatement","src":"2156:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2026:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2049:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2057:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2046:2:181"},"nodeType":"YulFunctionCall","src":"2046:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2023:2:181"},"nodeType":"YulFunctionCall","src":"2023:38:181"},"nodeType":"YulIf","src":"2020:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1842:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1851:6:181","type":""}],"src":"1807:380:181"}]},"contents":"{\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_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\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 let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_string_fromMemory(add(headStart, offset_2), dataEnd)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162002ab538038062002ab58339810160408190526200003491620003cc565b8251839083906200004d90600290602085019062000259565b5080516200006390600390602084019062000259565b5050600c805460ff191690555080516200008590600e90602084019062000259565b5062000093600033620000f4565b620000bf7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000f4565b620000eb7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33620000f4565b5050506200049a565b62000100828262000104565b5050565b6200011b82826200014760201b62000ced1760201c565b60008281526001602090815260409091206200014291839062000d71620001e7821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000100576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001a33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620001fe836001600160a01b03841662000207565b90505b92915050565b6000818152600183016020526040812054620002505750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000201565b50600062000201565b82805462000267906200045d565b90600052602060002090601f0160209004810192826200028b5760008555620002d6565b82601f10620002a657805160ff1916838001178555620002d6565b82800160010185558215620002d6579182015b82811115620002d6578251825591602001919060010190620002b9565b50620002e4929150620002e8565b5090565b5b80821115620002e45760008155600101620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200032757600080fd5b81516001600160401b0380821115620003445762000344620002ff565b604051601f8301601f19908116603f011681019082821181831017156200036f576200036f620002ff565b816040528381526020925086838588010111156200038c57600080fd5b600091505b83821015620003b0578582018301518183018401529082019062000391565b83821115620003c25760008385830101525b9695505050505050565b600080600060608486031215620003e257600080fd5b83516001600160401b0380821115620003fa57600080fd5b620004088783880162000315565b945060208601519150808211156200041f57600080fd5b6200042d8783880162000315565b935060408601519150808211156200044457600080fd5b50620004538682870162000315565b9150509250925092565b600181811c908216806200047257607f821691505b602082108114156200049457634e487b7160e01b600052602260045260246000fd5b50919050565b61260b80620004aa6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80636352211e1161010f578063a22cb465116100a2578063d539139311610071578063d5391393146103f7578063d547741f1461041e578063e63ab1e914610431578063e985e9c51461045857600080fd5b8063a22cb465146103ab578063b88d4fde146103be578063c87b56dd146103d1578063ca15c873146103e457600080fd5b80639010d07c116100de5780639010d07c1461037557806391d148541461038857806395d89b411461039b578063a217fddf146103a357600080fd5b80636352211e146103345780636a6278421461034757806370a082311461035a5780638456cb591461036d57600080fd5b80632f2ff15d1161018757806342842e0e1161015657806342842e0e146102f057806342966c68146103035780634f6ccce7146103165780635c975abb1461032957600080fd5b80632f2ff15d146102af5780632f745c59146102c257806336568abe146102d55780633f4ba83a146102e857600080fd5b8063095ea7b3116101c3578063095ea7b31461025257806318160ddd1461026757806323b872dd14610279578063248a9ca31461028c57600080fd5b806301ffc9a7146101ea57806306fdde0314610212578063081812fc14610227575b600080fd5b6101fd6101f836600461202d565b610494565b60405190151581526020015b60405180910390f35b61021a6104a5565b60405161020991906120a2565b61023a6102353660046120b5565b610537565b6040516001600160a01b039091168152602001610209565b6102656102603660046120ea565b61055e565b005b600a545b604051908152602001610209565b610265610287366004612114565b610679565b61026b61029a3660046120b5565b60009081526020819052604090206001015490565b6102656102bd366004612150565b6106ab565b61026b6102d03660046120ea565b6106d0565b6102656102e3366004612150565b610766565b6102656107e4565b6102656102fe366004612114565b61088c565b6102656103113660046120b5565b6108a7565b61026b6103243660046120b5565b6108d8565b600c5460ff166101fd565b61023a6103423660046120b5565b61096b565b61026561035536600461217c565b6109cb565b61026b61036836600461217c565b610a87565b610265610b0d565b61023a610383366004612197565b610bb1565b6101fd610396366004612150565b610bd0565b61021a610bf9565b61026b600081565b6102656103b93660046121b9565b610c08565b6102656103cc36600461220b565b610c13565b61021a6103df3660046120b5565b610c4b565b61026b6103f23660046120b5565b610cb1565b61026b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61026561042c366004612150565b610cc8565b61026b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101fd6104663660046122e7565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b600061049f82610d86565b92915050565b6060600280546104b490612311565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090612311565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050905090565b600061054282610dab565b506000908152600660205260409020546001600160a01b031690565b60006105698261096b565b9050806001600160a01b0316836001600160a01b031614156105dc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105f857506105f88133610466565b61066a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105d3565b6106748383610e0a565b505050565b610684335b82610e78565b6106a05760405162461bcd60e51b81526004016105d39061234c565b610674838383610ef7565b6000828152602081905260409020600101546106c681611068565b6106748383611072565b60006106db83610a87565b821061073d5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016105d3565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6001600160a01b03811633146107d65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105d3565b6107e08282611094565b5050565b61080e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610bd0565b610882576040805162461bcd60e51b81526020600482015260248101919091527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f20756e706175736560648201526084016105d3565b61088a6110b6565b565b61067483838360405180602001604052806000815250610c13565b6108b03361067e565b6108cc5760405162461bcd60e51b81526004016105d39061234c565b6108d581611108565b50565b60006108e3600a5490565b82106109465760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016105d3565b600a828154811061095957610959612399565b90600052602060002001549050919050565b6000818152600460205260408120546001600160a01b03168061049f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d3565b6109f57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610bd0565b610a675760405162461bcd60e51b815260206004820152603d60248201527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d7573742068617665206d696e74657220726f6c6520746f206d696e7400000060648201526084016105d3565b610a7981610a74600d5490565b6111ab565b6108d5600d80546001019055565b60006001600160a01b038216610af15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105d3565b506001600160a01b031660009081526005602052604090205490565b610b377f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610bd0565b610ba95760405162461bcd60e51b815260206004820152603e60248201527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f207061757365000060648201526084016105d3565b61088a611344565b6000828152600160205260408120610bc99083611381565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600380546104b490612311565b6107e033838361138d565b610c1d3383610e78565b610c395760405162461bcd60e51b81526004016105d39061234c565b610c458484848461145c565b50505050565b6060610c5682610dab565b6000610c6061148f565b90506000815111610c805760405180602001604052806000815250610bc9565b80610c8a8461149e565b604051602001610c9b9291906123af565b6040516020818303038152906040529392505050565b600081815260016020526040812061049f9061153b565b600082815260208190526040902060010154610ce381611068565b6106748383611094565b610cf78282610bd0565b6107e0576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610d2d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bc9836001600160a01b038416611545565b60006001600160e01b0319821663780e9d6360e01b148061049f575061049f82611594565b6000818152600460205260409020546001600160a01b03166108d55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d3565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e3f8261096b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610e848361096b565b9050806001600160a01b0316846001600160a01b03161480610ecb57506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b80610eef5750836001600160a01b0316610ee484610537565b6001600160a01b0316145b949350505050565b826001600160a01b0316610f0a8261096b565b6001600160a01b031614610f305760405162461bcd60e51b81526004016105d3906123de565b6001600160a01b038216610f925760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105d3565b610f9f83838360016115d4565b826001600160a01b0316610fb28261096b565b6001600160a01b031614610fd85760405162461bcd60e51b81526004016105d3906123de565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108d581336115e0565b61107c8282610ced565b60008281526001602052604090206106749082610d71565b61109e8282611639565b6000828152600160205260409020610674908261169e565b6110be6116b3565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60006111138261096b565b90506111238160008460016115d4565b61112c8261096b565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0382166112015760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105d3565b6000818152600460205260409020546001600160a01b0316156112665760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d3565b6112746000838360016115d4565b6000818152600460205260409020546001600160a01b0316156112d95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d3565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61134c6116fc565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110eb3390565b6000610bc98383611742565b816001600160a01b0316836001600160a01b031614156113ef5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105d3565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611467848484610ef7565b6114738484848461176c565b610c455760405162461bcd60e51b81526004016105d390612423565b6060600e80546104b490612311565b606060006114ab83611879565b600101905060008167ffffffffffffffff8111156114cb576114cb6121f5565b6040519080825280601f01601f1916602001820160405280156114f5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461152e57611533565b6114ff565b509392505050565b600061049f825490565b600081815260018301602052604081205461158c5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561049f565b50600061049f565b60006001600160e01b031982166380ac58cd60e01b14806115c557506001600160e01b03198216635b5e139f60e01b145b8061049f575061049f82611951565b610c4584848484611976565b6115ea8282610bd0565b6107e0576115f7816119e9565b6116028360206119fb565b604051602001611613929190612475565b60408051601f198184030181529082905262461bcd60e51b82526105d3916004016120a2565b6116438282610bd0565b156107e0576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bc9836001600160a01b038416611b97565b600c5460ff1661088a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105d3565b600c5460ff161561088a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105d3565b600082600001828154811061175957611759612399565b9060005260206000200154905092915050565b60006001600160a01b0384163b1561186e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906117b09033908990889088906004016124ea565b602060405180830381600087803b1580156117ca57600080fd5b505af19250505080156117fa575060408051601f3d908101601f191682019092526117f791810190612527565b60015b611854573d808015611828576040519150601f19603f3d011682016040523d82523d6000602084013e61182d565b606091505b50805161184c5760405162461bcd60e51b81526004016105d390612423565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610eef565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118b85772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118e4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061190257662386f26fc10000830492506010015b6305f5e100831061191a576305f5e100830492506008015b612710831061192e57612710830492506004015b60648310611940576064830492506002015b600a831061049f5760010192915050565b60006001600160e01b03198216635a05180f60e01b148061049f575061049f82611c8a565b61198284848484611cbf565b600c5460ff1615610c455760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b60648201526084016105d3565b606061049f6001600160a01b03831660145b60606000611a0a83600261255a565b611a15906002612579565b67ffffffffffffffff811115611a2d57611a2d6121f5565b6040519080825280601f01601f191660200182016040528015611a57576020820181803683370190505b509050600360fc1b81600081518110611a7257611a72612399565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611aa157611aa1612399565b60200101906001600160f81b031916908160001a9053506000611ac584600261255a565b611ad0906001612579565b90505b6001811115611b48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b0457611b04612399565b1a60f81b828281518110611b1a57611b1a612399565b60200101906001600160f81b031916908160001a90535060049490941c93611b4181612591565b9050611ad3565b508315610bc95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105d3565b60008181526001830160205260408120548015611c80576000611bbb6001836125a8565b8554909150600090611bcf906001906125a8565b9050818114611c34576000866000018281548110611bef57611bef612399565b9060005260206000200154905080876000018481548110611c1257611c12612399565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c4557611c456125bf565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061049f565b600091505061049f565b60006001600160e01b03198216637965db0b60e01b148061049f57506301ffc9a760e01b6001600160e01b031983161461049f565b611ccb84848484611dff565b6001811115611d3a5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016105d3565b816001600160a01b038516611d9657611d9181600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b611db9565b836001600160a01b0316856001600160a01b031614611db957611db98582611e87565b6001600160a01b038416611dd557611dd081611f24565b611df8565b846001600160a01b0316846001600160a01b031614611df857611df88482611fd3565b5050505050565b6001811115610c45576001600160a01b03841615611e45576001600160a01b03841660009081526005602052604081208054839290611e3f9084906125a8565b90915550505b6001600160a01b03831615610c45576001600160a01b03831660009081526005602052604081208054839290611e7c908490612579565b909155505050505050565b60006001611e9484610a87565b611e9e91906125a8565b600083815260096020526040902054909150808214611ef1576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611f36906001906125a8565b6000838152600b6020526040812054600a8054939450909284908110611f5e57611f5e612399565b9060005260206000200154905080600a8381548110611f7f57611f7f612399565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611fb757611fb76125bf565b6001900381819060005260206000200160009055905550505050565b6000611fde83610a87565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160e01b0319811681146108d557600080fd5b60006020828403121561203f57600080fd5b8135610bc981612017565b60005b8381101561206557818101518382015260200161204d565b83811115610c455750506000910152565b6000815180845261208e81602086016020860161204a565b601f01601f19169290920160200192915050565b602081526000610bc96020830184612076565b6000602082840312156120c757600080fd5b5035919050565b80356001600160a01b03811681146120e557600080fd5b919050565b600080604083850312156120fd57600080fd5b612106836120ce565b946020939093013593505050565b60008060006060848603121561212957600080fd5b612132846120ce565b9250612140602085016120ce565b9150604084013590509250925092565b6000806040838503121561216357600080fd5b82359150612173602084016120ce565b90509250929050565b60006020828403121561218e57600080fd5b610bc9826120ce565b600080604083850312156121aa57600080fd5b50508035926020909101359150565b600080604083850312156121cc57600080fd5b6121d5836120ce565b9150602083013580151581146121ea57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561222157600080fd5b61222a856120ce565b9350612238602086016120ce565b925060408501359150606085013567ffffffffffffffff8082111561225c57600080fd5b818701915087601f83011261227057600080fd5b813581811115612282576122826121f5565b604051601f8201601f19908116603f011681019083821181831017156122aa576122aa6121f5565b816040528281528a60208487010111156122c357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156122fa57600080fd5b612303836120ce565b9150612173602084016120ce565b600181811c9082168061232557607f821691505b6020821081141561234657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600083516123c181846020880161204a565b8351908301906123d581836020880161204a565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516124ad81601785016020880161204a565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516124de81602884016020880161204a565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061251d90830184612076565b9695505050505050565b60006020828403121561253957600080fd5b8151610bc981612017565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561257457612574612544565b500290565b6000821982111561258c5761258c612544565b500190565b6000816125a0576125a0612544565b506000190190565b6000828210156125ba576125ba612544565b500390565b634e487b7160e01b600052603160045260246000fdfea26469706673582212205d765d7a0160dae543f964e070e389c7887bb6a704562ade097627fe595d478464736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2AB5 CODESIZE SUB DUP1 PUSH3 0x2AB5 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x3CC JUMP JUMPDEST DUP3 MLOAD DUP4 SWAP1 DUP4 SWAP1 PUSH3 0x4D SWAP1 PUSH1 0x2 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x259 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x63 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x259 JUMP JUMPDEST POP POP PUSH1 0xC DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP DUP1 MLOAD PUSH3 0x85 SWAP1 PUSH1 0xE SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x259 JUMP JUMPDEST POP PUSH3 0x93 PUSH1 0x0 CALLER PUSH3 0xF4 JUMP JUMPDEST PUSH3 0xBF PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH3 0xF4 JUMP JUMPDEST PUSH3 0xEB PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH3 0xF4 JUMP JUMPDEST POP POP POP PUSH3 0x49A JUMP JUMPDEST PUSH3 0x100 DUP3 DUP3 PUSH3 0x104 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x11B DUP3 DUP3 PUSH3 0x147 PUSH1 0x20 SHL PUSH3 0xCED OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH3 0x142 SWAP2 DUP4 SWAP1 PUSH3 0xD71 PUSH3 0x1E7 DUP3 SHL OR SWAP1 SHR JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0x100 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x1A3 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1FE DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH3 0x207 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH3 0x250 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH3 0x201 JUMP JUMPDEST POP PUSH1 0x0 PUSH3 0x201 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x267 SWAP1 PUSH3 0x45D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x28B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x2D6 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x2A6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x2D6 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x2D6 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x2D6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x2B9 JUMP JUMPDEST POP PUSH3 0x2E4 SWAP3 SWAP2 POP PUSH3 0x2E8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x2E4 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2E9 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 PUSH3 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x344 JUMPI PUSH3 0x344 PUSH3 0x2FF 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 PUSH3 0x36F JUMPI PUSH3 0x36F PUSH3 0x2FF JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x3B0 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x391 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x3C2 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x3E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x408 DUP8 DUP4 DUP9 ADD PUSH3 0x315 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x42D DUP8 DUP4 DUP9 ADD PUSH3 0x315 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x453 DUP7 DUP3 DUP8 ADD PUSH3 0x315 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x472 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x494 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x260B DUP1 PUSH3 0x4AA 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 0x1E5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x10F JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x41E JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x3AB JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x3BE JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x3D1 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x388 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x39B JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x6A627842 EQ PUSH2 0x347 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x35A JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x187 JUMPI DUP1 PUSH4 0x42842E0E GT PUSH2 0x156 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x316 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x329 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x1C3 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x252 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x28C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x212 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x227 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FD PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x202D JUMP JUMPDEST PUSH2 0x494 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21A PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x209 SWAP2 SWAP1 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x23A PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x537 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x209 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x20EA JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST STOP JUMPDEST PUSH1 0xA SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x209 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x287 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x679 JUMP JUMPDEST PUSH2 0x26B PUSH2 0x29A CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x26B PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x20EA JUMP JUMPDEST PUSH2 0x6D0 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0x766 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x7E4 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2FE CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x88C JUMP JUMPDEST PUSH2 0x265 PUSH2 0x311 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x8A7 JUMP JUMPDEST PUSH2 0x26B PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND PUSH2 0x1FD JUMP JUMPDEST PUSH2 0x23A PUSH2 0x342 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x96B JUMP JUMPDEST PUSH2 0x265 PUSH2 0x355 CALLDATASIZE PUSH1 0x4 PUSH2 0x217C JUMP JUMPDEST PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x26B PUSH2 0x368 CALLDATASIZE PUSH1 0x4 PUSH2 0x217C JUMP JUMPDEST PUSH2 0xA87 JUMP JUMPDEST PUSH2 0x265 PUSH2 0xB0D JUMP JUMPDEST PUSH2 0x23A PUSH2 0x383 CALLDATASIZE PUSH1 0x4 PUSH2 0x2197 JUMP JUMPDEST PUSH2 0xBB1 JUMP JUMPDEST PUSH2 0x1FD PUSH2 0x396 CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x21A PUSH2 0xBF9 JUMP JUMPDEST PUSH2 0x26B PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x3B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x21B9 JUMP JUMPDEST PUSH2 0xC08 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x3CC CALLDATASIZE PUSH1 0x4 PUSH2 0x220B JUMP JUMPDEST PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x21A PUSH2 0x3DF CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0xC4B JUMP JUMPDEST PUSH2 0x26B PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0x26B PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x42C CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0x26B PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH2 0x1FD PUSH2 0x466 CALLDATASIZE PUSH1 0x4 PUSH2 0x22E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F DUP3 PUSH2 0xD86 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 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 0x4E0 SWAP1 PUSH2 0x2311 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x52D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x502 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x52D 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 0x510 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x542 DUP3 PUSH2 0xDAB JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x569 DUP3 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x5DC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x5F8 JUMPI POP PUSH2 0x5F8 DUP2 CALLER PUSH2 0x466 JUMP JUMPDEST PUSH2 0x66A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0xE0A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x684 CALLER JUMPDEST DUP3 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x6A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 DUP4 PUSH2 0xEF7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x6C6 DUP2 PUSH2 0x1068 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0x1072 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6DB DUP4 PUSH2 0xA87 JUMP JUMPDEST DUP3 LT PUSH2 0x73D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A206F776E657220696E646578206F75 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x74206F6620626F756E6473 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x7D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x7E0 DUP3 DUP3 PUSH2 0x1094 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x80E PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x882 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D75737420686176652070617573657220726F6C6520746F20756E7061757365 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x88A PUSH2 0x10B6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x8B0 CALLER PUSH2 0x67E JUMP JUMPDEST PUSH2 0x8CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0x8D5 DUP2 PUSH2 0x1108 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E3 PUSH1 0xA SLOAD SWAP1 JUMP JUMPDEST DUP3 LT PUSH2 0x946 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20676C6F62616C20696E646578206F PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7574206F6620626F756E6473 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0xA DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x959 JUMPI PUSH2 0x959 PUSH2 0x2399 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 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x49F 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x9F5 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0xA67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D7573742068617665206D696E74657220726F6C6520746F206D696E74000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0xA79 DUP2 PUSH2 0xA74 PUSH1 0xD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x11AB JUMP JUMPDEST PUSH2 0x8D5 PUSH1 0xD DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAF1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB37 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D75737420686176652070617573657220726F6C6520746F2070617573650000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x88A PUSH2 0x1344 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xBC9 SWAP1 DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 JUMP JUMPDEST PUSH2 0x7E0 CALLER DUP4 DUP4 PUSH2 0x138D JUMP JUMPDEST PUSH2 0xC1D CALLER DUP4 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0xC45 DUP5 DUP5 DUP5 DUP5 PUSH2 0x145C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC56 DUP3 PUSH2 0xDAB JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC60 PUSH2 0x148F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xC80 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xBC9 JUMP JUMPDEST DUP1 PUSH2 0xC8A DUP5 PUSH2 0x149E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC9B SWAP3 SWAP2 SWAP1 PUSH2 0x23AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x49F SWAP1 PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xCE3 DUP2 PUSH2 0x1068 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0x1094 JUMP JUMPDEST PUSH2 0xCF7 DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xD2D CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1594 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8D5 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xE3F DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE84 DUP4 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xECB JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0xEEF JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xEE4 DUP5 PUSH2 0x537 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF0A DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x23DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF92 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0xF9F DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xFB2 DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFD8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x23DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x5 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x8D5 DUP2 CALLER PUSH2 0x15E0 JUMP JUMPDEST PUSH2 0x107C DUP3 DUP3 PUSH2 0xCED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x674 SWAP1 DUP3 PUSH2 0xD71 JUMP JUMPDEST PUSH2 0x109E DUP3 DUP3 PUSH2 0x1639 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x674 SWAP1 DUP3 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x10BE PUSH2 0x16B3 JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1113 DUP3 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP PUSH2 0x1123 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST PUSH2 0x112C DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x5 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1201 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1266 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 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x1274 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x12D9 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 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x134C PUSH2 0x16FC JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x10EB CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 DUP4 PUSH2 0x1742 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x13EF 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 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1467 DUP5 DUP5 DUP5 PUSH2 0xEF7 JUMP JUMPDEST PUSH2 0x1473 DUP5 DUP5 DUP5 DUP5 PUSH2 0x176C JUMP JUMPDEST PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x2423 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xE DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x14AB DUP4 PUSH2 0x1879 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CB JUMPI PUSH2 0x14CB PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14F5 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x152E JUMPI PUSH2 0x1533 JUMP JUMPDEST PUSH2 0x14FF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x158C JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x49F JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x15C5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1951 JUMP JUMPDEST PUSH2 0xC45 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1976 JUMP JUMPDEST PUSH2 0x15EA DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x7E0 JUMPI PUSH2 0x15F7 DUP2 PUSH2 0x19E9 JUMP JUMPDEST PUSH2 0x1602 DUP4 PUSH1 0x20 PUSH2 0x19FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1613 SWAP3 SWAP2 SWAP1 PUSH2 0x2475 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x5D3 SWAP2 PUSH1 0x4 ADD PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x1643 DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST ISZERO PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1B97 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND PUSH2 0x88A 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 0x5D3 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x88A 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 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1759 JUMPI PUSH2 0x1759 PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x186E JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x17B0 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x24EA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x17FA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x17F7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2527 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1854 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x1828 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 0x182D JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x2423 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0xEEF JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x18B8 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x18E4 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x1902 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x191A JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x192E JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x1940 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x49F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1C8A JUMP JUMPDEST PUSH2 0x1982 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1CBF JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315061757361626C653A20746F6B656E207472616E736665722077 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1A1A5B19481C185D5CD959 PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x49F PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1A0A DUP4 PUSH1 0x2 PUSH2 0x255A JUMP JUMPDEST PUSH2 0x1A15 SWAP1 PUSH1 0x2 PUSH2 0x2579 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A2D JUMPI PUSH2 0x1A2D PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1A57 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1A72 JUMPI PUSH2 0x1A72 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1AA1 JUMPI PUSH2 0x1AA1 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1AC5 DUP5 PUSH1 0x2 PUSH2 0x255A JUMP JUMPDEST PUSH2 0x1AD0 SWAP1 PUSH1 0x1 PUSH2 0x2579 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1B48 JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x1B04 JUMPI PUSH2 0x1B04 PUSH2 0x2399 JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1B1A JUMPI PUSH2 0x1B1A PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1B41 DUP2 PUSH2 0x2591 JUMP JUMPDEST SWAP1 POP PUSH2 0x1AD3 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xBC9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x0 PUSH2 0x1BBB PUSH1 0x1 DUP4 PUSH2 0x25A8 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1BCF SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x1C34 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1BEF JUMPI PUSH2 0x1BEF PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1C12 JUMPI PUSH2 0x1C12 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1C45 JUMPI PUSH2 0x1C45 PUSH2 0x25BF JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x49F JUMP JUMPDEST PUSH2 0x1CCB DUP5 DUP5 DUP5 DUP5 PUSH2 0x1DFF JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1D3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20636F6E7365637574697665207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x185B9CD9995C9CC81B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x5A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1D96 JUMPI PUSH2 0x1D91 DUP2 PUSH1 0xA DUP1 SLOAD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xC65A7BB8D6351C1CF70C95A316CC6A92839C986682D98BC35F958F4883F9D2A8 ADD SSTORE JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1DB9 JUMPI PUSH2 0x1DB9 DUP6 DUP3 PUSH2 0x1E87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1DD5 JUMPI PUSH2 0x1DD0 DUP2 PUSH2 0x1F24 JUMP JUMPDEST PUSH2 0x1DF8 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1DF8 JUMPI PUSH2 0x1DF8 DUP5 DUP3 PUSH2 0x1FD3 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x1E45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1E3F SWAP1 DUP5 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0xC45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1E7C SWAP1 DUP5 SWAP1 PUSH2 0x2579 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1E94 DUP5 PUSH2 0xA87 JUMP JUMPDEST PUSH2 0x1E9E SWAP2 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x1EF1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x9 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP4 MSTORE PUSH1 0x8 DUP2 MSTORE DUP4 DUP4 KECCAK256 SWAP2 DUP4 MSTORE MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 PUSH2 0x1F36 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xA DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x1F5E JUMPI PUSH2 0x1F5E PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 PUSH1 0xA DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F7F JUMPI PUSH2 0x1F7F PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0xB SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP6 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0xA DUP1 SLOAD DUP1 PUSH2 0x1FB7 JUMPI PUSH2 0x1FB7 PUSH2 0x25BF JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDE DUP4 PUSH2 0xA87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE SWAP4 DUP3 MSTORE PUSH1 0x9 SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x8D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x203F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xBC9 DUP2 PUSH2 0x2017 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2065 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x204D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC45 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x208E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x204A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2076 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2106 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2132 DUP5 PUSH2 0x20CE JUMP JUMPDEST SWAP3 POP PUSH2 0x2140 PUSH1 0x20 DUP6 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2173 PUSH1 0x20 DUP5 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x218E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC9 DUP3 PUSH2 0x20CE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21D5 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x21EA 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x222A DUP6 PUSH2 0x20CE JUMP JUMPDEST SWAP4 POP PUSH2 0x2238 PUSH1 0x20 DUP7 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x225C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2282 JUMPI PUSH2 0x2282 PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x22AA JUMPI PUSH2 0x22AA PUSH2 0x21F5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x22C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2303 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH2 0x2173 PUSH1 0x20 DUP5 ADD PUSH2 0x20CE JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2325 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x2346 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x23C1 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x23D5 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x24AD DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x24DE DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x251D SWAP1 DUP4 ADD DUP5 PUSH2 0x2076 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xBC9 DUP2 PUSH2 0x2017 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2574 JUMPI PUSH2 0x2574 PUSH2 0x2544 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x258C JUMPI PUSH2 0x258C PUSH2 0x2544 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x25A0 JUMPI PUSH2 0x25A0 PUSH2 0x2544 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x25BA JUMPI PUSH2 0x25BA PUSH2 0x2544 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D PUSH23 0x5D7A0160DAE543F964E070E389C7887BB6A704562ADE09 PUSH23 0x27FE595D478464736F6C63430008090033000000000000 ","sourceMap":"1138:3261:126:-:0;;;1806:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:113;;1925:4:126;;1931:6;;1456:13:113;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:113;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;996:7:81;:15;;-1:-1:-1;;996:15:81;;;-1:-1:-1;1949:28:126;;::::1;::::0;:13:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;1988:44:126::1;2072:4:4;719:10:138::0;1988::126::1;:44::i;:::-;2043:37;1370:24;719:10:138::0;1988::126::1;:44::i;2043:37::-;2090;1438:24;719:10:138::0;1988::126::1;:44::i;2090:37::-;1806:328:::0;;;1138:3261;;6811:110:4;6889:25;6900:4;6906:7;6889:10;:25::i;:::-;6811:110;;:::o;1978:166:6:-;2065:31;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106:18;;;;:12;:18;;;;;;;;:31;;2129:7;;2106:22;;;;;:31;;:::i;:::-;;1978:166;;:::o;7461:233:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;:::-;8383:57;;8297:150;;;;;:::o;2206:404::-;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;1138:3261:126;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:3261:126;;;-1:-1:-1;1138:3261:126;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:181;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:181;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:181:o;1036:766::-;1154:6;1162;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1266:16;;-1:-1:-1;;;;;1331:14:181;;;1328:34;;;1358:1;1355;1348:12;1328:34;1381:61;1434:7;1425:6;1414:9;1410:22;1381:61;:::i;:::-;1371:71;;1488:2;1477:9;1473:18;1467:25;1451:41;;1517:2;1507:8;1504:16;1501:36;;;1533:1;1530;1523:12;1501:36;1556:63;1611:7;1600:8;1589:9;1585:24;1556:63;:::i;:::-;1546:73;;1665:2;1654:9;1650:18;1644:25;1628:41;;1694:2;1684:8;1681:16;1678:36;;;1710:1;1707;1700:12;1678:36;;1733:63;1788:7;1777:8;1766:9;1762:24;1733:63;:::i;:::-;1723:73;;;1036:766;;;;;:::o;1807:380::-;1886:1;1882:12;;;;1929;;;1950:61;;2004:4;1996:6;1992:17;1982:27;;1950:61;2057:2;2049:6;2046:14;2026:18;2023:38;2020:161;;;2103:10;2098:3;2094:20;2091:1;2084:31;2138:4;2135:1;2128:15;2166:4;2163:1;2156:15;2020:161;;1807:380;;;:::o;:::-;1138:3261:126;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_739":{"entryPoint":null,"id":739,"parameterSlots":0,"returnSlots":0},"@MINTER_ROLE_18642":{"entryPoint":null,"id":18642,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_18647":{"entryPoint":null,"id":18647,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_18176":{"entryPoint":null,"id":18176,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_18156":{"entryPoint":8147,"id":18156,"parameterSlots":2,"returnSlots":0},"@_add_29338":{"entryPoint":5445,"id":29338,"parameterSlots":2,"returnSlots":1},"@_afterTokenTransfer_17474":{"entryPoint":null,"id":17474,"parameterSlots":4,"returnSlots":0},"@_approve_17307":{"entryPoint":3594,"id":17307,"parameterSlots":2,"returnSlots":0},"@_at_29472":{"entryPoint":5954,"id":29472,"parameterSlots":2,"returnSlots":1},"@_baseURI_18698":{"entryPoint":5263,"id":18698,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_17461":{"entryPoint":7679,"id":17461,"parameterSlots":4,"returnSlots":0},"@_beforeTokenTransfer_18126":{"entryPoint":7359,"id":18126,"parameterSlots":4,"returnSlots":0},"@_beforeTokenTransfer_18327":{"entryPoint":6518,"id":18327,"parameterSlots":4,"returnSlots":0},"@_beforeTokenTransfer_18785":{"entryPoint":5588,"id":18785,"parameterSlots":4,"returnSlots":0},"@_burn_17198":{"entryPoint":4360,"id":17198,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_17415":{"entryPoint":5996,"id":17415,"parameterSlots":4,"returnSlots":1},"@_checkRole_804":{"entryPoint":4200,"id":804,"parameterSlots":1,"returnSlots":0},"@_checkRole_843":{"entryPoint":5600,"id":843,"parameterSlots":2,"returnSlots":0},"@_contains_29441":{"entryPoint":null,"id":29441,"parameterSlots":2,"returnSlots":1},"@_exists_16976":{"entryPoint":null,"id":16976,"parameterSlots":1,"returnSlots":1},"@_grantRole_1182":{"entryPoint":4210,"id":1182,"parameterSlots":2,"returnSlots":0},"@_grantRole_995":{"entryPoint":3309,"id":995,"parameterSlots":2,"returnSlots":0},"@_isApprovedOrOwner_17010":{"entryPoint":3704,"id":17010,"parameterSlots":2,"returnSlots":1},"@_length_29455":{"entryPoint":null,"id":29455,"parameterSlots":1,"returnSlots":1},"@_mint_17131":{"entryPoint":4523,"id":17131,"parameterSlots":2,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_ownerOf_16958":{"entryPoint":null,"id":16958,"parameterSlots":1,"returnSlots":1},"@_pause_10625":{"entryPoint":4932,"id":10625,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_18287":{"entryPoint":7972,"id":18287,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_18239":{"entryPoint":7815,"id":18239,"parameterSlots":2,"returnSlots":0},"@_remove_29422":{"entryPoint":7063,"id":29422,"parameterSlots":2,"returnSlots":1},"@_requireMinted_17353":{"entryPoint":3499,"id":17353,"parameterSlots":1,"returnSlots":0},"@_requireNotPaused_10598":{"entryPoint":5884,"id":10598,"parameterSlots":0,"returnSlots":0},"@_requirePaused_10609":{"entryPoint":5811,"id":10609,"parameterSlots":0,"returnSlots":0},"@_revokeRole_1026":{"entryPoint":5689,"id":1026,"parameterSlots":2,"returnSlots":0},"@_revokeRole_1206":{"entryPoint":4244,"id":1206,"parameterSlots":2,"returnSlots":0},"@_safeTransfer_16945":{"entryPoint":5212,"id":16945,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_17339":{"entryPoint":5005,"id":17339,"parameterSlots":3,"returnSlots":0},"@_transfer_17283":{"entryPoint":3831,"id":17283,"parameterSlots":3,"returnSlots":0},"@_unpause_10641":{"entryPoint":4278,"id":10641,"parameterSlots":0,"returnSlots":0},"@add_29638":{"entryPoint":3441,"id":29638,"parameterSlots":2,"returnSlots":1},"@approve_16787":{"entryPoint":1374,"id":16787,"parameterSlots":2,"returnSlots":0},"@at_29734":{"entryPoint":4993,"id":29734,"parameterSlots":2,"returnSlots":1},"@balanceOf_16648":{"entryPoint":2695,"id":16648,"parameterSlots":1,"returnSlots":1},"@burn_17638":{"entryPoint":2215,"id":17638,"parameterSlots":1,"returnSlots":0},"@current_22299":{"entryPoint":null,"id":22299,"parameterSlots":1,"returnSlots":1},"@getApproved_16805":{"entryPoint":1335,"id":16805,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_858":{"entryPoint":null,"id":858,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_1158":{"entryPoint":3249,"id":1158,"parameterSlots":1,"returnSlots":1},"@getRoleMember_1142":{"entryPoint":2993,"id":1142,"parameterSlots":2,"returnSlots":1},"@grantRole_878":{"entryPoint":1707,"id":878,"parameterSlots":2,"returnSlots":0},"@hasRole_791":{"entryPoint":3024,"id":791,"parameterSlots":2,"returnSlots":1},"@increment_22313":{"entryPoint":null,"id":22313,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_16840":{"entryPoint":null,"id":16840,"parameterSlots":2,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@length_29707":{"entryPoint":5435,"id":29707,"parameterSlots":1,"returnSlots":1},"@log10_25499":{"entryPoint":6265,"id":25499,"parameterSlots":1,"returnSlots":1},"@mint_18726":{"entryPoint":2507,"id":18726,"parameterSlots":1,"returnSlots":0},"@name_16686":{"entryPoint":1189,"id":16686,"parameterSlots":0,"returnSlots":1},"@ownerOf_16676":{"entryPoint":2411,"id":16676,"parameterSlots":1,"returnSlots":1},"@pause_18743":{"entryPoint":2829,"id":18743,"parameterSlots":0,"returnSlots":0},"@paused_10586":{"entryPoint":null,"id":10586,"parameterSlots":0,"returnSlots":1},"@remove_29665":{"entryPoint":5790,"id":29665,"parameterSlots":2,"returnSlots":1},"@renounceRole_921":{"entryPoint":1894,"id":921,"parameterSlots":2,"returnSlots":0},"@revokeRole_898":{"entryPoint":3272,"id":898,"parameterSlots":2,"returnSlots":0},"@safeTransferFrom_16886":{"entryPoint":2188,"id":16886,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_16916":{"entryPoint":3091,"id":16916,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_16822":{"entryPoint":3080,"id":16822,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1123":{"entryPoint":6481,"id":1123,"parameterSlots":1,"returnSlots":1},"@supportsInterface_16624":{"entryPoint":5524,"id":16624,"parameterSlots":1,"returnSlots":1},"@supportsInterface_17984":{"entryPoint":3462,"id":17984,"parameterSlots":1,"returnSlots":1},"@supportsInterface_18803":{"entryPoint":1172,"id":18803,"parameterSlots":1,"returnSlots":1},"@supportsInterface_24376":{"entryPoint":null,"id":24376,"parameterSlots":1,"returnSlots":1},"@supportsInterface_772":{"entryPoint":7306,"id":772,"parameterSlots":1,"returnSlots":1},"@symbol_16696":{"entryPoint":3065,"id":16696,"parameterSlots":0,"returnSlots":1},"@toHexString_22705":{"entryPoint":6651,"id":22705,"parameterSlots":2,"returnSlots":1},"@toHexString_22725":{"entryPoint":6633,"id":22725,"parameterSlots":1,"returnSlots":1},"@toString_22609":{"entryPoint":5278,"id":22609,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_18046":{"entryPoint":2264,"id":18046,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_18012":{"entryPoint":1744,"id":18012,"parameterSlots":2,"returnSlots":1},"@tokenURI_16735":{"entryPoint":3147,"id":16735,"parameterSlots":1,"returnSlots":1},"@totalSupply_18023":{"entryPoint":null,"id":18023,"parameterSlots":0,"returnSlots":1},"@transferFrom_16867":{"entryPoint":1657,"id":16867,"parameterSlots":3,"returnSlots":0},"@unpause_18760":{"entryPoint":2020,"id":18760,"parameterSlots":0,"returnSlots":0},"abi_decode_address":{"entryPoint":8398,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":8572,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":8935,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":8468,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":8715,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":8633,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":8426,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":8528,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":8599,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":8237,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":9511,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":8373,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":8310,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9135,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9333,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":9450,"id":null,"parameterSlots":5,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8354,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_08db93f8e1c3024ee7c131cc7a109eb4e5cb2ff5f9a23b64fb5b344cedec8968__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_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9036,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9251,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9182,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_40c9c95e9f416c51c55d88e1508883bb887c746928503de15b750cf10a750aef__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"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_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ea198f3e8a5129d820e5e0bb8ade0f42a56b75e06362ce80ffa86409143aedbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f3877585dfb2235e1900eee5d9e32a457b9d6148f93823a62cb07ae76c6585a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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":9593,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":9562,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":9640,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":8266,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint256":{"entryPoint":9617,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":8977,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":9540,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":9663,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":9113,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":8693,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":8215,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:17886:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:181","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:181"},"nodeType":"YulFunctionCall","src":"125:12:181"},"nodeType":"YulExpressionStatement","src":"125:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:181"},"nodeType":"YulFunctionCall","src":"99:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:181"},"nodeType":"YulFunctionCall","src":"88:32:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:181"},"nodeType":"YulFunctionCall","src":"78:43:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:181"},"nodeType":"YulFunctionCall","src":"71:51:181"},"nodeType":"YulIf","src":"68:71:181"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:181","type":""}],"src":"14:131:181"},{"body":{"nodeType":"YulBlock","src":"219:176:181","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:181"},"nodeType":"YulFunctionCall","src":"267:12:181"},"nodeType":"YulExpressionStatement","src":"267:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:181"},"nodeType":"YulFunctionCall","src":"236:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:181"},"nodeType":"YulFunctionCall","src":"232:32:181"},"nodeType":"YulIf","src":"229:52:181"},{"nodeType":"YulVariableDeclaration","src":"290:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:181"},"nodeType":"YulFunctionCall","src":"303:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:181"},"nodeType":"YulFunctionCall","src":"335:30:181"},"nodeType":"YulExpressionStatement","src":"335:30:181"},{"nodeType":"YulAssignment","src":"374:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:181","type":""}],"src":"150:245:181"},{"body":{"nodeType":"YulBlock","src":"495:92:181","statements":[{"nodeType":"YulAssignment","src":"505:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:181"},"nodeType":"YulFunctionCall","src":"513:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:181"},"nodeType":"YulFunctionCall","src":"565:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:181"},"nodeType":"YulFunctionCall","src":"558:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:181"},"nodeType":"YulFunctionCall","src":"540:41:181"},"nodeType":"YulExpressionStatement","src":"540:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:181","type":""}],"src":"400:187:181"},{"body":{"nodeType":"YulBlock","src":"645:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"655:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"664:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"659:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"724:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"749:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"754:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"745:3:181"},"nodeType":"YulFunctionCall","src":"745:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"768:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"773:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"764:3:181"},"nodeType":"YulFunctionCall","src":"764:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"758:5:181"},"nodeType":"YulFunctionCall","src":"758:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"738:6:181"},"nodeType":"YulFunctionCall","src":"738:39:181"},"nodeType":"YulExpressionStatement","src":"738:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"685:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"688:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"682:2:181"},"nodeType":"YulFunctionCall","src":"682:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"696:19:181","statements":[{"nodeType":"YulAssignment","src":"698:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"707:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"710:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"703:3:181"},"nodeType":"YulFunctionCall","src":"703:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"678:3:181","statements":[]},"src":"674:113:181"},{"body":{"nodeType":"YulBlock","src":"813:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"826:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"831:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"822:3:181"},"nodeType":"YulFunctionCall","src":"822:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"815:6:181"},"nodeType":"YulFunctionCall","src":"815:27:181"},"nodeType":"YulExpressionStatement","src":"815:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"802:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"805:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"799:2:181"},"nodeType":"YulFunctionCall","src":"799:13:181"},"nodeType":"YulIf","src":"796:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"623:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"628:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"633:6:181","type":""}],"src":"592:258:181"},{"body":{"nodeType":"YulBlock","src":"905:208:181","statements":[{"nodeType":"YulVariableDeclaration","src":"915:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"929:5:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"919:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"957:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"962:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"950:6:181"},"nodeType":"YulFunctionCall","src":"950:19:181"},"nodeType":"YulExpressionStatement","src":"950:19:181"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1004:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"1011:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1000:3:181"},"nodeType":"YulFunctionCall","src":"1000:16:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1022:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"1027:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1018:3:181"},"nodeType":"YulFunctionCall","src":"1018:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"1034:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"978:21:181"},"nodeType":"YulFunctionCall","src":"978:63:181"},"nodeType":"YulExpressionStatement","src":"978:63:181"},{"nodeType":"YulAssignment","src":"1050:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1065:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1078:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1086:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1074:3:181"},"nodeType":"YulFunctionCall","src":"1074:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1095:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1091:3:181"},"nodeType":"YulFunctionCall","src":"1091:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1070:3:181"},"nodeType":"YulFunctionCall","src":"1070:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1061:3:181"},"nodeType":"YulFunctionCall","src":"1061:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1102:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1057:3:181"},"nodeType":"YulFunctionCall","src":"1057:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1050:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"882:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"889:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"897:3:181","type":""}],"src":"855:258:181"},{"body":{"nodeType":"YulBlock","src":"1239:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1256:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1267:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1249:6:181"},"nodeType":"YulFunctionCall","src":"1249:21:181"},"nodeType":"YulExpressionStatement","src":"1249:21:181"},{"nodeType":"YulAssignment","src":"1279:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1305:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1317:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1328:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1313:3:181"},"nodeType":"YulFunctionCall","src":"1313:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1287:17:181"},"nodeType":"YulFunctionCall","src":"1287:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1279:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1208:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1219:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1230:4:181","type":""}],"src":"1118:220:181"},{"body":{"nodeType":"YulBlock","src":"1413:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"1459:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1468:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1471:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1461:6:181"},"nodeType":"YulFunctionCall","src":"1461:12:181"},"nodeType":"YulExpressionStatement","src":"1461:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1434:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1443:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1430:3:181"},"nodeType":"YulFunctionCall","src":"1430:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1455:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1426:3:181"},"nodeType":"YulFunctionCall","src":"1426:32:181"},"nodeType":"YulIf","src":"1423:52:181"},{"nodeType":"YulAssignment","src":"1484:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1507:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1494:12:181"},"nodeType":"YulFunctionCall","src":"1494:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1484:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1379:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1390:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1402:6:181","type":""}],"src":"1343:180:181"},{"body":{"nodeType":"YulBlock","src":"1629:102:181","statements":[{"nodeType":"YulAssignment","src":"1639:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1662:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1647:3:181"},"nodeType":"YulFunctionCall","src":"1647:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1639:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1681:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1696:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1712:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1717:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1708:3:181"},"nodeType":"YulFunctionCall","src":"1708:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1721:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1704:3:181"},"nodeType":"YulFunctionCall","src":"1704:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1692:3:181"},"nodeType":"YulFunctionCall","src":"1692:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1674:6:181"},"nodeType":"YulFunctionCall","src":"1674:51:181"},"nodeType":"YulExpressionStatement","src":"1674:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1598:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1609:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1620:4:181","type":""}],"src":"1528:203:181"},{"body":{"nodeType":"YulBlock","src":"1785:124:181","statements":[{"nodeType":"YulAssignment","src":"1795:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1817:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1804:12:181"},"nodeType":"YulFunctionCall","src":"1804:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1795:5:181"}]},{"body":{"nodeType":"YulBlock","src":"1887:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1896:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1899:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1889:6:181"},"nodeType":"YulFunctionCall","src":"1889:12:181"},"nodeType":"YulExpressionStatement","src":"1889:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1846:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1857:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1872:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1877:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1868:3:181"},"nodeType":"YulFunctionCall","src":"1868:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1881:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1864:3:181"},"nodeType":"YulFunctionCall","src":"1864:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1853:3:181"},"nodeType":"YulFunctionCall","src":"1853:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1843:2:181"},"nodeType":"YulFunctionCall","src":"1843:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1836:6:181"},"nodeType":"YulFunctionCall","src":"1836:50:181"},"nodeType":"YulIf","src":"1833:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1764:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1775:5:181","type":""}],"src":"1736:173:181"},{"body":{"nodeType":"YulBlock","src":"2001:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"2047:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2056:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2059:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2049:6:181"},"nodeType":"YulFunctionCall","src":"2049:12:181"},"nodeType":"YulExpressionStatement","src":"2049:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2022:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2031:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2018:3:181"},"nodeType":"YulFunctionCall","src":"2018:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2043:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2014:3:181"},"nodeType":"YulFunctionCall","src":"2014:32:181"},"nodeType":"YulIf","src":"2011:52:181"},{"nodeType":"YulAssignment","src":"2072:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2101:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2082:18:181"},"nodeType":"YulFunctionCall","src":"2082:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2072:6:181"}]},{"nodeType":"YulAssignment","src":"2120:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2147:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2158:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2143:3:181"},"nodeType":"YulFunctionCall","src":"2143:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2130:12:181"},"nodeType":"YulFunctionCall","src":"2130:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2120:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1959:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1970:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1982:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1990:6:181","type":""}],"src":"1914:254:181"},{"body":{"nodeType":"YulBlock","src":"2274:76:181","statements":[{"nodeType":"YulAssignment","src":"2284:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2296:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2307:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2292:3:181"},"nodeType":"YulFunctionCall","src":"2292:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2284:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2326:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2337:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2319:6:181"},"nodeType":"YulFunctionCall","src":"2319:25:181"},"nodeType":"YulExpressionStatement","src":"2319:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2243:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2254:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2265:4:181","type":""}],"src":"2173:177:181"},{"body":{"nodeType":"YulBlock","src":"2459:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"2505:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2514:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2517:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2507:6:181"},"nodeType":"YulFunctionCall","src":"2507:12:181"},"nodeType":"YulExpressionStatement","src":"2507:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2480:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2489:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2476:3:181"},"nodeType":"YulFunctionCall","src":"2476:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2501:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2472:3:181"},"nodeType":"YulFunctionCall","src":"2472:32:181"},"nodeType":"YulIf","src":"2469:52:181"},{"nodeType":"YulAssignment","src":"2530:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2559:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2540:18:181"},"nodeType":"YulFunctionCall","src":"2540:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2530:6:181"}]},{"nodeType":"YulAssignment","src":"2578:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2611:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2622:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2607:3:181"},"nodeType":"YulFunctionCall","src":"2607:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2588:18:181"},"nodeType":"YulFunctionCall","src":"2588:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2578:6:181"}]},{"nodeType":"YulAssignment","src":"2635:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2662:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2673:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2658:3:181"},"nodeType":"YulFunctionCall","src":"2658:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2645:12:181"},"nodeType":"YulFunctionCall","src":"2645:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2635:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2409:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2420:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2432:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2440:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2448:6:181","type":""}],"src":"2355:328:181"},{"body":{"nodeType":"YulBlock","src":"2758:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"2804:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2813:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2816:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2806:6:181"},"nodeType":"YulFunctionCall","src":"2806:12:181"},"nodeType":"YulExpressionStatement","src":"2806:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2779:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2788:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2775:3:181"},"nodeType":"YulFunctionCall","src":"2775:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2800:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2771:3:181"},"nodeType":"YulFunctionCall","src":"2771:32:181"},"nodeType":"YulIf","src":"2768:52:181"},{"nodeType":"YulAssignment","src":"2829:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2852:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2839:12:181"},"nodeType":"YulFunctionCall","src":"2839:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2829:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2724:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2735:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2747:6:181","type":""}],"src":"2688:180:181"},{"body":{"nodeType":"YulBlock","src":"2974:76:181","statements":[{"nodeType":"YulAssignment","src":"2984:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2996:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3007:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2992:3:181"},"nodeType":"YulFunctionCall","src":"2992:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2984:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3026:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"3037:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3019:6:181"},"nodeType":"YulFunctionCall","src":"3019:25:181"},"nodeType":"YulExpressionStatement","src":"3019:25:181"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2943:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2954:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2965:4:181","type":""}],"src":"2873:177:181"},{"body":{"nodeType":"YulBlock","src":"3142:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"3188:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3197:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3200:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3190:6:181"},"nodeType":"YulFunctionCall","src":"3190:12:181"},"nodeType":"YulExpressionStatement","src":"3190:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3163:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3172:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3159:3:181"},"nodeType":"YulFunctionCall","src":"3159:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3184:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3155:3:181"},"nodeType":"YulFunctionCall","src":"3155:32:181"},"nodeType":"YulIf","src":"3152:52:181"},{"nodeType":"YulAssignment","src":"3213:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3236:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3223:12:181"},"nodeType":"YulFunctionCall","src":"3223:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3213:6:181"}]},{"nodeType":"YulAssignment","src":"3255:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3288:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3299:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3284:3:181"},"nodeType":"YulFunctionCall","src":"3284:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3265:18:181"},"nodeType":"YulFunctionCall","src":"3265:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3255:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3100:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3111:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3123:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3131:6:181","type":""}],"src":"3055:254:181"},{"body":{"nodeType":"YulBlock","src":"3384:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"3430:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3439:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3442:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3432:6:181"},"nodeType":"YulFunctionCall","src":"3432:12:181"},"nodeType":"YulExpressionStatement","src":"3432:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3405:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3414:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3401:3:181"},"nodeType":"YulFunctionCall","src":"3401:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3426:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3397:3:181"},"nodeType":"YulFunctionCall","src":"3397:32:181"},"nodeType":"YulIf","src":"3394:52:181"},{"nodeType":"YulAssignment","src":"3455:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3484:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3465:18:181"},"nodeType":"YulFunctionCall","src":"3465:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3455:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3350:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3361:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3373:6:181","type":""}],"src":"3314:186:181"},{"body":{"nodeType":"YulBlock","src":"3592:161:181","statements":[{"body":{"nodeType":"YulBlock","src":"3638:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3647:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3650:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3640:6:181"},"nodeType":"YulFunctionCall","src":"3640:12:181"},"nodeType":"YulExpressionStatement","src":"3640:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3613:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3622:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3609:3:181"},"nodeType":"YulFunctionCall","src":"3609:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3634:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3605:3:181"},"nodeType":"YulFunctionCall","src":"3605:32:181"},"nodeType":"YulIf","src":"3602:52:181"},{"nodeType":"YulAssignment","src":"3663:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3686:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3673:12:181"},"nodeType":"YulFunctionCall","src":"3673:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3663:6:181"}]},{"nodeType":"YulAssignment","src":"3705:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3732:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3743:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3728:3:181"},"nodeType":"YulFunctionCall","src":"3728:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3715:12:181"},"nodeType":"YulFunctionCall","src":"3715:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3705:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3550:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3561:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3573:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3581:6:181","type":""}],"src":"3505:248:181"},{"body":{"nodeType":"YulBlock","src":"3842:263:181","statements":[{"body":{"nodeType":"YulBlock","src":"3888:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3897:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3900:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3890:6:181"},"nodeType":"YulFunctionCall","src":"3890:12:181"},"nodeType":"YulExpressionStatement","src":"3890:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3863:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3872:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3859:3:181"},"nodeType":"YulFunctionCall","src":"3859:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3884:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3855:3:181"},"nodeType":"YulFunctionCall","src":"3855:32:181"},"nodeType":"YulIf","src":"3852:52:181"},{"nodeType":"YulAssignment","src":"3913:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3942:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3923:18:181"},"nodeType":"YulFunctionCall","src":"3923:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3913:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3961:45:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3991:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4002:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3987:3:181"},"nodeType":"YulFunctionCall","src":"3987:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3974:12:181"},"nodeType":"YulFunctionCall","src":"3974:32:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3965:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4059:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4068:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4071:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4061:6:181"},"nodeType":"YulFunctionCall","src":"4061:12:181"},"nodeType":"YulExpressionStatement","src":"4061:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4028:5:181"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4049:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4042:6:181"},"nodeType":"YulFunctionCall","src":"4042:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4035:6:181"},"nodeType":"YulFunctionCall","src":"4035:21:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4025:2:181"},"nodeType":"YulFunctionCall","src":"4025:32:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4018:6:181"},"nodeType":"YulFunctionCall","src":"4018:40:181"},"nodeType":"YulIf","src":"4015:60:181"},{"nodeType":"YulAssignment","src":"4084:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"4094:5:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4084:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3800:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3811:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3823:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3831:6:181","type":""}],"src":"3758:347:181"},{"body":{"nodeType":"YulBlock","src":"4142:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4159:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4166:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4171:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4162:3:181"},"nodeType":"YulFunctionCall","src":"4162:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4152:6:181"},"nodeType":"YulFunctionCall","src":"4152:31:181"},"nodeType":"YulExpressionStatement","src":"4152:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4199:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4202:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4192:6:181"},"nodeType":"YulFunctionCall","src":"4192:15:181"},"nodeType":"YulExpressionStatement","src":"4192:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4223:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4226:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4216:6:181"},"nodeType":"YulFunctionCall","src":"4216:15:181"},"nodeType":"YulExpressionStatement","src":"4216:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4110:127:181"},{"body":{"nodeType":"YulBlock","src":"4372:1008:181","statements":[{"body":{"nodeType":"YulBlock","src":"4419:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4428:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4431:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4421:6:181"},"nodeType":"YulFunctionCall","src":"4421:12:181"},"nodeType":"YulExpressionStatement","src":"4421:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4393:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4402:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4389:3:181"},"nodeType":"YulFunctionCall","src":"4389:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4414:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4385:3:181"},"nodeType":"YulFunctionCall","src":"4385:33:181"},"nodeType":"YulIf","src":"4382:53:181"},{"nodeType":"YulAssignment","src":"4444:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4473:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4454:18:181"},"nodeType":"YulFunctionCall","src":"4454:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4444:6:181"}]},{"nodeType":"YulAssignment","src":"4492:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4521:3:181"},"nodeType":"YulFunctionCall","src":"4521:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4502:18:181"},"nodeType":"YulFunctionCall","src":"4502:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4492:6:181"}]},{"nodeType":"YulAssignment","src":"4549:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4576:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4587:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4572:3:181"},"nodeType":"YulFunctionCall","src":"4572:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4559:12:181"},"nodeType":"YulFunctionCall","src":"4559:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4549:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4600:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4631:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4642:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4627:3:181"},"nodeType":"YulFunctionCall","src":"4627:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4614:12:181"},"nodeType":"YulFunctionCall","src":"4614:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4604:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4655:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4665:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4659:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4710:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4719:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4722:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4712:6:181"},"nodeType":"YulFunctionCall","src":"4712:12:181"},"nodeType":"YulExpressionStatement","src":"4712:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4698:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4706:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4695:2:181"},"nodeType":"YulFunctionCall","src":"4695:14:181"},"nodeType":"YulIf","src":"4692:34:181"},{"nodeType":"YulVariableDeclaration","src":"4735:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4749:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4760:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4745:3:181"},"nodeType":"YulFunctionCall","src":"4745:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"4739:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4815:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4824:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4827:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4817:6:181"},"nodeType":"YulFunctionCall","src":"4817:12:181"},"nodeType":"YulExpressionStatement","src":"4817:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4794:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"4798:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4790:3:181"},"nodeType":"YulFunctionCall","src":"4790:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4805:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4786:3:181"},"nodeType":"YulFunctionCall","src":"4786:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4779:6:181"},"nodeType":"YulFunctionCall","src":"4779:35:181"},"nodeType":"YulIf","src":"4776:55:181"},{"nodeType":"YulVariableDeclaration","src":"4840:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4863:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4850:12:181"},"nodeType":"YulFunctionCall","src":"4850:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"4844:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4889:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4891:16:181"},"nodeType":"YulFunctionCall","src":"4891:18:181"},"nodeType":"YulExpressionStatement","src":"4891:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4881:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4885:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4878:2:181"},"nodeType":"YulFunctionCall","src":"4878:10:181"},"nodeType":"YulIf","src":"4875:36:181"},{"nodeType":"YulVariableDeclaration","src":"4920:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4934:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4930:3:181"},"nodeType":"YulFunctionCall","src":"4930:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4924:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4946:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4966:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4960:5:181"},"nodeType":"YulFunctionCall","src":"4960:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4950:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4978:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5000:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5024:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"5028:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5020:3:181"},"nodeType":"YulFunctionCall","src":"5020:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5035:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5016:3:181"},"nodeType":"YulFunctionCall","src":"5016:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"5040:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5012:3:181"},"nodeType":"YulFunctionCall","src":"5012:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"5045:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5008:3:181"},"nodeType":"YulFunctionCall","src":"5008:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4996:3:181"},"nodeType":"YulFunctionCall","src":"4996:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4982:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5108:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5110:16:181"},"nodeType":"YulFunctionCall","src":"5110:18:181"},"nodeType":"YulExpressionStatement","src":"5110:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5067:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5079:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5064:2:181"},"nodeType":"YulFunctionCall","src":"5064:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5087:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5099:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5084:2:181"},"nodeType":"YulFunctionCall","src":"5084:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5061:2:181"},"nodeType":"YulFunctionCall","src":"5061:46:181"},"nodeType":"YulIf","src":"5058:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5146:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5150:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5139:6:181"},"nodeType":"YulFunctionCall","src":"5139:22:181"},"nodeType":"YulExpressionStatement","src":"5139:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5177:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"5185:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5170:6:181"},"nodeType":"YulFunctionCall","src":"5170:18:181"},"nodeType":"YulExpressionStatement","src":"5170:18:181"},{"body":{"nodeType":"YulBlock","src":"5234:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5246:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5236:6:181"},"nodeType":"YulFunctionCall","src":"5236:12:181"},"nodeType":"YulExpressionStatement","src":"5236:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5211:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"5215:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5207:3:181"},"nodeType":"YulFunctionCall","src":"5207:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"5220:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5203:3:181"},"nodeType":"YulFunctionCall","src":"5203:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5225:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5200:2:181"},"nodeType":"YulFunctionCall","src":"5200:33:181"},"nodeType":"YulIf","src":"5197:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5276:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5284:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5272:3:181"},"nodeType":"YulFunctionCall","src":"5272:15:181"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"5293:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"5297:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5289:3:181"},"nodeType":"YulFunctionCall","src":"5289:11:181"},{"name":"_3","nodeType":"YulIdentifier","src":"5302:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5259:12:181"},"nodeType":"YulFunctionCall","src":"5259:46:181"},"nodeType":"YulExpressionStatement","src":"5259:46:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5329:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"5337:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5325:3:181"},"nodeType":"YulFunctionCall","src":"5325:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"5342:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5321:3:181"},"nodeType":"YulFunctionCall","src":"5321:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"5347:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5314:6:181"},"nodeType":"YulFunctionCall","src":"5314:35:181"},"nodeType":"YulExpressionStatement","src":"5314:35:181"},{"nodeType":"YulAssignment","src":"5358:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"5368:6:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5358:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4314:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4325:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4337:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4345:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4353:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4361:6:181","type":""}],"src":"4242:1138:181"},{"body":{"nodeType":"YulBlock","src":"5472:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"5518:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5527:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5530:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5520:6:181"},"nodeType":"YulFunctionCall","src":"5520:12:181"},"nodeType":"YulExpressionStatement","src":"5520:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5493:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5502:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5489:3:181"},"nodeType":"YulFunctionCall","src":"5489:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5514:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5485:3:181"},"nodeType":"YulFunctionCall","src":"5485:32:181"},"nodeType":"YulIf","src":"5482:52:181"},{"nodeType":"YulAssignment","src":"5543:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5572:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5553:18:181"},"nodeType":"YulFunctionCall","src":"5553:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5543:6:181"}]},{"nodeType":"YulAssignment","src":"5591:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5624:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5635:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5620:3:181"},"nodeType":"YulFunctionCall","src":"5620:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5601:18:181"},"nodeType":"YulFunctionCall","src":"5601:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5591:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5430:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5441:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5453:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5461:6:181","type":""}],"src":"5385:260:181"},{"body":{"nodeType":"YulBlock","src":"5705:325:181","statements":[{"nodeType":"YulAssignment","src":"5715:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5729:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"5732:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"5725:3:181"},"nodeType":"YulFunctionCall","src":"5725:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5715:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5746:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"5776:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"5782:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5772:3:181"},"nodeType":"YulFunctionCall","src":"5772:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"5750:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5823:31:181","statements":[{"nodeType":"YulAssignment","src":"5825:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5839:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5847:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5835:3:181"},"nodeType":"YulFunctionCall","src":"5835:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5825:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"5803:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5796:6:181"},"nodeType":"YulFunctionCall","src":"5796:26:181"},"nodeType":"YulIf","src":"5793:61:181"},{"body":{"nodeType":"YulBlock","src":"5913:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5934:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5941:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5946:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5937:3:181"},"nodeType":"YulFunctionCall","src":"5937:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5927:6:181"},"nodeType":"YulFunctionCall","src":"5927:31:181"},"nodeType":"YulExpressionStatement","src":"5927:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5978:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5981:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5971:6:181"},"nodeType":"YulFunctionCall","src":"5971:15:181"},"nodeType":"YulExpressionStatement","src":"5971:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6006:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6009:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5999:6:181"},"nodeType":"YulFunctionCall","src":"5999:15:181"},"nodeType":"YulExpressionStatement","src":"5999:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"5869:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5892:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5900:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5889:2:181"},"nodeType":"YulFunctionCall","src":"5889:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5866:2:181"},"nodeType":"YulFunctionCall","src":"5866:38:181"},"nodeType":"YulIf","src":"5863:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"5685:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"5694:6:181","type":""}],"src":"5650:380:181"},{"body":{"nodeType":"YulBlock","src":"6209:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6226:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6237:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6219:6:181"},"nodeType":"YulFunctionCall","src":"6219:21:181"},"nodeType":"YulExpressionStatement","src":"6219:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6260:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6271:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6256:3:181"},"nodeType":"YulFunctionCall","src":"6256:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6276:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6249:6:181"},"nodeType":"YulFunctionCall","src":"6249:30:181"},"nodeType":"YulExpressionStatement","src":"6249:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6299:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6310:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6295:3:181"},"nodeType":"YulFunctionCall","src":"6295:18:181"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"6315:34:181","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6288:6:181"},"nodeType":"YulFunctionCall","src":"6288:62:181"},"nodeType":"YulExpressionStatement","src":"6288:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6370:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6381:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6366:3:181"},"nodeType":"YulFunctionCall","src":"6366:18:181"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"6386:3:181","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6359:6:181"},"nodeType":"YulFunctionCall","src":"6359:31:181"},"nodeType":"YulExpressionStatement","src":"6359:31:181"},{"nodeType":"YulAssignment","src":"6399:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6411:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6422:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6407:3:181"},"nodeType":"YulFunctionCall","src":"6407:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6399:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6186:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6200:4:181","type":""}],"src":"6035:397:181"},{"body":{"nodeType":"YulBlock","src":"6611:251:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6628:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6639:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6621:6:181"},"nodeType":"YulFunctionCall","src":"6621:21:181"},"nodeType":"YulExpressionStatement","src":"6621:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6662:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6673:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6658:3:181"},"nodeType":"YulFunctionCall","src":"6658:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6678:2:181","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6651:6:181"},"nodeType":"YulFunctionCall","src":"6651:30:181"},"nodeType":"YulExpressionStatement","src":"6651:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6701:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6712:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6697:3:181"},"nodeType":"YulFunctionCall","src":"6697:18:181"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"6717:34:181","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6690:6:181"},"nodeType":"YulFunctionCall","src":"6690:62:181"},"nodeType":"YulExpressionStatement","src":"6690:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6772:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6783:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6768:3:181"},"nodeType":"YulFunctionCall","src":"6768:18:181"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"6788:31:181","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6761:6:181"},"nodeType":"YulFunctionCall","src":"6761:59:181"},"nodeType":"YulExpressionStatement","src":"6761:59:181"},{"nodeType":"YulAssignment","src":"6829:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6841:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6852:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6837:3:181"},"nodeType":"YulFunctionCall","src":"6837:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6829:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6588:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6602:4:181","type":""}],"src":"6437:425:181"},{"body":{"nodeType":"YulBlock","src":"7041:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7058:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7069:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7051:6:181"},"nodeType":"YulFunctionCall","src":"7051:21:181"},"nodeType":"YulExpressionStatement","src":"7051:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7092:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7103:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7088:3:181"},"nodeType":"YulFunctionCall","src":"7088:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7108:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7081:6:181"},"nodeType":"YulFunctionCall","src":"7081:30:181"},"nodeType":"YulExpressionStatement","src":"7081:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7131:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7142:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7127:3:181"},"nodeType":"YulFunctionCall","src":"7127:18:181"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"7147:34:181","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7120:6:181"},"nodeType":"YulFunctionCall","src":"7120:62:181"},"nodeType":"YulExpressionStatement","src":"7120:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7202:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7213:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7198:3:181"},"nodeType":"YulFunctionCall","src":"7198:18:181"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"7218:15:181","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7191:6:181"},"nodeType":"YulFunctionCall","src":"7191:43:181"},"nodeType":"YulExpressionStatement","src":"7191:43:181"},{"nodeType":"YulAssignment","src":"7243:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7255:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7266:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7251:3:181"},"nodeType":"YulFunctionCall","src":"7251:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7243:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7018:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7032:4:181","type":""}],"src":"6867:409:181"},{"body":{"nodeType":"YulBlock","src":"7455:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7472:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7483:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7465:6:181"},"nodeType":"YulFunctionCall","src":"7465:21:181"},"nodeType":"YulExpressionStatement","src":"7465:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7506:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7517:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7502:3:181"},"nodeType":"YulFunctionCall","src":"7502:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7522:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7495:6:181"},"nodeType":"YulFunctionCall","src":"7495:30:181"},"nodeType":"YulExpressionStatement","src":"7495:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7545:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7556:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7541:3:181"},"nodeType":"YulFunctionCall","src":"7541:18:181"},{"hexValue":"455243373231456e756d657261626c653a206f776e657220696e646578206f75","kind":"string","nodeType":"YulLiteral","src":"7561:34:181","type":"","value":"ERC721Enumerable: owner index ou"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7534:6:181"},"nodeType":"YulFunctionCall","src":"7534:62:181"},"nodeType":"YulExpressionStatement","src":"7534:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7616:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7627:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7612:3:181"},"nodeType":"YulFunctionCall","src":"7612:18:181"},{"hexValue":"74206f6620626f756e6473","kind":"string","nodeType":"YulLiteral","src":"7632:13:181","type":"","value":"t of bounds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7605:6:181"},"nodeType":"YulFunctionCall","src":"7605:41:181"},"nodeType":"YulExpressionStatement","src":"7605:41:181"},{"nodeType":"YulAssignment","src":"7655:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7667:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7678:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7663:3:181"},"nodeType":"YulFunctionCall","src":"7663:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7655:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7432:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7446:4:181","type":""}],"src":"7281:407:181"},{"body":{"nodeType":"YulBlock","src":"7867:237:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7884:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7895:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7877:6:181"},"nodeType":"YulFunctionCall","src":"7877:21:181"},"nodeType":"YulExpressionStatement","src":"7877:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7918:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7929:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7914:3:181"},"nodeType":"YulFunctionCall","src":"7914:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7934:2:181","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7907:6:181"},"nodeType":"YulFunctionCall","src":"7907:30:181"},"nodeType":"YulExpressionStatement","src":"7907:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7957:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7968:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7953:3:181"},"nodeType":"YulFunctionCall","src":"7953:18:181"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"7973:34:181","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7946:6:181"},"nodeType":"YulFunctionCall","src":"7946:62:181"},"nodeType":"YulExpressionStatement","src":"7946:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8028:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8039:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8024:3:181"},"nodeType":"YulFunctionCall","src":"8024:18:181"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"8044:17:181","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8017:6:181"},"nodeType":"YulFunctionCall","src":"8017:45:181"},"nodeType":"YulExpressionStatement","src":"8017:45:181"},{"nodeType":"YulAssignment","src":"8071:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8083:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8094:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8079:3:181"},"nodeType":"YulFunctionCall","src":"8079:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8071:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7844:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7858:4:181","type":""}],"src":"7693:411:181"},{"body":{"nodeType":"YulBlock","src":"8283:254:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8300:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8311:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8293:6:181"},"nodeType":"YulFunctionCall","src":"8293:21:181"},"nodeType":"YulExpressionStatement","src":"8293:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8334:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8345:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8330:3:181"},"nodeType":"YulFunctionCall","src":"8330:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8350:2:181","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8323:6:181"},"nodeType":"YulFunctionCall","src":"8323:30:181"},"nodeType":"YulExpressionStatement","src":"8323:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8373:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8384:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8369:3:181"},"nodeType":"YulFunctionCall","src":"8369:18:181"},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a20","kind":"string","nodeType":"YulLiteral","src":"8389:34:181","type":"","value":"ERC721PresetMinterPauserAutoId: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8362:6:181"},"nodeType":"YulFunctionCall","src":"8362:62:181"},"nodeType":"YulExpressionStatement","src":"8362:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8444:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8455:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8440:3:181"},"nodeType":"YulFunctionCall","src":"8440:18:181"},{"hexValue":"6d75737420686176652070617573657220726f6c6520746f20756e7061757365","kind":"string","nodeType":"YulLiteral","src":"8460:34:181","type":"","value":"must have pauser role to unpause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8433:6:181"},"nodeType":"YulFunctionCall","src":"8433:62:181"},"nodeType":"YulExpressionStatement","src":"8433:62:181"},{"nodeType":"YulAssignment","src":"8504:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8516:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8527:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8512:3:181"},"nodeType":"YulFunctionCall","src":"8512:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8504:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f3877585dfb2235e1900eee5d9e32a457b9d6148f93823a62cb07ae76c6585a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8260:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8274:4:181","type":""}],"src":"8109:428:181"},{"body":{"nodeType":"YulBlock","src":"8716:234:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8733:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8744:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8726:6:181"},"nodeType":"YulFunctionCall","src":"8726:21:181"},"nodeType":"YulExpressionStatement","src":"8726:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8767:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8778:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8763:3:181"},"nodeType":"YulFunctionCall","src":"8763:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8783:2:181","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8756:6:181"},"nodeType":"YulFunctionCall","src":"8756:30:181"},"nodeType":"YulExpressionStatement","src":"8756:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8806:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8817:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8802:3:181"},"nodeType":"YulFunctionCall","src":"8802:18:181"},{"hexValue":"455243373231456e756d657261626c653a20676c6f62616c20696e646578206f","kind":"string","nodeType":"YulLiteral","src":"8822:34:181","type":"","value":"ERC721Enumerable: global index o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8795:6:181"},"nodeType":"YulFunctionCall","src":"8795:62:181"},"nodeType":"YulExpressionStatement","src":"8795:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8877:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8888:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8873:3:181"},"nodeType":"YulFunctionCall","src":"8873:18:181"},{"hexValue":"7574206f6620626f756e6473","kind":"string","nodeType":"YulLiteral","src":"8893:14:181","type":"","value":"ut of bounds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8866:6:181"},"nodeType":"YulFunctionCall","src":"8866:42:181"},"nodeType":"YulExpressionStatement","src":"8866:42:181"},{"nodeType":"YulAssignment","src":"8917:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8929:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8940:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8925:3:181"},"nodeType":"YulFunctionCall","src":"8925:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8917:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8693:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8707:4:181","type":""}],"src":"8542:408:181"},{"body":{"nodeType":"YulBlock","src":"8987:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9004:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9011:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9016:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9007:3:181"},"nodeType":"YulFunctionCall","src":"9007:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8997:6:181"},"nodeType":"YulFunctionCall","src":"8997:31:181"},"nodeType":"YulExpressionStatement","src":"8997:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9044:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9047:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9037:6:181"},"nodeType":"YulFunctionCall","src":"9037:15:181"},"nodeType":"YulExpressionStatement","src":"9037:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9068:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9071:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9061:6:181"},"nodeType":"YulFunctionCall","src":"9061:15:181"},"nodeType":"YulExpressionStatement","src":"9061:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"8955:127:181"},{"body":{"nodeType":"YulBlock","src":"9261:174:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9278:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9289:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9271:6:181"},"nodeType":"YulFunctionCall","src":"9271:21:181"},"nodeType":"YulExpressionStatement","src":"9271:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9312:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9323:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9308:3:181"},"nodeType":"YulFunctionCall","src":"9308:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9328:2:181","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9301:6:181"},"nodeType":"YulFunctionCall","src":"9301:30:181"},"nodeType":"YulExpressionStatement","src":"9301:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9351:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9362:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9347:3:181"},"nodeType":"YulFunctionCall","src":"9347:18:181"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"9367:26:181","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9340:6:181"},"nodeType":"YulFunctionCall","src":"9340:54:181"},"nodeType":"YulExpressionStatement","src":"9340:54:181"},{"nodeType":"YulAssignment","src":"9403:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9415:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9426:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9411:3:181"},"nodeType":"YulFunctionCall","src":"9411:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9403:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9238:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9252:4:181","type":""}],"src":"9087:348:181"},{"body":{"nodeType":"YulBlock","src":"9614:251:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9631:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9642:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9624:6:181"},"nodeType":"YulFunctionCall","src":"9624:21:181"},"nodeType":"YulExpressionStatement","src":"9624:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9665:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9676:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9661:3:181"},"nodeType":"YulFunctionCall","src":"9661:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9681:2:181","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9654:6:181"},"nodeType":"YulFunctionCall","src":"9654:30:181"},"nodeType":"YulExpressionStatement","src":"9654:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9704:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9715:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9700:3:181"},"nodeType":"YulFunctionCall","src":"9700:18:181"},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a20","kind":"string","nodeType":"YulLiteral","src":"9720:34:181","type":"","value":"ERC721PresetMinterPauserAutoId: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9693:6:181"},"nodeType":"YulFunctionCall","src":"9693:62:181"},"nodeType":"YulExpressionStatement","src":"9693:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9775:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9786:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9771:3:181"},"nodeType":"YulFunctionCall","src":"9771:18:181"},{"hexValue":"6d7573742068617665206d696e74657220726f6c6520746f206d696e74","kind":"string","nodeType":"YulLiteral","src":"9791:31:181","type":"","value":"must have minter role to mint"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9764:6:181"},"nodeType":"YulFunctionCall","src":"9764:59:181"},"nodeType":"YulExpressionStatement","src":"9764:59:181"},{"nodeType":"YulAssignment","src":"9832:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9844:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9855:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9840:3:181"},"nodeType":"YulFunctionCall","src":"9840:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9832:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ea198f3e8a5129d820e5e0bb8ade0f42a56b75e06362ce80ffa86409143aedbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9591:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9605:4:181","type":""}],"src":"9440:425:181"},{"body":{"nodeType":"YulBlock","src":"10044:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10061:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10072:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10054:6:181"},"nodeType":"YulFunctionCall","src":"10054:21:181"},"nodeType":"YulExpressionStatement","src":"10054:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10106:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10091:3:181"},"nodeType":"YulFunctionCall","src":"10091:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10111:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10084:6:181"},"nodeType":"YulFunctionCall","src":"10084:30:181"},"nodeType":"YulExpressionStatement","src":"10084:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10134:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10145:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10130:3:181"},"nodeType":"YulFunctionCall","src":"10130:18:181"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"10150:34:181","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10123:6:181"},"nodeType":"YulFunctionCall","src":"10123:62:181"},"nodeType":"YulExpressionStatement","src":"10123:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10205:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10216:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10201:3:181"},"nodeType":"YulFunctionCall","src":"10201:18:181"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"10221:11:181","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10194:6:181"},"nodeType":"YulFunctionCall","src":"10194:39:181"},"nodeType":"YulExpressionStatement","src":"10194:39:181"},{"nodeType":"YulAssignment","src":"10242:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10254:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10265:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10250:3:181"},"nodeType":"YulFunctionCall","src":"10250:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10242:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10021:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10035:4:181","type":""}],"src":"9870:405:181"},{"body":{"nodeType":"YulBlock","src":"10454:252:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10471:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10482:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10464:6:181"},"nodeType":"YulFunctionCall","src":"10464:21:181"},"nodeType":"YulExpressionStatement","src":"10464:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10505:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10516:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10501:3:181"},"nodeType":"YulFunctionCall","src":"10501:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10521:2:181","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10494:6:181"},"nodeType":"YulFunctionCall","src":"10494:30:181"},"nodeType":"YulExpressionStatement","src":"10494:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10544:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10555:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10540:3:181"},"nodeType":"YulFunctionCall","src":"10540:18:181"},{"hexValue":"4552433732315072657365744d696e7465725061757365724175746f49643a20","kind":"string","nodeType":"YulLiteral","src":"10560:34:181","type":"","value":"ERC721PresetMinterPauserAutoId: "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10533:6:181"},"nodeType":"YulFunctionCall","src":"10533:62:181"},"nodeType":"YulExpressionStatement","src":"10533:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10615:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10626:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10611:3:181"},"nodeType":"YulFunctionCall","src":"10611:18:181"},{"hexValue":"6d75737420686176652070617573657220726f6c6520746f207061757365","kind":"string","nodeType":"YulLiteral","src":"10631:32:181","type":"","value":"must have pauser role to pause"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10604:6:181"},"nodeType":"YulFunctionCall","src":"10604:60:181"},"nodeType":"YulExpressionStatement","src":"10604:60:181"},{"nodeType":"YulAssignment","src":"10673:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10685:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10696:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10681:3:181"},"nodeType":"YulFunctionCall","src":"10681:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10673:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_40c9c95e9f416c51c55d88e1508883bb887c746928503de15b750cf10a750aef__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10431:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10445:4:181","type":""}],"src":"10280:426:181"},{"body":{"nodeType":"YulBlock","src":"10898:283:181","statements":[{"nodeType":"YulVariableDeclaration","src":"10908:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10928:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10922:5:181"},"nodeType":"YulFunctionCall","src":"10922:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10912:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10970:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"10978:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10966:3:181"},"nodeType":"YulFunctionCall","src":"10966:17:181"},{"name":"pos","nodeType":"YulIdentifier","src":"10985:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"10990:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"10944:21:181"},"nodeType":"YulFunctionCall","src":"10944:53:181"},"nodeType":"YulExpressionStatement","src":"10944:53:181"},{"nodeType":"YulVariableDeclaration","src":"11006:29:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11023:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"11028:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11019:3:181"},"nodeType":"YulFunctionCall","src":"11019:16:181"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"11010:5:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11044:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11066:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11060:5:181"},"nodeType":"YulFunctionCall","src":"11060:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"11048:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11108:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"11116:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11104:3:181"},"nodeType":"YulFunctionCall","src":"11104:17:181"},{"name":"end_1","nodeType":"YulIdentifier","src":"11123:5:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"11130:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"11082:21:181"},"nodeType":"YulFunctionCall","src":"11082:57:181"},"nodeType":"YulExpressionStatement","src":"11082:57:181"},{"nodeType":"YulAssignment","src":"11148:27:181","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"11159:5:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"11166:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11155:3:181"},"nodeType":"YulFunctionCall","src":"11155:20:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11148:3:181"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10866:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10871:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10879:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10890:3:181","type":""}],"src":"10711:470:181"},{"body":{"nodeType":"YulBlock","src":"11360:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11377:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11388:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11370:6:181"},"nodeType":"YulFunctionCall","src":"11370:21:181"},"nodeType":"YulExpressionStatement","src":"11370:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11411:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11422:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11407:3:181"},"nodeType":"YulFunctionCall","src":"11407:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11427:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11400:6:181"},"nodeType":"YulFunctionCall","src":"11400:30:181"},"nodeType":"YulExpressionStatement","src":"11400:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11450:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11461:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11446:3:181"},"nodeType":"YulFunctionCall","src":"11446:18:181"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"11466:34:181","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11439:6:181"},"nodeType":"YulFunctionCall","src":"11439:62:181"},"nodeType":"YulExpressionStatement","src":"11439:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11521:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11532:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11517:3:181"},"nodeType":"YulFunctionCall","src":"11517:18:181"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"11537:7:181","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11510:6:181"},"nodeType":"YulFunctionCall","src":"11510:35:181"},"nodeType":"YulExpressionStatement","src":"11510:35:181"},{"nodeType":"YulAssignment","src":"11554:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11566:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11577:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11562:3:181"},"nodeType":"YulFunctionCall","src":"11562:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11554:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11337:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11351:4:181","type":""}],"src":"11186:401:181"},{"body":{"nodeType":"YulBlock","src":"11766:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11794:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11776:6:181"},"nodeType":"YulFunctionCall","src":"11776:21:181"},"nodeType":"YulExpressionStatement","src":"11776:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11828:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11813:3:181"},"nodeType":"YulFunctionCall","src":"11813:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11833:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11806:6:181"},"nodeType":"YulFunctionCall","src":"11806:30:181"},"nodeType":"YulExpressionStatement","src":"11806:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11856:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11867:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11852:3:181"},"nodeType":"YulFunctionCall","src":"11852:18:181"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"11872:34:181","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11845:6:181"},"nodeType":"YulFunctionCall","src":"11845:62:181"},"nodeType":"YulExpressionStatement","src":"11845:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11927:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11938:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11923:3:181"},"nodeType":"YulFunctionCall","src":"11923:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"11943:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11916:6:181"},"nodeType":"YulFunctionCall","src":"11916:34:181"},"nodeType":"YulExpressionStatement","src":"11916:34:181"},{"nodeType":"YulAssignment","src":"11959:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11971:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11982:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11967:3:181"},"nodeType":"YulFunctionCall","src":"11967:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11959:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11743:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11757:4:181","type":""}],"src":"11592:400:181"},{"body":{"nodeType":"YulBlock","src":"12171:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12188:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12199:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12181:6:181"},"nodeType":"YulFunctionCall","src":"12181:21:181"},"nodeType":"YulExpressionStatement","src":"12181:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12222:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12233:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12218:3:181"},"nodeType":"YulFunctionCall","src":"12218:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12238:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12211:6:181"},"nodeType":"YulFunctionCall","src":"12211:30:181"},"nodeType":"YulExpressionStatement","src":"12211:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12261:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12272:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12257:3:181"},"nodeType":"YulFunctionCall","src":"12257:18:181"},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"12277:34:181","type":"","value":"ERC721: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12250:6:181"},"nodeType":"YulFunctionCall","src":"12250:62:181"},"nodeType":"YulExpressionStatement","src":"12250:62:181"},{"nodeType":"YulAssignment","src":"12321:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12344:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12329:3:181"},"nodeType":"YulFunctionCall","src":"12329:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12321:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12148:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12162:4:181","type":""}],"src":"11997:356:181"},{"body":{"nodeType":"YulBlock","src":"12532:178:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12549:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12560:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12542:6:181"},"nodeType":"YulFunctionCall","src":"12542:21:181"},"nodeType":"YulExpressionStatement","src":"12542:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12583:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12594:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12579:3:181"},"nodeType":"YulFunctionCall","src":"12579:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12599:2:181","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12572:6:181"},"nodeType":"YulFunctionCall","src":"12572:30:181"},"nodeType":"YulExpressionStatement","src":"12572:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12622:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12633:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12618:3:181"},"nodeType":"YulFunctionCall","src":"12618:18:181"},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","kind":"string","nodeType":"YulLiteral","src":"12638:30:181","type":"","value":"ERC721: token already minted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12611:6:181"},"nodeType":"YulFunctionCall","src":"12611:58:181"},"nodeType":"YulExpressionStatement","src":"12611:58:181"},{"nodeType":"YulAssignment","src":"12678:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12701:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12686:3:181"},"nodeType":"YulFunctionCall","src":"12686:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12678:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12509:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12523:4:181","type":""}],"src":"12358:352:181"},{"body":{"nodeType":"YulBlock","src":"12889:175:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12906:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12917:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12899:6:181"},"nodeType":"YulFunctionCall","src":"12899:21:181"},"nodeType":"YulExpressionStatement","src":"12899:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12940:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12951:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12936:3:181"},"nodeType":"YulFunctionCall","src":"12936:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"12956:2:181","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12929:6:181"},"nodeType":"YulFunctionCall","src":"12929:30:181"},"nodeType":"YulExpressionStatement","src":"12929:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12979:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12990:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12975:3:181"},"nodeType":"YulFunctionCall","src":"12975:18:181"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"12995:27:181","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12968:6:181"},"nodeType":"YulFunctionCall","src":"12968:55:181"},"nodeType":"YulExpressionStatement","src":"12968:55:181"},{"nodeType":"YulAssignment","src":"13032:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13044:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13055:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13040:3:181"},"nodeType":"YulFunctionCall","src":"13040:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13032:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12866:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12880:4:181","type":""}],"src":"12715:349:181"},{"body":{"nodeType":"YulBlock","src":"13243:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13260:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13271:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13253:6:181"},"nodeType":"YulFunctionCall","src":"13253:21:181"},"nodeType":"YulExpressionStatement","src":"13253:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13294:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13305:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13290:3:181"},"nodeType":"YulFunctionCall","src":"13290:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13310:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13283:6:181"},"nodeType":"YulFunctionCall","src":"13283:30:181"},"nodeType":"YulExpressionStatement","src":"13283:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13344:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13329:3:181"},"nodeType":"YulFunctionCall","src":"13329:18:181"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"13349:34:181","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13322:6:181"},"nodeType":"YulFunctionCall","src":"13322:62:181"},"nodeType":"YulExpressionStatement","src":"13322:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13404:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13415:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13400:3:181"},"nodeType":"YulFunctionCall","src":"13400:18:181"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"13420:20:181","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13393:6:181"},"nodeType":"YulFunctionCall","src":"13393:48:181"},"nodeType":"YulExpressionStatement","src":"13393:48:181"},{"nodeType":"YulAssignment","src":"13450:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13462:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13473:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13458:3:181"},"nodeType":"YulFunctionCall","src":"13458:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13450:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13220:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13234:4:181","type":""}],"src":"13069:414:181"},{"body":{"nodeType":"YulBlock","src":"13520:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13537:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13544:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13549:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13540:3:181"},"nodeType":"YulFunctionCall","src":"13540:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13530:6:181"},"nodeType":"YulFunctionCall","src":"13530:31:181"},"nodeType":"YulExpressionStatement","src":"13530:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13577:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13580:4:181","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13570:6:181"},"nodeType":"YulFunctionCall","src":"13570:15:181"},"nodeType":"YulExpressionStatement","src":"13570:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13601:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13604:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13594:6:181"},"nodeType":"YulFunctionCall","src":"13594:15:181"},"nodeType":"YulExpressionStatement","src":"13594:15:181"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"13488:127:181"},{"body":{"nodeType":"YulBlock","src":"14009:397:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14026:3:181"},{"hexValue":"416363657373436f6e74726f6c3a206163636f756e7420","kind":"string","nodeType":"YulLiteral","src":"14031:25:181","type":"","value":"AccessControl: account "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14019:6:181"},"nodeType":"YulFunctionCall","src":"14019:38:181"},"nodeType":"YulExpressionStatement","src":"14019:38:181"},{"nodeType":"YulVariableDeclaration","src":"14066:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14086:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14080:5:181"},"nodeType":"YulFunctionCall","src":"14080:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"14070:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14128:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"14136:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14124:3:181"},"nodeType":"YulFunctionCall","src":"14124:17:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14147:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"14152:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14143:3:181"},"nodeType":"YulFunctionCall","src":"14143:12:181"},{"name":"length","nodeType":"YulIdentifier","src":"14157:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"14102:21:181"},"nodeType":"YulFunctionCall","src":"14102:62:181"},"nodeType":"YulExpressionStatement","src":"14102:62:181"},{"nodeType":"YulVariableDeclaration","src":"14173:26:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14187:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"14192:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14183:3:181"},"nodeType":"YulFunctionCall","src":"14183:16:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14177:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14219:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"14223:2:181","type":"","value":"23"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14215:3:181"},"nodeType":"YulFunctionCall","src":"14215:11:181"},{"hexValue":"206973206d697373696e6720726f6c6520","kind":"string","nodeType":"YulLiteral","src":"14228:19:181","type":"","value":" is missing role "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14208:6:181"},"nodeType":"YulFunctionCall","src":"14208:40:181"},"nodeType":"YulExpressionStatement","src":"14208:40:181"},{"nodeType":"YulVariableDeclaration","src":"14257:29:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14279:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14273:5:181"},"nodeType":"YulFunctionCall","src":"14273:13:181"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"14261:8:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14321:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"14329:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14317:3:181"},"nodeType":"YulFunctionCall","src":"14317:17:181"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14340:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"14344:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14336:3:181"},"nodeType":"YulFunctionCall","src":"14336:11:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"14349:8:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"14295:21:181"},"nodeType":"YulFunctionCall","src":"14295:63:181"},"nodeType":"YulExpressionStatement","src":"14295:63:181"},{"nodeType":"YulAssignment","src":"14367:33:181","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14382:2:181"},{"name":"length_1","nodeType":"YulIdentifier","src":"14386:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14378:3:181"},"nodeType":"YulFunctionCall","src":"14378:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"14397:2:181","type":"","value":"40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14374:3:181"},"nodeType":"YulFunctionCall","src":"14374:26:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14367:3:181"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13977:3:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13982:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13990:6:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14001:3:181","type":""}],"src":"13620:786:181"},{"body":{"nodeType":"YulBlock","src":"14585:170:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14602:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14613:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14595:6:181"},"nodeType":"YulFunctionCall","src":"14595:21:181"},"nodeType":"YulExpressionStatement","src":"14595:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14636:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14647:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14632:3:181"},"nodeType":"YulFunctionCall","src":"14632:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"14652:2:181","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14625:6:181"},"nodeType":"YulFunctionCall","src":"14625:30:181"},"nodeType":"YulExpressionStatement","src":"14625:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14675:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14686:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14671:3:181"},"nodeType":"YulFunctionCall","src":"14671:18:181"},{"hexValue":"5061757361626c653a206e6f7420706175736564","kind":"string","nodeType":"YulLiteral","src":"14691:22:181","type":"","value":"Pausable: not paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14664:6:181"},"nodeType":"YulFunctionCall","src":"14664:50:181"},"nodeType":"YulExpressionStatement","src":"14664:50:181"},{"nodeType":"YulAssignment","src":"14723:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14735:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14746:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14731:3:181"},"nodeType":"YulFunctionCall","src":"14731:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14723:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14562:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14576:4:181","type":""}],"src":"14411:344:181"},{"body":{"nodeType":"YulBlock","src":"14934:166:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14951:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14962:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14944:6:181"},"nodeType":"YulFunctionCall","src":"14944:21:181"},"nodeType":"YulExpressionStatement","src":"14944:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14985:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14996:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14981:3:181"},"nodeType":"YulFunctionCall","src":"14981:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15001:2:181","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14974:6:181"},"nodeType":"YulFunctionCall","src":"14974:30:181"},"nodeType":"YulExpressionStatement","src":"14974:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15024:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15035:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15020:3:181"},"nodeType":"YulFunctionCall","src":"15020:18:181"},{"hexValue":"5061757361626c653a20706175736564","kind":"string","nodeType":"YulLiteral","src":"15040:18:181","type":"","value":"Pausable: paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15013:6:181"},"nodeType":"YulFunctionCall","src":"15013:46:181"},"nodeType":"YulExpressionStatement","src":"15013:46:181"},{"nodeType":"YulAssignment","src":"15068:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15080:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15091:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15076:3:181"},"nodeType":"YulFunctionCall","src":"15076:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15068:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14911:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14925:4:181","type":""}],"src":"14760:340:181"},{"body":{"nodeType":"YulBlock","src":"15308:286:181","statements":[{"nodeType":"YulVariableDeclaration","src":"15318:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15336:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15341:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15332:3:181"},"nodeType":"YulFunctionCall","src":"15332:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"15345:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15328:3:181"},"nodeType":"YulFunctionCall","src":"15328:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15322:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15363:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15378:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15386:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15374:3:181"},"nodeType":"YulFunctionCall","src":"15374:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15356:6:181"},"nodeType":"YulFunctionCall","src":"15356:34:181"},"nodeType":"YulExpressionStatement","src":"15356:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15410:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15421:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15406:3:181"},"nodeType":"YulFunctionCall","src":"15406:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15430:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"15438:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15426:3:181"},"nodeType":"YulFunctionCall","src":"15426:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15399:6:181"},"nodeType":"YulFunctionCall","src":"15399:43:181"},"nodeType":"YulExpressionStatement","src":"15399:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15462:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15473:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15458:3:181"},"nodeType":"YulFunctionCall","src":"15458:18:181"},{"name":"value2","nodeType":"YulIdentifier","src":"15478:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15451:6:181"},"nodeType":"YulFunctionCall","src":"15451:34:181"},"nodeType":"YulExpressionStatement","src":"15451:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15505:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15516:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15501:3:181"},"nodeType":"YulFunctionCall","src":"15501:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"15521:3:181","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15494:6:181"},"nodeType":"YulFunctionCall","src":"15494:31:181"},"nodeType":"YulExpressionStatement","src":"15494:31:181"},{"nodeType":"YulAssignment","src":"15534:54:181","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"15560:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15572:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"15583:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15568:3:181"},"nodeType":"YulFunctionCall","src":"15568:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"15542:17:181"},"nodeType":"YulFunctionCall","src":"15542:46:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15534:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15253:9:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"15264:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15272:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15280:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15288:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15299:4:181","type":""}],"src":"15105:489:181"},{"body":{"nodeType":"YulBlock","src":"15679:169:181","statements":[{"body":{"nodeType":"YulBlock","src":"15725:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15734:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15737:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15727:6:181"},"nodeType":"YulFunctionCall","src":"15727:12:181"},"nodeType":"YulExpressionStatement","src":"15727:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15700:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"15709:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15696:3:181"},"nodeType":"YulFunctionCall","src":"15696:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"15721:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15692:3:181"},"nodeType":"YulFunctionCall","src":"15692:32:181"},"nodeType":"YulIf","src":"15689:52:181"},{"nodeType":"YulVariableDeclaration","src":"15750:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15769:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15763:5:181"},"nodeType":"YulFunctionCall","src":"15763:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15754:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15812:5:181"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"15788:23:181"},"nodeType":"YulFunctionCall","src":"15788:30:181"},"nodeType":"YulExpressionStatement","src":"15788:30:181"},{"nodeType":"YulAssignment","src":"15827:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"15837:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15827:6:181"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15645:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15656:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15668:6:181","type":""}],"src":"15599:249:181"},{"body":{"nodeType":"YulBlock","src":"16027:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16044:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16055:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16037:6:181"},"nodeType":"YulFunctionCall","src":"16037:21:181"},"nodeType":"YulExpressionStatement","src":"16037:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16078:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16089:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16074:3:181"},"nodeType":"YulFunctionCall","src":"16074:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"16094:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16067:6:181"},"nodeType":"YulFunctionCall","src":"16067:30:181"},"nodeType":"YulExpressionStatement","src":"16067:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16117:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16128:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16113:3:181"},"nodeType":"YulFunctionCall","src":"16113:18:181"},{"hexValue":"4552433732315061757361626c653a20746f6b656e207472616e736665722077","kind":"string","nodeType":"YulLiteral","src":"16133:34:181","type":"","value":"ERC721Pausable: token transfer w"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16106:6:181"},"nodeType":"YulFunctionCall","src":"16106:62:181"},"nodeType":"YulExpressionStatement","src":"16106:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16188:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16199:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16184:3:181"},"nodeType":"YulFunctionCall","src":"16184:18:181"},{"hexValue":"68696c6520706175736564","kind":"string","nodeType":"YulLiteral","src":"16204:13:181","type":"","value":"hile paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16177:6:181"},"nodeType":"YulFunctionCall","src":"16177:41:181"},"nodeType":"YulExpressionStatement","src":"16177:41:181"},{"nodeType":"YulAssignment","src":"16227:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16239:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"16250:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16235:3:181"},"nodeType":"YulFunctionCall","src":"16235:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16227:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_08db93f8e1c3024ee7c131cc7a109eb4e5cb2ff5f9a23b64fb5b344cedec8968__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16004:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16018:4:181","type":""}],"src":"15853:407:181"},{"body":{"nodeType":"YulBlock","src":"16297:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16314:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16321:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16326:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16317:3:181"},"nodeType":"YulFunctionCall","src":"16317:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16307:6:181"},"nodeType":"YulFunctionCall","src":"16307:31:181"},"nodeType":"YulExpressionStatement","src":"16307:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16354:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16357:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16347:6:181"},"nodeType":"YulFunctionCall","src":"16347:15:181"},"nodeType":"YulExpressionStatement","src":"16347:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16378:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16381:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16371:6:181"},"nodeType":"YulFunctionCall","src":"16371:15:181"},"nodeType":"YulExpressionStatement","src":"16371:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"16265:127:181"},{"body":{"nodeType":"YulBlock","src":"16449:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"16508:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16510:16:181"},"nodeType":"YulFunctionCall","src":"16510:18:181"},"nodeType":"YulExpressionStatement","src":"16510:18:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16480:1:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16473:6:181"},"nodeType":"YulFunctionCall","src":"16473:9:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16466:6:181"},"nodeType":"YulFunctionCall","src":"16466:17:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16488:1:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16499:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16495:3:181"},"nodeType":"YulFunctionCall","src":"16495:6:181"},{"name":"x","nodeType":"YulIdentifier","src":"16503:1:181"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"16491:3:181"},"nodeType":"YulFunctionCall","src":"16491:14:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16485:2:181"},"nodeType":"YulFunctionCall","src":"16485:21:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16462:3:181"},"nodeType":"YulFunctionCall","src":"16462:45:181"},"nodeType":"YulIf","src":"16459:71:181"},{"nodeType":"YulAssignment","src":"16539:20:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16554:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"16557:1:181"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"16550:3:181"},"nodeType":"YulFunctionCall","src":"16550:9:181"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"16539:7:181"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16428:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"16431:1:181","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"16437:7:181","type":""}],"src":"16397:168:181"},{"body":{"nodeType":"YulBlock","src":"16618:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"16645:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16647:16:181"},"nodeType":"YulFunctionCall","src":"16647:18:181"},"nodeType":"YulExpressionStatement","src":"16647:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16634:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16641:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16637:3:181"},"nodeType":"YulFunctionCall","src":"16637:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16631:2:181"},"nodeType":"YulFunctionCall","src":"16631:13:181"},"nodeType":"YulIf","src":"16628:39:181"},{"nodeType":"YulAssignment","src":"16676:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16687:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"16690:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16683:3:181"},"nodeType":"YulFunctionCall","src":"16683:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"16676:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16601:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"16604:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"16610:3:181","type":""}],"src":"16570:128:181"},{"body":{"nodeType":"YulBlock","src":"16750:89:181","statements":[{"body":{"nodeType":"YulBlock","src":"16777:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16779:16:181"},"nodeType":"YulFunctionCall","src":"16779:18:181"},"nodeType":"YulExpressionStatement","src":"16779:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16770:5:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16763:6:181"},"nodeType":"YulFunctionCall","src":"16763:13:181"},"nodeType":"YulIf","src":"16760:39:181"},{"nodeType":"YulAssignment","src":"16808:25:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16819:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16830:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16826:3:181"},"nodeType":"YulFunctionCall","src":"16826:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16815:3:181"},"nodeType":"YulFunctionCall","src":"16815:18:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"16808:3:181"}]}]},"name":"decrement_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16732:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"16742:3:181","type":""}],"src":"16703:136:181"},{"body":{"nodeType":"YulBlock","src":"17018:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17035:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17046:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17028:6:181"},"nodeType":"YulFunctionCall","src":"17028:21:181"},"nodeType":"YulExpressionStatement","src":"17028:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17069:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17080:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17065:3:181"},"nodeType":"YulFunctionCall","src":"17065:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17085:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17058:6:181"},"nodeType":"YulFunctionCall","src":"17058:30:181"},"nodeType":"YulExpressionStatement","src":"17058:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17108:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17119:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17104:3:181"},"nodeType":"YulFunctionCall","src":"17104:18:181"},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","kind":"string","nodeType":"YulLiteral","src":"17124:34:181","type":"","value":"Strings: hex length insufficient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17097:6:181"},"nodeType":"YulFunctionCall","src":"17097:62:181"},"nodeType":"YulExpressionStatement","src":"17097:62:181"},{"nodeType":"YulAssignment","src":"17168:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17180:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17191:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17176:3:181"},"nodeType":"YulFunctionCall","src":"17176:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17168:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16995:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17009:4:181","type":""}],"src":"16844:356:181"},{"body":{"nodeType":"YulBlock","src":"17254:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"17276:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"17278:16:181"},"nodeType":"YulFunctionCall","src":"17278:18:181"},"nodeType":"YulExpressionStatement","src":"17278:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17270:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"17273:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17267:2:181"},"nodeType":"YulFunctionCall","src":"17267:8:181"},"nodeType":"YulIf","src":"17264:34:181"},{"nodeType":"YulAssignment","src":"17307:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17319:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"17322:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17315:3:181"},"nodeType":"YulFunctionCall","src":"17315:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"17307:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"17236:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"17239:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"17245:4:181","type":""}],"src":"17205:125:181"},{"body":{"nodeType":"YulBlock","src":"17367:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17384:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17391:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17396:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17387:3:181"},"nodeType":"YulFunctionCall","src":"17387:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17377:6:181"},"nodeType":"YulFunctionCall","src":"17377:31:181"},"nodeType":"YulExpressionStatement","src":"17377:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17424:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17427:4:181","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17417:6:181"},"nodeType":"YulFunctionCall","src":"17417:15:181"},"nodeType":"YulExpressionStatement","src":"17417:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17448:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17451:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17441:6:181"},"nodeType":"YulFunctionCall","src":"17441:15:181"},"nodeType":"YulExpressionStatement","src":"17441:15:181"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"17335:127:181"},{"body":{"nodeType":"YulBlock","src":"17641:243:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17658:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17669:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17651:6:181"},"nodeType":"YulFunctionCall","src":"17651:21:181"},"nodeType":"YulExpressionStatement","src":"17651:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17692:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17703:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17688:3:181"},"nodeType":"YulFunctionCall","src":"17688:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"17708:2:181","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17681:6:181"},"nodeType":"YulFunctionCall","src":"17681:30:181"},"nodeType":"YulExpressionStatement","src":"17681:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17731:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17742:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17727:3:181"},"nodeType":"YulFunctionCall","src":"17727:18:181"},{"hexValue":"455243373231456e756d657261626c653a20636f6e7365637574697665207472","kind":"string","nodeType":"YulLiteral","src":"17747:34:181","type":"","value":"ERC721Enumerable: consecutive tr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17720:6:181"},"nodeType":"YulFunctionCall","src":"17720:62:181"},"nodeType":"YulExpressionStatement","src":"17720:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17802:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17813:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17798:3:181"},"nodeType":"YulFunctionCall","src":"17798:18:181"},{"hexValue":"616e7366657273206e6f7420737570706f72746564","kind":"string","nodeType":"YulLiteral","src":"17818:23:181","type":"","value":"ansfers not supported"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17791:6:181"},"nodeType":"YulFunctionCall","src":"17791:51:181"},"nodeType":"YulExpressionStatement","src":"17791:51:181"},{"nodeType":"YulAssignment","src":"17851:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17863:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"17874:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17859:3:181"},"nodeType":"YulFunctionCall","src":"17859:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17851:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17618:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17632:4:181","type":""}],"src":"17467:417:181"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := 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 copy_memory_to_memory(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 if gt(i, length) { 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(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, 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_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_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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 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_decode_tuple_t_addresst_bool(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(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\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_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"ERC721Enumerable: owner index ou\")\n mstore(add(headStart, 96), \"t of bounds\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f3877585dfb2235e1900eee5d9e32a457b9d6148f93823a62cb07ae76c6585a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 64)\n mstore(add(headStart, 64), \"ERC721PresetMinterPauserAutoId: \")\n mstore(add(headStart, 96), \"must have pauser role to unpause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721Enumerable: global index o\")\n mstore(add(headStart, 96), \"ut of bounds\")\n tail := add(headStart, 128)\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_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__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), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ea198f3e8a5129d820e5e0bb8ade0f42a56b75e06362ce80ffa86409143aedbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721PresetMinterPauserAutoId: \")\n mstore(add(headStart, 96), \"must have minter role to mint\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_40c9c95e9f416c51c55d88e1508883bb887c746928503de15b750cf10a750aef__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 62)\n mstore(add(headStart, 64), \"ERC721PresetMinterPauserAutoId: \")\n mstore(add(headStart, 96), \"must have pauser role to pause\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\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 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_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_08db93f8e1c3024ee7c131cc7a109eb4e5cb2ff5f9a23b64fb5b344cedec8968__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"ERC721Pausable: token transfer w\")\n mstore(add(headStart, 96), \"hile paused\")\n tail := add(headStart, 128)\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_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 53)\n mstore(add(headStart, 64), \"ERC721Enumerable: consecutive tr\")\n mstore(add(headStart, 96), \"ansfers not supported\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101e55760003560e01c80636352211e1161010f578063a22cb465116100a2578063d539139311610071578063d5391393146103f7578063d547741f1461041e578063e63ab1e914610431578063e985e9c51461045857600080fd5b8063a22cb465146103ab578063b88d4fde146103be578063c87b56dd146103d1578063ca15c873146103e457600080fd5b80639010d07c116100de5780639010d07c1461037557806391d148541461038857806395d89b411461039b578063a217fddf146103a357600080fd5b80636352211e146103345780636a6278421461034757806370a082311461035a5780638456cb591461036d57600080fd5b80632f2ff15d1161018757806342842e0e1161015657806342842e0e146102f057806342966c68146103035780634f6ccce7146103165780635c975abb1461032957600080fd5b80632f2ff15d146102af5780632f745c59146102c257806336568abe146102d55780633f4ba83a146102e857600080fd5b8063095ea7b3116101c3578063095ea7b31461025257806318160ddd1461026757806323b872dd14610279578063248a9ca31461028c57600080fd5b806301ffc9a7146101ea57806306fdde0314610212578063081812fc14610227575b600080fd5b6101fd6101f836600461202d565b610494565b60405190151581526020015b60405180910390f35b61021a6104a5565b60405161020991906120a2565b61023a6102353660046120b5565b610537565b6040516001600160a01b039091168152602001610209565b6102656102603660046120ea565b61055e565b005b600a545b604051908152602001610209565b610265610287366004612114565b610679565b61026b61029a3660046120b5565b60009081526020819052604090206001015490565b6102656102bd366004612150565b6106ab565b61026b6102d03660046120ea565b6106d0565b6102656102e3366004612150565b610766565b6102656107e4565b6102656102fe366004612114565b61088c565b6102656103113660046120b5565b6108a7565b61026b6103243660046120b5565b6108d8565b600c5460ff166101fd565b61023a6103423660046120b5565b61096b565b61026561035536600461217c565b6109cb565b61026b61036836600461217c565b610a87565b610265610b0d565b61023a610383366004612197565b610bb1565b6101fd610396366004612150565b610bd0565b61021a610bf9565b61026b600081565b6102656103b93660046121b9565b610c08565b6102656103cc36600461220b565b610c13565b61021a6103df3660046120b5565b610c4b565b61026b6103f23660046120b5565b610cb1565b61026b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61026561042c366004612150565b610cc8565b61026b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101fd6104663660046122e7565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b600061049f82610d86565b92915050565b6060600280546104b490612311565b80601f01602080910402602001604051908101604052809291908181526020018280546104e090612311565b801561052d5780601f106105025761010080835404028352916020019161052d565b820191906000526020600020905b81548152906001019060200180831161051057829003601f168201915b5050505050905090565b600061054282610dab565b506000908152600660205260409020546001600160a01b031690565b60006105698261096b565b9050806001600160a01b0316836001600160a01b031614156105dc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105f857506105f88133610466565b61066a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105d3565b6106748383610e0a565b505050565b610684335b82610e78565b6106a05760405162461bcd60e51b81526004016105d39061234c565b610674838383610ef7565b6000828152602081905260409020600101546106c681611068565b6106748383611072565b60006106db83610a87565b821061073d5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016105d3565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6001600160a01b03811633146107d65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105d3565b6107e08282611094565b5050565b61080e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610bd0565b610882576040805162461bcd60e51b81526020600482015260248101919091527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f20756e706175736560648201526084016105d3565b61088a6110b6565b565b61067483838360405180602001604052806000815250610c13565b6108b03361067e565b6108cc5760405162461bcd60e51b81526004016105d39061234c565b6108d581611108565b50565b60006108e3600a5490565b82106109465760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016105d3565b600a828154811061095957610959612399565b90600052602060002001549050919050565b6000818152600460205260408120546001600160a01b03168061049f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d3565b6109f57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633610bd0565b610a675760405162461bcd60e51b815260206004820152603d60248201527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d7573742068617665206d696e74657220726f6c6520746f206d696e7400000060648201526084016105d3565b610a7981610a74600d5490565b6111ab565b6108d5600d80546001019055565b60006001600160a01b038216610af15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105d3565b506001600160a01b031660009081526005602052604090205490565b610b377f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610bd0565b610ba95760405162461bcd60e51b815260206004820152603e60248201527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f207061757365000060648201526084016105d3565b61088a611344565b6000828152600160205260408120610bc99083611381565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600380546104b490612311565b6107e033838361138d565b610c1d3383610e78565b610c395760405162461bcd60e51b81526004016105d39061234c565b610c458484848461145c565b50505050565b6060610c5682610dab565b6000610c6061148f565b90506000815111610c805760405180602001604052806000815250610bc9565b80610c8a8461149e565b604051602001610c9b9291906123af565b6040516020818303038152906040529392505050565b600081815260016020526040812061049f9061153b565b600082815260208190526040902060010154610ce381611068565b6106748383611094565b610cf78282610bd0565b6107e0576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610d2d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bc9836001600160a01b038416611545565b60006001600160e01b0319821663780e9d6360e01b148061049f575061049f82611594565b6000818152600460205260409020546001600160a01b03166108d55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105d3565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e3f8261096b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610e848361096b565b9050806001600160a01b0316846001600160a01b03161480610ecb57506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b80610eef5750836001600160a01b0316610ee484610537565b6001600160a01b0316145b949350505050565b826001600160a01b0316610f0a8261096b565b6001600160a01b031614610f305760405162461bcd60e51b81526004016105d3906123de565b6001600160a01b038216610f925760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105d3565b610f9f83838360016115d4565b826001600160a01b0316610fb28261096b565b6001600160a01b031614610fd85760405162461bcd60e51b81526004016105d3906123de565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108d581336115e0565b61107c8282610ced565b60008281526001602052604090206106749082610d71565b61109e8282611639565b6000828152600160205260409020610674908261169e565b6110be6116b3565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60006111138261096b565b90506111238160008460016115d4565b61112c8261096b565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0382166112015760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105d3565b6000818152600460205260409020546001600160a01b0316156112665760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d3565b6112746000838360016115d4565b6000818152600460205260409020546001600160a01b0316156112d95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105d3565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61134c6116fc565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110eb3390565b6000610bc98383611742565b816001600160a01b0316836001600160a01b031614156113ef5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105d3565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611467848484610ef7565b6114738484848461176c565b610c455760405162461bcd60e51b81526004016105d390612423565b6060600e80546104b490612311565b606060006114ab83611879565b600101905060008167ffffffffffffffff8111156114cb576114cb6121f5565b6040519080825280601f01601f1916602001820160405280156114f5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461152e57611533565b6114ff565b509392505050565b600061049f825490565b600081815260018301602052604081205461158c5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561049f565b50600061049f565b60006001600160e01b031982166380ac58cd60e01b14806115c557506001600160e01b03198216635b5e139f60e01b145b8061049f575061049f82611951565b610c4584848484611976565b6115ea8282610bd0565b6107e0576115f7816119e9565b6116028360206119fb565b604051602001611613929190612475565b60408051601f198184030181529082905262461bcd60e51b82526105d3916004016120a2565b6116438282610bd0565b156107e0576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bc9836001600160a01b038416611b97565b600c5460ff1661088a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105d3565b600c5460ff161561088a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105d3565b600082600001828154811061175957611759612399565b9060005260206000200154905092915050565b60006001600160a01b0384163b1561186e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906117b09033908990889088906004016124ea565b602060405180830381600087803b1580156117ca57600080fd5b505af19250505080156117fa575060408051601f3d908101601f191682019092526117f791810190612527565b60015b611854573d808015611828576040519150601f19603f3d011682016040523d82523d6000602084013e61182d565b606091505b50805161184c5760405162461bcd60e51b81526004016105d390612423565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610eef565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118b85772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118e4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061190257662386f26fc10000830492506010015b6305f5e100831061191a576305f5e100830492506008015b612710831061192e57612710830492506004015b60648310611940576064830492506002015b600a831061049f5760010192915050565b60006001600160e01b03198216635a05180f60e01b148061049f575061049f82611c8a565b61198284848484611cbf565b600c5460ff1615610c455760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b60648201526084016105d3565b606061049f6001600160a01b03831660145b60606000611a0a83600261255a565b611a15906002612579565b67ffffffffffffffff811115611a2d57611a2d6121f5565b6040519080825280601f01601f191660200182016040528015611a57576020820181803683370190505b509050600360fc1b81600081518110611a7257611a72612399565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611aa157611aa1612399565b60200101906001600160f81b031916908160001a9053506000611ac584600261255a565b611ad0906001612579565b90505b6001811115611b48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b0457611b04612399565b1a60f81b828281518110611b1a57611b1a612399565b60200101906001600160f81b031916908160001a90535060049490941c93611b4181612591565b9050611ad3565b508315610bc95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105d3565b60008181526001830160205260408120548015611c80576000611bbb6001836125a8565b8554909150600090611bcf906001906125a8565b9050818114611c34576000866000018281548110611bef57611bef612399565b9060005260206000200154905080876000018481548110611c1257611c12612399565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c4557611c456125bf565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061049f565b600091505061049f565b60006001600160e01b03198216637965db0b60e01b148061049f57506301ffc9a760e01b6001600160e01b031983161461049f565b611ccb84848484611dff565b6001811115611d3a5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016105d3565b816001600160a01b038516611d9657611d9181600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b611db9565b836001600160a01b0316856001600160a01b031614611db957611db98582611e87565b6001600160a01b038416611dd557611dd081611f24565b611df8565b846001600160a01b0316846001600160a01b031614611df857611df88482611fd3565b5050505050565b6001811115610c45576001600160a01b03841615611e45576001600160a01b03841660009081526005602052604081208054839290611e3f9084906125a8565b90915550505b6001600160a01b03831615610c45576001600160a01b03831660009081526005602052604081208054839290611e7c908490612579565b909155505050505050565b60006001611e9484610a87565b611e9e91906125a8565b600083815260096020526040902054909150808214611ef1576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611f36906001906125a8565b6000838152600b6020526040812054600a8054939450909284908110611f5e57611f5e612399565b9060005260206000200154905080600a8381548110611f7f57611f7f612399565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611fb757611fb76125bf565b6001900381819060005260206000200160009055905550505050565b6000611fde83610a87565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160e01b0319811681146108d557600080fd5b60006020828403121561203f57600080fd5b8135610bc981612017565b60005b8381101561206557818101518382015260200161204d565b83811115610c455750506000910152565b6000815180845261208e81602086016020860161204a565b601f01601f19169290920160200192915050565b602081526000610bc96020830184612076565b6000602082840312156120c757600080fd5b5035919050565b80356001600160a01b03811681146120e557600080fd5b919050565b600080604083850312156120fd57600080fd5b612106836120ce565b946020939093013593505050565b60008060006060848603121561212957600080fd5b612132846120ce565b9250612140602085016120ce565b9150604084013590509250925092565b6000806040838503121561216357600080fd5b82359150612173602084016120ce565b90509250929050565b60006020828403121561218e57600080fd5b610bc9826120ce565b600080604083850312156121aa57600080fd5b50508035926020909101359150565b600080604083850312156121cc57600080fd5b6121d5836120ce565b9150602083013580151581146121ea57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561222157600080fd5b61222a856120ce565b9350612238602086016120ce565b925060408501359150606085013567ffffffffffffffff8082111561225c57600080fd5b818701915087601f83011261227057600080fd5b813581811115612282576122826121f5565b604051601f8201601f19908116603f011681019083821181831017156122aa576122aa6121f5565b816040528281528a60208487010111156122c357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156122fa57600080fd5b612303836120ce565b9150612173602084016120ce565b600181811c9082168061232557607f821691505b6020821081141561234657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600083516123c181846020880161204a565b8351908301906123d581836020880161204a565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516124ad81601785016020880161204a565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516124de81602884016020880161204a565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061251d90830184612076565b9695505050505050565b60006020828403121561253957600080fd5b8151610bc981612017565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561257457612574612544565b500290565b6000821982111561258c5761258c612544565b500190565b6000816125a0576125a0612544565b506000190190565b6000828210156125ba576125ba612544565b500390565b634e487b7160e01b600052603160045260246000fdfea26469706673582212205d765d7a0160dae543f964e070e389c7887bb6a704562ade097627fe595d478464736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1E5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x10F JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x41E JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x3AB JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x3BE JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x3D1 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x388 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x39B JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x6A627842 EQ PUSH2 0x347 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x35A JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x187 JUMPI DUP1 PUSH4 0x42842E0E GT PUSH2 0x156 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x316 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x329 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x1C3 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x252 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x28C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x212 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x227 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FD PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x202D JUMP JUMPDEST PUSH2 0x494 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21A PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x209 SWAP2 SWAP1 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x23A PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x537 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x209 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x20EA JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST STOP JUMPDEST PUSH1 0xA SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x209 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x287 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x679 JUMP JUMPDEST PUSH2 0x26B PUSH2 0x29A CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0x6AB JUMP JUMPDEST PUSH2 0x26B PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x20EA JUMP JUMPDEST PUSH2 0x6D0 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0x766 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x7E4 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x2FE CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x88C JUMP JUMPDEST PUSH2 0x265 PUSH2 0x311 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x8A7 JUMP JUMPDEST PUSH2 0x26B PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND PUSH2 0x1FD JUMP JUMPDEST PUSH2 0x23A PUSH2 0x342 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0x96B JUMP JUMPDEST PUSH2 0x265 PUSH2 0x355 CALLDATASIZE PUSH1 0x4 PUSH2 0x217C JUMP JUMPDEST PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x26B PUSH2 0x368 CALLDATASIZE PUSH1 0x4 PUSH2 0x217C JUMP JUMPDEST PUSH2 0xA87 JUMP JUMPDEST PUSH2 0x265 PUSH2 0xB0D JUMP JUMPDEST PUSH2 0x23A PUSH2 0x383 CALLDATASIZE PUSH1 0x4 PUSH2 0x2197 JUMP JUMPDEST PUSH2 0xBB1 JUMP JUMPDEST PUSH2 0x1FD PUSH2 0x396 CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x21A PUSH2 0xBF9 JUMP JUMPDEST PUSH2 0x26B PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x3B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x21B9 JUMP JUMPDEST PUSH2 0xC08 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x3CC CALLDATASIZE PUSH1 0x4 PUSH2 0x220B JUMP JUMPDEST PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x21A PUSH2 0x3DF CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0xC4B JUMP JUMPDEST PUSH2 0x26B PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x20B5 JUMP JUMPDEST PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0x26B PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x265 PUSH2 0x42C CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0x26B PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A DUP2 JUMP JUMPDEST PUSH2 0x1FD PUSH2 0x466 CALLDATASIZE PUSH1 0x4 PUSH2 0x22E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F DUP3 PUSH2 0xD86 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 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 0x4E0 SWAP1 PUSH2 0x2311 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x52D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x502 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x52D 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 0x510 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x542 DUP3 PUSH2 0xDAB JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x569 DUP3 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x5DC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x5F8 JUMPI POP PUSH2 0x5F8 DUP2 CALLER PUSH2 0x466 JUMP JUMPDEST PUSH2 0x66A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0xE0A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x684 CALLER JUMPDEST DUP3 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x6A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 DUP4 PUSH2 0xEF7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x6C6 DUP2 PUSH2 0x1068 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0x1072 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6DB DUP4 PUSH2 0xA87 JUMP JUMPDEST DUP3 LT PUSH2 0x73D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A206F776E657220696E646578206F75 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x74206F6620626F756E6473 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x7D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x7E0 DUP3 DUP3 PUSH2 0x1094 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x80E PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x882 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D75737420686176652070617573657220726F6C6520746F20756E7061757365 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x88A PUSH2 0x10B6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x8B0 CALLER PUSH2 0x67E JUMP JUMPDEST PUSH2 0x8CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0x8D5 DUP2 PUSH2 0x1108 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E3 PUSH1 0xA SLOAD SWAP1 JUMP JUMPDEST DUP3 LT PUSH2 0x946 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20676C6F62616C20696E646578206F PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7574206F6620626F756E6473 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0xA DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x959 JUMPI PUSH2 0x959 PUSH2 0x2399 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 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x49F 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x9F5 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0xA67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D7573742068617665206D696E74657220726F6C6520746F206D696E74000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0xA79 DUP2 PUSH2 0xA74 PUSH1 0xD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x11AB JUMP JUMPDEST PUSH2 0x8D5 PUSH1 0xD DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAF1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB37 PUSH32 0x65D7A28E3265B37A6474929F336521B332C1681B933F6CB9F3376673440D862A CALLER PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315072657365744D696E7465725061757365724175746F49643A20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D75737420686176652070617573657220726F6C6520746F2070617573650000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x88A PUSH2 0x1344 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xBC9 SWAP1 DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 JUMP JUMPDEST PUSH2 0x7E0 CALLER DUP4 DUP4 PUSH2 0x138D JUMP JUMPDEST PUSH2 0xC1D CALLER DUP4 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x234C JUMP JUMPDEST PUSH2 0xC45 DUP5 DUP5 DUP5 DUP5 PUSH2 0x145C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC56 DUP3 PUSH2 0xDAB JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC60 PUSH2 0x148F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xC80 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xBC9 JUMP JUMPDEST DUP1 PUSH2 0xC8A DUP5 PUSH2 0x149E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC9B SWAP3 SWAP2 SWAP1 PUSH2 0x23AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x49F SWAP1 PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xCE3 DUP2 PUSH2 0x1068 JUMP JUMPDEST PUSH2 0x674 DUP4 DUP4 PUSH2 0x1094 JUMP JUMPDEST PUSH2 0xCF7 DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xD2D CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1594 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8D5 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 PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xE3F DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE84 DUP4 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xECB JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0xEEF JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xEE4 DUP5 PUSH2 0x537 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF0A DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x23DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF92 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0xF9F DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xFB2 DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFD8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x23DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x5 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x8D5 DUP2 CALLER PUSH2 0x15E0 JUMP JUMPDEST PUSH2 0x107C DUP3 DUP3 PUSH2 0xCED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x674 SWAP1 DUP3 PUSH2 0xD71 JUMP JUMPDEST PUSH2 0x109E DUP3 DUP3 PUSH2 0x1639 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x674 SWAP1 DUP3 PUSH2 0x169E JUMP JUMPDEST PUSH2 0x10BE PUSH2 0x16B3 JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1113 DUP3 PUSH2 0x96B JUMP JUMPDEST SWAP1 POP PUSH2 0x1123 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST PUSH2 0x112C DUP3 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x5 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1201 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1266 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 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x1274 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x15D4 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x12D9 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 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x134C PUSH2 0x16FC JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x10EB CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 DUP4 PUSH2 0x1742 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x13EF 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 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1467 DUP5 DUP5 DUP5 PUSH2 0xEF7 JUMP JUMPDEST PUSH2 0x1473 DUP5 DUP5 DUP5 DUP5 PUSH2 0x176C JUMP JUMPDEST PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x2423 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xE DUP1 SLOAD PUSH2 0x4B4 SWAP1 PUSH2 0x2311 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x14AB DUP4 PUSH2 0x1879 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14CB JUMPI PUSH2 0x14CB PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14F5 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x152E JUMPI PUSH2 0x1533 JUMP JUMPDEST PUSH2 0x14FF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x158C JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x49F JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x15C5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1951 JUMP JUMPDEST PUSH2 0xC45 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1976 JUMP JUMPDEST PUSH2 0x15EA DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST PUSH2 0x7E0 JUMPI PUSH2 0x15F7 DUP2 PUSH2 0x19E9 JUMP JUMPDEST PUSH2 0x1602 DUP4 PUSH1 0x20 PUSH2 0x19FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1613 SWAP3 SWAP2 SWAP1 PUSH2 0x2475 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x5D3 SWAP2 PUSH1 0x4 ADD PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x1643 DUP3 DUP3 PUSH2 0xBD0 JUMP JUMPDEST ISZERO PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC9 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1B97 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND PUSH2 0x88A 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 0x5D3 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x88A 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 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1759 JUMPI PUSH2 0x1759 PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x186E JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x17B0 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x24EA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x17FA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x17F7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2527 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1854 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x1828 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 0x182D JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D3 SWAP1 PUSH2 0x2423 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0xEEF JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x18B8 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x18E4 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x1902 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x191A JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x192E JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x1940 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x49F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5A05180F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH2 0x49F DUP3 PUSH2 0x1C8A JUMP JUMPDEST PUSH2 0x1982 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1CBF JUMP JUMPDEST PUSH1 0xC SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732315061757361626C653A20746F6B656E207472616E736665722077 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1A1A5B19481C185D5CD959 PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x49F PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1A0A DUP4 PUSH1 0x2 PUSH2 0x255A JUMP JUMPDEST PUSH2 0x1A15 SWAP1 PUSH1 0x2 PUSH2 0x2579 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A2D JUMPI PUSH2 0x1A2D PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1A57 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1A72 JUMPI PUSH2 0x1A72 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1AA1 JUMPI PUSH2 0x1AA1 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x1AC5 DUP5 PUSH1 0x2 PUSH2 0x255A JUMP JUMPDEST PUSH2 0x1AD0 SWAP1 PUSH1 0x1 PUSH2 0x2579 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1B48 JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x1B04 JUMPI PUSH2 0x1B04 PUSH2 0x2399 JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1B1A JUMPI PUSH2 0x1B1A PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1B41 DUP2 PUSH2 0x2591 JUMP JUMPDEST SWAP1 POP PUSH2 0x1AD3 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xBC9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5D3 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x0 PUSH2 0x1BBB PUSH1 0x1 DUP4 PUSH2 0x25A8 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1BCF SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 EQ PUSH2 0x1C34 JUMPI PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1BEF JUMPI PUSH2 0x1BEF PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1C12 JUMPI PUSH2 0x1C12 PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP2 DUP3 MSTORE PUSH1 0x1 DUP9 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP6 SLOAD DUP7 SWAP1 DUP1 PUSH2 0x1C45 JUMPI PUSH2 0x1C45 PUSH2 0x25BF JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x49F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x49F JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x49F JUMP JUMPDEST PUSH2 0x1CCB DUP5 DUP5 DUP5 DUP5 PUSH2 0x1DFF JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1D3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20636F6E7365637574697665207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x185B9CD9995C9CC81B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x5A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5D3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1D96 JUMPI PUSH2 0x1D91 DUP2 PUSH1 0xA DUP1 SLOAD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xC65A7BB8D6351C1CF70C95A316CC6A92839C986682D98BC35F958F4883F9D2A8 ADD SSTORE JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1DB9 JUMPI PUSH2 0x1DB9 DUP6 DUP3 PUSH2 0x1E87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1DD5 JUMPI PUSH2 0x1DD0 DUP2 PUSH2 0x1F24 JUMP JUMPDEST PUSH2 0x1DF8 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1DF8 JUMPI PUSH2 0x1DF8 DUP5 DUP3 PUSH2 0x1FD3 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x1E45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1E3F SWAP1 DUP5 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0xC45 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1E7C SWAP1 DUP5 SWAP1 PUSH2 0x2579 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1E94 DUP5 PUSH2 0xA87 JUMP JUMPDEST PUSH2 0x1E9E SWAP2 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x1EF1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x9 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP4 MSTORE PUSH1 0x8 DUP2 MSTORE DUP4 DUP4 KECCAK256 SWAP2 DUP4 MSTORE MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 PUSH2 0x1F36 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x25A8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xA DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x1F5E JUMPI PUSH2 0x1F5E PUSH2 0x2399 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 PUSH1 0xA DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F7F JUMPI PUSH2 0x1F7F PUSH2 0x2399 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0xB SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP6 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0xA DUP1 SLOAD DUP1 PUSH2 0x1FB7 JUMPI PUSH2 0x1FB7 PUSH2 0x25BF JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDE DUP4 PUSH2 0xA87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE SWAP4 DUP3 MSTORE PUSH1 0x9 SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x8D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x203F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xBC9 DUP2 PUSH2 0x2017 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2065 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x204D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC45 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x208E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x204A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2076 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2106 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2132 DUP5 PUSH2 0x20CE JUMP JUMPDEST SWAP3 POP PUSH2 0x2140 PUSH1 0x20 DUP6 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2173 PUSH1 0x20 DUP5 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x218E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC9 DUP3 PUSH2 0x20CE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21D5 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x21EA 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x222A DUP6 PUSH2 0x20CE JUMP JUMPDEST SWAP4 POP PUSH2 0x2238 PUSH1 0x20 DUP7 ADD PUSH2 0x20CE JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x225C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2282 JUMPI PUSH2 0x2282 PUSH2 0x21F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x22AA JUMPI PUSH2 0x22AA PUSH2 0x21F5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x22C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2303 DUP4 PUSH2 0x20CE JUMP JUMPDEST SWAP2 POP PUSH2 0x2173 PUSH1 0x20 DUP5 ADD PUSH2 0x20CE JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2325 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x2346 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x23C1 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x23D5 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x24AD DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x24DE DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x204A JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x251D SWAP1 DUP4 ADD DUP5 PUSH2 0x2076 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xBC9 DUP2 PUSH2 0x2017 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2574 JUMPI PUSH2 0x2574 PUSH2 0x2544 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x258C JUMPI PUSH2 0x258C PUSH2 0x2544 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x25A0 JUMPI PUSH2 0x25A0 PUSH2 0x2544 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x25BA JUMPI PUSH2 0x25BA PUSH2 0x2544 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D PUSH23 0x5D7A0160DAE543F964E070E389C7887BB6A704562ADE09 PUSH23 0x27FE595D478464736F6C63430008090033000000000000 ","sourceMap":"1138:3261:126:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4151:246;;;;;;:::i;:::-;;:::i;:::-;;;565:14:181;;558:22;540:41;;528:2;513:18;4151:246:126;;;;;;;;2471:98:113;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:181;;;1674:51;;1662:2;1647:18;3935:167:113;1528:203:181;3468:406:113;;;;;;:::i;:::-;;:::i;:::-;;1630:111:118;1717:10;:17;1630:111;;;2319:25:181;;;2307:2;2292:18;1630:111:118;2173:177:181;4612:326:113;;;;;;:::i;:::-;;:::i;4378:129:4:-;;;;;;:::i;:::-;4452:7;4478:12;;;;;;;;;;:22;;;;4378:129;4803:145;;;;;;:::i;:::-;;:::i;1306:253:118:-;;;;;;:::i;:::-;;:::i;5912:214:4:-;;;;;;:::i;:::-;;:::i;3615:182:126:-;;;:::i;5004:179:113:-;;;;;;:::i;:::-;;:::i;531:238:116:-;;;;;;:::i;:::-;;:::i;1813:230:118:-;;;;;;:::i;:::-;;:::i;1615:84:81:-;1685:7;;;;1615:84;;2190:219:113;;;;;;:::i;:::-;;:::i;2627:400:126:-;;;;;;:::i;:::-;;:::i;1929:204:113:-;;;;;;:::i;:::-;;:::i;3231:176:126:-;;;:::i;1431:151:6:-;;;;;;:::i;:::-;;:::i;2895:145:4:-;;;;;;:::i;:::-;;:::i;2633:102:113:-;;;:::i;2027:49:4:-;;2072:4;2027:49;;4169:153:113;;;;;;:::i;:::-;;:::i;5249:314::-;;;;;;:::i;:::-;;:::i;2801:276::-;;;;;;:::i;:::-;;:::i;1750:140:6:-;;;;;;:::i;:::-;;:::i;1332:62:126:-;;1370:24;1332:62;;5228:147:4;;;;;;:::i;:::-;;:::i;1400:62:126:-;;1438:24;1400:62;;4388:162:113;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:113;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;4151:246:126;4327:4;4354:36;4378:11;4354:23;:36::i;:::-;4347:43;4151:246;-1:-1:-1;;4151:246:126:o;2471:98:113:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:113;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:113;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:113;:2;-1:-1:-1;;;;;3605:11:113;;;3597:57;;;;-1:-1:-1;;;3597:57:113;;6237:2:181;3597:57:113;;;6219:21:181;6276:2;6256:18;;;6249:30;6315:34;6295:18;;;6288:62;-1:-1:-1;;;6366:18:181;;;6359:31;6407:19;;3597:57:113;;;;;;;;;719:10:138;-1:-1:-1;;;;;3686:21:113;;;;:62;;-1:-1:-1;3711:37:113;3728:5;719:10:138;4388:162:113;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:113;;6639:2:181;3665:170:113;;;6621:21:181;6678:2;6658:18;;;6651:30;6717:34;6697:18;;;6690:62;6788:31;6768:18;;;6761:59;6837:19;;3665:170:113;6437:425:181;3665:170:113;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:326::-;4801:41;719:10:138;4820:12:113;4834:7;4801:18;:41::i;:::-;4793:99;;;;-1:-1:-1;;;4793:99:113;;;;;;;:::i;:::-;4903:28;4913:4;4919:2;4923:7;4903:9;:28::i;4803:145:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4916:25:::1;4927:4;4933:7;4916:10;:25::i;1306:253:118:-:0;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;-1:-1:-1;;;1422:87:118;;7483:2:181;1422:87:118;;;7465:21:181;7522:2;7502:18;;;7495:30;7561:34;7541:18;;;7534:62;-1:-1:-1;;;7612:18:181;;;7605:41;7663:19;;1422:87:118;7281:407:181;1422:87:118;-1:-1:-1;;;;;;1526:19:118;;;;;;;;:12;:19;;;;;;;;:26;;;;;;;;;1306:253::o;5912:214:4:-;-1:-1:-1;;;;;6007:23:4;;719:10:138;6007:23:4;5999:83;;;;-1:-1:-1;;;5999:83:4;;7895:2:181;5999:83:4;;;7877:21:181;7934:2;7914:18;;;7907:30;7973:34;7953:18;;;7946:62;-1:-1:-1;;;8024:18:181;;;8017:45;8079:19;;5999:83:4;7693:411:181;5999:83:4;6093:26;6105:4;6111:7;6093:11;:26::i;:::-;5912:214;;:::o;3615:182:126:-;3667:34;1438:24;719:10:138;2895:145:4;:::i;3667:34:126:-;3659:111;;;;;-1:-1:-1;;;3659:111:126;;8311:2:181;3659:111:126;;;8293:21:181;8330:18;;;8323:30;;;;8389:34;8369:18;;;8362:62;8460:34;8440:18;;;8433:62;8512:19;;3659:111:126;8109:428:181;3659:111:126;3780:10;:8;:10::i;:::-;3615:182::o;5004:179:113:-;5137:39;5154:4;5160:2;5164:7;5137:39;;;;;;;;;;;;:16;:39::i;531:238:116:-;647:41;719:10:138;666:12:116;640:96:138;647:41:116;639:99;;;;-1:-1:-1;;;639:99:116;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;1813:230:118:-;1888:7;1923:30;1717:10;:17;;1630:111;1923:30;1915:5;:38;1907:95;;;;-1:-1:-1;;;1907:95:118;;8744:2:181;1907:95:118;;;8726:21:181;8783:2;8763:18;;;8756:30;8822:34;8802:18;;;8795:62;-1:-1:-1;;;8873:18:181;;;8866:42;8925:19;;1907:95:118;8542:408:181;1907:95:118;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;2012:24;;1813:230;;;:::o;2190:219:113:-;2262:7;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;;2324:56;;;;-1:-1:-1;;;2324:56:113;;9289:2:181;2324:56:113;;;9271:21:181;9328:2;9308:18;;;9301:30;-1:-1:-1;;;9347:18:181;;;9340:54;9411:18;;2324:56:113;9087:348:181;2627:400:126;2686:34;1370:24;719:10:138;2895:145:4;:::i;2686:34:126:-;2678:108;;;;-1:-1:-1;;;2678:108:126;;9642:2:181;2678:108:126;;;9624:21:181;9681:2;9661:18;;;9654:30;9720:34;9700:18;;;9693:62;9791:31;9771:18;;;9764:59;9840:19;;2678:108:126;9440:425:181;2678:108:126;2947:36;2953:2;2957:25;:15;918:14:139;;827:112;2957:25:126;2947:5;:36::i;:::-;2993:27;:15;1032:19:139;;1050:1;1032:19;;;945:123;1929:204:113;2001:7;-1:-1:-1;;;;;2028:19:113;;2020:73;;;;-1:-1:-1;;;2020:73:113;;10072:2:181;2020:73:113;;;10054:21:181;10111:2;10091:18;;;10084:30;10150:34;10130:18;;;10123:62;-1:-1:-1;;;10201:18:181;;;10194:39;10250:19;;2020:73:113;9870:405:181;2020:73:113;-1:-1:-1;;;;;;2110:16:113;;;;;:9;:16;;;;;;;1929:204::o;3231:176:126:-;3281:34;1438:24;719:10:138;2895:145:4;:::i;3281:34:126:-;3273:109;;;;-1:-1:-1;;;3273:109:126;;10482:2:181;3273:109:126;;;10464:21:181;10521:2;10501:18;;;10494:30;10560:34;10540:18;;;10533:62;10631:32;10611:18;;;10604:60;10681:19;;3273:109:126;10280:426:181;3273:109:126;3392:8;:6;:8::i;1431:151:6:-;1521:7;1547:18;;;:12;:18;;;;;:28;;1569:5;1547:21;:28::i;:::-;1540:35;1431:151;-1:-1:-1;;;1431:151:6:o;2895:145:4:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:4;;;;;;;;;;;;;;;2895:145::o;2633:102:113:-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:138;4296:8:113;4306;4263:18;:52::i;5249:314::-;5417:41;719:10:138;5450:7:113;5417:18;:41::i;:::-;5409:99;;;;-1:-1:-1;;;5409:99:113;;;;;;;:::i;:::-;5518:38;5532:4;5538:2;5542:7;5551:4;5518:13;:38::i;:::-;5249:314;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2977:93;2801:276;-1:-1:-1;;;2801:276:113:o;1750:140:6:-;1830:7;1856:18;;;:12;:18;;;;;:27;;:25;:27::i;5228:147:4:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5342:26:::1;5354:4;5360:7;5342:11;:26::i;7461:233::-:0;7544:22;7552:4;7558:7;7544;:22::i;:::-;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:4;;;;;;;;;:36;;-1:-1:-1;;7582:36:4;7614:4;7582:36;;;7664:12;719:10:138;;640:96;7664:12:4;-1:-1:-1;;;;;7637:40:4;7655:7;-1:-1:-1;;;;;7637:40:4;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;8297:150:168:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:168;;8390:4;:50::i;1005:222:118:-;1107:4;-1:-1:-1;;;;;;1130:50:118;;-1:-1:-1;;;1130:50:118;;:90;;;1184:36;1208:11;1184:23;:36::i;13466:133:113:-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;13539:53;;;;-1:-1:-1;;;13539:53:113;;9289:2:181;13539:53:113;;;9271:21:181;9328:2;9308:18;;;9301:30;-1:-1:-1;;;9347:18:181;;;9340:54;9411:18;;13539:53:113;9087:348:181;12768:171:113;12842:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12842:29:113;-1:-1:-1;;;;;12842:29:113;;;;;;;;:24;;12895:23;12842:24;12895:14;:23::i;:::-;-1:-1:-1;;;;;12886:46:113;;;;;;;;;;;12768:171;;:::o;7540:261::-;7633:4;7649:13;7665:23;7680:7;7665:14;:23::i;:::-;7649:39;;7717:5;-1:-1:-1;;;;;7706:16:113;:7;-1:-1:-1;;;;;7706:16:113;;:52;;;-1:-1:-1;;;;;;4508:25:113;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7726:32;7706:87;;;;7786:7;-1:-1:-1;;;;;7762:31:113;:20;7774:7;7762:11;:20::i;:::-;-1:-1:-1;;;;;7762:31:113;;7706:87;7698:96;7540:261;-1:-1:-1;;;;7540:261:113:o;11423:1233::-;11577:4;-1:-1:-1;;;;;11550:31:113;:23;11565:7;11550:14;:23::i;:::-;-1:-1:-1;;;;;11550:31:113;;11542:81;;;;-1:-1:-1;;;11542:81:113;;;;;;;:::i;:::-;-1:-1:-1;;;;;11641:16:113;;11633:65;;;;-1:-1:-1;;;11633:65:113;;11794:2:181;11633:65:113;;;11776:21:181;11833:2;11813:18;;;11806:30;11872:34;11852:18;;;11845:62;-1:-1:-1;;;11923:18:181;;;11916:34;11967:19;;11633:65:113;11592:400:181;11633:65:113;11709:42;11730:4;11736:2;11740:7;11749:1;11709:20;:42::i;:::-;11878:4;-1:-1:-1;;;;;11851:31:113;:23;11866:7;11851:14;:23::i;:::-;-1:-1:-1;;;;;11851:31:113;;11843:81;;;;-1:-1:-1;;;11843:81:113;;;;;;;:::i;:::-;11993:24;;;;:15;:24;;;;;;;;11986:31;;-1:-1:-1;;;;;;11986:31:113;;;;;;-1:-1:-1;;;;;12461:15:113;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12461:20:113;;;12495:13;;;;;;;;;:18;;11986:31;12495:18;;;12533:16;;;:7;:16;;;;;;:21;;;;;;;;;;12570:27;;12009:7;;12570:27;;;3538:336;3468:406;;:::o;3334:103:4:-;3400:30;3411:4;719:10:138;3400::4;:30::i;1978:166:6:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106:18;;;;:12;:18;;;;;:31;;2129:7;2106:22;:31::i;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:18;;;;:12;:18;;;;;:34;;2389:7;2363:25;:34::i;2433:117:81:-;1486:16;:14;:16::i;:::-;2491:7:::1;:15:::0;;-1:-1:-1;;2491:15:81::1;::::0;;2521:22:::1;719:10:138::0;2530:12:81::1;2521:22;::::0;-1:-1:-1;;;;;1692:32:181;;;1674:51;;1662:2;1647:18;2521:22:81::1;;;;;;;2433:117::o:0;10337:762:113:-;10396:13;10412:23;10427:7;10412:14;:23::i;:::-;10396:39;;10446:51;10467:5;10482:1;10486:7;10495:1;10446:20;:51::i;:::-;10607:23;10622:7;10607:14;:23::i;:::-;10675:24;;;;:15;:24;;;;;;;;10668:31;;-1:-1:-1;;;;;;10668:31:113;;;;;;-1:-1:-1;;;;;10915:16:113;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10915:21:113;;;10963:16;;;:7;:16;;;;;;10956:23;;;;;;;10995:36;10599:31;;-1:-1:-1;10691:7:113;;10995:36;;10675:24;;10995:36;5912:214:4;;:::o;9091:920:113:-;-1:-1:-1;;;;;9170:16:113;;9162:61;;;;-1:-1:-1;;;9162:61:113;;12199:2:181;9162:61:113;;;12181:21:181;;;12218:18;;;12211:30;12277:34;12257:18;;;12250:62;12329:18;;9162:61:113;11997:356:181;9162:61:113;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;7344:31;9233:58;;;;-1:-1:-1;;;9233:58:113;;12560:2:181;9233:58:113;;;12542:21:181;12599:2;12579:18;;;12572:30;12638;12618:18;;;12611:58;12686:18;;9233:58:113;12358:352:181;9233:58:113;9302:48;9331:1;9335:2;9339:7;9348:1;9302:20;:48::i;:::-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:113;7344:31;9437:58;;;;-1:-1:-1;;;9437:58:113;;12560:2:181;9437:58:113;;;12542:21:181;12599:2;12579:18;;;12572:30;12638;12618:18;;;12611:58;12686:18;;9437:58:113;12358:352:181;9437:58:113;-1:-1:-1;;;;;9837:13:113;;;;;;:9;:13;;;;;;;;:18;;9854:1;9837:18;;;9876:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9876:21:113;;;;;9913:33;9884:7;;9837:13;;9913:33;;9837:13;;9913:33;5912:214:4;;:::o;2186:115:81:-;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;-1:-1:-1;;2245:14:81::1;2255:4;2245:14;::::0;;2274:20:::1;2281:12;719:10:138::0;;640:96;9555:156:168;9629:7;9679:22;9683:3;9695:5;9679:3;:22::i;13075:307:113:-;13225:8;-1:-1:-1;;;;;13216:17:113;:5;-1:-1:-1;;;;;13216:17:113;;;13208:55;;;;-1:-1:-1;;;13208:55:113;;12917:2:181;13208:55:113;;;12899:21:181;12956:2;12936:18;;;12929:30;12995:27;12975:18;;;12968:55;13040:18;;13208:55:113;12715:349:181;13208:55:113;-1:-1:-1;;;;;13273:25:113;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13273:46:113;;;;;;;;;;13334:41;;540::181;;;13334::113;;513:18:181;13334:41:113;;;;;;;13075:307;;;:::o;6424:305::-;6574:28;6584:4;6590:2;6594:7;6574:9;:28::i;:::-;6620:47;6643:4;6649:2;6653:7;6662:4;6620:22;:47::i;:::-;6612:110;;;;-1:-1:-1;;;6612:110:113;;;;;;;:::i;2140:112:126:-;2200:13;2232;2225:20;;;;;:::i;415:696:143:-;471:13;520:14;537:17;548:5;537:10;:17::i;:::-;557:1;537:21;520:38;;572:20;606:6;595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;595:18:143;-1:-1:-1;572:41:143;-1:-1:-1;733:28:143;;;749:2;733:28;788:280;-1:-1:-1;;819:5:143;-1:-1:-1;;;953:2:143;942:14;;937:30;819:5;924:44;1012:2;1003:11;;;-1:-1:-1;1036:10:143;1032:21;;1048:5;;1032:21;788:280;;;-1:-1:-1;1088:6:143;415:696;-1:-1:-1;;;415:696:143:o;9098:115:168:-;9161:7;9187:19;9195:3;4537:18;;4455:107;2206:404;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:168;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:168;2581:12;;1570:300:113;1672:4;-1:-1:-1;;;;;;1707:40:113;;-1:-1:-1;;;1707:40:113;;:104;;-1:-1:-1;;;;;;;1763:48:113;;-1:-1:-1;;;1763:48:113;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;3803:281:126:-;4016:61;4043:4;4049:2;4053:12;4067:9;4016:26;:61::i;3718:479:4:-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:390;;3989:28;4009:7;3989:19;:28::i;:::-;4088:38;4116:4;4123:2;4088:19;:38::i;:::-;3896:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:252:4;;;;;;;;;;-1:-1:-1;;;3844:336:4;;;;;;;:::i;7865:234::-;7948:22;7956:4;7962:7;7948;:22::i;:::-;7944:149;;;8018:5;7986:12;;;;;;;;;;;-1:-1:-1;;;;;7986:29:4;;;;;;;;;;:37;;-1:-1:-1;;7986:37:4;;;8042:40;719:10:138;;7986:12:4;;8042:40;;8018:5;8042:40;7865:234;;:::o;8615:156:168:-;8688:4;8711:53;8719:3;-1:-1:-1;;;;;8739:23:168;;8711:7;:53::i;1945:106:81:-;1685:7;;;;2003:41;;;;-1:-1:-1;;;2003:41:81;;14613:2:181;2003:41:81;;;14595:21:181;14652:2;14632:18;;;14625:30;-1:-1:-1;;;14671:18:181;;;14664:50;14731:18;;2003:41:81;14411:344:181;1767:106:81;1685:7;;;;1836:9;1828:38;;;;-1:-1:-1;;;1828:38:81;;14962:2:181;1828:38:81;;;14944:21:181;15001:2;14981:18;;;14974:30;-1:-1:-1;;;15020:18:181;;;15013:46;15076:18;;1828:38:81;14760:340:181;4904:118:168;4971:7;4997:3;:11;;5009:5;4997:18;;;;;;;;:::i;:::-;;;;;;;;;4990:25;;4904:118;;;;:::o;14151:831:113:-;14300:4;-1:-1:-1;;;;;14320:13:113;;1465:19:134;:23;14316:660:113;;14355:71;;-1:-1:-1;;;14355:71:113;;-1:-1:-1;;;;;14355:36:113;;;;;:71;;719:10:138;;14406:4:113;;14412:7;;14421:4;;14355:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14355:71:113;;;;;;;;-1:-1:-1;;14355:71:113;;;;;;;;;;;;:::i;:::-;;;14351:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14593:13:113;;14589:321;;14635:60;;-1:-1:-1;;;14635:60:113;;;;;;;:::i;14589:321::-;14862:6;14856:13;14847:6;14843:2;14839:15;14832:38;14351:573;-1:-1:-1;;;;;;14476:51:113;-1:-1:-1;;;14476:51:113;;-1:-1:-1;14469:58:113;;14316:660;-1:-1:-1;14961:4:113;14151:831;;;;;;:::o;9889:890:160:-;9942:7;;-1:-1:-1;;;10017:15:160;;10013:99;;-1:-1:-1;;;10052:15:160;;;-1:-1:-1;10095:2:160;10085:12;10013:99;10138:6;10129:5;:15;10125:99;;10173:6;10164:15;;;-1:-1:-1;10207:2:160;10197:12;10125:99;10250:6;10241:5;:15;10237:99;;10285:6;10276:15;;;-1:-1:-1;10319:2:160;10309:12;10237:99;10362:5;10353;:14;10349:96;;10396:5;10387:14;;;-1:-1:-1;10429:1:160;10419:11;10349:96;10471:5;10462;:14;10458:96;;10505:5;10496:14;;;-1:-1:-1;10538:1:160;10528:11;10458:96;10580:5;10571;:14;10567:96;;10614:5;10605:14;;;-1:-1:-1;10647:1:160;10637:11;10567:96;10689:5;10680;:14;10676:64;;10724:1;10714:11;10766:6;9889:890;-1:-1:-1;;9889:890:160:o;634:212:6:-;719:4;-1:-1:-1;;;;;;742:57:6;;-1:-1:-1;;;742:57:6;;:97;;;803:36;827:11;803:23;:36::i;687:315:119:-;858:61;885:4;891:2;895:12;909:9;858:26;:61::i;:::-;1685:7:81;;;;938:9:119;930:65;;;;-1:-1:-1;;;930:65:119;;16055:2:181;930:65:119;;;16037:21:181;16094:2;16074:18;;;16067:30;16133:34;16113:18;;;16106:62;-1:-1:-1;;;16184:18:181;;;16177:41;16235:19;;930:65:119;15853:407:181;2102:149:143;2160:13;2192:52;-1:-1:-1;;;;;2204:22:143;;311:2;1513:437;1588:13;1613:19;1645:10;1649:6;1645:1;:10;:::i;:::-;:14;;1658:1;1645:14;:::i;:::-;1635:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1635:25:143;;1613:47;;-1:-1:-1;;;1670:6:143;1677:1;1670:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1670:15:143;;;;;;;;;-1:-1:-1;;;1695:6:143;1702:1;1695:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1695:15:143;;;;;;;;-1:-1:-1;1725:9:143;1737:10;1741:6;1737:1;:10;:::i;:::-;:14;;1750:1;1737:14;:::i;:::-;1725:26;;1720:128;1757:1;1753;:5;1720:128;;;-1:-1:-1;;;1800:5:143;1808:3;1800:11;1791:21;;;;;;;:::i;:::-;;;;1779:6;1786:1;1779:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;1779:33:143;;;;;;;;-1:-1:-1;1836:1:143;1826:11;;;;;1760:3;;;:::i;:::-;;;1720:128;;;-1:-1:-1;1865:10:143;;1857:55;;;;-1:-1:-1;;;1857:55:143;;17046:2:181;1857:55:143;;;17028:21:181;;;17065:18;;;17058:30;17124:34;17104:18;;;17097:62;17176:18;;1857:55:143;16844:356:181;2778:1388:168;2844:4;2981:19;;;:12;;;:19;;;;;;3015:15;;3011:1149;;3384:21;3408:14;3421:1;3408:10;:14;:::i;:::-;3456:18;;3384:38;;-1:-1:-1;3436:17:168;;3456:22;;3477:1;;3456:22;:::i;:::-;3436:42;;3510:13;3497:9;:26;3493:398;;3543:17;3563:3;:11;;3575:9;3563:22;;;;;;;;:::i;:::-;;;;;;;;;3543:42;;3714:9;3685:3;:11;;3697:13;3685:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3797:23;;;:12;;;:23;;;;;:36;;;3493:398;3969:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4061:3;:12;;:19;4074:5;4061:19;;;;;;;;;;;4054:26;;;4102:4;4095:11;;;;;;;3011:1149;4144:5;4137:12;;;;;2606:202:4;2691:4;-1:-1:-1;;;;;;2714:47:4;;-1:-1:-1;;;2714:47:4;;:87;;-1:-1:-1;;;;;;;;;;937:40:153;;;2765:36:4;829:155:153;2112:890:118;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;-1:-1:-1;;;2500:63:118;;17669:2:181;2500:63:118;;;17651:21:181;17708:2;17688:18;;;17681:30;17747:34;17727:18;;;17720:62;-1:-1:-1;;;17798:18:181;;;17791:51;17859:19;;2500:63:118;17467:417:181;2355:219:118;2602:12;-1:-1:-1;;;;;2629:18:118;;2625:183;;2663:40;2695:7;3811:10;:17;;3784:24;;;;:15;:24;;;;;:44;;;3838:24;;;;;;;;;;;;3708:161;2663:40;2625:183;;;2732:2;-1:-1:-1;;;;;2724:10:118;:4;-1:-1:-1;;;;;2724:10:118;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;-1:-1:-1;;;;;2821:16:118;;2817:179;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;-1:-1:-1;;;;;2919:10:118;:2;-1:-1:-1;;;;;2919:10:118;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2273:729;2112:890;;;;:::o;15698:396:113:-;15882:1;15870:9;:13;15866:222;;;-1:-1:-1;;;;;15903:18:113;;;15899:85;;-1:-1:-1;;;;;15941:15:113;;;;;;:9;:15;;;;;:28;;15960:9;;15941:15;:28;;15960:9;;15941:28;:::i;:::-;;;;-1:-1:-1;;15899:85:113;-1:-1:-1;;;;;16001:16:113;;;15997:81;;-1:-1:-1;;;;;16037:13:113;;;;;;:9;:13;;;;;:26;;16054:9;;16037:13;:26;;16054:9;;16037:26;:::i;:::-;;;;-1:-1:-1;;15698:396:113;;;;:::o;4486:970:118:-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4809:18;4830:26;;;:17;:26;;;;;;4748:51;;-1:-1:-1;4960:28:118;;;4956:323;;-1:-1:-1;;;;;5026:18:118;;5004:19;5026:18;;;:12;:18;;;;;;;;:34;;;;;;;;;5075:30;;;;;;:44;;;5191:30;;:17;:30;;;;;:43;;;4956:323;-1:-1:-1;5372:26:118;;;;:17;:26;;;;;;;;5365:33;;;-1:-1:-1;;;;;5415:18:118;;;;;:12;:18;;;;;:34;;;;;;;5408:41;4486:970::o;5744:1061::-;6018:10;:17;5993:22;;6018:21;;6038:1;;6018:21;:::i;:::-;6049:18;6070:24;;;:15;:24;;;;;;6438:10;:26;;5993:46;;-1:-1:-1;6070:24:118;;5993:46;;6438:26;;;;;;:::i;:::-;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;;;6579:28;;;:15;:28;;;;;;;:41;;;6748:24;;;;;6741:31;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;-1:-1:-1;;;;;3427:16:118;;;;;;;:12;:16;;;;;;;;:24;;;;;;;;:34;;;3471:26;;;:17;:26;;;;;;:35;;;;-1:-1:-1;3296:217:118:o;14:131:181:-;-1:-1:-1;;;;;;88:32:181;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:181;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:181;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:181:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:181;;1343:180;-1:-1:-1;1343:180:181:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:181;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:181:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;3055:254::-;3123:6;3131;3184:2;3172:9;3163:7;3159:23;3155:32;3152:52;;;3200:1;3197;3190:12;3152:52;3236:9;3223:23;3213:33;;3265:38;3299:2;3288:9;3284:18;3265:38;:::i;:::-;3255:48;;3055:254;;;;;:::o;3314:186::-;3373:6;3426:2;3414:9;3405:7;3401:23;3397:32;3394:52;;;3442:1;3439;3432:12;3394:52;3465:29;3484:9;3465:29;:::i;3505:248::-;3573:6;3581;3634:2;3622:9;3613:7;3609:23;3605:32;3602:52;;;3650:1;3647;3640:12;3602:52;-1:-1:-1;;3673:23:181;;;3743:2;3728:18;;;3715:32;;-1:-1:-1;3505:248:181:o;3758:347::-;3823:6;3831;3884:2;3872:9;3863:7;3859:23;3855:32;3852:52;;;3900:1;3897;3890:12;3852:52;3923:29;3942:9;3923:29;:::i;:::-;3913:39;;4002:2;3991:9;3987:18;3974:32;4049:5;4042:13;4035:21;4028:5;4025:32;4015:60;;4071:1;4068;4061:12;4015:60;4094:5;4084:15;;;3758:347;;;;;:::o;4110:127::-;4171:10;4166:3;4162:20;4159:1;4152:31;4202:4;4199:1;4192:15;4226:4;4223:1;4216:15;4242:1138;4337:6;4345;4353;4361;4414:3;4402:9;4393:7;4389:23;4385:33;4382:53;;;4431:1;4428;4421:12;4382:53;4454:29;4473:9;4454:29;:::i;:::-;4444:39;;4502:38;4536:2;4525:9;4521:18;4502:38;:::i;:::-;4492:48;;4587:2;4576:9;4572:18;4559:32;4549:42;;4642:2;4631:9;4627:18;4614:32;4665:18;4706:2;4698:6;4695:14;4692:34;;;4722:1;4719;4712:12;4692:34;4760:6;4749:9;4745:22;4735:32;;4805:7;4798:4;4794:2;4790:13;4786:27;4776:55;;4827:1;4824;4817:12;4776:55;4863:2;4850:16;4885:2;4881;4878:10;4875:36;;;4891:18;;:::i;:::-;4966:2;4960:9;4934:2;5020:13;;-1:-1:-1;;5016:22:181;;;5040:2;5012:31;5008:40;4996:53;;;5064:18;;;5084:22;;;5061:46;5058:72;;;5110:18;;:::i;:::-;5150:10;5146:2;5139:22;5185:2;5177:6;5170:18;5225:7;5220:2;5215;5211;5207:11;5203:20;5200:33;5197:53;;;5246:1;5243;5236:12;5197:53;5302:2;5297;5293;5289:11;5284:2;5276:6;5272:15;5259:46;5347:1;5342:2;5337;5329:6;5325:15;5321:24;5314:35;5368:6;5358:16;;;;;;;4242:1138;;;;;;;:::o;5385:260::-;5453:6;5461;5514:2;5502:9;5493:7;5489:23;5485:32;5482:52;;;5530:1;5527;5520:12;5482:52;5553:29;5572:9;5553:29;:::i;:::-;5543:39;;5601:38;5635:2;5624:9;5620:18;5601:38;:::i;5650:380::-;5729:1;5725:12;;;;5772;;;5793:61;;5847:4;5839:6;5835:17;5825:27;;5793:61;5900:2;5892:6;5889:14;5869:18;5866:38;5863:161;;;5946:10;5941:3;5937:20;5934:1;5927:31;5981:4;5978:1;5971:15;6009:4;6006:1;5999:15;5863:161;;5650:380;;;:::o;6867:409::-;7069:2;7051:21;;;7108:2;7088:18;;;7081:30;7147:34;7142:2;7127:18;;7120:62;-1:-1:-1;;;7213:2:181;7198:18;;7191:43;7266:3;7251:19;;6867:409::o;8955:127::-;9016:10;9011:3;9007:20;9004:1;8997:31;9047:4;9044:1;9037:15;9071:4;9068:1;9061:15;10711:470;10890:3;10928:6;10922:13;10944:53;10990:6;10985:3;10978:4;10970:6;10966:17;10944:53;:::i;:::-;11060:13;;11019:16;;;;11082:57;11060:13;11019:16;11116:4;11104:17;;11082:57;:::i;:::-;11155:20;;10711:470;-1:-1:-1;;;;10711:470:181:o;11186:401::-;11388:2;11370:21;;;11427:2;11407:18;;;11400:30;11466:34;11461:2;11446:18;;11439:62;-1:-1:-1;;;11532:2:181;11517:18;;11510:35;11577:3;11562:19;;11186:401::o;13069:414::-;13271:2;13253:21;;;13310:2;13290:18;;;13283:30;13349:34;13344:2;13329:18;;13322:62;-1:-1:-1;;;13415:2:181;13400:18;;13393:48;13473:3;13458:19;;13069:414::o;13620:786::-;14031:25;14026:3;14019:38;14001:3;14086:6;14080:13;14102:62;14157:6;14152:2;14147:3;14143:12;14136:4;14128:6;14124:17;14102:62;:::i;:::-;-1:-1:-1;;;14223:2:181;14183:16;;;14215:11;;;14208:40;14273:13;;14295:63;14273:13;14344:2;14336:11;;14329:4;14317:17;;14295:63;:::i;:::-;14378:17;14397:2;14374:26;;13620:786;-1:-1:-1;;;;13620:786:181:o;15105:489::-;-1:-1:-1;;;;;15374:15:181;;;15356:34;;15426:15;;15421:2;15406:18;;15399:43;15473:2;15458:18;;15451:34;;;15521:3;15516:2;15501:18;;15494:31;;;15299:4;;15542:46;;15568:19;;15560:6;15542:46;:::i;:::-;15534:54;15105:489;-1:-1:-1;;;;;;15105:489:181:o;15599:249::-;15668:6;15721:2;15709:9;15700:7;15696:23;15692:32;15689:52;;;15737:1;15734;15727:12;15689:52;15769:9;15763:16;15788:30;15812:5;15788:30;:::i;16265:127::-;16326:10;16321:3;16317:20;16314:1;16307:31;16357:4;16354:1;16347:15;16381:4;16378:1;16371:15;16397:168;16437:7;16503:1;16499;16495:6;16491:14;16488:1;16485:21;16480:1;16473:9;16466:17;16462:45;16459:71;;;16510:18;;:::i;:::-;-1:-1:-1;16550:9:181;;16397:168::o;16570:128::-;16610:3;16641:1;16637:6;16634:1;16631:13;16628:39;;;16647:18;;:::i;:::-;-1:-1:-1;16683:9:181;;16570:128::o;16703:136::-;16742:3;16770:5;16760:39;;16779:18;;:::i;:::-;-1:-1:-1;;;16815:18:181;;16703:136::o;17205:125::-;17245:4;17273:1;17270;17267:8;17264:34;;;17278:18;;:::i;:::-;-1:-1:-1;17315:9:181;;17205:125::o;17335:127::-;17396:10;17391:3;17387:20;17384:1;17377:31;17427:4;17424:1;17417:15;17451:4;17448:1;17441:15"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MINTER_ROLE()":"d5391393","PAUSER_ROLE()":"e63ab1e9","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isApprovedForAll(address,address)":"e985e9c5","mint(address)":"6a627842","name()":"06fdde03","ownerOf(uint256)":"6352211e","pause()":"8456cb59","paused()":"5c975abb","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","unpause()":"3f4ba83a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC721} token, including: - ability for holders to burn (destroy) their tokens - a minter role that allows for token minting (creation) - a pauser role that allows to stop all token transfers - token ID and URI autogeneration This contract uses {AccessControl} to lock permissioned functions using the different roles - head to its documentation for details. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role, which will let it grant both minter and pauser roles to other accounts. _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"constructor\":{\"details\":\"Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the account that deploys the contract. Token URIs will be autogenerated based on `baseURI` and their token IDs. See {ERC721-tokenURI}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mint(address)\":{\"details\":\"Creates a new token for `to`. Its token ID will be automatically assigned (and available on the emitted {IERC721-Transfer} event), and the token URI autogenerated based on the base URI passed at construction. See {ERC721-_mint}. Requirements: - the caller must have the `MINTER_ROLE`.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"pause()\":{\"details\":\"Pauses all token transfers. See {ERC721Pausable} and {Pausable-_pause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Unpauses all token transfers. See {ERC721Pausable} and {Pausable-_unpause}. Requirements: - the caller must have the `PAUSER_ROLE`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol\":\"ERC721PresetMinterPauserAutoId\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"contracts/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"contracts/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol\":{\"keccak256\":\"0xf074cfca02ad2251eb52f6798ddfce396fa4964eb80821928b32a4908599d621\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b101524b4c229ce75ca7668e497c649d49005585497b17a1a89bd6cadb13851\",\"dweb:/ipfs/QmUbcv92jUrfDCHasmFUAShYdWVzhCEgxH2neXPmqAnygK\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol\":{\"keccak256\":\"0x78839555726cc119c98d2588971e15a305573c98f4ff319c865a038d3497f3ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b64d501ff8324e8c07eead79298da4f3e7ab1c3352e01d3ddb800c7f5225f45\",\"dweb:/ipfs/Qmf1NTdYMGzsXxasg5bb5R9iFVVKkbaUy1tPhpJBTT9M2J\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol":{"ERC721Holder":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506101af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004e61003e36600461009d565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200160405180910390f35b80356001600160a01b038116811461008257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156100b357600080fd5b6100bc8561006b565b93506100ca6020860161006b565b925060408501359150606085013567ffffffffffffffff808211156100ee57600080fd5b818701915087601f83011261010257600080fd5b81358181111561011457610114610087565b604051601f8201601f19908116603f0116810190838211818310171561013c5761013c610087565b816040528281528a602084870101111561015557600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220150bd3f307f80abbded8566b5f0db7a8231a3da930d27c5ad1106b6d3bf41c6364736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AF 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 0x150B7A02 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x9D JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC DUP6 PUSH2 0x6B JUMP JUMPDEST SWAP4 POP PUSH2 0xCA PUSH1 0x20 DUP7 ADD PUSH2 0x6B JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x114 PUSH2 0x87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x13C JUMPI PUSH2 0x13C PUSH2 0x87 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO SIGNEXTEND 0xD3 RETURN SMOD 0xF8 EXP 0xBB 0xDE 0xD8 JUMP PUSH12 0x5F0DB7A8231A3DA930D27C5A 0xD1 LT PUSH12 0x6D3BF41C6364736F6C634300 ADDMOD MULMOD STOP CALLER ","sourceMap":"399:391:127:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@onERC721Received_18830":{"entryPoint":null,"id":18830,"parameterSlots":4,"returnSlots":1},"abi_decode_address":{"entryPoint":107,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":157,"id":null,"parameterSlots":2,"returnSlots":4},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":135,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1671:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:181","statements":[{"nodeType":"YulAssignment","src":"73:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:181"},"nodeType":"YulFunctionCall","src":"82:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:181"}]},{"body":{"nodeType":"YulBlock","src":"165:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:181"},"nodeType":"YulFunctionCall","src":"167:12:181"},"nodeType":"YulExpressionStatement","src":"167:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:181"},"nodeType":"YulFunctionCall","src":"146:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:181"},"nodeType":"YulFunctionCall","src":"142:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:181"},"nodeType":"YulFunctionCall","src":"131:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:181"},"nodeType":"YulFunctionCall","src":"121:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:181"},"nodeType":"YulFunctionCall","src":"114:50:181"},"nodeType":"YulIf","src":"111:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:181","type":""}],"src":"14:173:181"},{"body":{"nodeType":"YulBlock","src":"224:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"241:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"248:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"253:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"244:3:181"},"nodeType":"YulFunctionCall","src":"244:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"234:6:181"},"nodeType":"YulFunctionCall","src":"234:31:181"},"nodeType":"YulExpressionStatement","src":"234:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"281:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"284:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"274:6:181"},"nodeType":"YulFunctionCall","src":"274:15:181"},"nodeType":"YulExpressionStatement","src":"274:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"305:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"308:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"298:6:181"},"nodeType":"YulFunctionCall","src":"298:15:181"},"nodeType":"YulExpressionStatement","src":"298:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"192:127:181"},{"body":{"nodeType":"YulBlock","src":"454:1008:181","statements":[{"body":{"nodeType":"YulBlock","src":"501:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"510:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"513:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"503:6:181"},"nodeType":"YulFunctionCall","src":"503:12:181"},"nodeType":"YulExpressionStatement","src":"503:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"475:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"484:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"471:3:181"},"nodeType":"YulFunctionCall","src":"471:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"496:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"467:3:181"},"nodeType":"YulFunctionCall","src":"467:33:181"},"nodeType":"YulIf","src":"464:53:181"},{"nodeType":"YulAssignment","src":"526:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"555:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"536:18:181"},"nodeType":"YulFunctionCall","src":"536:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"526:6:181"}]},{"nodeType":"YulAssignment","src":"574:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"607:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"618:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"603:3:181"},"nodeType":"YulFunctionCall","src":"603:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"584:18:181"},"nodeType":"YulFunctionCall","src":"584:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"574:6:181"}]},{"nodeType":"YulAssignment","src":"631:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"658:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"669:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"654:3:181"},"nodeType":"YulFunctionCall","src":"654:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"641:12:181"},"nodeType":"YulFunctionCall","src":"641:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"631:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"682:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"713:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"724:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"709:3:181"},"nodeType":"YulFunctionCall","src":"709:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"696:12:181"},"nodeType":"YulFunctionCall","src":"696:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"686:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"737:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"747:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"741:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"792:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"801:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"804:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"794:6:181"},"nodeType":"YulFunctionCall","src":"794:12:181"},"nodeType":"YulExpressionStatement","src":"794:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"780:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"788:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"777:2:181"},"nodeType":"YulFunctionCall","src":"777:14:181"},"nodeType":"YulIf","src":"774:34:181"},{"nodeType":"YulVariableDeclaration","src":"817:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"831:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"842:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"827:3:181"},"nodeType":"YulFunctionCall","src":"827:22:181"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"821:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"897:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"906:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"909:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"899:6:181"},"nodeType":"YulFunctionCall","src":"899:12:181"},"nodeType":"YulExpressionStatement","src":"899:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"876:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"880:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"872:3:181"},"nodeType":"YulFunctionCall","src":"872:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"887:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"868:3:181"},"nodeType":"YulFunctionCall","src":"868:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"861:6:181"},"nodeType":"YulFunctionCall","src":"861:35:181"},"nodeType":"YulIf","src":"858:55:181"},{"nodeType":"YulVariableDeclaration","src":"922:26:181","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"945:2:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"932:12:181"},"nodeType":"YulFunctionCall","src":"932:16:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"926:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"971:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"973:16:181"},"nodeType":"YulFunctionCall","src":"973:18:181"},"nodeType":"YulExpressionStatement","src":"973:18:181"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"963:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"967:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"960:2:181"},"nodeType":"YulFunctionCall","src":"960:10:181"},"nodeType":"YulIf","src":"957:36:181"},{"nodeType":"YulVariableDeclaration","src":"1002:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1016:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1012:3:181"},"nodeType":"YulFunctionCall","src":"1012:7:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1006:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1028:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1048:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1042:5:181"},"nodeType":"YulFunctionCall","src":"1042:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1032:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1060:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1082:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1106:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1110:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1102:3:181"},"nodeType":"YulFunctionCall","src":"1102:13:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1117:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1098:3:181"},"nodeType":"YulFunctionCall","src":"1098:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"1122:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1094:3:181"},"nodeType":"YulFunctionCall","src":"1094:31:181"},{"name":"_4","nodeType":"YulIdentifier","src":"1127:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1090:3:181"},"nodeType":"YulFunctionCall","src":"1090:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1078:3:181"},"nodeType":"YulFunctionCall","src":"1078:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1064:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1190:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1192:16:181"},"nodeType":"YulFunctionCall","src":"1192:18:181"},"nodeType":"YulExpressionStatement","src":"1192:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1149:10:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1161:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1146:2:181"},"nodeType":"YulFunctionCall","src":"1146:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1169:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1181:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1166:2:181"},"nodeType":"YulFunctionCall","src":"1166:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1143:2:181"},"nodeType":"YulFunctionCall","src":"1143:46:181"},"nodeType":"YulIf","src":"1140:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1228:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1232:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1221:6:181"},"nodeType":"YulFunctionCall","src":"1221:22:181"},"nodeType":"YulExpressionStatement","src":"1221:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1259:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1267:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1252:6:181"},"nodeType":"YulFunctionCall","src":"1252:18:181"},"nodeType":"YulExpressionStatement","src":"1252:18:181"},{"body":{"nodeType":"YulBlock","src":"1316:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1325:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1328:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1318:6:181"},"nodeType":"YulFunctionCall","src":"1318:12:181"},"nodeType":"YulExpressionStatement","src":"1318:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1293:2:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1297:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1289:3:181"},"nodeType":"YulFunctionCall","src":"1289:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1302:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1285:3:181"},"nodeType":"YulFunctionCall","src":"1285:20:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1307:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1282:2:181"},"nodeType":"YulFunctionCall","src":"1282:33:181"},"nodeType":"YulIf","src":"1279:53:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1358:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1366:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1354:3:181"},"nodeType":"YulFunctionCall","src":"1354:15:181"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1375:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1371:3:181"},"nodeType":"YulFunctionCall","src":"1371:11:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1384:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1341:12:181"},"nodeType":"YulFunctionCall","src":"1341:46:181"},"nodeType":"YulExpressionStatement","src":"1341:46:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1411:6:181"},{"name":"_3","nodeType":"YulIdentifier","src":"1419:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1407:3:181"},"nodeType":"YulFunctionCall","src":"1407:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"1424:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1403:3:181"},"nodeType":"YulFunctionCall","src":"1403:24:181"},{"kind":"number","nodeType":"YulLiteral","src":"1429:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1396:6:181"},"nodeType":"YulFunctionCall","src":"1396:35:181"},"nodeType":"YulExpressionStatement","src":"1396:35:181"},{"nodeType":"YulAssignment","src":"1440:16:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1450:6:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1440:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"396:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"407:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"419:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"427:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"435:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"443:6:181","type":""}],"src":"324:1138:181"},{"body":{"nodeType":"YulBlock","src":"1566:103:181","statements":[{"nodeType":"YulAssignment","src":"1576:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1588:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1599:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1584:3:181"},"nodeType":"YulFunctionCall","src":"1584:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1576:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1618:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1633:6:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1645:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1650:10:181","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1641:3:181"},"nodeType":"YulFunctionCall","src":"1641:20:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1629:3:181"},"nodeType":"YulFunctionCall","src":"1629:33:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1611:6:181"},"nodeType":"YulFunctionCall","src":"1611:52:181"},"nodeType":"YulExpressionStatement","src":"1611:52:181"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1535:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1546:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1557:4:181","type":""}],"src":"1467:202:181"}]},"contents":"{\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 panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, shl(224, 0xffffffff)))\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004e61003e36600461009d565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200160405180910390f35b80356001600160a01b038116811461008257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156100b357600080fd5b6100bc8561006b565b93506100ca6020860161006b565b925060408501359150606085013567ffffffffffffffff808211156100ee57600080fd5b818701915087601f83011261010257600080fd5b81358181111561011457610114610087565b604051601f8201601f19908116603f0116810190838211818310171561013c5761013c610087565b816040528281528a602084870101111561015557600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220150bd3f307f80abbded8566b5f0db7a8231a3da930d27c5ad1106b6d3bf41c6364736f6c63430008090033","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 0x150B7A02 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x9D JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC DUP6 PUSH2 0x6B JUMP JUMPDEST SWAP4 POP PUSH2 0xCA PUSH1 0x20 DUP7 ADD PUSH2 0x6B JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x114 PUSH2 0x87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x13C JUMPI PUSH2 0x13C PUSH2 0x87 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO SIGNEXTEND 0xD3 RETURN SMOD 0xF8 EXP 0xBB 0xDE 0xD8 JUMP PUSH12 0x5F0DB7A8231A3DA930D27C5A 0xD1 LT PUSH12 0x6D3BF41C6364736F6C634300 ADDMOD MULMOD STOP CALLER ","sourceMap":"399:391:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;588:200;;;;;;:::i;:::-;-1:-1:-1;;;588:200:127;;;;;;;;;;-1:-1:-1;;;;;;1629:33:181;;;1611:52;;1599:2;1584:18;588:200:127;;;;;;;14:173:181;82:20;;-1:-1:-1;;;;;131:31:181;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:127::-;253:10;248:3;244:20;241:1;234:31;284:4;281:1;274:15;308:4;305:1;298:15;324:1138;419:6;427;435;443;496:3;484:9;475:7;471:23;467:33;464:53;;;513:1;510;503:12;464:53;536:29;555:9;536:29;:::i;:::-;526:39;;584:38;618:2;607:9;603:18;584:38;:::i;:::-;574:48;;669:2;658:9;654:18;641:32;631:42;;724:2;713:9;709:18;696:32;747:18;788:2;780:6;777:14;774:34;;;804:1;801;794:12;774:34;842:6;831:9;827:22;817:32;;887:7;880:4;876:2;872:13;868:27;858:55;;909:1;906;899:12;858:55;945:2;932:16;967:2;963;960:10;957:36;;;973:18;;:::i;:::-;1048:2;1042:9;1016:2;1102:13;;-1:-1:-1;;1098:22:181;;;1122:2;1094:31;1090:40;1078:53;;;1146:18;;;1166:22;;;1143:46;1140:72;;;1192:18;;:::i;:::-;1232:10;1228:2;1221:22;1267:2;1259:6;1252:18;1307:7;1302:2;1297;1293;1289:11;1285:20;1282:33;1279:53;;;1328:1;1325;1318:12;1279:53;1384:2;1379;1375;1371:11;1366:2;1358:6;1354:15;1341:46;1429:1;1424:2;1419;1411:6;1407:15;1403:24;1396:35;1450:6;1440:16;;;;;;;324:1138;;;;;;;:::o"},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC721Receiver} interface. Accepts all token transfers. Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":\"ERC721Holder\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x0108bf6a6ebd5f96678bed33a35947537263f96766131ee91461fb6485805028\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2d274bf3d56a6d49a9bbd0a4871c54997a82551eb3eb1c0c39dc98698ff8bf\",\"dweb:/ipfs/QmTT7ty5DPGAmRnx94Xu3TUDYGSPDVLN2bppJAjjedrg1e\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol":{"ERC777":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address[]","name":"defaultOperators_","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_18978":{"entryPoint":null,"id":18978,"parameterSlots":3,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":860,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":1009,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"allocate_memory":{"entryPoint":809,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":1352,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":1310,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x32":{"entryPoint":1288,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":787,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3790:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"191:230:181","statements":[{"nodeType":"YulAssignment","src":"201:19:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"217:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"211:5:181"},"nodeType":"YulFunctionCall","src":"211:9:181"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"201:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"229:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"251:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"267:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"273:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:181"},"nodeType":"YulFunctionCall","src":"263:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"282:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"278:3:181"},"nodeType":"YulFunctionCall","src":"278:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"259:3:181"},"nodeType":"YulFunctionCall","src":"259:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"247:3:181"},"nodeType":"YulFunctionCall","src":"247:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"233:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"362:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"364:16:181"},"nodeType":"YulFunctionCall","src":"364:18:181"},"nodeType":"YulExpressionStatement","src":"364:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"305:10:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"325:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"329:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"321:3:181"},"nodeType":"YulFunctionCall","src":"321:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"333:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"317:3:181"},"nodeType":"YulFunctionCall","src":"317:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"341:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"353:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"338:2:181"},"nodeType":"YulFunctionCall","src":"338:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"299:2:181"},"nodeType":"YulFunctionCall","src":"299:62:181"},"nodeType":"YulIf","src":"296:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"400:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"404:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:181"},"nodeType":"YulFunctionCall","src":"393:22:181"},"nodeType":"YulExpressionStatement","src":"393:22:181"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"171:4:181","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"180:6:181","type":""}],"src":"146:275:181"},{"body":{"nodeType":"YulBlock","src":"490:631:181","statements":[{"body":{"nodeType":"YulBlock","src":"539:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"548:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"551:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"541:6:181"},"nodeType":"YulFunctionCall","src":"541:12:181"},"nodeType":"YulExpressionStatement","src":"541:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"518:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"526:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"514:3:181"},"nodeType":"YulFunctionCall","src":"514:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"533:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"510:3:181"},"nodeType":"YulFunctionCall","src":"510:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"503:6:181"},"nodeType":"YulFunctionCall","src":"503:35:181"},"nodeType":"YulIf","src":"500:55:181"},{"nodeType":"YulVariableDeclaration","src":"564:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"580:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"574:5:181"},"nodeType":"YulFunctionCall","src":"574:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"568:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"626:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"628:16:181"},"nodeType":"YulFunctionCall","src":"628:18:181"},"nodeType":"YulExpressionStatement","src":"628:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"602:2:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"614:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"618:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"610:3:181"},"nodeType":"YulFunctionCall","src":"610:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"622:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"606:3:181"},"nodeType":"YulFunctionCall","src":"606:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"599:2:181"},"nodeType":"YulFunctionCall","src":"599:26:181"},"nodeType":"YulIf","src":"596:52:181"},{"nodeType":"YulVariableDeclaration","src":"657:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"667:4:181","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"661:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"680:68:181","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"723:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"727:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"719:3:181"},"nodeType":"YulFunctionCall","src":"719:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"738:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"734:3:181"},"nodeType":"YulFunctionCall","src":"734:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"715:3:181"},"nodeType":"YulFunctionCall","src":"715:27:181"},{"name":"_2","nodeType":"YulIdentifier","src":"744:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"711:3:181"},"nodeType":"YulFunctionCall","src":"711:36:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"695:15:181"},"nodeType":"YulFunctionCall","src":"695:53:181"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"684:7:181","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"764:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"773:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"757:6:181"},"nodeType":"YulFunctionCall","src":"757:19:181"},"nodeType":"YulExpressionStatement","src":"757:19:181"},{"body":{"nodeType":"YulBlock","src":"822:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"831:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"834:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"824:6:181"},"nodeType":"YulFunctionCall","src":"824:12:181"},"nodeType":"YulExpressionStatement","src":"824:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"799:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"807:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"795:3:181"},"nodeType":"YulFunctionCall","src":"795:15:181"},{"name":"_2","nodeType":"YulIdentifier","src":"812:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"791:3:181"},"nodeType":"YulFunctionCall","src":"791:24:181"},{"name":"end","nodeType":"YulIdentifier","src":"817:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"788:2:181"},"nodeType":"YulFunctionCall","src":"788:33:181"},"nodeType":"YulIf","src":"785:53:181"},{"nodeType":"YulVariableDeclaration","src":"847:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"856:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"851:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"912:88:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"941:7:181"},{"name":"i","nodeType":"YulIdentifier","src":"950:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"937:3:181"},"nodeType":"YulFunctionCall","src":"937:15:181"},{"name":"_2","nodeType":"YulIdentifier","src":"954:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"933:3:181"},"nodeType":"YulFunctionCall","src":"933:24:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"973:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"981:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"969:3:181"},"nodeType":"YulFunctionCall","src":"969:14:181"},{"name":"_2","nodeType":"YulIdentifier","src":"985:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"965:3:181"},"nodeType":"YulFunctionCall","src":"965:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"959:5:181"},"nodeType":"YulFunctionCall","src":"959:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"926:6:181"},"nodeType":"YulFunctionCall","src":"926:64:181"},"nodeType":"YulExpressionStatement","src":"926:64:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"877:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"880:2:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"874:2:181"},"nodeType":"YulFunctionCall","src":"874:9:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"884:19:181","statements":[{"nodeType":"YulAssignment","src":"886:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"895:1:181"},{"name":"_2","nodeType":"YulIdentifier","src":"898:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"891:3:181"},"nodeType":"YulFunctionCall","src":"891:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"886:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"870:3:181","statements":[]},"src":"866:134:181"},{"body":{"nodeType":"YulBlock","src":"1030:60:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1059:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1068:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:181"},"nodeType":"YulFunctionCall","src":"1055:16:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1073:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1051:3:181"},"nodeType":"YulFunctionCall","src":"1051:25:181"},{"kind":"number","nodeType":"YulLiteral","src":"1078:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1044:6:181"},"nodeType":"YulFunctionCall","src":"1044:36:181"},"nodeType":"YulExpressionStatement","src":"1044:36:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1015:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1018:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1012:2:181"},"nodeType":"YulFunctionCall","src":"1012:9:181"},"nodeType":"YulIf","src":"1009:81:181"},{"nodeType":"YulAssignment","src":"1099:16:181","value":{"name":"array_1","nodeType":"YulIdentifier","src":"1108:7:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1099:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"464:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"472:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"480:5:181","type":""}],"src":"426:695:181"},{"body":{"nodeType":"YulBlock","src":"1286:1368:181","statements":[{"body":{"nodeType":"YulBlock","src":"1332:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1341:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1344:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1334:6:181"},"nodeType":"YulFunctionCall","src":"1334:12:181"},"nodeType":"YulExpressionStatement","src":"1334:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1307:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1316:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1303:3:181"},"nodeType":"YulFunctionCall","src":"1303:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1328:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1299:3:181"},"nodeType":"YulFunctionCall","src":"1299:32:181"},"nodeType":"YulIf","src":"1296:52:181"},{"nodeType":"YulVariableDeclaration","src":"1357:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1377:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1371:5:181"},"nodeType":"YulFunctionCall","src":"1371:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1361:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1396:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1414:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1418:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1410:3:181"},"nodeType":"YulFunctionCall","src":"1410:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1422:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1406:3:181"},"nodeType":"YulFunctionCall","src":"1406:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1400:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1451:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1460:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1463:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1453:6:181"},"nodeType":"YulFunctionCall","src":"1453:12:181"},"nodeType":"YulExpressionStatement","src":"1453:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1439:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1447:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1436:2:181"},"nodeType":"YulFunctionCall","src":"1436:14:181"},"nodeType":"YulIf","src":"1433:34:181"},{"nodeType":"YulAssignment","src":"1476:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1519:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1530:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1515:3:181"},"nodeType":"YulFunctionCall","src":"1515:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1539:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1486:28:181"},"nodeType":"YulFunctionCall","src":"1486:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1476:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1556:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1566:2:181","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1560:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1577:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1614:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1599:3:181"},"nodeType":"YulFunctionCall","src":"1599:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1593:5:181"},"nodeType":"YulFunctionCall","src":"1593:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1581:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1647:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1656:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1659:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1649:6:181"},"nodeType":"YulFunctionCall","src":"1649:12:181"},"nodeType":"YulExpressionStatement","src":"1649:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1633:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1643:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1630:2:181"},"nodeType":"YulFunctionCall","src":"1630:16:181"},"nodeType":"YulIf","src":"1627:36:181"},{"nodeType":"YulAssignment","src":"1672:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1715:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1726:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1711:3:181"},"nodeType":"YulFunctionCall","src":"1711:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1737:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1682:28:181"},"nodeType":"YulFunctionCall","src":"1682:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1672:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1754:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1780:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1791:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1776:3:181"},"nodeType":"YulFunctionCall","src":"1776:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1770:5:181"},"nodeType":"YulFunctionCall","src":"1770:25:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"1758:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1824:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1833:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1836:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1826:6:181"},"nodeType":"YulFunctionCall","src":"1826:12:181"},"nodeType":"YulExpressionStatement","src":"1826:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"1810:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1820:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1807:2:181"},"nodeType":"YulFunctionCall","src":"1807:16:181"},"nodeType":"YulIf","src":"1804:36:181"},{"nodeType":"YulVariableDeclaration","src":"1849:34:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1863:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"1874:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1859:3:181"},"nodeType":"YulFunctionCall","src":"1859:24:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1853:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1931:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1940:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1943:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1933:6:181"},"nodeType":"YulFunctionCall","src":"1933:12:181"},"nodeType":"YulExpressionStatement","src":"1933:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1910:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"1914:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1906:3:181"},"nodeType":"YulFunctionCall","src":"1906:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1921:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1902:3:181"},"nodeType":"YulFunctionCall","src":"1902:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1895:6:181"},"nodeType":"YulFunctionCall","src":"1895:35:181"},"nodeType":"YulIf","src":"1892:55:181"},{"nodeType":"YulVariableDeclaration","src":"1956:19:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1972:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1966:5:181"},"nodeType":"YulFunctionCall","src":"1966:9:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1960:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1998:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2000:16:181"},"nodeType":"YulFunctionCall","src":"2000:18:181"},"nodeType":"YulExpressionStatement","src":"2000:18:181"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1990:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1994:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1987:2:181"},"nodeType":"YulFunctionCall","src":"1987:10:181"},"nodeType":"YulIf","src":"1984:36:181"},{"nodeType":"YulVariableDeclaration","src":"2029:20:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2043:1:181","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"2046:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2039:3:181"},"nodeType":"YulFunctionCall","src":"2039:10:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"2033:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2058:39:181","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"2089:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2093:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2085:3:181"},"nodeType":"YulFunctionCall","src":"2085:11:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2069:15:181"},"nodeType":"YulFunctionCall","src":"2069:28:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2062:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2106:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"2119:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2110:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2138:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2143:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2131:6:181"},"nodeType":"YulFunctionCall","src":"2131:15:181"},"nodeType":"YulExpressionStatement","src":"2131:15:181"},{"nodeType":"YulAssignment","src":"2155:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2166:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2171:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2162:3:181"},"nodeType":"YulFunctionCall","src":"2162:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2155:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"2183:34:181","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2205:2:181"},{"name":"_5","nodeType":"YulIdentifier","src":"2209:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2201:3:181"},"nodeType":"YulFunctionCall","src":"2201:11:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2214:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2197:3:181"},"nodeType":"YulFunctionCall","src":"2197:20:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2187:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2249:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2258:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2261:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2251:6:181"},"nodeType":"YulFunctionCall","src":"2251:12:181"},"nodeType":"YulExpressionStatement","src":"2251:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2232:6:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2240:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2229:2:181"},"nodeType":"YulFunctionCall","src":"2229:19:181"},"nodeType":"YulIf","src":"2226:39:181"},{"nodeType":"YulVariableDeclaration","src":"2274:22:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2289:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2293:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2285:3:181"},"nodeType":"YulFunctionCall","src":"2285:11:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2278:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2361:263:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2375:23:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2394:3:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2388:5:181"},"nodeType":"YulFunctionCall","src":"2388:10:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2379:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2477:74:181","statements":[{"nodeType":"YulVariableDeclaration","src":"2495:11:181","value":{"kind":"number","nodeType":"YulLiteral","src":"2505:1:181","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"2499:2:181","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"2530:2:181"},{"name":"_6","nodeType":"YulIdentifier","src":"2534:2:181"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2523:6:181"},"nodeType":"YulFunctionCall","src":"2523:14:181"},"nodeType":"YulExpressionStatement","src":"2523:14:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2424:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2435:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2450:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2455:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2446:3:181"},"nodeType":"YulFunctionCall","src":"2446:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"2459:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2442:3:181"},"nodeType":"YulFunctionCall","src":"2442:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2431:3:181"},"nodeType":"YulFunctionCall","src":"2431:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2421:2:181"},"nodeType":"YulFunctionCall","src":"2421:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2414:6:181"},"nodeType":"YulFunctionCall","src":"2414:50:181"},"nodeType":"YulIf","src":"2411:140:181"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2571:3:181"},{"name":"value","nodeType":"YulIdentifier","src":"2576:5:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2564:6:181"},"nodeType":"YulFunctionCall","src":"2564:18:181"},"nodeType":"YulExpressionStatement","src":"2564:18:181"},{"nodeType":"YulAssignment","src":"2595:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2606:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2611:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2602:3:181"},"nodeType":"YulFunctionCall","src":"2602:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2595:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2316:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2321:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2313:2:181"},"nodeType":"YulFunctionCall","src":"2313:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2329:23:181","statements":[{"nodeType":"YulAssignment","src":"2331:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2342:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2347:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2338:3:181"},"nodeType":"YulFunctionCall","src":"2338:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2331:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"2309:3:181","statements":[]},"src":"2305:319:181"},{"nodeType":"YulAssignment","src":"2633:15:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2643:5:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2633:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1236:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1247:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1259:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1267:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1275:6:181","type":""}],"src":"1126:1528:181"},{"body":{"nodeType":"YulBlock","src":"2691:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2708:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2715:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2720:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2711:3:181"},"nodeType":"YulFunctionCall","src":"2711:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2701:6:181"},"nodeType":"YulFunctionCall","src":"2701:31:181"},"nodeType":"YulExpressionStatement","src":"2701:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2748:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2751:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2741:6:181"},"nodeType":"YulFunctionCall","src":"2741:15:181"},"nodeType":"YulExpressionStatement","src":"2741:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2772:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2775:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2765:6:181"},"nodeType":"YulFunctionCall","src":"2765:15:181"},"nodeType":"YulExpressionStatement","src":"2765:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2659:127:181"},{"body":{"nodeType":"YulBlock","src":"2838:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"2877:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2898:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2905:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2910:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2901:3:181"},"nodeType":"YulFunctionCall","src":"2901:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2891:6:181"},"nodeType":"YulFunctionCall","src":"2891:31:181"},"nodeType":"YulExpressionStatement","src":"2891:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2942:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2945:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2935:6:181"},"nodeType":"YulFunctionCall","src":"2935:15:181"},"nodeType":"YulExpressionStatement","src":"2935:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2970:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2973:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2963:6:181"},"nodeType":"YulFunctionCall","src":"2963:15:181"},"nodeType":"YulExpressionStatement","src":"2963:15:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2854:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2865:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2861:3:181"},"nodeType":"YulFunctionCall","src":"2861:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2851:2:181"},"nodeType":"YulFunctionCall","src":"2851:17:181"},"nodeType":"YulIf","src":"2848:140:181"},{"nodeType":"YulAssignment","src":"2997:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3008:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"3015:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3004:3:181"},"nodeType":"YulFunctionCall","src":"3004:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"2997:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2820:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"2830:3:181","type":""}],"src":"2791:232:181"},{"body":{"nodeType":"YulBlock","src":"3185:218:181","statements":[{"nodeType":"YulAssignment","src":"3195:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3207:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3218:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3203:3:181"},"nodeType":"YulFunctionCall","src":"3203:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3195:4:181"}]},{"nodeType":"YulVariableDeclaration","src":"3230:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3248:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3253:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3244:3:181"},"nodeType":"YulFunctionCall","src":"3244:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"3257:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3240:3:181"},"nodeType":"YulFunctionCall","src":"3240:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3234:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3275:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3290:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3298:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3286:3:181"},"nodeType":"YulFunctionCall","src":"3286:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3268:6:181"},"nodeType":"YulFunctionCall","src":"3268:34:181"},"nodeType":"YulExpressionStatement","src":"3268:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3322:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3333:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3318:3:181"},"nodeType":"YulFunctionCall","src":"3318:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"3338:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3311:6:181"},"nodeType":"YulFunctionCall","src":"3311:34:181"},"nodeType":"YulExpressionStatement","src":"3311:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3365:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3376:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3361:3:181"},"nodeType":"YulFunctionCall","src":"3361:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3385:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3393:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3381:3:181"},"nodeType":"YulFunctionCall","src":"3381:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3354:6:181"},"nodeType":"YulFunctionCall","src":"3354:43:181"},"nodeType":"YulExpressionStatement","src":"3354:43:181"}]},"name":"abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3138:9:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3149:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3157:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3165:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3176:4:181","type":""}],"src":"3028:375:181"},{"body":{"nodeType":"YulBlock","src":"3463:325:181","statements":[{"nodeType":"YulAssignment","src":"3473:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3487:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"3490:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"3483:3:181"},"nodeType":"YulFunctionCall","src":"3483:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3473:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"3504:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3534:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"3540:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3530:3:181"},"nodeType":"YulFunctionCall","src":"3530:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"3508:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3581:31:181","statements":[{"nodeType":"YulAssignment","src":"3583:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3597:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3605:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3593:3:181"},"nodeType":"YulFunctionCall","src":"3593:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3583:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3561:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3554:6:181"},"nodeType":"YulFunctionCall","src":"3554:26:181"},"nodeType":"YulIf","src":"3551:61:181"},{"body":{"nodeType":"YulBlock","src":"3671:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3692:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3699:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3704:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3695:3:181"},"nodeType":"YulFunctionCall","src":"3695:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3685:6:181"},"nodeType":"YulFunctionCall","src":"3685:31:181"},"nodeType":"YulExpressionStatement","src":"3685:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3736:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3739:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3729:6:181"},"nodeType":"YulFunctionCall","src":"3729:15:181"},"nodeType":"YulExpressionStatement","src":"3729:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3764:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3767:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3757:6:181"},"nodeType":"YulFunctionCall","src":"3757:15:181"},"nodeType":"YulExpressionStatement","src":"3757:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3627:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3650:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3658:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3647:2:181"},"nodeType":"YulFunctionCall","src":"3647:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3624:2:181"},"nodeType":"YulFunctionCall","src":"3624:38:181"},"nodeType":"YulIf","src":"3621:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"3443:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"3452:6:181","type":""}],"src":"3408:380:181"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n let _2 := 0x20\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), _2))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), _2), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _2) }\n {\n mstore(add(add(array_1, i), _2), mload(add(add(offset, i), _2)))\n }\n if gt(i, _1)\n {\n mstore(add(add(array_1, _1), _2), 0)\n }\n array := array_1\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let _2 := 32\n let offset_1 := mload(add(headStart, _2))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n let _3 := add(headStart, offset_2)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := mload(_3)\n if gt(_4, _1) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let dst := allocate_memory(add(_5, _2))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _2)\n let srcEnd := add(add(_3, _5), _2)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n let value := mload(src)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1))))\n {\n let _6 := 0\n revert(_6, _6)\n }\n mstore(dst, value)\n dst := add(dst, _2)\n }\n value2 := dst_1\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, _1))\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162001bcf38038062001bcf8339810160408190526200003491620003f1565b82516200004990600290602086019062000215565b5081516200005f90600390602085019062000215565b50805162000075906004906020840190620002a4565b5060005b8151811015620000e5576001600560008484815181106200009e576200009e62000508565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000dc816200051e565b91505062000079565b506040516329965a1d60e01b815230600482018190527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce217705460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200016057600080fd5b505af115801562000175573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001f357600080fd5b505af115801562000208573d6000803e3d6000fd5b5050505050505062000585565b828054620002239062000548565b90600052602060002090601f01602090048101928262000247576000855562000292565b82601f106200026257805160ff191683800117855562000292565b8280016001018555821562000292579182015b828111156200029257825182559160200191906001019062000275565b50620002a0929150620002fc565b5090565b82805482825590600052602060002090810192821562000292579160200282015b828111156200029257825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620002c5565b5b80821115620002a05760008155600101620002fd565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000354576200035462000313565b604052919050565b600082601f8301126200036e57600080fd5b81516001600160401b038111156200038a576200038a62000313565b6020620003a0601f8301601f1916820162000329565b8281528582848701011115620003b557600080fd5b60005b83811015620003d5578581018301518282018401528201620003b8565b83811115620003e75760008385840101525b5095945050505050565b6000806000606084860312156200040757600080fd5b83516001600160401b03808211156200041f57600080fd5b6200042d878388016200035c565b94506020915081860151818111156200044557600080fd5b62000453888289016200035c565b9450506040860151818111156200046957600080fd5b8601601f810188136200047b57600080fd5b80518281111562000490576200049062000313565b8060051b9250620004a384840162000329565b818152928201840192848101908a851115620004be57600080fd5b928501925b84841015620004f857835192506001600160a01b0383168314620004e75760008081fd5b8282529285019290850190620004c3565b8096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006000198214156200054157634e487b7160e01b600052601160045260246000fd5b5060010190565b600181811c908216806200055d57607f821691505b602082108114156200057f57634e487b7160e01b600052602260045260246000fd5b50919050565b61163a80620005956000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063959b8c3f116100a2578063d95b637111610071578063d95b63711461022b578063dd62ed3e1461023e578063fad8b32a14610277578063fc673c4f1461028a578063fe9d93031461029d57600080fd5b8063959b8c3f146101ea57806395d89b41146101fd5780639bd9bbc614610205578063a9059cbb1461021857600080fd5b806323b872dd116100e957806323b872dd14610183578063313ce56714610196578063556f0dc7146101a557806362ad1b83146101ac57806370a08231146101c157600080fd5b806306e485381461011b57806306fdde0314610139578063095ea7b31461014e57806318160ddd14610171575b600080fd5b6101236102b0565b60405161013091906110ae565b60405180910390f35b610141610312565b6040516101309190611148565b61016161015c366004611173565b61039b565b6040519015158152602001610130565b6001545b604051908152602001610130565b61016161019136600461119f565b6103b3565b60405160128152602001610130565b6001610175565b6101bf6101ba366004611283565b6103f9565b005b6101756101cf366004611316565b6001600160a01b031660009081526020819052604090205490565b6101bf6101f8366004611316565b61043e565b61014161055c565b6101bf610213366004611333565b61056b565b610161610226366004611173565b61058e565b61016161023936600461138c565b6105c6565b61017561024c36600461138c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6101bf610285366004611316565b610668565b6101bf6102983660046113c5565b610784565b6101bf6102ab366004611445565b6107bc565b6060600480548060200260200160405190810160405280929190818152602001828054801561030857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102ea575b5050505050905090565b6060600280546103219061148c565b80601f016020809104026020016040519081016040528092919081815260200182805461034d9061148c565b80156103085780601f1061036f57610100808354040283529160200191610308565b820191906000526020600020905b81548152906001019060200180831161037d57509395945050505050565b6000336103a98185856107db565b5060019392505050565b6000336103c1858285610902565b6103ee8585856040518060200160405280600081525060405180602001604052806000815250600061098e565b506001949350505050565b61040333866105c6565b6104285760405162461bcd60e51b815260040161041f906114c7565b60405180910390fd5b6104378585858585600161098e565b5050505050565b336001600160a01b03821614156104a35760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff16156104f4573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610523565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b6060600380546103219061148c565b6105893384848460405180602001604052806000815250600161098e565b505050565b60006105bd3384846040518060200160405280600081525060405180602001604052806000815250600061098e565b50600192915050565b6000816001600160a01b0316836001600160a01b0316148061063157506001600160a01b03831660009081526005602052604090205460ff16801561063157506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff16155b8061066157506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b0381163314156106cb5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff161561071f573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561074b565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b61078e33856105c6565b6107aa5760405162461bcd60e51b815260040161041f906114c7565b6107b684848484610a8a565b50505050565b6107d733838360405180602001604052806000815250610a8a565b5050565b6001600160a01b03831661083f5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b0382166108a15760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526008602090815260408083209386168352929052205460001981146107b657818110156109815760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000604482015260640161041f565b6107b684848484036107db565b6001600160a01b0386166109f35760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161041f565b6001600160a01b038516610a555760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b33610a64818888888888610c3e565b610a72818888888888610d74565b610a8181888888888888610eda565b50505050505050565b6001600160a01b038416610aeb5760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b33610afb81866000878787610c3e565b6001600160a01b03851660009081526020819052604090205484811015610b705760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161041f565b6001600160a01b0386166000908152602081905260408120868303905560018054879290610b9f908490611529565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bed93929190611540565b60405180910390a36040518581526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610cba57600080fd5b505afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611575565b90506001600160a01b03811615610a8157604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610d39908a908a908a908a908a908a90600401611592565b600060405180830381600087803b158015610d5357600080fd5b505af1158015610d67573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03851660009081526020819052604090205483811015610ded5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b606482015260840161041f565b6001600160a01b03808716600090815260208190526040808220878503905591871681529081208054869290610e249084906115ec565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e7c93929190611540565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ec991815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610f5657600080fd5b505afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8e9190611575565b90506001600160a01b0381161561100a576040516223de2960e01b81526001600160a01b038216906223de2990610fd3908b908b908b908b908b908b90600401611592565b600060405180830381600087803b158015610fed57600080fd5b505af1158015611001573d6000803e3d6000fd5b505050506110a4565b81156110a4576001600160a01b0386163b156110a45760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a40161041f565b5050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156110ef5783516001600160a01b0316835292840192918401916001016110ca565b50909695505050505050565b6000815180845260005b8181101561112157602081850181015186830182015201611105565b81811115611133576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061066160208301846110fb565b6001600160a01b038116811461117057600080fd5b50565b6000806040838503121561118657600080fd5b82356111918161115b565b946020939093013593505050565b6000806000606084860312156111b457600080fd5b83356111bf8161115b565b925060208401356111cf8161115b565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261120757600080fd5b813567ffffffffffffffff80821115611222576112226111e0565b604051601f8301601f19908116603f0116810190828211818310171561124a5761124a6111e0565b8160405283815286602085880101111561126357600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a0868803121561129b57600080fd5b85356112a68161115b565b945060208601356112b68161115b565b935060408601359250606086013567ffffffffffffffff808211156112da57600080fd5b6112e689838a016111f6565b935060808801359150808211156112fc57600080fd5b50611309888289016111f6565b9150509295509295909350565b60006020828403121561132857600080fd5b81356106618161115b565b60008060006060848603121561134857600080fd5b83356113538161115b565b925060208401359150604084013567ffffffffffffffff81111561137657600080fd5b611382868287016111f6565b9150509250925092565b6000806040838503121561139f57600080fd5b82356113aa8161115b565b915060208301356113ba8161115b565b809150509250929050565b600080600080608085870312156113db57600080fd5b84356113e68161115b565b935060208501359250604085013567ffffffffffffffff8082111561140a57600080fd5b611416888389016111f6565b9350606087013591508082111561142c57600080fd5b50611439878288016111f6565b91505092959194509250565b6000806040838503121561145857600080fd5b82359150602083013567ffffffffffffffff81111561147657600080fd5b611482858286016111f6565b9150509250929050565b600181811c908216806114a057607f821691505b602082108114156114c157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561153b5761153b611513565b500390565b83815260606020820152600061155960608301856110fb565b828103604084015261156b81856110fb565b9695505050505050565b60006020828403121561158757600080fd5b81516106618161115b565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190526000906115cd908301856110fb565b82810360a08401526115df81856110fb565b9998505050505050505050565b600082198211156115ff576115ff611513565b50019056fea264697066735822122022978d714a1e9f3a29704c5d10e9ebdb6d5195add0f94f07980ef2a1c40f8d1a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1BCF CODESIZE SUB DUP1 PUSH3 0x1BCF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x3F1 JUMP JUMPDEST DUP3 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x2 SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH3 0x215 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x215 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x75 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x2A4 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xE5 JUMPI PUSH1 0x1 PUSH1 0x5 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x9E JUMPI PUSH3 0x9E PUSH3 0x508 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH3 0xDC DUP2 PUSH3 0x51E JUMP JUMPDEST SWAP2 POP POP PUSH3 0x79 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH4 0x29965A1D PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0xAC7FBAB5F54A3CA8194167523C6753BFEB96A445279294B6125B68CCE2177054 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0x29965A1D SWAP1 PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x175 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x29965A1D PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0xAEA199E31A596269B42CDAFD93407F14436DB6E4CAD65417994C2EB37381E05A PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP3 POP PUSH4 0x29965A1D SWAP2 POP PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x1F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x208 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH3 0x585 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x223 SWAP1 PUSH3 0x548 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x247 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x292 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x262 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x292 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x292 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x292 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x275 JUMP JUMPDEST POP PUSH3 0x2A0 SWAP3 SWAP2 POP PUSH3 0x2FC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x292 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x292 JUMPI DUP3 MLOAD DUP3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR DUP3 SSTORE PUSH1 0x20 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH3 0x2C5 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x2A0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2FD JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH3 0x354 JUMPI PUSH3 0x354 PUSH3 0x313 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x36E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x38A JUMPI PUSH3 0x38A PUSH3 0x313 JUMP JUMPDEST PUSH1 0x20 PUSH3 0x3A0 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH3 0x329 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP6 DUP3 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x3B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3D5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP3 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x3B8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x3E7 JUMPI PUSH1 0x0 DUP4 DUP6 DUP5 ADD ADD MSTORE JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x42D DUP8 DUP4 DUP9 ADD PUSH3 0x35C JUMP JUMPDEST SWAP5 POP PUSH1 0x20 SWAP2 POP DUP2 DUP7 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x453 DUP9 DUP3 DUP10 ADD PUSH3 0x35C JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD PUSH1 0x1F DUP2 ADD DUP9 SGT PUSH3 0x47B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD DUP3 DUP2 GT ISZERO PUSH3 0x490 JUMPI PUSH3 0x490 PUSH3 0x313 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP3 POP PUSH3 0x4A3 DUP5 DUP5 ADD PUSH3 0x329 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP3 DUP3 ADD DUP5 ADD SWAP3 DUP5 DUP2 ADD SWAP1 DUP11 DUP6 GT ISZERO PUSH3 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP6 ADD SWAP3 JUMPDEST DUP5 DUP5 LT ISZERO PUSH3 0x4F8 JUMPI DUP4 MLOAD SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP4 EQ PUSH3 0x4E7 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP3 DUP3 MSTORE SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH3 0x4C3 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH3 0x541 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x55D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x57F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x163A DUP1 PUSH3 0x595 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 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x959B8C3F GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD95B6371 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD95B6371 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0xFAD8B32A EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFC673C4F EQ PUSH2 0x28A JUMPI DUP1 PUSH4 0xFE9D9303 EQ PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x959B8C3F EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x9BD9BBC6 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x62AD1B83 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6E48538 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x15C CALLDATASIZE PUSH1 0x4 PUSH2 0x1173 JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x119F JUMP JUMPDEST PUSH2 0x3B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x1283 JUMP JUMPDEST PUSH2 0x3F9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x175 PUSH2 0x1CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH2 0x43E JUMP JUMPDEST PUSH2 0x141 PUSH2 0x55C JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x213 CALLDATASIZE PUSH1 0x4 PUSH2 0x1333 JUMP JUMPDEST PUSH2 0x56B JUMP JUMPDEST PUSH2 0x161 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1173 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x161 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x138C JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x175 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x138C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x298 CALLDATASIZE PUSH1 0x4 PUSH2 0x13C5 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x2AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1445 JUMP JUMPDEST PUSH2 0x7BC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x308 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x148C 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 0x34D SWAP1 PUSH2 0x148C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 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 0x37D JUMPI POP SWAP4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3A9 DUP2 DUP6 DUP6 PUSH2 0x7DB JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3C1 DUP6 DUP3 DUP6 PUSH2 0x902 JUMP JUMPDEST PUSH2 0x3EE DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x98E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x403 CALLER DUP7 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x428 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x437 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x1 PUSH2 0x98E JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617574686F72697A696E672073656C66206173206F706572 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x30BA37B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x4F4 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x523 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xF4CAEB2D6CA8932A215A353D0703C326EC2D81FC68170F320EB2AB49E9DF61F9 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x148C JUMP JUMPDEST PUSH2 0x589 CALLER DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x1 PUSH2 0x98E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BD CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x98E JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST DUP1 PUSH2 0x661 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ ISZERO PUSH2 0x6CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207265766F6B696E672073656C66206173206F70657261746F PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x71F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x74B JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x50546E66E5F44D728365DC3908C63BC5CFEEAB470722C1677E3073A6AC294AA1 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH2 0x78E CALLER DUP6 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA8A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x7D7 CALLER DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xA8A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x83F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F76652066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F766520746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x7B6 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x981 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 0x4552433737373A20696E73756666696369656E7420616C6C6F77616E63650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x41F JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x9F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E736665722066726F6D20746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xA64 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xC3E JUMP JUMPDEST PUSH2 0xA72 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD74 JUMP JUMPDEST PUSH2 0xA81 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xEDA JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xAEB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E2066726F6D20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xAFB DUP2 DUP7 PUSH1 0x0 DUP8 DUP8 DUP8 PUSH2 0xC3E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0xB70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E20616D6F756E7420657863656564732062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x6E6365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP7 DUP4 SUB SWAP1 SSTORE PUSH1 0x1 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0xB9F SWAP1 DUP5 SWAP1 PUSH2 0x1529 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xA78A9BE3A7B862D26933AD85FB11D80EF66B8F972D7CBBA06621D583943A4098 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xBED SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1540 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x40 MLOAD DUP6 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0x29DDB589B1FB5FC7CF394961C1ADF5F8C6454761ADF795E67FE149F658ABE895 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCCE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCF2 SWAP2 SWAP1 PUSH2 0x1575 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA81 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AD5CBC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x75AB9782 SWAP1 PUSH2 0xD39 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x1592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP4 DUP2 LT ISZERO PUSH2 0xDED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220616D6F756E74206578636565647320 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x62616C616E6365 PUSH1 0xC8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP8 DUP6 SUB SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0xE24 SWAP1 DUP5 SWAP1 PUSH2 0x15EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6B541DDAA720DB2B10A4D0CDAC39B8D360425FC073085FAC19BC82614677987 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE7C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1540 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP7 PUSH1 0x40 MLOAD PUSH2 0xEC9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xB281FC8C12954D22544DB45DE3159A39272895B169A852B314F9CC762E44C53B PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF6A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF8E SWAP2 SWAP1 PUSH2 0x1575 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x100A JUMPI PUSH1 0x40 MLOAD PUSH3 0x23DE29 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH3 0x23DE29 SWAP1 PUSH2 0xFD3 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x1592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1001 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10A4 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20746F6B656E20726563697069656E7420636F6E7472616374 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x20686173206E6F20696D706C656D656E74657220666F7220455243373737546F PUSH1 0x64 DUP3 ADD MSTORE PUSH13 0x1AD95B9CD49958DA5C1A595B9D PUSH1 0x9A SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x41F JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10EF JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10CA JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1121 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1105 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1133 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x661 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1186 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x1191 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11BF DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x11CF DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 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 0x1207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1222 JUMPI PUSH2 0x1222 PUSH2 0x11E0 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 0x124A JUMPI PUSH2 0x124A PUSH2 0x11E0 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1263 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 0x129B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x12A6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x12B6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x12DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12E6 DUP10 DUP4 DUP11 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x12FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1309 DUP9 DUP3 DUP10 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1328 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x661 DUP2 PUSH2 0x115B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1353 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1382 DUP7 DUP3 DUP8 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x13AA DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x13BA DUP2 PUSH2 0x115B JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x13E6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x140A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1416 DUP9 DUP4 DUP10 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x142C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1439 DUP8 DUP3 DUP9 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1476 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1482 DUP6 DUP3 DUP7 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x14A0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x14C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A2063616C6C6572206973206E6F7420616E206F70657261746F PUSH1 0x40 DUP3 ADD MSTORE PUSH12 0x39103337B9103437B63232B9 PUSH1 0xA1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x153B JUMPI PUSH2 0x153B PUSH2 0x1513 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1559 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x10FB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x156B DUP2 DUP6 PUSH2 0x10FB JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x661 DUP2 PUSH2 0x115B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP3 MSTORE DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xC0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x15CD SWAP1 DUP4 ADD DUP6 PUSH2 0x10FB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15DF DUP2 DUP6 PUSH2 0x10FB JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x15FF JUMPI PUSH2 0x15FF PUSH2 0x1513 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x22 SWAP8 DUP14 PUSH18 0x4A1E9F3A29704C5D10E9EBDB6D5195ADD0F9 0x4F SMOD SWAP9 0xE CALLCODE LOG1 0xC4 0xF DUP14 BYTE PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1088:17574:128:-:0;;;2316:612;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2448:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2471:17:128;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;2499:42:128;;;;:22;;:42;;;;;:::i;:::-;;2556:9;2551:126;2575:17;:24;2571:1;:28;2551:126;;;2662:4;2620:17;:39;2638:17;2656:1;2638:20;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2620:39:128;;;;;;;;;;;-1:-1:-1;2620:39:128;:46;;-1:-1:-1;;2620:46:128;;;;;;;;;;2601:3;;;;:::i;:::-;;;;2551:126;;;-1:-1:-1;2718:97:128;;-1:-1:-1;;;2718:97:128;;2768:4;2718:97;;;3268:34:181;;;2775:24:128;3318:18:181;;;3311:34;3361:18;;;3354:43;1242:42:128;;2718:41;;3203:18:181;;2718:97:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2825:96:128;;-1:-1:-1;;;2825:96:128;;2875:4;2825:96;;;3268:34:181;;;2882:23:128;3318:18:181;;;3311:34;3361:18;;;3354:43;1242:42:128;;-1:-1:-1;2825:41:128;;-1:-1:-1;3203:18:181;;2825:96:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:612;;;1088:17574;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1088:17574:128;;;-1:-1:-1;1088:17574:128;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1088:17574:128;-1:-1:-1;;;;;1088:17574:128;;;;;;;;;;;-1:-1:-1;1088:17574:128;;;;;;;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:181;247:40;;-1:-1:-1;;;;;302:34:181;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:181:o;426:695::-;480:5;533:3;526:4;518:6;514:17;510:27;500:55;;551:1;548;541:12;500:55;574:13;;-1:-1:-1;;;;;599:26:181;;596:52;;;628:18;;:::i;:::-;667:4;695:53;738:2;719:13;;-1:-1:-1;;715:27:181;711:36;;695:53;:::i;:::-;773:2;764:7;757:19;817:3;812:2;807;799:6;795:15;791:24;788:33;785:53;;;834:1;831;824:12;785:53;856:1;866:134;880:2;877:1;874:9;866:134;;;969:14;;;965:23;;959:30;937:15;;;933:24;;926:64;891:10;;866:134;;;1018:2;1015:1;1012:9;1009:81;;;1078:1;1073:2;1068;1059:7;1055:16;1051:25;1044:36;1009:81;-1:-1:-1;1108:7:181;426:695;-1:-1:-1;;;;;426:695:181:o;1126:1528::-;1259:6;1267;1275;1328:2;1316:9;1307:7;1303:23;1299:32;1296:52;;;1344:1;1341;1334:12;1296:52;1371:16;;-1:-1:-1;;;;;1436:14:181;;;1433:34;;;1463:1;1460;1453:12;1433:34;1486:61;1539:7;1530:6;1519:9;1515:22;1486:61;:::i;:::-;1476:71;;1566:2;1556:12;;1614:2;1603:9;1599:18;1593:25;1643:2;1633:8;1630:16;1627:36;;;1659:1;1656;1649:12;1627:36;1682:63;1737:7;1726:8;1715:9;1711:24;1682:63;:::i;:::-;1672:73;;;1791:2;1780:9;1776:18;1770:25;1820:2;1810:8;1807:16;1804:36;;;1836:1;1833;1826:12;1804:36;1859:24;;1914:4;1906:13;;1902:27;-1:-1:-1;1892:55:181;;1943:1;1940;1933:12;1892:55;1972:2;1966:9;1994:2;1990;1987:10;1984:36;;;2000:18;;:::i;:::-;2046:2;2043:1;2039:10;2029:20;;2069:28;2093:2;2089;2085:11;2069:28;:::i;:::-;2131:15;;;2201:11;;;2197:20;;;2162:12;;;;2229:19;;;2226:39;;;2261:1;2258;2251:12;2226:39;2285:11;;;;2305:319;2321:6;2316:3;2313:15;2305:319;;;2388:10;;;-1:-1:-1;;;;;;2431:31:181;;2421:42;;2411:140;;2505:1;2534:2;2530;2523:14;2411:140;2564:18;;;2338:12;;;;2602;;;;2305:319;;;2643:5;2633:15;;;;;;;;1126:1528;;;;;:::o;2659:127::-;2720:10;2715:3;2711:20;2708:1;2701:31;2751:4;2748:1;2741:15;2775:4;2772:1;2765:15;2791:232;2830:3;-1:-1:-1;;2851:17:181;;2848:140;;;2910:10;2905:3;2901:20;2898:1;2891:31;2945:4;2942:1;2935:15;2973:4;2970:1;2963:15;2848:140;-1:-1:-1;3015:1:181;3004:13;;2791:232::o;3408:380::-;3487:1;3483:12;;;;3530;;;3551:61;;3605:4;3597:6;3593:17;3583:27;;3551:61;3658:2;3650:6;3647:14;3627:18;3624:38;3621:161;;;3704:10;3699:3;3695:20;3692:1;3685:31;3739:4;3736:1;3729:15;3767:4;3764:1;3757:15;3621:161;;3408:380;;;:::o;:::-;1088:17574:128;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_approve_19762":{"entryPoint":2011,"id":19762,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_19921":{"entryPoint":null,"id":19921,"parameterSlots":4,"returnSlots":0},"@_burn_19651":{"entryPoint":2698,"id":19651,"parameterSlots":4,"returnSlots":0},"@_callTokensReceived_19865":{"entryPoint":3802,"id":19865,"parameterSlots":7,"returnSlots":0},"@_callTokensToSend_19807":{"entryPoint":3134,"id":19807,"parameterSlots":6,"returnSlots":0},"@_move_19717":{"entryPoint":3444,"id":19717,"parameterSlots":6,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_send_19558":{"entryPoint":2446,"id":19558,"parameterSlots":6,"returnSlots":0},"@_spendAllowance_19908":{"entryPoint":2306,"id":19908,"parameterSlots":3,"returnSlots":0},"@allowance_19326":{"entryPoint":null,"id":19326,"parameterSlots":2,"returnSlots":1},"@approve_19351":{"entryPoint":923,"id":19351,"parameterSlots":2,"returnSlots":1},"@authorizeOperator_19188":{"entryPoint":1086,"id":19188,"parameterSlots":1,"returnSlots":0},"@balanceOf_19045":{"entryPoint":null,"id":19045,"parameterSlots":1,"returnSlots":1},"@burn_19109":{"entryPoint":1980,"id":19109,"parameterSlots":2,"returnSlots":0},"@decimals_19007":{"entryPoint":null,"id":19007,"parameterSlots":0,"returnSlots":1},"@defaultOperators_19244":{"entryPoint":688,"id":19244,"parameterSlots":0,"returnSlots":1},"@granularity_19017":{"entryPoint":null,"id":19017,"parameterSlots":0,"returnSlots":1},"@isContract_20376":{"entryPoint":null,"id":20376,"parameterSlots":1,"returnSlots":1},"@isOperatorFor_19143":{"entryPoint":1478,"id":19143,"parameterSlots":2,"returnSlots":1},"@name_18988":{"entryPoint":786,"id":18988,"parameterSlots":0,"returnSlots":1},"@operatorBurn_19308":{"entryPoint":1924,"id":19308,"parameterSlots":4,"returnSlots":0},"@operatorSend_19278":{"entryPoint":1017,"id":19278,"parameterSlots":5,"returnSlots":0},"@revokeOperator_19233":{"entryPoint":1640,"id":19233,"parameterSlots":1,"returnSlots":0},"@send_19067":{"entryPoint":1387,"id":19067,"parameterSlots":3,"returnSlots":0},"@symbol_18998":{"entryPoint":1372,"id":18998,"parameterSlots":0,"returnSlots":1},"@totalSupply_19029":{"entryPoint":null,"id":19029,"parameterSlots":0,"returnSlots":1},"@transferFrom_19387":{"entryPoint":947,"id":19387,"parameterSlots":3,"returnSlots":1},"@transfer_19091":{"entryPoint":1422,"id":19091,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":4598,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":4886,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":5493,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":5004,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":4511,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr":{"entryPoint":4739,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":4467,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr":{"entryPoint":4915,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr":{"entryPoint":5061,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256t_bytes_memory_ptr":{"entryPoint":5189,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_string":{"entryPoint":4347,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":5522,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":4270,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":5319,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__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},"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":5440,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5612,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5417,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":5260,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":5395,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4576,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":4443,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:14324:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"165:507:181","statements":[{"nodeType":"YulVariableDeclaration","src":"175:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"185:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"179:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"196:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"214:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"225:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"210:3:181"},"nodeType":"YulFunctionCall","src":"210:18:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"244:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"255:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"237:6:181"},"nodeType":"YulFunctionCall","src":"237:21:181"},"nodeType":"YulExpressionStatement","src":"237:21:181"},{"nodeType":"YulVariableDeclaration","src":"267:17:181","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"278:6:181"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"271:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"293:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"313:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"307:5:181"},"nodeType":"YulFunctionCall","src":"307:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"297:6:181","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"336:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"344:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"329:6:181"},"nodeType":"YulFunctionCall","src":"329:22:181"},"nodeType":"YulExpressionStatement","src":"329:22:181"},{"nodeType":"YulAssignment","src":"360:25:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"371:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"382:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"367:3:181"},"nodeType":"YulFunctionCall","src":"367:18:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"360:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"394:29:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"412:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"420:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:15:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"398:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"432:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"441:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"436:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"500:146:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"521:3:181"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"536:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"530:5:181"},"nodeType":"YulFunctionCall","src":"530:13:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"553:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"558:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"549:3:181"},"nodeType":"YulFunctionCall","src":"549:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"562:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"545:3:181"},"nodeType":"YulFunctionCall","src":"545:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"526:3:181"},"nodeType":"YulFunctionCall","src":"526:39:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"514:6:181"},"nodeType":"YulFunctionCall","src":"514:52:181"},"nodeType":"YulExpressionStatement","src":"514:52:181"},{"nodeType":"YulAssignment","src":"579:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"590:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"595:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"586:3:181"},"nodeType":"YulFunctionCall","src":"586:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"579:3:181"}]},{"nodeType":"YulAssignment","src":"611:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"625:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"633:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"621:3:181"},"nodeType":"YulFunctionCall","src":"621:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"611:6:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"462:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"465:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"459:2:181"},"nodeType":"YulFunctionCall","src":"459:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"473:18:181","statements":[{"nodeType":"YulAssignment","src":"475:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"484:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"487:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"480:3:181"},"nodeType":"YulFunctionCall","src":"480:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"475:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"455:3:181","statements":[]},"src":"451:195:181"},{"nodeType":"YulAssignment","src":"655:11:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"663:3:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"655:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"134:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"145:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"156:4:181","type":""}],"src":"14:658:181"},{"body":{"nodeType":"YulBlock","src":"727:422:181","statements":[{"nodeType":"YulVariableDeclaration","src":"737:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"757:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"751:5:181"},"nodeType":"YulFunctionCall","src":"751:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"741:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"779:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"784:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"772:6:181"},"nodeType":"YulFunctionCall","src":"772:19:181"},"nodeType":"YulExpressionStatement","src":"772:19:181"},{"nodeType":"YulVariableDeclaration","src":"800:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"809:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"804:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"871:110:181","statements":[{"nodeType":"YulVariableDeclaration","src":"885:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"895:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"889:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"927:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"932:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"923:3:181"},"nodeType":"YulFunctionCall","src":"923:11:181"},{"name":"_1","nodeType":"YulIdentifier","src":"936:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:181"},"nodeType":"YulFunctionCall","src":"919:20:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:181"},{"name":"i","nodeType":"YulIdentifier","src":"962:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"951:3:181"},"nodeType":"YulFunctionCall","src":"951:13:181"},{"name":"_1","nodeType":"YulIdentifier","src":"966:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"947:3:181"},"nodeType":"YulFunctionCall","src":"947:22:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"941:5:181"},"nodeType":"YulFunctionCall","src":"941:29:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"912:6:181"},"nodeType":"YulFunctionCall","src":"912:59:181"},"nodeType":"YulExpressionStatement","src":"912:59:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"830:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"833:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"827:2:181"},"nodeType":"YulFunctionCall","src":"827:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"841:21:181","statements":[{"nodeType":"YulAssignment","src":"843:17:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"852:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"855:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"848:3:181"},"nodeType":"YulFunctionCall","src":"848:12:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"843:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"823:3:181","statements":[]},"src":"819:162:181"},{"body":{"nodeType":"YulBlock","src":"1015:62:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1044:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1049:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:181"},"nodeType":"YulFunctionCall","src":"1040:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"1058:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1036:3:181"},"nodeType":"YulFunctionCall","src":"1036:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"1065:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1029:6:181"},"nodeType":"YulFunctionCall","src":"1029:38:181"},"nodeType":"YulExpressionStatement","src":"1029:38:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"996:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"999:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"993:2:181"},"nodeType":"YulFunctionCall","src":"993:13:181"},"nodeType":"YulIf","src":"990:87:181"},{"nodeType":"YulAssignment","src":"1086:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1101:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1114:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1122:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1110:3:181"},"nodeType":"YulFunctionCall","src":"1110:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1131:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1127:3:181"},"nodeType":"YulFunctionCall","src":"1127:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1106:3:181"},"nodeType":"YulFunctionCall","src":"1106:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1097:3:181"},"nodeType":"YulFunctionCall","src":"1097:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1138:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1093:3:181"},"nodeType":"YulFunctionCall","src":"1093:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1086:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"704:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"711:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"719:3:181","type":""}],"src":"677:472:181"},{"body":{"nodeType":"YulBlock","src":"1275:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1292:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1303:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1285:6:181"},"nodeType":"YulFunctionCall","src":"1285:21:181"},"nodeType":"YulExpressionStatement","src":"1285:21:181"},{"nodeType":"YulAssignment","src":"1315:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1341:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1353:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1364:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1349:3:181"},"nodeType":"YulFunctionCall","src":"1349:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1323:17:181"},"nodeType":"YulFunctionCall","src":"1323:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1315:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1244:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1255:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1266:4:181","type":""}],"src":"1154:220:181"},{"body":{"nodeType":"YulBlock","src":"1424:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"1488:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1497:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1500:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1490:6:181"},"nodeType":"YulFunctionCall","src":"1490:12:181"},"nodeType":"YulExpressionStatement","src":"1490:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1447:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1458:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1478:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1469:3:181"},"nodeType":"YulFunctionCall","src":"1469:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1482:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1465:3:181"},"nodeType":"YulFunctionCall","src":"1465:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1454:3:181"},"nodeType":"YulFunctionCall","src":"1454:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1444:2:181"},"nodeType":"YulFunctionCall","src":"1444:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1437:6:181"},"nodeType":"YulFunctionCall","src":"1437:50:181"},"nodeType":"YulIf","src":"1434:70:181"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1413:5:181","type":""}],"src":"1379:131:181"},{"body":{"nodeType":"YulBlock","src":"1602:228:181","statements":[{"body":{"nodeType":"YulBlock","src":"1648:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1657:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1660:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1650:6:181"},"nodeType":"YulFunctionCall","src":"1650:12:181"},"nodeType":"YulExpressionStatement","src":"1650:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1623:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1632:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1619:3:181"},"nodeType":"YulFunctionCall","src":"1619:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1644:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1615:3:181"},"nodeType":"YulFunctionCall","src":"1615:32:181"},"nodeType":"YulIf","src":"1612:52:181"},{"nodeType":"YulVariableDeclaration","src":"1673:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1699:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1686:12:181"},"nodeType":"YulFunctionCall","src":"1686:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1677:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1743:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1718:24:181"},"nodeType":"YulFunctionCall","src":"1718:31:181"},"nodeType":"YulExpressionStatement","src":"1718:31:181"},{"nodeType":"YulAssignment","src":"1758:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1768:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1758:6:181"}]},{"nodeType":"YulAssignment","src":"1782:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1809:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1820:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1805:3:181"},"nodeType":"YulFunctionCall","src":"1805:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1792:12:181"},"nodeType":"YulFunctionCall","src":"1792:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1782:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1560:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1571:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1583:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1591:6:181","type":""}],"src":"1515:315:181"},{"body":{"nodeType":"YulBlock","src":"1930:92:181","statements":[{"nodeType":"YulAssignment","src":"1940:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1952:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1963:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1948:3:181"},"nodeType":"YulFunctionCall","src":"1948:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1940:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1982:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2007:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2000:6:181"},"nodeType":"YulFunctionCall","src":"2000:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1993:6:181"},"nodeType":"YulFunctionCall","src":"1993:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1975:6:181"},"nodeType":"YulFunctionCall","src":"1975:41:181"},"nodeType":"YulExpressionStatement","src":"1975:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1899:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1910:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1921:4:181","type":""}],"src":"1835:187:181"},{"body":{"nodeType":"YulBlock","src":"2128:76:181","statements":[{"nodeType":"YulAssignment","src":"2138:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2150:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2161:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2146:3:181"},"nodeType":"YulFunctionCall","src":"2146:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2138:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2180:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2191:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:181"},"nodeType":"YulFunctionCall","src":"2173:25:181"},"nodeType":"YulExpressionStatement","src":"2173:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2097:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2108:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2119:4:181","type":""}],"src":"2027:177:181"},{"body":{"nodeType":"YulBlock","src":"2313:352:181","statements":[{"body":{"nodeType":"YulBlock","src":"2359:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2368:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2371:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2361:6:181"},"nodeType":"YulFunctionCall","src":"2361:12:181"},"nodeType":"YulExpressionStatement","src":"2361:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2334:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2343:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2330:3:181"},"nodeType":"YulFunctionCall","src":"2330:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2355:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2326:3:181"},"nodeType":"YulFunctionCall","src":"2326:32:181"},"nodeType":"YulIf","src":"2323:52:181"},{"nodeType":"YulVariableDeclaration","src":"2384:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2410:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2397:12:181"},"nodeType":"YulFunctionCall","src":"2397:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2388:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2454:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2429:24:181"},"nodeType":"YulFunctionCall","src":"2429:31:181"},"nodeType":"YulExpressionStatement","src":"2429:31:181"},{"nodeType":"YulAssignment","src":"2469:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"2479:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2469:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2493:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2521:3:181"},"nodeType":"YulFunctionCall","src":"2521:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2508:12:181"},"nodeType":"YulFunctionCall","src":"2508:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"2497:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"2574:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2549:24:181"},"nodeType":"YulFunctionCall","src":"2549:33:181"},"nodeType":"YulExpressionStatement","src":"2549:33:181"},{"nodeType":"YulAssignment","src":"2591:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"2601:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2591:6:181"}]},{"nodeType":"YulAssignment","src":"2617:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2644:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2655:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2640:3:181"},"nodeType":"YulFunctionCall","src":"2640:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2627:12:181"},"nodeType":"YulFunctionCall","src":"2627:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2617:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2263:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2274:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2286:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2294:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2302:6:181","type":""}],"src":"2209:456:181"},{"body":{"nodeType":"YulBlock","src":"2767:87:181","statements":[{"nodeType":"YulAssignment","src":"2777:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2789:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2800:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2785:3:181"},"nodeType":"YulFunctionCall","src":"2785:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2777:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2819:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2834:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2842:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2830:3:181"},"nodeType":"YulFunctionCall","src":"2830:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2812:6:181"},"nodeType":"YulFunctionCall","src":"2812:36:181"},"nodeType":"YulExpressionStatement","src":"2812:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2736:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2747:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2758:4:181","type":""}],"src":"2670:184:181"},{"body":{"nodeType":"YulBlock","src":"2891:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2908:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2915:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2920:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2911:3:181"},"nodeType":"YulFunctionCall","src":"2911:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2901:6:181"},"nodeType":"YulFunctionCall","src":"2901:31:181"},"nodeType":"YulExpressionStatement","src":"2901:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2951:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2941:6:181"},"nodeType":"YulFunctionCall","src":"2941:15:181"},"nodeType":"YulExpressionStatement","src":"2941:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2972:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2975:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2965:6:181"},"nodeType":"YulFunctionCall","src":"2965:15:181"},"nodeType":"YulExpressionStatement","src":"2965:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2859:127:181"},{"body":{"nodeType":"YulBlock","src":"3043:666:181","statements":[{"body":{"nodeType":"YulBlock","src":"3092:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3101:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3104:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3094:6:181"},"nodeType":"YulFunctionCall","src":"3094:12:181"},"nodeType":"YulExpressionStatement","src":"3094:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3071:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3079:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3067:3:181"},"nodeType":"YulFunctionCall","src":"3067:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"3086:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3063:3:181"},"nodeType":"YulFunctionCall","src":"3063:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3056:6:181"},"nodeType":"YulFunctionCall","src":"3056:35:181"},"nodeType":"YulIf","src":"3053:55:181"},{"nodeType":"YulVariableDeclaration","src":"3117:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3140:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3127:12:181"},"nodeType":"YulFunctionCall","src":"3127:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3121:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3156:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3166:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3160:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3207:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3209:16:181"},"nodeType":"YulFunctionCall","src":"3209:18:181"},"nodeType":"YulExpressionStatement","src":"3209:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3199:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3203:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3196:2:181"},"nodeType":"YulFunctionCall","src":"3196:10:181"},"nodeType":"YulIf","src":"3193:36:181"},{"nodeType":"YulVariableDeclaration","src":"3238:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3252:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3248:3:181"},"nodeType":"YulFunctionCall","src":"3248:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3242:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3264:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3284:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3278:5:181"},"nodeType":"YulFunctionCall","src":"3278:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3268:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3296:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3318:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3342:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3346:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3338:3:181"},"nodeType":"YulFunctionCall","src":"3338:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"3353:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3334:3:181"},"nodeType":"YulFunctionCall","src":"3334:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"3358:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3330:3:181"},"nodeType":"YulFunctionCall","src":"3330:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"3363:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3326:3:181"},"nodeType":"YulFunctionCall","src":"3326:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3314:3:181"},"nodeType":"YulFunctionCall","src":"3314:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3300:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3426:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3428:16:181"},"nodeType":"YulFunctionCall","src":"3428:18:181"},"nodeType":"YulExpressionStatement","src":"3428:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3385:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3397:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3382:2:181"},"nodeType":"YulFunctionCall","src":"3382:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3405:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3417:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3402:2:181"},"nodeType":"YulFunctionCall","src":"3402:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3379:2:181"},"nodeType":"YulFunctionCall","src":"3379:46:181"},"nodeType":"YulIf","src":"3376:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3464:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3468:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3457:6:181"},"nodeType":"YulFunctionCall","src":"3457:22:181"},"nodeType":"YulExpressionStatement","src":"3457:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3495:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3503:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3488:6:181"},"nodeType":"YulFunctionCall","src":"3488:18:181"},"nodeType":"YulExpressionStatement","src":"3488:18:181"},{"body":{"nodeType":"YulBlock","src":"3554:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3563:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3566:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3556:6:181"},"nodeType":"YulFunctionCall","src":"3556:12:181"},"nodeType":"YulExpressionStatement","src":"3556:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3529:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3537:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3525:3:181"},"nodeType":"YulFunctionCall","src":"3525:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3542:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3521:3:181"},"nodeType":"YulFunctionCall","src":"3521:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"3549:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3518:2:181"},"nodeType":"YulFunctionCall","src":"3518:35:181"},"nodeType":"YulIf","src":"3515:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3596:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3604:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3592:3:181"},"nodeType":"YulFunctionCall","src":"3592:17:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3615:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3623:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3611:3:181"},"nodeType":"YulFunctionCall","src":"3611:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3630:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3579:12:181"},"nodeType":"YulFunctionCall","src":"3579:54:181"},"nodeType":"YulExpressionStatement","src":"3579:54:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3657:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3665:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3653:3:181"},"nodeType":"YulFunctionCall","src":"3653:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3670:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3649:3:181"},"nodeType":"YulFunctionCall","src":"3649:26:181"},{"kind":"number","nodeType":"YulLiteral","src":"3677:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3642:6:181"},"nodeType":"YulFunctionCall","src":"3642:37:181"},"nodeType":"YulExpressionStatement","src":"3642:37:181"},{"nodeType":"YulAssignment","src":"3688:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3697:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3688:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3017:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"3025:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3033:5:181","type":""}],"src":"2991:718:181"},{"body":{"nodeType":"YulBlock","src":"3870:729:181","statements":[{"body":{"nodeType":"YulBlock","src":"3917:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3926:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3929:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3919:6:181"},"nodeType":"YulFunctionCall","src":"3919:12:181"},"nodeType":"YulExpressionStatement","src":"3919:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3891:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3900:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3887:3:181"},"nodeType":"YulFunctionCall","src":"3887:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3912:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3883:3:181"},"nodeType":"YulFunctionCall","src":"3883:33:181"},"nodeType":"YulIf","src":"3880:53:181"},{"nodeType":"YulVariableDeclaration","src":"3942:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3968:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3955:12:181"},"nodeType":"YulFunctionCall","src":"3955:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3946:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4012:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3987:24:181"},"nodeType":"YulFunctionCall","src":"3987:31:181"},"nodeType":"YulExpressionStatement","src":"3987:31:181"},{"nodeType":"YulAssignment","src":"4027:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"4037:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4027:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4051:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4083:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4094:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4079:3:181"},"nodeType":"YulFunctionCall","src":"4079:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4066:12:181"},"nodeType":"YulFunctionCall","src":"4066:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4055:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4132:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4107:24:181"},"nodeType":"YulFunctionCall","src":"4107:33:181"},"nodeType":"YulExpressionStatement","src":"4107:33:181"},{"nodeType":"YulAssignment","src":"4149:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4159:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4149:6:181"}]},{"nodeType":"YulAssignment","src":"4175:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4202:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4198:3:181"},"nodeType":"YulFunctionCall","src":"4198:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4185:12:181"},"nodeType":"YulFunctionCall","src":"4185:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4175:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4226:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4257:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4268:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4253:3:181"},"nodeType":"YulFunctionCall","src":"4253:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4240:12:181"},"nodeType":"YulFunctionCall","src":"4240:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4230:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4281:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4291:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4285:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4336:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4345:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4348:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4338:6:181"},"nodeType":"YulFunctionCall","src":"4338:12:181"},"nodeType":"YulExpressionStatement","src":"4338:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4324:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4332:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4321:2:181"},"nodeType":"YulFunctionCall","src":"4321:14:181"},"nodeType":"YulIf","src":"4318:34:181"},{"nodeType":"YulAssignment","src":"4361:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4392:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4403:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4388:3:181"},"nodeType":"YulFunctionCall","src":"4388:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4412:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4371:16:181"},"nodeType":"YulFunctionCall","src":"4371:49:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4361:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4429:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4462:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4473:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4458:3:181"},"nodeType":"YulFunctionCall","src":"4458:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4445:12:181"},"nodeType":"YulFunctionCall","src":"4445:33:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4433:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4507:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4516:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4519:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4509:6:181"},"nodeType":"YulFunctionCall","src":"4509:12:181"},"nodeType":"YulExpressionStatement","src":"4509:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4493:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4503:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4490:2:181"},"nodeType":"YulFunctionCall","src":"4490:16:181"},"nodeType":"YulIf","src":"4487:36:181"},{"nodeType":"YulAssignment","src":"4532:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4563:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4574:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4559:3:181"},"nodeType":"YulFunctionCall","src":"4559:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4585:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4542:16:181"},"nodeType":"YulFunctionCall","src":"4542:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4532:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3804:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3815:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3827:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3835:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3843:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3851:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3859:6:181","type":""}],"src":"3714:885:181"},{"body":{"nodeType":"YulBlock","src":"4674:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"4720:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4729:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4732:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4722:6:181"},"nodeType":"YulFunctionCall","src":"4722:12:181"},"nodeType":"YulExpressionStatement","src":"4722:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4695:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4704:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4691:3:181"},"nodeType":"YulFunctionCall","src":"4691:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4716:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4687:3:181"},"nodeType":"YulFunctionCall","src":"4687:32:181"},"nodeType":"YulIf","src":"4684:52:181"},{"nodeType":"YulVariableDeclaration","src":"4745:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4771:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4758:12:181"},"nodeType":"YulFunctionCall","src":"4758:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4749:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4815:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4790:24:181"},"nodeType":"YulFunctionCall","src":"4790:31:181"},"nodeType":"YulExpressionStatement","src":"4790:31:181"},{"nodeType":"YulAssignment","src":"4830:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"4840:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4830:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4640:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4651:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4663:6:181","type":""}],"src":"4604:247:181"},{"body":{"nodeType":"YulBlock","src":"4969:410:181","statements":[{"body":{"nodeType":"YulBlock","src":"5015:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5024:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5027:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5017:6:181"},"nodeType":"YulFunctionCall","src":"5017:12:181"},"nodeType":"YulExpressionStatement","src":"5017:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4990:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4999:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4986:3:181"},"nodeType":"YulFunctionCall","src":"4986:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5011:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4982:3:181"},"nodeType":"YulFunctionCall","src":"4982:32:181"},"nodeType":"YulIf","src":"4979:52:181"},{"nodeType":"YulVariableDeclaration","src":"5040:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5066:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5053:12:181"},"nodeType":"YulFunctionCall","src":"5053:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5044:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5110:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5085:24:181"},"nodeType":"YulFunctionCall","src":"5085:31:181"},"nodeType":"YulExpressionStatement","src":"5085:31:181"},{"nodeType":"YulAssignment","src":"5125:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"5135:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5125:6:181"}]},{"nodeType":"YulAssignment","src":"5149:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5187:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5172:3:181"},"nodeType":"YulFunctionCall","src":"5172:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5159:12:181"},"nodeType":"YulFunctionCall","src":"5159:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5149:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5200:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5231:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5242:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5227:3:181"},"nodeType":"YulFunctionCall","src":"5227:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5214:12:181"},"nodeType":"YulFunctionCall","src":"5214:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5204:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5289:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5298:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5301:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5291:6:181"},"nodeType":"YulFunctionCall","src":"5291:12:181"},"nodeType":"YulExpressionStatement","src":"5291:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5261:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5269:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5258:2:181"},"nodeType":"YulFunctionCall","src":"5258:30:181"},"nodeType":"YulIf","src":"5255:50:181"},{"nodeType":"YulAssignment","src":"5314:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5345:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"5356:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5341:3:181"},"nodeType":"YulFunctionCall","src":"5341:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5365:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5324:16:181"},"nodeType":"YulFunctionCall","src":"5324:49:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5314:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4919:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4930:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4942:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4950:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4958:6:181","type":""}],"src":"4856:523:181"},{"body":{"nodeType":"YulBlock","src":"5471:301:181","statements":[{"body":{"nodeType":"YulBlock","src":"5517:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5526:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5529:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5519:6:181"},"nodeType":"YulFunctionCall","src":"5519:12:181"},"nodeType":"YulExpressionStatement","src":"5519:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5492:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5501:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5488:3:181"},"nodeType":"YulFunctionCall","src":"5488:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5513:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5484:3:181"},"nodeType":"YulFunctionCall","src":"5484:32:181"},"nodeType":"YulIf","src":"5481:52:181"},{"nodeType":"YulVariableDeclaration","src":"5542:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5568:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5555:12:181"},"nodeType":"YulFunctionCall","src":"5555:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5546:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5612:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5587:24:181"},"nodeType":"YulFunctionCall","src":"5587:31:181"},"nodeType":"YulExpressionStatement","src":"5587:31:181"},{"nodeType":"YulAssignment","src":"5627:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"5637:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5627:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5651:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5679:3:181"},"nodeType":"YulFunctionCall","src":"5679:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5666:12:181"},"nodeType":"YulFunctionCall","src":"5666:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"5655:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"5732:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5707:24:181"},"nodeType":"YulFunctionCall","src":"5707:33:181"},"nodeType":"YulExpressionStatement","src":"5707:33:181"},{"nodeType":"YulAssignment","src":"5749:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"5759:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5749:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5429:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5440:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5452:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5460:6:181","type":""}],"src":"5384:388:181"},{"body":{"nodeType":"YulBlock","src":"5916:604:181","statements":[{"body":{"nodeType":"YulBlock","src":"5963:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5972:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5975:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5965:6:181"},"nodeType":"YulFunctionCall","src":"5965:12:181"},"nodeType":"YulExpressionStatement","src":"5965:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5937:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5946:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5933:3:181"},"nodeType":"YulFunctionCall","src":"5933:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5958:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5929:3:181"},"nodeType":"YulFunctionCall","src":"5929:33:181"},"nodeType":"YulIf","src":"5926:53:181"},{"nodeType":"YulVariableDeclaration","src":"5988:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6014:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6001:12:181"},"nodeType":"YulFunctionCall","src":"6001:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5992:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6058:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6033:24:181"},"nodeType":"YulFunctionCall","src":"6033:31:181"},"nodeType":"YulExpressionStatement","src":"6033:31:181"},{"nodeType":"YulAssignment","src":"6073:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"6083:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6073:6:181"}]},{"nodeType":"YulAssignment","src":"6097:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6124:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6135:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6120:3:181"},"nodeType":"YulFunctionCall","src":"6120:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6107:12:181"},"nodeType":"YulFunctionCall","src":"6107:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6097:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6148:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6179:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6190:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6175:3:181"},"nodeType":"YulFunctionCall","src":"6175:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6162:12:181"},"nodeType":"YulFunctionCall","src":"6162:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6152:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6203:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6213:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6207:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6258:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6267:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6270:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6260:6:181"},"nodeType":"YulFunctionCall","src":"6260:12:181"},"nodeType":"YulExpressionStatement","src":"6260:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6246:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6254:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6243:2:181"},"nodeType":"YulFunctionCall","src":"6243:14:181"},"nodeType":"YulIf","src":"6240:34:181"},{"nodeType":"YulAssignment","src":"6283:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6314:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6310:3:181"},"nodeType":"YulFunctionCall","src":"6310:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6334:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6293:16:181"},"nodeType":"YulFunctionCall","src":"6293:49:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6283:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6351:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6384:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6395:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6380:3:181"},"nodeType":"YulFunctionCall","src":"6380:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6367:12:181"},"nodeType":"YulFunctionCall","src":"6367:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"6355:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6428:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6437:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6440:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6430:6:181"},"nodeType":"YulFunctionCall","src":"6430:12:181"},"nodeType":"YulExpressionStatement","src":"6430:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6414:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6424:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6411:2:181"},"nodeType":"YulFunctionCall","src":"6411:16:181"},"nodeType":"YulIf","src":"6408:36:181"},{"nodeType":"YulAssignment","src":"6453:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6484:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6495:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6480:3:181"},"nodeType":"YulFunctionCall","src":"6480:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6506:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6463:16:181"},"nodeType":"YulFunctionCall","src":"6463:51:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6453:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5858:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5869:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5881:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5889:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5897:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5905:6:181","type":""}],"src":"5777:743:181"},{"body":{"nodeType":"YulBlock","src":"6621:292:181","statements":[{"body":{"nodeType":"YulBlock","src":"6667:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6676:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6679:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6669:6:181"},"nodeType":"YulFunctionCall","src":"6669:12:181"},"nodeType":"YulExpressionStatement","src":"6669:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6642:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6651:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6638:3:181"},"nodeType":"YulFunctionCall","src":"6638:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6663:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6634:3:181"},"nodeType":"YulFunctionCall","src":"6634:32:181"},"nodeType":"YulIf","src":"6631:52:181"},{"nodeType":"YulAssignment","src":"6692:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6715:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6702:12:181"},"nodeType":"YulFunctionCall","src":"6702:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6692:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6734:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6765:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6776:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6761:3:181"},"nodeType":"YulFunctionCall","src":"6761:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6748:12:181"},"nodeType":"YulFunctionCall","src":"6748:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6738:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6823:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6832:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6835:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6825:6:181"},"nodeType":"YulFunctionCall","src":"6825:12:181"},"nodeType":"YulExpressionStatement","src":"6825:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6795:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"6803:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6792:2:181"},"nodeType":"YulFunctionCall","src":"6792:30:181"},"nodeType":"YulIf","src":"6789:50:181"},{"nodeType":"YulAssignment","src":"6848:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6879:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"6890:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6875:3:181"},"nodeType":"YulFunctionCall","src":"6875:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6899:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6858:16:181"},"nodeType":"YulFunctionCall","src":"6858:49:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6848:6:181"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6579:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6590:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6602:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6610:6:181","type":""}],"src":"6525:388:181"},{"body":{"nodeType":"YulBlock","src":"6973:325:181","statements":[{"nodeType":"YulAssignment","src":"6983:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6997:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"7000:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6993:3:181"},"nodeType":"YulFunctionCall","src":"6993:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6983:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7014:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"7044:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"7050:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7040:3:181"},"nodeType":"YulFunctionCall","src":"7040:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"7018:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7091:31:181","statements":[{"nodeType":"YulAssignment","src":"7093:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7107:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7115:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7103:3:181"},"nodeType":"YulFunctionCall","src":"7103:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7093:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7071:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7064:6:181"},"nodeType":"YulFunctionCall","src":"7064:26:181"},"nodeType":"YulIf","src":"7061:61:181"},{"body":{"nodeType":"YulBlock","src":"7181:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7202:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7209:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7214:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7205:3:181"},"nodeType":"YulFunctionCall","src":"7205:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7195:6:181"},"nodeType":"YulFunctionCall","src":"7195:31:181"},"nodeType":"YulExpressionStatement","src":"7195:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7246:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7249:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7239:6:181"},"nodeType":"YulFunctionCall","src":"7239:15:181"},"nodeType":"YulExpressionStatement","src":"7239:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7274:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7277:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7267:6:181"},"nodeType":"YulFunctionCall","src":"7267:15:181"},"nodeType":"YulExpressionStatement","src":"7267:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7137:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7160:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7168:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7157:2:181"},"nodeType":"YulFunctionCall","src":"7157:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7134:2:181"},"nodeType":"YulFunctionCall","src":"7134:38:181"},"nodeType":"YulIf","src":"7131:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6953:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6962:6:181","type":""}],"src":"6918:380:181"},{"body":{"nodeType":"YulBlock","src":"7477:234:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7494:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7505:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7487:6:181"},"nodeType":"YulFunctionCall","src":"7487:21:181"},"nodeType":"YulExpressionStatement","src":"7487:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7528:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7539:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7524:3:181"},"nodeType":"YulFunctionCall","src":"7524:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7544:2:181","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7517:6:181"},"nodeType":"YulFunctionCall","src":"7517:30:181"},"nodeType":"YulExpressionStatement","src":"7517:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7567:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7578:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7563:3:181"},"nodeType":"YulFunctionCall","src":"7563:18:181"},{"hexValue":"4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f","kind":"string","nodeType":"YulLiteral","src":"7583:34:181","type":"","value":"ERC777: caller is not an operato"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7556:6:181"},"nodeType":"YulFunctionCall","src":"7556:62:181"},"nodeType":"YulExpressionStatement","src":"7556:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7638:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7649:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7634:3:181"},"nodeType":"YulFunctionCall","src":"7634:18:181"},{"hexValue":"7220666f7220686f6c646572","kind":"string","nodeType":"YulLiteral","src":"7654:14:181","type":"","value":"r for holder"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7627:6:181"},"nodeType":"YulFunctionCall","src":"7627:42:181"},"nodeType":"YulExpressionStatement","src":"7627:42:181"},{"nodeType":"YulAssignment","src":"7678:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7701:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7686:3:181"},"nodeType":"YulFunctionCall","src":"7686:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7678:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7454:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7468:4:181","type":""}],"src":"7303:408:181"},{"body":{"nodeType":"YulBlock","src":"7890:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7907:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7918:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7900:6:181"},"nodeType":"YulFunctionCall","src":"7900:21:181"},"nodeType":"YulExpressionStatement","src":"7900:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7941:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7952:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7937:3:181"},"nodeType":"YulFunctionCall","src":"7937:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7957:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7930:6:181"},"nodeType":"YulFunctionCall","src":"7930:30:181"},"nodeType":"YulExpressionStatement","src":"7930:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7980:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7991:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7976:3:181"},"nodeType":"YulFunctionCall","src":"7976:18:181"},{"hexValue":"4552433737373a20617574686f72697a696e672073656c66206173206f706572","kind":"string","nodeType":"YulLiteral","src":"7996:34:181","type":"","value":"ERC777: authorizing self as oper"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7969:6:181"},"nodeType":"YulFunctionCall","src":"7969:62:181"},"nodeType":"YulExpressionStatement","src":"7969:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8051:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8062:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8047:3:181"},"nodeType":"YulFunctionCall","src":"8047:18:181"},{"hexValue":"61746f72","kind":"string","nodeType":"YulLiteral","src":"8067:6:181","type":"","value":"ator"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8040:6:181"},"nodeType":"YulFunctionCall","src":"8040:34:181"},"nodeType":"YulExpressionStatement","src":"8040:34:181"},{"nodeType":"YulAssignment","src":"8083:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8106:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8091:3:181"},"nodeType":"YulFunctionCall","src":"8091:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8083:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7867:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7881:4:181","type":""}],"src":"7716:400:181"},{"body":{"nodeType":"YulBlock","src":"8295:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8312:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8323:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8305:6:181"},"nodeType":"YulFunctionCall","src":"8305:21:181"},"nodeType":"YulExpressionStatement","src":"8305:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8346:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8357:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8342:3:181"},"nodeType":"YulFunctionCall","src":"8342:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8362:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8335:6:181"},"nodeType":"YulFunctionCall","src":"8335:30:181"},"nodeType":"YulExpressionStatement","src":"8335:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8385:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8396:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8381:3:181"},"nodeType":"YulFunctionCall","src":"8381:18:181"},{"hexValue":"4552433737373a207265766f6b696e672073656c66206173206f70657261746f","kind":"string","nodeType":"YulLiteral","src":"8401:34:181","type":"","value":"ERC777: revoking self as operato"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8374:6:181"},"nodeType":"YulFunctionCall","src":"8374:62:181"},"nodeType":"YulExpressionStatement","src":"8374:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8456:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8467:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8452:3:181"},"nodeType":"YulFunctionCall","src":"8452:18:181"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"8472:3:181","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8445:6:181"},"nodeType":"YulFunctionCall","src":"8445:31:181"},"nodeType":"YulExpressionStatement","src":"8445:31:181"},{"nodeType":"YulAssignment","src":"8485:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8497:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8508:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8493:3:181"},"nodeType":"YulFunctionCall","src":"8493:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8485:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8272:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8286:4:181","type":""}],"src":"8121:397:181"},{"body":{"nodeType":"YulBlock","src":"8697:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8714:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8725:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8707:6:181"},"nodeType":"YulFunctionCall","src":"8707:21:181"},"nodeType":"YulExpressionStatement","src":"8707:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8748:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8759:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8744:3:181"},"nodeType":"YulFunctionCall","src":"8744:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8764:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8737:6:181"},"nodeType":"YulFunctionCall","src":"8737:30:181"},"nodeType":"YulExpressionStatement","src":"8737:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8787:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8798:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8783:3:181"},"nodeType":"YulFunctionCall","src":"8783:18:181"},{"hexValue":"4552433737373a20617070726f76652066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"8803:34:181","type":"","value":"ERC777: approve from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8776:6:181"},"nodeType":"YulFunctionCall","src":"8776:62:181"},"nodeType":"YulExpressionStatement","src":"8776:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8858:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8869:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8854:3:181"},"nodeType":"YulFunctionCall","src":"8854:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"8874:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8847:6:181"},"nodeType":"YulFunctionCall","src":"8847:35:181"},"nodeType":"YulExpressionStatement","src":"8847:35:181"},{"nodeType":"YulAssignment","src":"8891:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8903:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8914:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8899:3:181"},"nodeType":"YulFunctionCall","src":"8899:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8891:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8674:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8688:4:181","type":""}],"src":"8523:401:181"},{"body":{"nodeType":"YulBlock","src":"9103:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9120:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9131:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9113:6:181"},"nodeType":"YulFunctionCall","src":"9113:21:181"},"nodeType":"YulExpressionStatement","src":"9113:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9154:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9165:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9150:3:181"},"nodeType":"YulFunctionCall","src":"9150:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9170:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9143:6:181"},"nodeType":"YulFunctionCall","src":"9143:30:181"},"nodeType":"YulExpressionStatement","src":"9143:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9193:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9204:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9189:3:181"},"nodeType":"YulFunctionCall","src":"9189:18:181"},{"hexValue":"4552433737373a20617070726f766520746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"9209:34:181","type":"","value":"ERC777: approve to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9182:6:181"},"nodeType":"YulFunctionCall","src":"9182:62:181"},"nodeType":"YulExpressionStatement","src":"9182:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9264:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9275:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9260:3:181"},"nodeType":"YulFunctionCall","src":"9260:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"9280:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9253:6:181"},"nodeType":"YulFunctionCall","src":"9253:33:181"},"nodeType":"YulExpressionStatement","src":"9253:33:181"},{"nodeType":"YulAssignment","src":"9295:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9307:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9318:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9303:3:181"},"nodeType":"YulFunctionCall","src":"9303:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9295:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9080:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9094:4:181","type":""}],"src":"8929:399:181"},{"body":{"nodeType":"YulBlock","src":"9507:180:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9524:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9535:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9517:6:181"},"nodeType":"YulFunctionCall","src":"9517:21:181"},"nodeType":"YulExpressionStatement","src":"9517:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9558:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9569:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9554:3:181"},"nodeType":"YulFunctionCall","src":"9554:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9574:2:181","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9547:6:181"},"nodeType":"YulFunctionCall","src":"9547:30:181"},"nodeType":"YulExpressionStatement","src":"9547:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9597:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9608:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9593:3:181"},"nodeType":"YulFunctionCall","src":"9593:18:181"},{"hexValue":"4552433737373a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"9613:32:181","type":"","value":"ERC777: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9586:6:181"},"nodeType":"YulFunctionCall","src":"9586:60:181"},"nodeType":"YulExpressionStatement","src":"9586:60:181"},{"nodeType":"YulAssignment","src":"9655:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9667:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9678:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9663:3:181"},"nodeType":"YulFunctionCall","src":"9663:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9655:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9484:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9498:4:181","type":""}],"src":"9333:354:181"},{"body":{"nodeType":"YulBlock","src":"9866:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9883:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9894:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9876:6:181"},"nodeType":"YulFunctionCall","src":"9876:21:181"},"nodeType":"YulExpressionStatement","src":"9876:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9917:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9928:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9913:3:181"},"nodeType":"YulFunctionCall","src":"9913:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9933:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9906:6:181"},"nodeType":"YulFunctionCall","src":"9906:30:181"},"nodeType":"YulExpressionStatement","src":"9906:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9956:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9967:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9952:3:181"},"nodeType":"YulFunctionCall","src":"9952:18:181"},{"hexValue":"4552433737373a207472616e736665722066726f6d20746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"9972:34:181","type":"","value":"ERC777: transfer from the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9945:6:181"},"nodeType":"YulFunctionCall","src":"9945:62:181"},"nodeType":"YulExpressionStatement","src":"9945:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10038:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10023:3:181"},"nodeType":"YulFunctionCall","src":"10023:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"10043:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10016:6:181"},"nodeType":"YulFunctionCall","src":"10016:36:181"},"nodeType":"YulExpressionStatement","src":"10016:36:181"},{"nodeType":"YulAssignment","src":"10061:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10073:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10084:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10069:3:181"},"nodeType":"YulFunctionCall","src":"10069:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10061:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9843:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9857:4:181","type":""}],"src":"9692:402:181"},{"body":{"nodeType":"YulBlock","src":"10273:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10290:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10301:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10283:6:181"},"nodeType":"YulFunctionCall","src":"10283:21:181"},"nodeType":"YulExpressionStatement","src":"10283:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10324:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10335:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10320:3:181"},"nodeType":"YulFunctionCall","src":"10320:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10340:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10313:6:181"},"nodeType":"YulFunctionCall","src":"10313:30:181"},"nodeType":"YulExpressionStatement","src":"10313:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10363:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10374:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10359:3:181"},"nodeType":"YulFunctionCall","src":"10359:18:181"},{"hexValue":"4552433737373a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"10379:34:181","type":"","value":"ERC777: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10352:6:181"},"nodeType":"YulFunctionCall","src":"10352:62:181"},"nodeType":"YulExpressionStatement","src":"10352:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10434:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10445:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10430:3:181"},"nodeType":"YulFunctionCall","src":"10430:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"10450:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10423:6:181"},"nodeType":"YulFunctionCall","src":"10423:34:181"},"nodeType":"YulExpressionStatement","src":"10423:34:181"},{"nodeType":"YulAssignment","src":"10466:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10478:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10489:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10474:3:181"},"nodeType":"YulFunctionCall","src":"10474:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10466:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10250:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10264:4:181","type":""}],"src":"10099:400:181"},{"body":{"nodeType":"YulBlock","src":"10678:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10695:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10706:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10688:6:181"},"nodeType":"YulFunctionCall","src":"10688:21:181"},"nodeType":"YulExpressionStatement","src":"10688:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10729:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10740:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10725:3:181"},"nodeType":"YulFunctionCall","src":"10725:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10745:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10718:6:181"},"nodeType":"YulFunctionCall","src":"10718:30:181"},"nodeType":"YulExpressionStatement","src":"10718:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10768:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10779:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10764:3:181"},"nodeType":"YulFunctionCall","src":"10764:18:181"},{"hexValue":"4552433737373a206275726e2066726f6d20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"10784:34:181","type":"","value":"ERC777: burn from the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10757:6:181"},"nodeType":"YulFunctionCall","src":"10757:62:181"},"nodeType":"YulExpressionStatement","src":"10757:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10839:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10850:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10835:3:181"},"nodeType":"YulFunctionCall","src":"10835:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"10855:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10828:6:181"},"nodeType":"YulFunctionCall","src":"10828:32:181"},"nodeType":"YulExpressionStatement","src":"10828:32:181"},{"nodeType":"YulAssignment","src":"10869:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10881:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10892:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10877:3:181"},"nodeType":"YulFunctionCall","src":"10877:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10869:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10655:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10669:4:181","type":""}],"src":"10504:398:181"},{"body":{"nodeType":"YulBlock","src":"11081:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11098:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11109:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11091:6:181"},"nodeType":"YulFunctionCall","src":"11091:21:181"},"nodeType":"YulExpressionStatement","src":"11091:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11132:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11143:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11128:3:181"},"nodeType":"YulFunctionCall","src":"11128:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11148:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11121:6:181"},"nodeType":"YulFunctionCall","src":"11121:30:181"},"nodeType":"YulExpressionStatement","src":"11121:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11171:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11182:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11167:3:181"},"nodeType":"YulFunctionCall","src":"11167:18:181"},{"hexValue":"4552433737373a206275726e20616d6f756e7420657863656564732062616c61","kind":"string","nodeType":"YulLiteral","src":"11187:34:181","type":"","value":"ERC777: burn amount exceeds bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11160:6:181"},"nodeType":"YulFunctionCall","src":"11160:62:181"},"nodeType":"YulExpressionStatement","src":"11160:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11242:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11253:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11238:3:181"},"nodeType":"YulFunctionCall","src":"11238:18:181"},{"hexValue":"6e6365","kind":"string","nodeType":"YulLiteral","src":"11258:5:181","type":"","value":"nce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11231:6:181"},"nodeType":"YulFunctionCall","src":"11231:33:181"},"nodeType":"YulExpressionStatement","src":"11231:33:181"},{"nodeType":"YulAssignment","src":"11273:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11285:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11296:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11281:3:181"},"nodeType":"YulFunctionCall","src":"11281:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11273:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11058:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11072:4:181","type":""}],"src":"10907:399:181"},{"body":{"nodeType":"YulBlock","src":"11343:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11360:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11367:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11372:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11363:3:181"},"nodeType":"YulFunctionCall","src":"11363:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11353:6:181"},"nodeType":"YulFunctionCall","src":"11353:31:181"},"nodeType":"YulExpressionStatement","src":"11353:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11400:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11403:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11393:6:181"},"nodeType":"YulFunctionCall","src":"11393:15:181"},"nodeType":"YulExpressionStatement","src":"11393:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11424:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11427:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11417:6:181"},"nodeType":"YulFunctionCall","src":"11417:15:181"},"nodeType":"YulExpressionStatement","src":"11417:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"11311:127:181"},{"body":{"nodeType":"YulBlock","src":"11492:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"11514:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11516:16:181"},"nodeType":"YulFunctionCall","src":"11516:18:181"},"nodeType":"YulExpressionStatement","src":"11516:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11508:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"11511:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11505:2:181"},"nodeType":"YulFunctionCall","src":"11505:8:181"},"nodeType":"YulIf","src":"11502:34:181"},{"nodeType":"YulAssignment","src":"11545:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11557:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"11560:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11553:3:181"},"nodeType":"YulFunctionCall","src":"11553:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"11545:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11474:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"11477:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"11483:4:181","type":""}],"src":"11443:125:181"},{"body":{"nodeType":"YulBlock","src":"11766:257:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11783:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"11794:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11776:6:181"},"nodeType":"YulFunctionCall","src":"11776:25:181"},"nodeType":"YulExpressionStatement","src":"11776:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11821:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11832:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11817:3:181"},"nodeType":"YulFunctionCall","src":"11817:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11837:2:181","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11810:6:181"},"nodeType":"YulFunctionCall","src":"11810:30:181"},"nodeType":"YulExpressionStatement","src":"11810:30:181"},{"nodeType":"YulVariableDeclaration","src":"11849:59:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11881:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11893:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11904:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11889:3:181"},"nodeType":"YulFunctionCall","src":"11889:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11863:17:181"},"nodeType":"YulFunctionCall","src":"11863:45:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11853:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11928:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11939:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11924:3:181"},"nodeType":"YulFunctionCall","src":"11924:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"11948:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"11956:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11944:3:181"},"nodeType":"YulFunctionCall","src":"11944:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11917:6:181"},"nodeType":"YulFunctionCall","src":"11917:50:181"},"nodeType":"YulExpressionStatement","src":"11917:50:181"},{"nodeType":"YulAssignment","src":"11976:41:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12002:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"12010:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11984:17:181"},"nodeType":"YulFunctionCall","src":"11984:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11976:4:181"}]}]},"name":"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11719:9:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11730:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11738:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11746:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11757:4:181","type":""}],"src":"11573:450:181"},{"body":{"nodeType":"YulBlock","src":"12157:145:181","statements":[{"nodeType":"YulAssignment","src":"12167:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12179:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12190:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12175:3:181"},"nodeType":"YulFunctionCall","src":"12175:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12167:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12209:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12224:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12240:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12245:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12236:3:181"},"nodeType":"YulFunctionCall","src":"12236:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"12249:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12232:3:181"},"nodeType":"YulFunctionCall","src":"12232:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12220:3:181"},"nodeType":"YulFunctionCall","src":"12220:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12202:6:181"},"nodeType":"YulFunctionCall","src":"12202:51:181"},"nodeType":"YulExpressionStatement","src":"12202:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12273:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12284:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12269:3:181"},"nodeType":"YulFunctionCall","src":"12269:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"12289:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12262:6:181"},"nodeType":"YulFunctionCall","src":"12262:34:181"},"nodeType":"YulExpressionStatement","src":"12262:34:181"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12118:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12129:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12137:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12148:4:181","type":""}],"src":"12028:274:181"},{"body":{"nodeType":"YulBlock","src":"12388:170:181","statements":[{"body":{"nodeType":"YulBlock","src":"12434:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12443:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12446:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12436:6:181"},"nodeType":"YulFunctionCall","src":"12436:12:181"},"nodeType":"YulExpressionStatement","src":"12436:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12409:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"12418:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12405:3:181"},"nodeType":"YulFunctionCall","src":"12405:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"12430:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12401:3:181"},"nodeType":"YulFunctionCall","src":"12401:32:181"},"nodeType":"YulIf","src":"12398:52:181"},{"nodeType":"YulVariableDeclaration","src":"12459:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12478:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12472:5:181"},"nodeType":"YulFunctionCall","src":"12472:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12463:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12522:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12497:24:181"},"nodeType":"YulFunctionCall","src":"12497:31:181"},"nodeType":"YulExpressionStatement","src":"12497:31:181"},{"nodeType":"YulAssignment","src":"12537:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"12547:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12537:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12354:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12365:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12377:6:181","type":""}],"src":"12307:251:181"},{"body":{"nodeType":"YulBlock","src":"12840:455:181","statements":[{"nodeType":"YulVariableDeclaration","src":"12850:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12868:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12873:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12864:3:181"},"nodeType":"YulFunctionCall","src":"12864:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"12877:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12860:3:181"},"nodeType":"YulFunctionCall","src":"12860:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12854:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12895:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12910:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"12918:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12906:3:181"},"nodeType":"YulFunctionCall","src":"12906:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12888:6:181"},"nodeType":"YulFunctionCall","src":"12888:34:181"},"nodeType":"YulExpressionStatement","src":"12888:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12942:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12953:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12938:3:181"},"nodeType":"YulFunctionCall","src":"12938:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12962:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"12970:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12958:3:181"},"nodeType":"YulFunctionCall","src":"12958:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12931:6:181"},"nodeType":"YulFunctionCall","src":"12931:43:181"},"nodeType":"YulExpressionStatement","src":"12931:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12994:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13005:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12990:3:181"},"nodeType":"YulFunctionCall","src":"12990:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13014:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"13022:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13010:3:181"},"nodeType":"YulFunctionCall","src":"13010:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12983:6:181"},"nodeType":"YulFunctionCall","src":"12983:43:181"},"nodeType":"YulExpressionStatement","src":"12983:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13046:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13057:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13042:3:181"},"nodeType":"YulFunctionCall","src":"13042:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"13062:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13035:6:181"},"nodeType":"YulFunctionCall","src":"13035:34:181"},"nodeType":"YulExpressionStatement","src":"13035:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13089:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13100:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13085:3:181"},"nodeType":"YulFunctionCall","src":"13085:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"13106:3:181","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13078:6:181"},"nodeType":"YulFunctionCall","src":"13078:32:181"},"nodeType":"YulExpressionStatement","src":"13078:32:181"},{"nodeType":"YulVariableDeclaration","src":"13119:60:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"13151:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13163:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13174:3:181","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13159:3:181"},"nodeType":"YulFunctionCall","src":"13159:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13133:17:181"},"nodeType":"YulFunctionCall","src":"13133:46:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"13123:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13199:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13210:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13195:3:181"},"nodeType":"YulFunctionCall","src":"13195:19:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"13220:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13228:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13216:3:181"},"nodeType":"YulFunctionCall","src":"13216:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13188:6:181"},"nodeType":"YulFunctionCall","src":"13188:51:181"},"nodeType":"YulExpressionStatement","src":"13188:51:181"},{"nodeType":"YulAssignment","src":"13248:41:181","value":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"13274:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"13282:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13256:17:181"},"nodeType":"YulFunctionCall","src":"13256:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13248:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12769:9:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"12780:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12788:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12796:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12804:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12812:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12820:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12831:4:181","type":""}],"src":"12563:732:181"},{"body":{"nodeType":"YulBlock","src":"13474:229:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13491:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13502:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13484:6:181"},"nodeType":"YulFunctionCall","src":"13484:21:181"},"nodeType":"YulExpressionStatement","src":"13484:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13521:3:181"},"nodeType":"YulFunctionCall","src":"13521:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13541:2:181","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13514:6:181"},"nodeType":"YulFunctionCall","src":"13514:30:181"},"nodeType":"YulExpressionStatement","src":"13514:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13564:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13575:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13560:3:181"},"nodeType":"YulFunctionCall","src":"13560:18:181"},{"hexValue":"4552433737373a207472616e7366657220616d6f756e74206578636565647320","kind":"string","nodeType":"YulLiteral","src":"13580:34:181","type":"","value":"ERC777: transfer amount exceeds "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13553:6:181"},"nodeType":"YulFunctionCall","src":"13553:62:181"},"nodeType":"YulExpressionStatement","src":"13553:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13635:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13646:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13631:3:181"},"nodeType":"YulFunctionCall","src":"13631:18:181"},{"hexValue":"62616c616e6365","kind":"string","nodeType":"YulLiteral","src":"13651:9:181","type":"","value":"balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13624:6:181"},"nodeType":"YulFunctionCall","src":"13624:37:181"},"nodeType":"YulExpressionStatement","src":"13624:37:181"},{"nodeType":"YulAssignment","src":"13670:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13682:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13693:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13678:3:181"},"nodeType":"YulFunctionCall","src":"13678:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13670:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13451:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13465:4:181","type":""}],"src":"13300:403:181"},{"body":{"nodeType":"YulBlock","src":"13756:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"13783:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13785:16:181"},"nodeType":"YulFunctionCall","src":"13785:18:181"},"nodeType":"YulExpressionStatement","src":"13785:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13772:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13779:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13775:3:181"},"nodeType":"YulFunctionCall","src":"13775:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13769:2:181"},"nodeType":"YulFunctionCall","src":"13769:13:181"},"nodeType":"YulIf","src":"13766:39:181"},{"nodeType":"YulAssignment","src":"13814:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13825:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"13828:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13821:3:181"},"nodeType":"YulFunctionCall","src":"13821:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13814:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13739:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"13742:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13748:3:181","type":""}],"src":"13708:128:181"},{"body":{"nodeType":"YulBlock","src":"14015:307:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14032:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14043:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14025:6:181"},"nodeType":"YulFunctionCall","src":"14025:21:181"},"nodeType":"YulExpressionStatement","src":"14025:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14066:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14077:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14062:3:181"},"nodeType":"YulFunctionCall","src":"14062:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"14082:2:181","type":"","value":"77"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14055:6:181"},"nodeType":"YulFunctionCall","src":"14055:30:181"},"nodeType":"YulExpressionStatement","src":"14055:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14105:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14116:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14101:3:181"},"nodeType":"YulFunctionCall","src":"14101:18:181"},{"hexValue":"4552433737373a20746f6b656e20726563697069656e7420636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"14121:34:181","type":"","value":"ERC777: token recipient contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14094:6:181"},"nodeType":"YulFunctionCall","src":"14094:62:181"},"nodeType":"YulExpressionStatement","src":"14094:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14187:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14172:3:181"},"nodeType":"YulFunctionCall","src":"14172:18:181"},{"hexValue":"20686173206e6f20696d706c656d656e74657220666f7220455243373737546f","kind":"string","nodeType":"YulLiteral","src":"14192:34:181","type":"","value":" has no implementer for ERC777To"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14165:6:181"},"nodeType":"YulFunctionCall","src":"14165:62:181"},"nodeType":"YulExpressionStatement","src":"14165:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14247:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14258:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14243:3:181"},"nodeType":"YulFunctionCall","src":"14243:19:181"},{"hexValue":"6b656e73526563697069656e74","kind":"string","nodeType":"YulLiteral","src":"14264:15:181","type":"","value":"kensRecipient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14236:6:181"},"nodeType":"YulFunctionCall","src":"14236:44:181"},"nodeType":"YulExpressionStatement","src":"14236:44:181"},{"nodeType":"YulAssignment","src":"14289:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14301:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14312:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14297:3:181"},"nodeType":"YulFunctionCall","src":"14297:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14289:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13992:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14006:4:181","type":""}],"src":"13841:481:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$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 srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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_bytes(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_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _1) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(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_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\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 abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC777: caller is not an operato\")\n mstore(add(headStart, 96), \"r for holder\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC777: authorizing self as oper\")\n mstore(add(headStart, 96), \"ator\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC777: revoking self as operato\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC777: approve from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC777: approve to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__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), \"ERC777: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC777: transfer from the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC777: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC777: burn from the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC777: burn amount exceeds bala\")\n mstore(add(headStart, 96), \"nce\")\n tail := add(headStart, 128)\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 if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\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_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\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 validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 192)\n let tail_1 := abi_encode_string(value4, add(headStart, 192))\n mstore(add(headStart, 160), sub(tail_1, headStart))\n tail := abi_encode_string(value5, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"ERC777: transfer amount exceeds \")\n mstore(add(headStart, 96), \"balance\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 77)\n mstore(add(headStart, 64), \"ERC777: token recipient contract\")\n mstore(add(headStart, 96), \" has no implementer for ERC777To\")\n mstore(add(headStart, 128), \"kensRecipient\")\n tail := add(headStart, 160)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101165760003560e01c8063959b8c3f116100a2578063d95b637111610071578063d95b63711461022b578063dd62ed3e1461023e578063fad8b32a14610277578063fc673c4f1461028a578063fe9d93031461029d57600080fd5b8063959b8c3f146101ea57806395d89b41146101fd5780639bd9bbc614610205578063a9059cbb1461021857600080fd5b806323b872dd116100e957806323b872dd14610183578063313ce56714610196578063556f0dc7146101a557806362ad1b83146101ac57806370a08231146101c157600080fd5b806306e485381461011b57806306fdde0314610139578063095ea7b31461014e57806318160ddd14610171575b600080fd5b6101236102b0565b60405161013091906110ae565b60405180910390f35b610141610312565b6040516101309190611148565b61016161015c366004611173565b61039b565b6040519015158152602001610130565b6001545b604051908152602001610130565b61016161019136600461119f565b6103b3565b60405160128152602001610130565b6001610175565b6101bf6101ba366004611283565b6103f9565b005b6101756101cf366004611316565b6001600160a01b031660009081526020819052604090205490565b6101bf6101f8366004611316565b61043e565b61014161055c565b6101bf610213366004611333565b61056b565b610161610226366004611173565b61058e565b61016161023936600461138c565b6105c6565b61017561024c36600461138c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6101bf610285366004611316565b610668565b6101bf6102983660046113c5565b610784565b6101bf6102ab366004611445565b6107bc565b6060600480548060200260200160405190810160405280929190818152602001828054801561030857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102ea575b5050505050905090565b6060600280546103219061148c565b80601f016020809104026020016040519081016040528092919081815260200182805461034d9061148c565b80156103085780601f1061036f57610100808354040283529160200191610308565b820191906000526020600020905b81548152906001019060200180831161037d57509395945050505050565b6000336103a98185856107db565b5060019392505050565b6000336103c1858285610902565b6103ee8585856040518060200160405280600081525060405180602001604052806000815250600061098e565b506001949350505050565b61040333866105c6565b6104285760405162461bcd60e51b815260040161041f906114c7565b60405180910390fd5b6104378585858585600161098e565b5050505050565b336001600160a01b03821614156104a35760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff16156104f4573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610523565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b6060600380546103219061148c565b6105893384848460405180602001604052806000815250600161098e565b505050565b60006105bd3384846040518060200160405280600081525060405180602001604052806000815250600061098e565b50600192915050565b6000816001600160a01b0316836001600160a01b0316148061063157506001600160a01b03831660009081526005602052604090205460ff16801561063157506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff16155b8061066157506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b0381163314156106cb5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff161561071f573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561074b565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b61078e33856105c6565b6107aa5760405162461bcd60e51b815260040161041f906114c7565b6107b684848484610a8a565b50505050565b6107d733838360405180602001604052806000815250610a8a565b5050565b6001600160a01b03831661083f5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b0382166108a15760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526008602090815260408083209386168352929052205460001981146107b657818110156109815760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000604482015260640161041f565b6107b684848484036107db565b6001600160a01b0386166109f35760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161041f565b6001600160a01b038516610a555760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b33610a64818888888888610c3e565b610a72818888888888610d74565b610a8181888888888888610eda565b50505050505050565b6001600160a01b038416610aeb5760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b33610afb81866000878787610c3e565b6001600160a01b03851660009081526020819052604090205484811015610b705760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161041f565b6001600160a01b0386166000908152602081905260408120868303905560018054879290610b9f908490611529565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bed93929190611540565b60405180910390a36040518581526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610cba57600080fd5b505afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611575565b90506001600160a01b03811615610a8157604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610d39908a908a908a908a908a908a90600401611592565b600060405180830381600087803b158015610d5357600080fd5b505af1158015610d67573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03851660009081526020819052604090205483811015610ded5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b606482015260840161041f565b6001600160a01b03808716600090815260208190526040808220878503905591871681529081208054869290610e249084906115ec565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e7c93929190611540565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ec991815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610f5657600080fd5b505afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8e9190611575565b90506001600160a01b0381161561100a576040516223de2960e01b81526001600160a01b038216906223de2990610fd3908b908b908b908b908b908b90600401611592565b600060405180830381600087803b158015610fed57600080fd5b505af1158015611001573d6000803e3d6000fd5b505050506110a4565b81156110a4576001600160a01b0386163b156110a45760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a40161041f565b5050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156110ef5783516001600160a01b0316835292840192918401916001016110ca565b50909695505050505050565b6000815180845260005b8181101561112157602081850181015186830182015201611105565b81811115611133576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061066160208301846110fb565b6001600160a01b038116811461117057600080fd5b50565b6000806040838503121561118657600080fd5b82356111918161115b565b946020939093013593505050565b6000806000606084860312156111b457600080fd5b83356111bf8161115b565b925060208401356111cf8161115b565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261120757600080fd5b813567ffffffffffffffff80821115611222576112226111e0565b604051601f8301601f19908116603f0116810190828211818310171561124a5761124a6111e0565b8160405283815286602085880101111561126357600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a0868803121561129b57600080fd5b85356112a68161115b565b945060208601356112b68161115b565b935060408601359250606086013567ffffffffffffffff808211156112da57600080fd5b6112e689838a016111f6565b935060808801359150808211156112fc57600080fd5b50611309888289016111f6565b9150509295509295909350565b60006020828403121561132857600080fd5b81356106618161115b565b60008060006060848603121561134857600080fd5b83356113538161115b565b925060208401359150604084013567ffffffffffffffff81111561137657600080fd5b611382868287016111f6565b9150509250925092565b6000806040838503121561139f57600080fd5b82356113aa8161115b565b915060208301356113ba8161115b565b809150509250929050565b600080600080608085870312156113db57600080fd5b84356113e68161115b565b935060208501359250604085013567ffffffffffffffff8082111561140a57600080fd5b611416888389016111f6565b9350606087013591508082111561142c57600080fd5b50611439878288016111f6565b91505092959194509250565b6000806040838503121561145857600080fd5b82359150602083013567ffffffffffffffff81111561147657600080fd5b611482858286016111f6565b9150509250929050565b600181811c908216806114a057607f821691505b602082108114156114c157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561153b5761153b611513565b500390565b83815260606020820152600061155960608301856110fb565b828103604084015261156b81856110fb565b9695505050505050565b60006020828403121561158757600080fd5b81516106618161115b565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190526000906115cd908301856110fb565b82810360a08401526115df81856110fb565b9998505050505050505050565b600082198211156115ff576115ff611513565b50019056fea264697066735822122022978d714a1e9f3a29704c5d10e9ebdb6d5195add0f94f07980ef2a1c40f8d1a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x959B8C3F GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD95B6371 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD95B6371 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0xFAD8B32A EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFC673C4F EQ PUSH2 0x28A JUMPI DUP1 PUSH4 0xFE9D9303 EQ PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x959B8C3F EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x9BD9BBC6 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x62AD1B83 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6E48538 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x15C CALLDATASIZE PUSH1 0x4 PUSH2 0x1173 JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x119F JUMP JUMPDEST PUSH2 0x3B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x1283 JUMP JUMPDEST PUSH2 0x3F9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x175 PUSH2 0x1CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH2 0x43E JUMP JUMPDEST PUSH2 0x141 PUSH2 0x55C JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x213 CALLDATASIZE PUSH1 0x4 PUSH2 0x1333 JUMP JUMPDEST PUSH2 0x56B JUMP JUMPDEST PUSH2 0x161 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1173 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x161 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x138C JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x175 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x138C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x1316 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x298 CALLDATASIZE PUSH1 0x4 PUSH2 0x13C5 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x2AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1445 JUMP JUMPDEST PUSH2 0x7BC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x308 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x148C 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 0x34D SWAP1 PUSH2 0x148C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 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 0x37D JUMPI POP SWAP4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3A9 DUP2 DUP6 DUP6 PUSH2 0x7DB JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3C1 DUP6 DUP3 DUP6 PUSH2 0x902 JUMP JUMPDEST PUSH2 0x3EE DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x98E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x403 CALLER DUP7 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x428 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x437 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x1 PUSH2 0x98E JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617574686F72697A696E672073656C66206173206F706572 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x30BA37B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x4F4 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x523 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xF4CAEB2D6CA8932A215A353D0703C326EC2D81FC68170F320EB2AB49E9DF61F9 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x148C JUMP JUMPDEST PUSH2 0x589 CALLER DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x1 PUSH2 0x98E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BD CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x98E JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST DUP1 PUSH2 0x661 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ ISZERO PUSH2 0x6CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207265766F6B696E672073656C66206173206F70657261746F PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x71F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x74B JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x50546E66E5F44D728365DC3908C63BC5CFEEAB470722C1677E3073A6AC294AA1 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH2 0x78E CALLER DUP6 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA8A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x7D7 CALLER DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xA8A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x83F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F76652066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F766520746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x7B6 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x981 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 0x4552433737373A20696E73756666696369656E7420616C6C6F77616E63650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x41F JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x7DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x9F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E736665722066726F6D20746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xA64 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xC3E JUMP JUMPDEST PUSH2 0xA72 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD74 JUMP JUMPDEST PUSH2 0xA81 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xEDA JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xAEB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E2066726F6D20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xAFB DUP2 DUP7 PUSH1 0x0 DUP8 DUP8 DUP8 PUSH2 0xC3E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0xB70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E20616D6F756E7420657863656564732062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x6E6365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP7 DUP4 SUB SWAP1 SSTORE PUSH1 0x1 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0xB9F SWAP1 DUP5 SWAP1 PUSH2 0x1529 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xA78A9BE3A7B862D26933AD85FB11D80EF66B8F972D7CBBA06621D583943A4098 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xBED SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1540 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x40 MLOAD DUP6 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0x29DDB589B1FB5FC7CF394961C1ADF5F8C6454761ADF795E67FE149F658ABE895 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCCE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCF2 SWAP2 SWAP1 PUSH2 0x1575 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA81 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AD5CBC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x75AB9782 SWAP1 PUSH2 0xD39 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x1592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP4 DUP2 LT ISZERO PUSH2 0xDED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220616D6F756E74206578636565647320 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x62616C616E6365 PUSH1 0xC8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP8 DUP6 SUB SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0xE24 SWAP1 DUP5 SWAP1 PUSH2 0x15EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6B541DDAA720DB2B10A4D0CDAC39B8D360425FC073085FAC19BC82614677987 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE7C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1540 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP7 PUSH1 0x40 MLOAD PUSH2 0xEC9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xB281FC8C12954D22544DB45DE3159A39272895B169A852B314F9CC762E44C53B PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF6A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF8E SWAP2 SWAP1 PUSH2 0x1575 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x100A JUMPI PUSH1 0x40 MLOAD PUSH3 0x23DE29 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH3 0x23DE29 SWAP1 PUSH2 0xFD3 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x1592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1001 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10A4 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20746F6B656E20726563697069656E7420636F6E7472616374 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x20686173206E6F20696D706C656D656E74657220666F7220455243373737546F PUSH1 0x64 DUP3 ADD MSTORE PUSH13 0x1AD95B9CD49958DA5C1A595B9D PUSH1 0x9A SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x41F JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10EF JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10CA JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1121 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1105 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1133 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x661 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1186 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x1191 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11BF DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x11CF DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 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 0x1207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1222 JUMPI PUSH2 0x1222 PUSH2 0x11E0 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 0x124A JUMPI PUSH2 0x124A PUSH2 0x11E0 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1263 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 0x129B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x12A6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x12B6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x12DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12E6 DUP10 DUP4 DUP11 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x12FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1309 DUP9 DUP3 DUP10 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1328 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x661 DUP2 PUSH2 0x115B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1353 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1382 DUP7 DUP3 DUP8 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x13AA DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x13BA DUP2 PUSH2 0x115B JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x13E6 DUP2 PUSH2 0x115B JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x140A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1416 DUP9 DUP4 DUP10 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x142C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1439 DUP8 DUP3 DUP9 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1476 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1482 DUP6 DUP3 DUP7 ADD PUSH2 0x11F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x14A0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x14C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A2063616C6C6572206973206E6F7420616E206F70657261746F PUSH1 0x40 DUP3 ADD MSTORE PUSH12 0x39103337B9103437B63232B9 PUSH1 0xA1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x153B JUMPI PUSH2 0x153B PUSH2 0x1513 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1559 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x10FB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x156B DUP2 DUP6 PUSH2 0x10FB JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x661 DUP2 PUSH2 0x115B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP3 MSTORE DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xC0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x15CD SWAP1 DUP4 ADD DUP6 PUSH2 0x10FB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15DF DUP2 DUP6 PUSH2 0x10FB JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x15FF JUMPI PUSH2 0x15FF PUSH2 0x1513 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x22 SWAP8 DUP14 PUSH18 0x4A1E9F3A29704C5D10E9EBDB6D5195ADD0F9 0x4F SMOD SWAP9 0xE CALLCODE LOG1 0xC4 0xF DUP14 BYTE PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1088:17574:128:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6528:130;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2982:98;;;:::i;:::-;;;;;;;:::i;8286:197::-;;;;;;:::i;:::-;;:::i;:::-;;;2000:14:181;;1993:22;1975:41;;1963:2;1948:18;8286:197:128;1835:187:181;3775:123:128;3879:12;;3775:123;;;2173:25:181;;;2161:2;2146:18;3775:123:128;2027:177:181;8965:317:128;;;;;;:::i;:::-;;:::i;3422:82::-;;;3495:2;2812:36:181;;2800:2;2785:18;3422:82:128;2670:184:181;3619:95:128;3706:1;3619:95;;6777:366;;;;;;:::i;:::-;;:::i;:::-;;3998:150;;;;;;:::i;:::-;-1:-1:-1;;;;;4119:22:128;4093:7;4119:22;;;;;;;;;;;;3998:150;5583:412;;;;;;:::i;:::-;;:::i;3136:102::-;;;:::i;4278:193::-;;;;;;:::i;:::-;;:::i;4702:183::-;;;;;;:::i;:::-;;:::i;5205:311::-;;;;;;:::i;:::-;;:::i;7828:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7944:19:128;;;7918:7;7944:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7828:151;6059:403;;;;;;:::i;:::-;;:::i;7264:325::-;;;;;;:::i;:::-;;:::i;5015:127::-;;;;;;:::i;:::-;;:::i;6528:130::-;6594:16;6629:22;6622:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6622:29:128;;;;;;;;;;;;;;;;;;;;;;;6528:130;:::o;2982:98::-;3036:13;3068:5;3061:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3061:12:128;;2982:98;-1:-1:-1;;;;;2982:98:128:o;8286:197::-;8368:4;719:10:138;8423:32:128;719:10:138;8440:7:128;8449:5;8423:8;:32::i;:::-;-1:-1:-1;8472:4:128;;8286:197;-1:-1:-1;;;8286:197:128:o;8965:317::-;9101:4;719:10:138;9157:40:128;9173:6;719:10:138;9190:6:128;9157:15;:40::i;:::-;9207:47;9213:6;9221:9;9232:6;9207:47;;;;;;;;;;;;;;;;;;;;;;;;9248:5;9207;:47::i;:::-;-1:-1:-1;9271:4:128;;8965:317;-1:-1:-1;;;;8965:317:128:o;6777:366::-;6984:35;719:10:138;7012:6:128;6984:13;:35::i;:::-;6976:92;;;;-1:-1:-1;;;6976:92:128;;;;;;;:::i;:::-;;;;;;;;;7078:58;7084:6;7092:9;7103:6;7111:4;7117:12;7131:4;7078:5;:58::i;:::-;6777:366;;;;;:::o;5583:412::-;719:10:138;-1:-1:-1;;;;;5670:24:128;;;;5662:73;;;;-1:-1:-1;;;5662:73:128;;7918:2:181;5662:73:128;;;7900:21:181;7957:2;7937:18;;;7930:30;7996:34;7976:18;;;7969:62;-1:-1:-1;;;8047:18:181;;;8040:34;8091:19;;5662:73:128;7716:400:181;5662:73:128;-1:-1:-1;;;;;5750:27:128;;;;;;:17;:27;;;;;;;;5746:185;;;719:10:138;5800:38:128;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;5800:48:128;;;;;;;;;5793:55;;-1:-1:-1;;5793:55:128;;;5746:185;;;719:10:138;5879:24:128;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;5879:34:128;;;;;;;;;:41;;-1:-1:-1;;5879:41:128;5916:4;5879:41;;;5746:185;5946:42;;719:10:138;;-1:-1:-1;;;;;5946:42:128;;;;;;;;5583:412;:::o;3136:102::-;3192:13;3224:7;3217:14;;;;;:::i;4278:193::-;4410:54;719:10:138;4430:9:128;4441:6;4449:4;4410:54;;;;;;;;;;;;4459:4;4410:5;:54::i;:::-;4278:193;;;:::o;4702:183::-;4788:4;4804:53;719:10:138;4824:9:128;4835:6;4804:53;;;;;;;;;;;;;;;;;;;;;;;;4851:5;4804;:53::i;:::-;-1:-1:-1;4874:4:128;4702:183;;;;:::o;5205:311::-;5305:4;5352:11;-1:-1:-1;;;;;5340:23:128;:8;-1:-1:-1;;;;;5340:23:128;;:120;;;-1:-1:-1;;;;;;5380:27:128;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;5412:37:128;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;5411:48;5380:79;5340:169;;;-1:-1:-1;;;;;;5476:23:128;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;5340:169;5321:188;5205:311;-1:-1:-1;;;5205:311:128:o;6059:403::-;-1:-1:-1;;;;;6143:24:128;;719:10:138;6143:24:128;;6135:70;;;;-1:-1:-1;;;6135:70:128;;8323:2:181;6135:70:128;;;8305:21:181;8362:2;8342:18;;;8335:30;8401:34;8381:18;;;8374:62;-1:-1:-1;;;8452:18:181;;;8445:31;8493:19;;6135:70:128;8121:397:181;6135:70:128;-1:-1:-1;;;;;6220:27:128;;;;;;:17;:27;;;;;;;;6216:185;;;719:10:138;6263:38:128;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;6263:48:128;;;;;;;;;:55;;-1:-1:-1;;6263:55:128;6314:4;6263:55;;;6216:185;;;719:10:138;6356:24:128;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;6356:34:128;;;;;;;;;6349:41;;-1:-1:-1;;6349:41:128;;;6216:185;6416:39;;719:10:138;;-1:-1:-1;;;;;6416:39:128;;;;;;;;6059:403;:::o;7264:325::-;7445:36;719:10:138;7473:7:128;7445:13;:36::i;:::-;7437:93;;;;-1:-1:-1;;;7437:93:128;;;;;;;:::i;:::-;7540:42;7546:7;7555:6;7563:4;7569:12;7540:5;:42::i;:::-;7264:325;;;;:::o;5015:127::-;5098:37;719:10:138;5118:6:128;5126:4;5098:37;;;;;;;;;;;;:5;:37::i;:::-;5015:127;;:::o;14472:373::-;-1:-1:-1;;;;;14603:20:128;;14595:70;;;;-1:-1:-1;;;14595:70:128;;8725:2:181;14595:70:128;;;8707:21:181;8764:2;8744:18;;;8737:30;8803:34;8783:18;;;8776:62;-1:-1:-1;;;8854:18:181;;;8847:35;8899:19;;14595:70:128;8523:401:181;14595:70:128;-1:-1:-1;;;;;14683:21:128;;14675:69;;;;-1:-1:-1;;;14675:69:128;;9131:2:181;14675:69:128;;;9113:21:181;9170:2;9150:18;;;9143:30;9209:34;9189:18;;;9182:62;-1:-1:-1;;;9260:18:181;;;9253:33;9303:19;;14675:69:128;8929:399:181;14675:69:128;-1:-1:-1;;;;;14755:19:128;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;14806:32;;2173:25:181;;;14806:32:128;;2146:18:181;14806:32:128;;;;;;;14472:373;;;:::o;17443:442::-;-1:-1:-1;;;;;7944:19:128;;;17573:24;7944:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;-1:-1:-1;;17639:37:128;;17635:244;;17720:6;17700:16;:26;;17692:69;;;;-1:-1:-1;;;17692:69:128;;9535:2:181;17692:69:128;;;9517:21:181;9574:2;9554:18;;;9547:30;9613:32;9593:18;;;9586:60;9663:18;;17692:69:128;9333:354:181;17692:69:128;17803:51;17812:5;17819:7;17847:6;17828:16;:25;17803:8;:51::i;11943:658::-;-1:-1:-1;;;;;12165:18:128;;12157:69;;;;-1:-1:-1;;;12157:69:128;;9894:2:181;12157:69:128;;;9876:21:181;9933:2;9913:18;;;9906:30;9972:34;9952:18;;;9945:62;-1:-1:-1;;;10023:18:181;;;10016:36;10069:19;;12157:69:128;9692:402:181;12157:69:128;-1:-1:-1;;;;;12244:16:128;;12236:65;;;;-1:-1:-1;;;12236:65:128;;10301:2:181;12236:65:128;;;10283:21:181;10340:2;10320:18;;;10313:30;10379:34;10359:18;;;10352:62;-1:-1:-1;;;10430:18:181;;;10423:34;10474:19;;12236:65:128;10099:400:181;12236:65:128;719:10:138;12354:69:128;719:10:138;12382:4:128;12388:2;12392:6;12400:8;12410:12;12354:17;:69::i;:::-;12434:57;12440:8;12450:4;12456:2;12460:6;12468:8;12478:12;12434:5;:57::i;:::-;12502:92;12522:8;12532:4;12538:2;12542:6;12550:8;12560:12;12574:19;12502;:92::i;:::-;12147:454;11943:658;;;;;;:::o;12906:811::-;-1:-1:-1;;;;;13070:18:128;;13062:65;;;;-1:-1:-1;;;13062:65:128;;10706:2:181;13062:65:128;;;10688:21:181;10745:2;10725:18;;;10718:30;10784:34;10764:18;;;10757:62;-1:-1:-1;;;10835:18:181;;;10828:32;10877:19;;13062:65:128;10504:398:181;13062:65:128;719:10:138;13180:73:128;719:10:138;13208:4:128;13138:16;13226:6;13234:4;13240:12;13180:17;:73::i;:::-;-1:-1:-1;;;;;13387:15:128;;13365:19;13387:15;;;;;;;;;;;13420:21;;;;13412:69;;;;-1:-1:-1;;;13412:69:128;;11109:2:181;13412:69:128;;;11091:21:181;11148:2;11128:18;;;11121:30;11187:34;11167:18;;;11160:62;-1:-1:-1;;;11238:18:181;;;11231:33;11281:19;;13412:69:128;10907:399:181;13412:69:128;-1:-1:-1;;;;;13515:15:128;;:9;:15;;;;;;;;;;13533:20;;;13515:38;;13573:12;:22;;13547:6;;13515:9;13573:22;;13547:6;;13573:22;:::i;:::-;;;;;;;;13628:4;-1:-1:-1;;;;;13611:50:128;13618:8;-1:-1:-1;;;;;13611:50:128;;13634:6;13642:4;13648:12;13611:50;;;;;;;;:::i;:::-;;;;;;;;13676:34;;2173:25:181;;;13699:1:128;;-1:-1:-1;;;;;13676:34:128;;;;;2161:2:181;2146:18;13676:34:128;;;;;;;13052:665;;12906:811;;;;:::o;15318:472::-;15549:78;;-1:-1:-1;;;15549:78:128;;-1:-1:-1;;;;;12220:32:181;;15549:78:128;;;12202:51:181;1491:31:128;12269:18:181;;;12262:34;15527:19:128;;1242:42;;15549:41;;12175:18:181;;15549:78:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15527:100;-1:-1:-1;;;;;;15641:25:128;;;15637:147;;15682:91;;-1:-1:-1;;;15682:91:128;;-1:-1:-1;;;;;15682:39:128;;;;;:91;;15722:8;;15732:4;;15738:2;;15742:6;;15750:8;;15760:12;;15682:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15517:273;15318:472;;;;;;:::o;13723:611::-;-1:-1:-1;;;;;14001:15:128;;13979:19;14001:15;;;;;;;;;;;14034:21;;;;14026:73;;;;-1:-1:-1;;;14026:73:128;;13502:2:181;14026:73:128;;;13484:21:181;13541:2;13521:18;;;13514:30;13580:34;13560:18;;;13553:62;-1:-1:-1;;;13631:18:181;;;13624:37;13678:19;;14026:73:128;13300:403:181;14026:73:128;-1:-1:-1;;;;;14133:15:128;;;:9;:15;;;;;;;;;;;14151:20;;;14133:38;;14191:13;;;;;;;;:23;;14165:6;;14133:9;14191:23;;14165:6;;14191:23;:::i;:::-;;;;;;;;14251:2;-1:-1:-1;;;;;14230:56:128;14245:4;-1:-1:-1;;;;;14230:56:128;14235:8;-1:-1:-1;;;;;14230:56:128;;14255:6;14263:8;14273:12;14230:56;;;;;;;;:::i;:::-;;;;;;;;14316:2;-1:-1:-1;;;;;14301:26:128;14310:4;-1:-1:-1;;;;;14301:26:128;;14320:6;14301:26;;;;2173:25:181;;2161:2;2146:18;;2027:177;14301:26:128;;;;;;;;13910:424;13723:611;;;;;;:::o;16479:676::-;16746:79;;-1:-1:-1;;;16746:79:128;;-1:-1:-1;;;;;12220:32:181;;16746:79:128;;;12202:51:181;1588:34:128;12269:18:181;;;12262:34;16724:19:128;;1242:42;;16746:41;;12175:18:181;;16746:79:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16724:101;-1:-1:-1;;;;;;16839:25:128;;;16835:314;;16880:96;;-1:-1:-1;;;16880:96:128;;-1:-1:-1;;;;;16880:44:128;;;;;:96;;16925:8;;16935:4;;16941:2;;16945:6;;16953:8;;16963:12;;16880:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16835:314;;;16997:19;16993:156;;;-1:-1:-1;;;;;17041:13:128;;1465:19:134;:23;17032:106:128;;;;-1:-1:-1;;;17032:106:128;;14043:2:181;17032:106:128;;;14025:21:181;14082:2;14062:18;;;14055:30;14121:34;14101:18;;;14094:62;14192:34;14172:18;;;14165:62;-1:-1:-1;;;14243:19:181;;;14236:44;14297:19;;17032:106:128;13841:481:181;17032:106:128;16714:441;16479:676;;;;;;;:::o;14:658:181:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:181;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:181;;14:658;-1:-1:-1;;;;;;14:658:181:o;677:472::-;719:3;757:5;751:12;784:6;779:3;772:19;809:1;819:162;833:6;830:1;827:13;819:162;;;895:4;951:13;;;947:22;;941:29;923:11;;;919:20;;912:59;848:12;819:162;;;999:6;996:1;993:13;990:87;;;1065:1;1058:4;1049:6;1044:3;1040:16;1036:27;1029:38;990:87;-1:-1:-1;1131:2:181;1110:15;-1:-1:-1;;1106:29:181;1097:39;;;;1138:4;1093:50;;677:472;-1:-1:-1;;677:472:181:o;1154:220::-;1303:2;1292:9;1285:21;1266:4;1323:45;1364:2;1353:9;1349:18;1341:6;1323:45;:::i;1379:131::-;-1:-1:-1;;;;;1454:31:181;;1444:42;;1434:70;;1500:1;1497;1490:12;1434:70;1379:131;:::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:181:o;2209:456::-;2286:6;2294;2302;2355:2;2343:9;2334:7;2330:23;2326:32;2323:52;;;2371:1;2368;2361:12;2323:52;2410:9;2397:23;2429:31;2454:5;2429:31;:::i;:::-;2479:5;-1:-1:-1;2536:2:181;2521:18;;2508:32;2549:33;2508:32;2549:33;:::i;:::-;2209:456;;2601:7;;-1:-1:-1;;;2655:2:181;2640:18;;;;2627:32;;2209:456::o;2859:127::-;2920:10;2915:3;2911:20;2908:1;2901:31;2951:4;2948:1;2941:15;2975:4;2972:1;2965:15;2991:718;3033:5;3086:3;3079:4;3071:6;3067:17;3063:27;3053:55;;3104:1;3101;3094:12;3053:55;3140:6;3127:20;3166:18;3203:2;3199;3196:10;3193:36;;;3209:18;;:::i;:::-;3284:2;3278:9;3252:2;3338:13;;-1:-1:-1;;3334:22:181;;;3358:2;3330:31;3326:40;3314:53;;;3382:18;;;3402:22;;;3379:46;3376:72;;;3428:18;;:::i;:::-;3468:10;3464:2;3457:22;3503:2;3495:6;3488:18;3549:3;3542:4;3537:2;3529:6;3525:15;3521:26;3518:35;3515:55;;;3566:1;3563;3556:12;3515:55;3630:2;3623:4;3615:6;3611:17;3604:4;3596:6;3592:17;3579:54;3677:1;3670:4;3665:2;3657:6;3653:15;3649:26;3642:37;3697:6;3688:15;;;;;;2991:718;;;;:::o;3714:885::-;3827:6;3835;3843;3851;3859;3912:3;3900:9;3891:7;3887:23;3883:33;3880:53;;;3929:1;3926;3919:12;3880:53;3968:9;3955:23;3987:31;4012:5;3987:31;:::i;:::-;4037:5;-1:-1:-1;4094:2:181;4079:18;;4066:32;4107:33;4066:32;4107:33;:::i;:::-;4159:7;-1:-1:-1;4213:2:181;4198:18;;4185:32;;-1:-1:-1;4268:2:181;4253:18;;4240:32;4291:18;4321:14;;;4318:34;;;4348:1;4345;4338:12;4318:34;4371:49;4412:7;4403:6;4392:9;4388:22;4371:49;:::i;:::-;4361:59;;4473:3;4462:9;4458:19;4445:33;4429:49;;4503:2;4493:8;4490:16;4487:36;;;4519:1;4516;4509:12;4487:36;;4542:51;4585:7;4574:8;4563:9;4559:24;4542:51;:::i;:::-;4532:61;;;3714:885;;;;;;;;:::o;4604:247::-;4663:6;4716:2;4704:9;4695:7;4691:23;4687:32;4684:52;;;4732:1;4729;4722:12;4684:52;4771:9;4758:23;4790:31;4815:5;4790:31;:::i;4856:523::-;4942:6;4950;4958;5011:2;4999:9;4990:7;4986:23;4982:32;4979:52;;;5027:1;5024;5017:12;4979:52;5066:9;5053:23;5085:31;5110:5;5085:31;:::i;:::-;5135:5;-1:-1:-1;5187:2:181;5172:18;;5159:32;;-1:-1:-1;5242:2:181;5227:18;;5214:32;5269:18;5258:30;;5255:50;;;5301:1;5298;5291:12;5255:50;5324:49;5365:7;5356:6;5345:9;5341:22;5324:49;:::i;:::-;5314:59;;;4856:523;;;;;:::o;5384:388::-;5452:6;5460;5513:2;5501:9;5492:7;5488:23;5484:32;5481:52;;;5529:1;5526;5519:12;5481:52;5568:9;5555:23;5587:31;5612:5;5587:31;:::i;:::-;5637:5;-1:-1:-1;5694:2:181;5679:18;;5666:32;5707:33;5666:32;5707:33;:::i;:::-;5759:7;5749:17;;;5384:388;;;;;:::o;5777:743::-;5881:6;5889;5897;5905;5958:3;5946:9;5937:7;5933:23;5929:33;5926:53;;;5975:1;5972;5965:12;5926:53;6014:9;6001:23;6033:31;6058:5;6033:31;:::i;:::-;6083:5;-1:-1:-1;6135:2:181;6120:18;;6107:32;;-1:-1:-1;6190:2:181;6175:18;;6162:32;6213:18;6243:14;;;6240:34;;;6270:1;6267;6260:12;6240:34;6293:49;6334:7;6325:6;6314:9;6310:22;6293:49;:::i;:::-;6283:59;;6395:2;6384:9;6380:18;6367:32;6351:48;;6424:2;6414:8;6411:16;6408:36;;;6440:1;6437;6430:12;6408:36;;6463:51;6506:7;6495:8;6484:9;6480:24;6463:51;:::i;:::-;6453:61;;;5777:743;;;;;;;:::o;6525:388::-;6602:6;6610;6663:2;6651:9;6642:7;6638:23;6634:32;6631:52;;;6679:1;6676;6669:12;6631:52;6715:9;6702:23;6692:33;;6776:2;6765:9;6761:18;6748:32;6803:18;6795:6;6792:30;6789:50;;;6835:1;6832;6825:12;6789:50;6858:49;6899:7;6890:6;6879:9;6875:22;6858:49;:::i;:::-;6848:59;;;6525:388;;;;;:::o;6918:380::-;6997:1;6993:12;;;;7040;;;7061:61;;7115:4;7107:6;7103:17;7093:27;;7061:61;7168:2;7160:6;7157:14;7137:18;7134:38;7131:161;;;7214:10;7209:3;7205:20;7202:1;7195:31;7249:4;7246:1;7239:15;7277:4;7274:1;7267:15;7131:161;;6918:380;;;:::o;7303:408::-;7505:2;7487:21;;;7544:2;7524:18;;;7517:30;7583:34;7578:2;7563:18;;7556:62;-1:-1:-1;;;7649:2:181;7634:18;;7627:42;7701:3;7686:19;;7303:408::o;11311:127::-;11372:10;11367:3;11363:20;11360:1;11353:31;11403:4;11400:1;11393:15;11427:4;11424:1;11417:15;11443:125;11483:4;11511:1;11508;11505:8;11502:34;;;11516:18;;:::i;:::-;-1:-1:-1;11553:9:181;;11443:125::o;11573:450::-;11794:6;11783:9;11776:25;11837:2;11832;11821:9;11817:18;11810:30;11757:4;11863:45;11904:2;11893:9;11889:18;11881:6;11863:45;:::i;:::-;11956:9;11948:6;11944:22;11939:2;11928:9;11924:18;11917:50;11984:33;12010:6;12002;11984:33;:::i;:::-;11976:41;11573:450;-1:-1:-1;;;;;;11573:450:181:o;12307:251::-;12377:6;12430:2;12418:9;12409:7;12405:23;12401:32;12398:52;;;12446:1;12443;12436:12;12398:52;12478:9;12472:16;12497:31;12522:5;12497:31;:::i;12563:732::-;-1:-1:-1;;;;;12906:15:181;;;12888:34;;12958:15;;;12953:2;12938:18;;12931:43;13010:15;;13005:2;12990:18;;12983:43;13057:2;13042:18;;13035:34;;;13106:3;13100;13085:19;;13078:32;;;12831:4;;13133:46;;13159:19;;13151:6;13133:46;:::i;:::-;13228:9;13220:6;13216:22;13210:3;13199:9;13195:19;13188:51;13256:33;13282:6;13274;13256:33;:::i;:::-;13248:41;12563:732;-1:-1:-1;;;;;;;;;12563:732:181:o;13708:128::-;13748:3;13779:1;13775:6;13772:1;13769:13;13766:39;;;13785:18;;:::i;:::-;-1:-1:-1;13821:9:181;;13708:128::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","authorizeOperator(address)":"959b8c3f","balanceOf(address)":"70a08231","burn(uint256,bytes)":"fe9d9303","decimals()":"313ce567","defaultOperators()":"06e48538","granularity()":"556f0dc7","isOperatorFor(address,address)":"d95b6371","name()":"06fdde03","operatorBurn(address,uint256,bytes,bytes)":"fc673c4f","operatorSend(address,address,uint256,bytes,bytes)":"62ad1b83","revokeOperator(address)":"fad8b32a","send(address,uint256,bytes)":"9bd9bbc6","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultOperators_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"AuthorizedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Burned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"RevokedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Sent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"authorizeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"granularity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"isOperatorFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC777} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. Support for ERC20 is included in this contract, as specified by the EIP: both the ERC777 and ERC20 interfaces can be safely used when interacting with it. Both {IERC777-Sent} and {IERC20-Transfer} events are emitted on token movements. Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there are no special restrictions in the amount of tokens that created, moved, or destroyed. This makes integration with ERC20 applications seamless.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}. Note that operator and allowance concepts are orthogonal: operators may not have allowance, and accounts with allowance may not be operators themselves.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Note that accounts cannot have allowance issued by their operators.\"},\"authorizeOperator(address)\":{\"details\":\"See {IERC777-authorizeOperator}.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by an account (`tokenHolder`).\"},\"burn(uint256,bytes)\":{\"details\":\"See {IERC777-burn}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"constructor\":{\"details\":\"`defaultOperators` may be an empty array.\"},\"decimals()\":{\"details\":\"See {ERC20-decimals}. Always returns 18, as per the [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility).\"},\"defaultOperators()\":{\"details\":\"See {IERC777-defaultOperators}.\"},\"granularity()\":{\"details\":\"See {IERC777-granularity}. This implementation always returns `1`.\"},\"isOperatorFor(address,address)\":{\"details\":\"See {IERC777-isOperatorFor}.\"},\"name()\":{\"details\":\"See {IERC777-name}.\"},\"operatorBurn(address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorBurn}. Emits {Burned} and {IERC20-Transfer} events.\"},\"operatorSend(address,address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorSend}. Emits {Sent} and {IERC20-Transfer} events.\"},\"revokeOperator(address)\":{\"details\":\"See {IERC777-revokeOperator}.\"},\"send(address,uint256,bytes)\":{\"details\":\"See {IERC777-send}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"symbol()\":{\"details\":\"See {IERC777-symbol}.\"},\"totalSupply()\":{\"details\":\"See {IERC777-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} interface if it is a contract. Also emits a {Sent} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Note that operator and allowance concepts are orthogonal: operators cannot call `transferFrom` (unless they have allowance), and accounts with allowance cannot call `operatorSend` (unless they are operators). Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol\":\"ERC777\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol\":{\"keccak256\":\"0xd072bae157dbfae22652801c8811296d7b3311d0432407fbd4d2e961eac63f0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607b2aabf33cfa043ae1b6f0c7dca80718d440e6d980c6afac734851c69ede75\",\"dweb:/ipfs/QmPGzMcypjgArPY4PUKbgJcVh5m9aZKos6bxbTwzZHyDVn\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0x385a7061f1436b079d44c140dee9387d5313e94874ff9ee877dc0085c981ac3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c3fe22bb0d9527356e11f267f9187134de4d4ed1ff77468b4d73e3238697b96\",\"dweb:/ipfs/Qmc8caJctgxbzXEpxRogQMR2bnBk5U67hA7kKbUEG2PUXV\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0xd750324b0fc76aa4c1b0aadf7cab03b3d1cc4d5744348c18ba2b99dbdbe1758d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d53cbf8e2e469a6422fb61d8636af3ec39d8e10e7f4d99d625bdd36d4b8ddf34\",\"dweb:/ipfs/QmNhvk3jmfgquVki2V7gNmTWTMeNwEPCnetybeBntQtsyJ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol":{"IERC777":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"authorizeOperator(address)":"959b8c3f","balanceOf(address)":"70a08231","burn(uint256,bytes)":"fe9d9303","defaultOperators()":"06e48538","granularity()":"556f0dc7","isOperatorFor(address,address)":"d95b6371","name()":"06fdde03","operatorBurn(address,uint256,bytes,bytes)":"fc673c4f","operatorSend(address,address,uint256,bytes,bytes)":"62ad1b83","revokeOperator(address)":"fad8b32a","send(address,uint256,bytes)":"9bd9bbc6","symbol()":"95d89b41","totalSupply()":"18160ddd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"AuthorizedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Burned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"RevokedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Sent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"authorizeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"granularity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"isOperatorFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC777Token standard as defined in the EIP. This contract uses the https://eips.ethereum.org/EIPS/eip-1820[ERC1820 registry standard] to let token holders and recipients react to token movements by using setting implementers for the associated interfaces in said registry. See {IERC1820Registry} and {ERC1820Implementer}.\",\"events\":{\"AuthorizedOperator(address,address)\":{\"details\":\"Emitted when `operator` is made operator for `tokenHolder`.\"},\"Burned(address,address,uint256,bytes,bytes)\":{\"details\":\"Emitted when `operator` destroys `amount` tokens from `account`. Note that some additional user `data` and `operatorData` can be logged in the event.\"},\"Minted(address,address,uint256,bytes,bytes)\":{\"details\":\"Emitted when `amount` tokens are created by `operator` and assigned to `to`. Note that some additional user `data` and `operatorData` can be logged in the event.\"},\"RevokedOperator(address,address)\":{\"details\":\"Emitted when `operator` is revoked its operator status for `tokenHolder`.\"}},\"kind\":\"dev\",\"methods\":{\"authorizeOperator(address)\":{\"details\":\"Make an account an operator of the caller. See {isOperatorFor}. Emits an {AuthorizedOperator} event. Requirements - `operator` cannot be calling address.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by an account (`owner`).\"},\"burn(uint256,bytes)\":{\"details\":\"Destroys `amount` tokens from the caller's account, reducing the total supply. If a send hook is registered for the caller, the corresponding function will be called with `data` and empty `operatorData`. See {IERC777Sender}. Emits a {Burned} event. Requirements - the caller must have at least `amount` tokens.\"},\"defaultOperators()\":{\"details\":\"Returns the list of default operators. These accounts are operators for all token holders, even if {authorizeOperator} was never called on them. This list is immutable, but individual holders may revoke these via {revokeOperator}, in which case {isOperatorFor} will return false.\"},\"granularity()\":{\"details\":\"Returns the smallest part of the token that is not divisible. This means all token operations (creation, movement and destruction) must have amounts that are a multiple of this number. For most token contracts, this value will equal 1.\"},\"isOperatorFor(address,address)\":{\"details\":\"Returns true if an account is an operator of `tokenHolder`. Operators can send and burn tokens on behalf of their owners. All accounts are their own operator. See {operatorSend} and {operatorBurn}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"operatorBurn(address,uint256,bytes,bytes)\":{\"details\":\"Destroys `amount` tokens from `account`, reducing the total supply. The caller must be an operator of `account`. If a send hook is registered for `account`, the corresponding function will be called with `data` and `operatorData`. See {IERC777Sender}. Emits a {Burned} event. Requirements - `account` cannot be the zero address. - `account` must have at least `amount` tokens. - the caller must be an operator for `account`.\"},\"operatorSend(address,address,uint256,bytes,bytes)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient`. The caller must be an operator of `sender`. If send or receive hooks are registered for `sender` and `recipient`, the corresponding functions will be called with `data` and `operatorData`. See {IERC777Sender} and {IERC777Recipient}. Emits a {Sent} event. Requirements - `sender` cannot be the zero address. - `sender` must have at least `amount` tokens. - the caller must be an operator for `sender`. - `recipient` cannot be the zero address. - if `recipient` is a contract, it must implement the {IERC777Recipient} interface.\"},\"revokeOperator(address)\":{\"details\":\"Revoke an account's operator status for the caller. See {isOperatorFor} and {defaultOperators}. Emits a {RevokedOperator} event. Requirements - `operator` cannot be calling address.\"},\"send(address,uint256,bytes)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. If send or receive hooks are registered for the caller and `recipient`, the corresponding functions will be called with `data` and empty `operatorData`. See {IERC777Sender} and {IERC777Recipient}. Emits a {Sent} event. Requirements - the caller must have at least `amount` tokens. - `recipient` cannot be the zero address. - if `recipient` is a contract, it must implement the {IERC777Recipient} interface.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol\":\"IERC777\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0x385a7061f1436b079d44c140dee9387d5313e94874ff9ee877dc0085c981ac3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c3fe22bb0d9527356e11f267f9187134de4d4ed1ff77468b4d73e3238697b96\",\"dweb:/ipfs/Qmc8caJctgxbzXEpxRogQMR2bnBk5U67hA7kKbUEG2PUXV\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol":{"IERC777Recipient":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"tokensReceived","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"tokensReceived(address,address,address,uint256,bytes,bytes)":"0023de29"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"tokensReceived\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC777TokensRecipient standard as defined in the EIP. Accounts can be notified of {IERC777} tokens being sent to them by having a contract implement this interface (contract holders can be their own implementer) and registering it on the https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. See {IERC1820Registry} and {ERC1820Implementer}.\",\"kind\":\"dev\",\"methods\":{\"tokensReceived(address,address,address,uint256,bytes,bytes)\":{\"details\":\"Called by an {IERC777} token contract whenever tokens are being moved or created into a registered account (`to`). The type of operation is conveyed by `from` being the zero address or not. This call occurs _after_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the post-operation state. This function may revert to prevent the operation from being executed.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":\"IERC777Recipient\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol":{"IERC777Sender":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"tokensToSend","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"tokensToSend(address,address,address,uint256,bytes,bytes)":"75ab9782"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"tokensToSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC777TokensSender standard as defined in the EIP. {IERC777} Token holders can be notified of operations performed on their tokens by having a contract implement this interface (contract holders can be their own implementer) and registering it on the https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. See {IERC1820Registry} and {ERC1820Implementer}.\",\"kind\":\"dev\",\"methods\":{\"tokensToSend(address,address,address,uint256,bytes,bytes)\":{\"details\":\"Called by an {IERC777} token contract whenever a registered holder's (`from`) tokens are about to be moved or destroyed. The type of operation is conveyed by `to` being the zero address or not. This call occurs _before_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the pre-operation state. This function may revert to prevent the operation from being executed.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":\"IERC777Sender\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol":{"ERC777PresetFixedSupply":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"defaultOperators","type":"address[]"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_18978":{"entryPoint":null,"id":18978,"parameterSlots":3,"returnSlots":0},"@_20159":{"entryPoint":null,"id":20159,"parameterSlots":5,"returnSlots":0},"@_beforeTokenTransfer_19921":{"entryPoint":null,"id":19921,"parameterSlots":4,"returnSlots":0},"@_callTokensReceived_19865":{"entryPoint":958,"id":19865,"parameterSlots":7,"returnSlots":0},"@_mint_19408":{"entryPoint":594,"id":19408,"parameterSlots":4,"returnSlots":0},"@_mint_19488":{"entryPoint":616,"id":19488,"parameterSlots":5,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@isContract_20376":{"entryPoint":1459,"id":20376,"parameterSlots":1,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":1964,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":1848,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":2488,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptrt_uint256t_address_fromMemory":{"entryPoint":1993,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encode_bytes":{"entryPoint":2385,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":2525,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ce4f759423d0a519cbdf8529f47ad13e03ab9baec6702bc39e1fd5147c7e080__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__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},"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":2431,"id":null,"parameterSlots":4,"returnSlots":1},"allocate_memory":{"entryPoint":1750,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2358,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory":{"entryPoint":1801,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":2619,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":2328,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":2306,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":2284,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1728,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7164:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:181"},"nodeType":"YulFunctionCall","src":"66:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:181"},"nodeType":"YulFunctionCall","src":"56:31:181"},"nodeType":"YulExpressionStatement","src":"56:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:181"},"nodeType":"YulFunctionCall","src":"96:15:181"},"nodeType":"YulExpressionStatement","src":"96:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:181"},"nodeType":"YulFunctionCall","src":"120:15:181"},"nodeType":"YulExpressionStatement","src":"120:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:181"},{"body":{"nodeType":"YulBlock","src":"191:230:181","statements":[{"nodeType":"YulAssignment","src":"201:19:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"217:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"211:5:181"},"nodeType":"YulFunctionCall","src":"211:9:181"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"201:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"229:58:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"251:6:181"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"267:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"273:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:181"},"nodeType":"YulFunctionCall","src":"263:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"282:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"278:3:181"},"nodeType":"YulFunctionCall","src":"278:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"259:3:181"},"nodeType":"YulFunctionCall","src":"259:27:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"247:3:181"},"nodeType":"YulFunctionCall","src":"247:40:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"233:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"362:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"364:16:181"},"nodeType":"YulFunctionCall","src":"364:18:181"},"nodeType":"YulExpressionStatement","src":"364:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"305:10:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"325:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"329:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"321:3:181"},"nodeType":"YulFunctionCall","src":"321:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"333:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"317:3:181"},"nodeType":"YulFunctionCall","src":"317:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:34:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"341:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"353:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"338:2:181"},"nodeType":"YulFunctionCall","src":"338:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"299:2:181"},"nodeType":"YulFunctionCall","src":"299:62:181"},"nodeType":"YulIf","src":"296:88:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"400:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"404:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:181"},"nodeType":"YulFunctionCall","src":"393:22:181"},"nodeType":"YulExpressionStatement","src":"393:22:181"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"171:4:181","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"180:6:181","type":""}],"src":"146:275:181"},{"body":{"nodeType":"YulBlock","src":"479:205:181","statements":[{"nodeType":"YulVariableDeclaration","src":"489:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"498:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"493:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"558:63:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"583:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"588:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"579:3:181"},"nodeType":"YulFunctionCall","src":"579:11:181"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"602:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"607:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"598:3:181"},"nodeType":"YulFunctionCall","src":"598:11:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"592:5:181"},"nodeType":"YulFunctionCall","src":"592:18:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"572:6:181"},"nodeType":"YulFunctionCall","src":"572:39:181"},"nodeType":"YulExpressionStatement","src":"572:39:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"519:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"522:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"516:2:181"},"nodeType":"YulFunctionCall","src":"516:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"530:19:181","statements":[{"nodeType":"YulAssignment","src":"532:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"541:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"544:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"537:3:181"},"nodeType":"YulFunctionCall","src":"537:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"532:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"512:3:181","statements":[]},"src":"508:113:181"},{"body":{"nodeType":"YulBlock","src":"647:31:181","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"660:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"665:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"656:3:181"},"nodeType":"YulFunctionCall","src":"656:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"674:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"649:6:181"},"nodeType":"YulFunctionCall","src":"649:27:181"},"nodeType":"YulExpressionStatement","src":"649:27:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"636:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"639:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"633:2:181"},"nodeType":"YulFunctionCall","src":"633:13:181"},"nodeType":"YulIf","src":"630:48:181"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"457:3:181","type":""},{"name":"dst","nodeType":"YulTypedName","src":"462:3:181","type":""},{"name":"length","nodeType":"YulTypedName","src":"467:6:181","type":""}],"src":"426:258:181"},{"body":{"nodeType":"YulBlock","src":"753:433:181","statements":[{"body":{"nodeType":"YulBlock","src":"802:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"811:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"814:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"804:6:181"},"nodeType":"YulFunctionCall","src":"804:12:181"},"nodeType":"YulExpressionStatement","src":"804:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"781:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"789:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:181"},"nodeType":"YulFunctionCall","src":"777:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"796:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"773:3:181"},"nodeType":"YulFunctionCall","src":"773:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"766:6:181"},"nodeType":"YulFunctionCall","src":"766:35:181"},"nodeType":"YulIf","src":"763:55:181"},{"nodeType":"YulVariableDeclaration","src":"827:23:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"843:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"837:5:181"},"nodeType":"YulFunctionCall","src":"837:13:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"831:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"889:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"891:16:181"},"nodeType":"YulFunctionCall","src":"891:18:181"},"nodeType":"YulExpressionStatement","src":"891:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"865:2:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"877:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"881:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"873:3:181"},"nodeType":"YulFunctionCall","src":"873:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"885:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"869:3:181"},"nodeType":"YulFunctionCall","src":"869:18:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"862:2:181"},"nodeType":"YulFunctionCall","src":"862:26:181"},"nodeType":"YulIf","src":"859:52:181"},{"nodeType":"YulVariableDeclaration","src":"920:70:181","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"963:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"967:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"959:3:181"},"nodeType":"YulFunctionCall","src":"959:13:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"978:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"974:3:181"},"nodeType":"YulFunctionCall","src":"974:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"955:3:181"},"nodeType":"YulFunctionCall","src":"955:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"984:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"951:3:181"},"nodeType":"YulFunctionCall","src":"951:38:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"935:15:181"},"nodeType":"YulFunctionCall","src":"935:55:181"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"924:7:181","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1006:7:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1015:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"999:6:181"},"nodeType":"YulFunctionCall","src":"999:19:181"},"nodeType":"YulExpressionStatement","src":"999:19:181"},{"body":{"nodeType":"YulBlock","src":"1066:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1075:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1078:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1068:6:181"},"nodeType":"YulFunctionCall","src":"1068:12:181"},"nodeType":"YulExpressionStatement","src":"1068:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1041:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1049:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1037:3:181"},"nodeType":"YulFunctionCall","src":"1037:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"1054:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1033:3:181"},"nodeType":"YulFunctionCall","src":"1033:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"1061:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1030:2:181"},"nodeType":"YulFunctionCall","src":"1030:35:181"},"nodeType":"YulIf","src":"1027:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1117:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1125:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1113:3:181"},"nodeType":"YulFunctionCall","src":"1113:17:181"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1136:7:181"},{"kind":"number","nodeType":"YulLiteral","src":"1145:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:3:181"},"nodeType":"YulFunctionCall","src":"1132:18:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1152:2:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"1091:21:181"},"nodeType":"YulFunctionCall","src":"1091:64:181"},"nodeType":"YulExpressionStatement","src":"1091:64:181"},{"nodeType":"YulAssignment","src":"1164:16:181","value":{"name":"array_1","nodeType":"YulIdentifier","src":"1173:7:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1164:5:181"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"727:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"735:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"743:5:181","type":""}],"src":"689:497:181"},{"body":{"nodeType":"YulBlock","src":"1251:117:181","statements":[{"nodeType":"YulAssignment","src":"1261:22:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1276:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1270:5:181"},"nodeType":"YulFunctionCall","src":"1270:13:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1261:5:181"}]},{"body":{"nodeType":"YulBlock","src":"1346:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1355:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1358:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1348:6:181"},"nodeType":"YulFunctionCall","src":"1348:12:181"},"nodeType":"YulExpressionStatement","src":"1348:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1305:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1316:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1331:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1336:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1327:3:181"},"nodeType":"YulFunctionCall","src":"1327:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1340:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1323:3:181"},"nodeType":"YulFunctionCall","src":"1323:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1312:3:181"},"nodeType":"YulFunctionCall","src":"1312:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1302:2:181"},"nodeType":"YulFunctionCall","src":"1302:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1295:6:181"},"nodeType":"YulFunctionCall","src":"1295:50:181"},"nodeType":"YulIf","src":"1292:70:181"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1230:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1241:5:181","type":""}],"src":"1191:177:181"},{"body":{"nodeType":"YulBlock","src":"1567:1322:181","statements":[{"body":{"nodeType":"YulBlock","src":"1614:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1623:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1626:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1616:6:181"},"nodeType":"YulFunctionCall","src":"1616:12:181"},"nodeType":"YulExpressionStatement","src":"1616:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1588:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1597:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1584:3:181"},"nodeType":"YulFunctionCall","src":"1584:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1609:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1580:3:181"},"nodeType":"YulFunctionCall","src":"1580:33:181"},"nodeType":"YulIf","src":"1577:53:181"},{"nodeType":"YulVariableDeclaration","src":"1639:30:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1659:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1653:5:181"},"nodeType":"YulFunctionCall","src":"1653:16:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1643:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1678:28:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1696:2:181","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1700:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1692:3:181"},"nodeType":"YulFunctionCall","src":"1692:10:181"},{"kind":"number","nodeType":"YulLiteral","src":"1704:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1688:3:181"},"nodeType":"YulFunctionCall","src":"1688:18:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1682:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1733:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1742:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1745:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1735:6:181"},"nodeType":"YulFunctionCall","src":"1735:12:181"},"nodeType":"YulExpressionStatement","src":"1735:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1721:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1729:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1718:2:181"},"nodeType":"YulFunctionCall","src":"1718:14:181"},"nodeType":"YulIf","src":"1715:34:181"},{"nodeType":"YulAssignment","src":"1758:71:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1801:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"1812:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1797:3:181"},"nodeType":"YulFunctionCall","src":"1797:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1821:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1768:28:181"},"nodeType":"YulFunctionCall","src":"1768:61:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1758:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"1838:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"1848:2:181","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1842:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1859:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1885:9:181"},{"name":"_2","nodeType":"YulIdentifier","src":"1896:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1881:3:181"},"nodeType":"YulFunctionCall","src":"1881:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1875:5:181"},"nodeType":"YulFunctionCall","src":"1875:25:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1863:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"1929:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1938:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1941:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1931:6:181"},"nodeType":"YulFunctionCall","src":"1931:12:181"},"nodeType":"YulExpressionStatement","src":"1931:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1915:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"1925:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1912:2:181"},"nodeType":"YulFunctionCall","src":"1912:16:181"},"nodeType":"YulIf","src":"1909:36:181"},{"nodeType":"YulAssignment","src":"1954:73:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1997:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"2008:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1993:3:181"},"nodeType":"YulFunctionCall","src":"1993:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2019:7:181"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1964:28:181"},"nodeType":"YulFunctionCall","src":"1964:63:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1954:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2036:41:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2062:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2073:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2058:3:181"},"nodeType":"YulFunctionCall","src":"2058:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2052:5:181"},"nodeType":"YulFunctionCall","src":"2052:25:181"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"2040:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2106:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2115:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2118:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2108:6:181"},"nodeType":"YulFunctionCall","src":"2108:12:181"},"nodeType":"YulExpressionStatement","src":"2108:12:181"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"2092:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2102:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2089:2:181"},"nodeType":"YulFunctionCall","src":"2089:16:181"},"nodeType":"YulIf","src":"2086:36:181"},{"nodeType":"YulVariableDeclaration","src":"2131:34:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2145:9:181"},{"name":"offset_2","nodeType":"YulIdentifier","src":"2156:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2141:3:181"},"nodeType":"YulFunctionCall","src":"2141:24:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2135:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2213:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2222:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2225:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2215:6:181"},"nodeType":"YulFunctionCall","src":"2215:12:181"},"nodeType":"YulExpressionStatement","src":"2215:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2192:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"2196:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2188:3:181"},"nodeType":"YulFunctionCall","src":"2188:13:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2203:7:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2184:3:181"},"nodeType":"YulFunctionCall","src":"2184:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2177:6:181"},"nodeType":"YulFunctionCall","src":"2177:35:181"},"nodeType":"YulIf","src":"2174:55:181"},{"nodeType":"YulVariableDeclaration","src":"2238:19:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2254:2:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2248:5:181"},"nodeType":"YulFunctionCall","src":"2248:9:181"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2242:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2280:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2282:16:181"},"nodeType":"YulFunctionCall","src":"2282:18:181"},"nodeType":"YulExpressionStatement","src":"2282:18:181"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"2272:2:181"},{"name":"_1","nodeType":"YulIdentifier","src":"2276:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2269:2:181"},"nodeType":"YulFunctionCall","src":"2269:10:181"},"nodeType":"YulIf","src":"2266:36:181"},{"nodeType":"YulVariableDeclaration","src":"2311:20:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2325:1:181","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"2328:2:181"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2321:3:181"},"nodeType":"YulFunctionCall","src":"2321:10:181"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"2315:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2340:39:181","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"2371:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2375:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2367:3:181"},"nodeType":"YulFunctionCall","src":"2367:11:181"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2351:15:181"},"nodeType":"YulFunctionCall","src":"2351:28:181"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2344:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2388:16:181","value":{"name":"dst","nodeType":"YulIdentifier","src":"2401:3:181"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2392:5:181","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2420:3:181"},{"name":"_4","nodeType":"YulIdentifier","src":"2425:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2413:6:181"},"nodeType":"YulFunctionCall","src":"2413:15:181"},"nodeType":"YulExpressionStatement","src":"2413:15:181"},{"nodeType":"YulAssignment","src":"2437:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2448:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2453:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2444:3:181"},"nodeType":"YulFunctionCall","src":"2444:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2437:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"2465:34:181","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2487:2:181"},{"name":"_5","nodeType":"YulIdentifier","src":"2491:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2483:3:181"},"nodeType":"YulFunctionCall","src":"2483:11:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2496:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2479:3:181"},"nodeType":"YulFunctionCall","src":"2479:20:181"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2469:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2531:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2540:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2543:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2533:6:181"},"nodeType":"YulFunctionCall","src":"2533:12:181"},"nodeType":"YulExpressionStatement","src":"2533:12:181"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2514:6:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2522:7:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2511:2:181"},"nodeType":"YulFunctionCall","src":"2511:19:181"},"nodeType":"YulIf","src":"2508:39:181"},{"nodeType":"YulVariableDeclaration","src":"2556:22:181","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2571:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2575:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2567:3:181"},"nodeType":"YulFunctionCall","src":"2567:11:181"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2560:3:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2643:103:181","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2664:3:181"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2699:3:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"2669:29:181"},"nodeType":"YulFunctionCall","src":"2669:34:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2657:6:181"},"nodeType":"YulFunctionCall","src":"2657:47:181"},"nodeType":"YulExpressionStatement","src":"2657:47:181"},{"nodeType":"YulAssignment","src":"2717:19:181","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2728:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2733:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2724:3:181"},"nodeType":"YulFunctionCall","src":"2724:12:181"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2717:3:181"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2598:3:181"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2603:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2595:2:181"},"nodeType":"YulFunctionCall","src":"2595:15:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2611:23:181","statements":[{"nodeType":"YulAssignment","src":"2613:19:181","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2624:3:181"},{"name":"_2","nodeType":"YulIdentifier","src":"2629:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2620:3:181"},"nodeType":"YulFunctionCall","src":"2620:12:181"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2613:3:181"}]}]},"pre":{"nodeType":"YulBlock","src":"2591:3:181","statements":[]},"src":"2587:159:181"},{"nodeType":"YulAssignment","src":"2755:15:181","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2765:5:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2755:6:181"}]},{"nodeType":"YulAssignment","src":"2779:35:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2799:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2810:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2795:3:181"},"nodeType":"YulFunctionCall","src":"2795:18:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2789:5:181"},"nodeType":"YulFunctionCall","src":"2789:25:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2779:6:181"}]},{"nodeType":"YulAssignment","src":"2823:60:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2867:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2878:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2863:3:181"},"nodeType":"YulFunctionCall","src":"2863:19:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"2833:29:181"},"nodeType":"YulFunctionCall","src":"2833:50:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2823:6:181"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptrt_uint256t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1501:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1512:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1524:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1532:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1540:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1548:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"1556:6:181","type":""}],"src":"1373:1516:181"},{"body":{"nodeType":"YulBlock","src":"2926:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2943:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2950:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2955:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2946:3:181"},"nodeType":"YulFunctionCall","src":"2946:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2936:6:181"},"nodeType":"YulFunctionCall","src":"2936:31:181"},"nodeType":"YulExpressionStatement","src":"2936:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2983:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2986:4:181","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2976:6:181"},"nodeType":"YulFunctionCall","src":"2976:15:181"},"nodeType":"YulExpressionStatement","src":"2976:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3007:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3010:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3000:6:181"},"nodeType":"YulFunctionCall","src":"3000:15:181"},"nodeType":"YulExpressionStatement","src":"3000:15:181"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2894:127:181"},{"body":{"nodeType":"YulBlock","src":"3058:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3075:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3082:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3087:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3078:3:181"},"nodeType":"YulFunctionCall","src":"3078:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3068:6:181"},"nodeType":"YulFunctionCall","src":"3068:31:181"},"nodeType":"YulExpressionStatement","src":"3068:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3115:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3118:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3108:6:181"},"nodeType":"YulFunctionCall","src":"3108:15:181"},"nodeType":"YulExpressionStatement","src":"3108:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3139:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3142:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3132:6:181"},"nodeType":"YulFunctionCall","src":"3132:15:181"},"nodeType":"YulExpressionStatement","src":"3132:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3026:127:181"},{"body":{"nodeType":"YulBlock","src":"3205:88:181","statements":[{"body":{"nodeType":"YulBlock","src":"3236:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3238:16:181"},"nodeType":"YulFunctionCall","src":"3238:18:181"},"nodeType":"YulExpressionStatement","src":"3238:18:181"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3221:5:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3232:1:181","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3228:3:181"},"nodeType":"YulFunctionCall","src":"3228:6:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3218:2:181"},"nodeType":"YulFunctionCall","src":"3218:17:181"},"nodeType":"YulIf","src":"3215:43:181"},{"nodeType":"YulAssignment","src":"3267:20:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3278:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"3285:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3274:3:181"},"nodeType":"YulFunctionCall","src":"3274:13:181"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"3267:3:181"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3187:5:181","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"3197:3:181","type":""}],"src":"3158:135:181"},{"body":{"nodeType":"YulBlock","src":"3455:218:181","statements":[{"nodeType":"YulAssignment","src":"3465:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3477:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3488:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3473:3:181"},"nodeType":"YulFunctionCall","src":"3473:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3465:4:181"}]},{"nodeType":"YulVariableDeclaration","src":"3500:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3518:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3523:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3514:3:181"},"nodeType":"YulFunctionCall","src":"3514:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"3527:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3510:3:181"},"nodeType":"YulFunctionCall","src":"3510:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3504:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3545:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3560:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3568:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3556:3:181"},"nodeType":"YulFunctionCall","src":"3556:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3538:6:181"},"nodeType":"YulFunctionCall","src":"3538:34:181"},"nodeType":"YulExpressionStatement","src":"3538:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3592:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3603:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3588:3:181"},"nodeType":"YulFunctionCall","src":"3588:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"3608:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3581:6:181"},"nodeType":"YulFunctionCall","src":"3581:34:181"},"nodeType":"YulExpressionStatement","src":"3581:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3635:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3646:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3631:3:181"},"nodeType":"YulFunctionCall","src":"3631:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3655:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3663:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3651:3:181"},"nodeType":"YulFunctionCall","src":"3651:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3624:6:181"},"nodeType":"YulFunctionCall","src":"3624:43:181"},"nodeType":"YulExpressionStatement","src":"3624:43:181"}]},"name":"abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3408:9:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3419:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3427:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3435:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3446:4:181","type":""}],"src":"3298:375:181"},{"body":{"nodeType":"YulBlock","src":"3852:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3869:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3880:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3862:6:181"},"nodeType":"YulFunctionCall","src":"3862:21:181"},"nodeType":"YulExpressionStatement","src":"3862:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3903:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3914:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3899:3:181"},"nodeType":"YulFunctionCall","src":"3899:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3919:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3892:6:181"},"nodeType":"YulFunctionCall","src":"3892:30:181"},"nodeType":"YulExpressionStatement","src":"3892:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3942:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3953:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3938:3:181"},"nodeType":"YulFunctionCall","src":"3938:18:181"},{"hexValue":"4552433737373a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"3958:34:181","type":"","value":"ERC777: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3931:6:181"},"nodeType":"YulFunctionCall","src":"3931:62:181"},"nodeType":"YulExpressionStatement","src":"3931:62:181"},{"nodeType":"YulAssignment","src":"4002:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4014:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4025:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4010:3:181"},"nodeType":"YulFunctionCall","src":"4010:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4002:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ce4f759423d0a519cbdf8529f47ad13e03ab9baec6702bc39e1fd5147c7e080__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3829:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3843:4:181","type":""}],"src":"3678:356:181"},{"body":{"nodeType":"YulBlock","src":"4087:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"4114:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4116:16:181"},"nodeType":"YulFunctionCall","src":"4116:18:181"},"nodeType":"YulExpressionStatement","src":"4116:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4103:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"4110:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4106:3:181"},"nodeType":"YulFunctionCall","src":"4106:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4100:2:181"},"nodeType":"YulFunctionCall","src":"4100:13:181"},"nodeType":"YulIf","src":"4097:39:181"},{"nodeType":"YulAssignment","src":"4145:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4156:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"4159:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4152:3:181"},"nodeType":"YulFunctionCall","src":"4152:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4145:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4070:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"4073:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4079:3:181","type":""}],"src":"4039:128:181"},{"body":{"nodeType":"YulBlock","src":"4221:208:181","statements":[{"nodeType":"YulVariableDeclaration","src":"4231:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4251:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4245:5:181"},"nodeType":"YulFunctionCall","src":"4245:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4235:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4273:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"4278:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4266:6:181"},"nodeType":"YulFunctionCall","src":"4266:19:181"},"nodeType":"YulExpressionStatement","src":"4266:19:181"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4320:5:181"},{"kind":"number","nodeType":"YulLiteral","src":"4327:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4316:3:181"},"nodeType":"YulFunctionCall","src":"4316:16:181"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4338:3:181"},{"kind":"number","nodeType":"YulLiteral","src":"4343:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4334:3:181"},"nodeType":"YulFunctionCall","src":"4334:14:181"},{"name":"length","nodeType":"YulIdentifier","src":"4350:6:181"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4294:21:181"},"nodeType":"YulFunctionCall","src":"4294:63:181"},"nodeType":"YulExpressionStatement","src":"4294:63:181"},{"nodeType":"YulAssignment","src":"4366:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4381:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4394:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"4402:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4390:3:181"},"nodeType":"YulFunctionCall","src":"4390:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4411:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4407:3:181"},"nodeType":"YulFunctionCall","src":"4407:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4386:3:181"},"nodeType":"YulFunctionCall","src":"4386:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4377:3:181"},"nodeType":"YulFunctionCall","src":"4377:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"4418:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4373:3:181"},"nodeType":"YulFunctionCall","src":"4373:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4366:3:181"}]}]},"name":"abi_encode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4198:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4205:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4213:3:181","type":""}],"src":"4172:257:181"},{"body":{"nodeType":"YulBlock","src":"4627:255:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4644:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"4655:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4637:6:181"},"nodeType":"YulFunctionCall","src":"4637:25:181"},"nodeType":"YulExpressionStatement","src":"4637:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4682:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4693:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4678:3:181"},"nodeType":"YulFunctionCall","src":"4678:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4698:2:181","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4671:6:181"},"nodeType":"YulFunctionCall","src":"4671:30:181"},"nodeType":"YulExpressionStatement","src":"4671:30:181"},{"nodeType":"YulVariableDeclaration","src":"4710:58:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4741:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4753:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4764:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4749:3:181"},"nodeType":"YulFunctionCall","src":"4749:18:181"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"4724:16:181"},"nodeType":"YulFunctionCall","src":"4724:44:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4714:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4788:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4799:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4784:3:181"},"nodeType":"YulFunctionCall","src":"4784:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"4808:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4816:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4804:3:181"},"nodeType":"YulFunctionCall","src":"4804:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4777:6:181"},"nodeType":"YulFunctionCall","src":"4777:50:181"},"nodeType":"YulExpressionStatement","src":"4777:50:181"},{"nodeType":"YulAssignment","src":"4836:40:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"4861:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"4869:6:181"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"4844:16:181"},"nodeType":"YulFunctionCall","src":"4844:32:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4836:4:181"}]}]},"name":"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4580:9:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4591:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4599:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4607:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4618:4:181","type":""}],"src":"4434:448:181"},{"body":{"nodeType":"YulBlock","src":"4988:76:181","statements":[{"nodeType":"YulAssignment","src":"4998:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5010:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5021:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5006:3:181"},"nodeType":"YulFunctionCall","src":"5006:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4998:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5040:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"5051:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5033:6:181"},"nodeType":"YulFunctionCall","src":"5033:25:181"},"nodeType":"YulExpressionStatement","src":"5033:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4957:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4968:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4979:4:181","type":""}],"src":"4887:177:181"},{"body":{"nodeType":"YulBlock","src":"5198:145:181","statements":[{"nodeType":"YulAssignment","src":"5208:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5220:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5231:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5216:3:181"},"nodeType":"YulFunctionCall","src":"5216:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5208:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5250:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5265:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5281:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5286:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5277:3:181"},"nodeType":"YulFunctionCall","src":"5277:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"5290:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5273:3:181"},"nodeType":"YulFunctionCall","src":"5273:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5261:3:181"},"nodeType":"YulFunctionCall","src":"5261:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5243:6:181"},"nodeType":"YulFunctionCall","src":"5243:51:181"},"nodeType":"YulExpressionStatement","src":"5243:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5314:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5325:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5310:3:181"},"nodeType":"YulFunctionCall","src":"5310:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"5330:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5303:6:181"},"nodeType":"YulFunctionCall","src":"5303:34:181"},"nodeType":"YulExpressionStatement","src":"5303:34:181"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5159:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5170:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5178:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5189:4:181","type":""}],"src":"5069:274:181"},{"body":{"nodeType":"YulBlock","src":"5429:127:181","statements":[{"body":{"nodeType":"YulBlock","src":"5475:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5484:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5487:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5477:6:181"},"nodeType":"YulFunctionCall","src":"5477:12:181"},"nodeType":"YulExpressionStatement","src":"5477:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5450:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5459:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5446:3:181"},"nodeType":"YulFunctionCall","src":"5446:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5471:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5442:3:181"},"nodeType":"YulFunctionCall","src":"5442:32:181"},"nodeType":"YulIf","src":"5439:52:181"},{"nodeType":"YulAssignment","src":"5500:50:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5540:9:181"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"5510:29:181"},"nodeType":"YulFunctionCall","src":"5510:40:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5500:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5395:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5406:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5418:6:181","type":""}],"src":"5348:208:181"},{"body":{"nodeType":"YulBlock","src":"5838:453:181","statements":[{"nodeType":"YulVariableDeclaration","src":"5848:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5866:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5871:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5862:3:181"},"nodeType":"YulFunctionCall","src":"5862:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"5875:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5858:3:181"},"nodeType":"YulFunctionCall","src":"5858:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5852:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5893:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5908:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5916:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5904:3:181"},"nodeType":"YulFunctionCall","src":"5904:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5886:6:181"},"nodeType":"YulFunctionCall","src":"5886:34:181"},"nodeType":"YulExpressionStatement","src":"5886:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5940:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5951:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5936:3:181"},"nodeType":"YulFunctionCall","src":"5936:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5960:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"5968:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5956:3:181"},"nodeType":"YulFunctionCall","src":"5956:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5929:6:181"},"nodeType":"YulFunctionCall","src":"5929:43:181"},"nodeType":"YulExpressionStatement","src":"5929:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5992:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6003:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5988:3:181"},"nodeType":"YulFunctionCall","src":"5988:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"6012:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6020:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6008:3:181"},"nodeType":"YulFunctionCall","src":"6008:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5981:6:181"},"nodeType":"YulFunctionCall","src":"5981:43:181"},"nodeType":"YulExpressionStatement","src":"5981:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6044:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6055:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6040:3:181"},"nodeType":"YulFunctionCall","src":"6040:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"6060:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6033:6:181"},"nodeType":"YulFunctionCall","src":"6033:34:181"},"nodeType":"YulExpressionStatement","src":"6033:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6087:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6098:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6083:3:181"},"nodeType":"YulFunctionCall","src":"6083:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"6104:3:181","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6076:6:181"},"nodeType":"YulFunctionCall","src":"6076:32:181"},"nodeType":"YulExpressionStatement","src":"6076:32:181"},{"nodeType":"YulVariableDeclaration","src":"6117:59:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"6148:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6160:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6171:3:181","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6156:3:181"},"nodeType":"YulFunctionCall","src":"6156:19:181"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"6131:16:181"},"nodeType":"YulFunctionCall","src":"6131:45:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"6121:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6196:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6207:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6192:3:181"},"nodeType":"YulFunctionCall","src":"6192:19:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"6217:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6225:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6213:3:181"},"nodeType":"YulFunctionCall","src":"6213:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6185:6:181"},"nodeType":"YulFunctionCall","src":"6185:51:181"},"nodeType":"YulExpressionStatement","src":"6185:51:181"},{"nodeType":"YulAssignment","src":"6245:40:181","value":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"6270:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"6278:6:181"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"6253:16:181"},"nodeType":"YulFunctionCall","src":"6253:32:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6245:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5767:9:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"5778:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5786:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5794:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5802:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5810:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5818:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5829:4:181","type":""}],"src":"5561:730:181"},{"body":{"nodeType":"YulBlock","src":"6470:307:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6487:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6498:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6480:6:181"},"nodeType":"YulFunctionCall","src":"6480:21:181"},"nodeType":"YulExpressionStatement","src":"6480:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6521:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6532:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6517:3:181"},"nodeType":"YulFunctionCall","src":"6517:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"6537:2:181","type":"","value":"77"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6510:6:181"},"nodeType":"YulFunctionCall","src":"6510:30:181"},"nodeType":"YulExpressionStatement","src":"6510:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6560:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6571:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6556:3:181"},"nodeType":"YulFunctionCall","src":"6556:18:181"},{"hexValue":"4552433737373a20746f6b656e20726563697069656e7420636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"6576:34:181","type":"","value":"ERC777: token recipient contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6549:6:181"},"nodeType":"YulFunctionCall","src":"6549:62:181"},"nodeType":"YulExpressionStatement","src":"6549:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6631:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6642:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6627:3:181"},"nodeType":"YulFunctionCall","src":"6627:18:181"},{"hexValue":"20686173206e6f20696d706c656d656e74657220666f7220455243373737546f","kind":"string","nodeType":"YulLiteral","src":"6647:34:181","type":"","value":" has no implementer for ERC777To"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6620:6:181"},"nodeType":"YulFunctionCall","src":"6620:62:181"},"nodeType":"YulExpressionStatement","src":"6620:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6702:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6713:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6698:3:181"},"nodeType":"YulFunctionCall","src":"6698:19:181"},{"hexValue":"6b656e73526563697069656e74","kind":"string","nodeType":"YulLiteral","src":"6719:15:181","type":"","value":"kensRecipient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6691:6:181"},"nodeType":"YulFunctionCall","src":"6691:44:181"},"nodeType":"YulExpressionStatement","src":"6691:44:181"},{"nodeType":"YulAssignment","src":"6744:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6756:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6767:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6752:3:181"},"nodeType":"YulFunctionCall","src":"6752:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6744:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6447:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6461:4:181","type":""}],"src":"6296:481:181"},{"body":{"nodeType":"YulBlock","src":"6837:325:181","statements":[{"nodeType":"YulAssignment","src":"6847:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6861:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"6864:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6857:3:181"},"nodeType":"YulFunctionCall","src":"6857:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6847:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6878:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6908:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"6914:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6904:3:181"},"nodeType":"YulFunctionCall","src":"6904:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6882:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6955:31:181","statements":[{"nodeType":"YulAssignment","src":"6957:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6971:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"6979:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6967:3:181"},"nodeType":"YulFunctionCall","src":"6967:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6957:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6935:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6928:6:181"},"nodeType":"YulFunctionCall","src":"6928:26:181"},"nodeType":"YulIf","src":"6925:61:181"},{"body":{"nodeType":"YulBlock","src":"7045:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7066:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7073:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7078:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7069:3:181"},"nodeType":"YulFunctionCall","src":"7069:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7059:6:181"},"nodeType":"YulFunctionCall","src":"7059:31:181"},"nodeType":"YulExpressionStatement","src":"7059:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7110:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7113:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7103:6:181"},"nodeType":"YulFunctionCall","src":"7103:15:181"},"nodeType":"YulExpressionStatement","src":"7103:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7138:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7141:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7131:6:181"},"nodeType":"YulFunctionCall","src":"7131:15:181"},"nodeType":"YulExpressionStatement","src":"7131:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7001:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7024:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7032:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7021:2:181"},"nodeType":"YulFunctionCall","src":"7021:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6998:2:181"},"nodeType":"YulFunctionCall","src":"6998:38:181"},"nodeType":"YulIf","src":"6995:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6817:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6826:6:181","type":""}],"src":"6782:380:181"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function copy_memory_to_memory(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 if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_array$_t_address_$dyn_memory_ptrt_uint256t_address_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let _2 := 32\n let offset_1 := mload(add(headStart, _2))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n let _3 := add(headStart, offset_2)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := mload(_3)\n if gt(_4, _1) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let dst := allocate_memory(add(_5, _2))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _2)\n let srcEnd := add(add(_3, _5), _2)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, abi_decode_address_fromMemory(src))\n dst := add(dst, _2)\n }\n value2 := dst_1\n value3 := mload(add(headStart, 96))\n value4 := abi_decode_address_fromMemory(add(headStart, 128))\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_address_t_bytes32_t_address__to_t_address_t_bytes32_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, _1))\n }\n function abi_encode_tuple_t_stringliteral_8ce4f759423d0a519cbdf8529f47ad13e03ab9baec6702bc39e1fd5147c7e080__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC777: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 96)\n let tail_1 := abi_encode_bytes(value1, add(headStart, 96))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n tail := abi_encode_bytes(value2, tail_1)\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_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n }\n function abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 192)\n let tail_1 := abi_encode_bytes(value4, add(headStart, 192))\n mstore(add(headStart, 160), sub(tail_1, headStart))\n tail := abi_encode_bytes(value5, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 77)\n mstore(add(headStart, 64), \"ERC777: token recipient contract\")\n mstore(add(headStart, 96), \" has no implementer for ERC777To\")\n mstore(add(headStart, 128), \"kensRecipient\")\n tail := add(headStart, 160)\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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b50604051620020d1380380620020d18339810160408190526200003491620007c9565b84848482600290805190602001906200004f929190620005c2565b50815162000065906003906020850190620005c2565b5080516200007b90600490602084019062000651565b5060005b8151811015620000eb57600160056000848481518110620000a457620000a4620008ec565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000e28162000918565b9150506200007f565b506040516329965a1d60e01b815230600482018190527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce217705460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200016657600080fd5b505af11580156200017b573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001f957600080fd5b505af11580156200020e573d6000803e3d6000fd5b5050505050505062000247818360405180602001604052806000815250604051806020016040528060008152506200025260201b60201c565b505050505062000a78565b6200026284848484600162000268565b50505050565b6001600160a01b038516620002c45760405162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f206164647265737360448201526064015b60405180910390fd5b60003390508460016000828254620002dd919062000936565b90915550506001600160a01b038616600090815260208190526040812080548792906200030c90849062000936565b909155506200032490508160008888888888620003be565b856001600160a01b0316816001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8787876040516200036d939291906200097f565b60405180910390a36040518581526001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b1580156200043b57600080fd5b505afa15801562000450573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004769190620009b8565b90506001600160a01b03811615620004f8576040516223de2960e01b81526001600160a01b038216906223de2990620004be908b908b908b908b908b908b90600401620009dd565b600060405180830381600087803b158015620004d957600080fd5b505af1158015620004ee573d6000803e3d6000fd5b50505050620005a9565b8115620005a9576200051e866001600160a01b0316620005b360201b620007db1760201c565b15620005a95760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a401620002bb565b5050505050505050565b6001600160a01b03163b151590565b828054620005d09062000a3b565b90600052602060002090601f016020900481019282620005f457600085556200063f565b82601f106200060f57805160ff19168380011785556200063f565b828001600101855582156200063f579182015b828111156200063f57825182559160200191906001019062000622565b506200064d929150620006a9565b5090565b8280548282559060005260206000209081019282156200063f579160200282015b828111156200063f57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000672565b5b808211156200064d5760008155600101620006aa565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620007015762000701620006c0565b604052919050565b60005b83811015620007265781810151838201526020016200070c565b83811115620002625750506000910152565b600082601f8301126200074a57600080fd5b81516001600160401b03811115620007665762000766620006c0565b6200077b601f8201601f1916602001620006d6565b8181528460208386010111156200079157600080fd5b620007a482602083016020870162000709565b949350505050565b80516001600160a01b0381168114620007c457600080fd5b919050565b600080600080600060a08688031215620007e257600080fd5b85516001600160401b0380821115620007fa57600080fd5b6200080889838a0162000738565b96506020915081880151818111156200082057600080fd5b6200082e8a828b0162000738565b9650506040880151818111156200084457600080fd5b8801601f81018a136200085657600080fd5b8051828111156200086b576200086b620006c0565b8060051b92506200087e848401620006d6565b818152928201840192848101908c8511156200089957600080fd5b928501925b84841015620008c257620008b284620007ac565b825292850192908501906200089e565b80985050505050505060608601519150620008e060808701620007ac565b90509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200092f576200092f62000902565b5060010190565b600082198211156200094c576200094c62000902565b500190565b600081518084526200096b81602086016020860162000709565b601f01601f19169290920160200192915050565b8381526060602082015260006200099a606083018562000951565b8281036040840152620009ae818562000951565b9695505050505050565b600060208284031215620009cb57600080fd5b620009d682620007ac565b9392505050565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009062000a1a9083018562000951565b82810360a084015262000a2e818562000951565b9998505050505050505050565b600181811c9082168062000a5057607f821691505b6020821081141562000a7257634e487b7160e01b600052602260045260246000fd5b50919050565b6116498062000a886000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063959b8c3f116100a2578063d95b637111610071578063d95b63711461022b578063dd62ed3e1461023e578063fad8b32a14610277578063fc673c4f1461028a578063fe9d93031461029d57600080fd5b8063959b8c3f146101ea57806395d89b41146101fd5780639bd9bbc614610205578063a9059cbb1461021857600080fd5b806323b872dd116100e957806323b872dd14610183578063313ce56714610196578063556f0dc7146101a557806362ad1b83146101ac57806370a08231146101c157600080fd5b806306e485381461011b57806306fdde0314610139578063095ea7b31461014e57806318160ddd14610171575b600080fd5b6101236102b0565b60405161013091906110bd565b60405180910390f35b610141610312565b6040516101309190611157565b61016161015c366004611182565b61039b565b6040519015158152602001610130565b6001545b604051908152602001610130565b6101616101913660046111ae565b6103b3565b60405160128152602001610130565b6001610175565b6101bf6101ba366004611292565b6103f9565b005b6101756101cf366004611325565b6001600160a01b031660009081526020819052604090205490565b6101bf6101f8366004611325565b61043e565b61014161055c565b6101bf610213366004611342565b61056b565b610161610226366004611182565b61058e565b61016161023936600461139b565b6105c6565b61017561024c36600461139b565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6101bf610285366004611325565b610668565b6101bf6102983660046113d4565b610784565b6101bf6102ab366004611454565b6107bc565b6060600480548060200260200160405190810160405280929190818152602001828054801561030857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102ea575b5050505050905090565b6060600280546103219061149b565b80601f016020809104026020016040519081016040528092919081815260200182805461034d9061149b565b80156103085780601f1061036f57610100808354040283529160200191610308565b820191906000526020600020905b81548152906001019060200180831161037d57509395945050505050565b6000336103a98185856107ea565b5060019392505050565b6000336103c1858285610911565b6103ee8585856040518060200160405280600081525060405180602001604052806000815250600061099d565b506001949350505050565b61040333866105c6565b6104285760405162461bcd60e51b815260040161041f906114d6565b60405180910390fd5b6104378585858585600161099d565b5050505050565b336001600160a01b03821614156104a35760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff16156104f4573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610523565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b6060600380546103219061149b565b6105893384848460405180602001604052806000815250600161099d565b505050565b60006105bd3384846040518060200160405280600081525060405180602001604052806000815250600061099d565b50600192915050565b6000816001600160a01b0316836001600160a01b0316148061063157506001600160a01b03831660009081526005602052604090205460ff16801561063157506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff16155b8061066157506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b0381163314156106cb5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff161561071f573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561074b565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b61078e33856105c6565b6107aa5760405162461bcd60e51b815260040161041f906114d6565b6107b684848484610a99565b50505050565b6107d733838360405180602001604052806000815250610a99565b5050565b6001600160a01b03163b151590565b6001600160a01b03831661084e5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b0382166108b05760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526008602090815260408083209386168352929052205460001981146107b657818110156109905760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000604482015260640161041f565b6107b684848484036107ea565b6001600160a01b038616610a025760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161041f565b6001600160a01b038516610a645760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b33610a73818888888888610c4d565b610a81818888888888610d83565b610a9081888888888888610ee9565b50505050505050565b6001600160a01b038416610afa5760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b33610b0a81866000878787610c4d565b6001600160a01b03851660009081526020819052604090205484811015610b7f5760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161041f565b6001600160a01b0386166000908152602081905260408120868303905560018054879290610bae908490611538565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bfc9392919061154f565b60405180910390a36040518581526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190611584565b90506001600160a01b03811615610a9057604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610d48908a908a908a908a908a908a906004016115a1565b600060405180830381600087803b158015610d6257600080fd5b505af1158015610d76573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03851660009081526020819052604090205483811015610dfc5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b606482015260840161041f565b6001600160a01b03808716600090815260208190526040808220878503905591871681529081208054869290610e339084906115fb565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e8b9392919061154f565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ed891815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610f6557600080fd5b505afa158015610f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9d9190611584565b90506001600160a01b03811615611019576040516223de2960e01b81526001600160a01b038216906223de2990610fe2908b908b908b908b908b908b906004016115a1565b600060405180830381600087803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050506110b3565b81156110b3576001600160a01b0386163b156110b35760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a40161041f565b5050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156110fe5783516001600160a01b0316835292840192918401916001016110d9565b50909695505050505050565b6000815180845260005b8181101561113057602081850181015186830182015201611114565b81811115611142576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610661602083018461110a565b6001600160a01b038116811461117f57600080fd5b50565b6000806040838503121561119557600080fd5b82356111a08161116a565b946020939093013593505050565b6000806000606084860312156111c357600080fd5b83356111ce8161116a565b925060208401356111de8161116a565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261121657600080fd5b813567ffffffffffffffff80821115611231576112316111ef565b604051601f8301601f19908116603f01168101908282118183101715611259576112596111ef565b8160405283815286602085880101111561127257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156112aa57600080fd5b85356112b58161116a565b945060208601356112c58161116a565b935060408601359250606086013567ffffffffffffffff808211156112e957600080fd5b6112f589838a01611205565b9350608088013591508082111561130b57600080fd5b5061131888828901611205565b9150509295509295909350565b60006020828403121561133757600080fd5b81356106618161116a565b60008060006060848603121561135757600080fd5b83356113628161116a565b925060208401359150604084013567ffffffffffffffff81111561138557600080fd5b61139186828701611205565b9150509250925092565b600080604083850312156113ae57600080fd5b82356113b98161116a565b915060208301356113c98161116a565b809150509250929050565b600080600080608085870312156113ea57600080fd5b84356113f58161116a565b935060208501359250604085013567ffffffffffffffff8082111561141957600080fd5b61142588838901611205565b9350606087013591508082111561143b57600080fd5b5061144887828801611205565b91505092959194509250565b6000806040838503121561146757600080fd5b82359150602083013567ffffffffffffffff81111561148557600080fd5b61149185828601611205565b9150509250929050565b600181811c908216806114af57607f821691505b602082108114156114d057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561154a5761154a611522565b500390565b838152606060208201526000611568606083018561110a565b828103604084015261157a818561110a565b9695505050505050565b60006020828403121561159657600080fd5b81516106618161116a565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190526000906115dc9083018561110a565b82810360a08401526115ee818561110a565b9998505050505050505050565b6000821982111561160e5761160e611522565b50019056fea2646970667358221220e371149c7888f2545979ca80899ac6ad02f9e8a4ff9dbbf318d65fffb55fff7664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x20D1 CODESIZE SUB DUP1 PUSH3 0x20D1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x7C9 JUMP JUMPDEST DUP5 DUP5 DUP5 DUP3 PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x4F SWAP3 SWAP2 SWAP1 PUSH3 0x5C2 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x65 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x5C2 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x7B SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x651 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xEB JUMPI PUSH1 0x1 PUSH1 0x5 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0xA4 JUMPI PUSH3 0xA4 PUSH3 0x8EC JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH3 0xE2 DUP2 PUSH3 0x918 JUMP JUMPDEST SWAP2 POP POP PUSH3 0x7F JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH4 0x29965A1D PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0xAC7FBAB5F54A3CA8194167523C6753BFEB96A445279294B6125B68CCE2177054 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0x29965A1D SWAP1 PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x166 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x17B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x29965A1D PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0xAEA199E31A596269B42CDAFD93407F14436DB6E4CAD65417994C2EB37381E05A PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP3 POP PUSH4 0x29965A1D SWAP2 POP PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x1F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x20E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH3 0x247 DUP2 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH3 0x252 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP POP POP PUSH3 0xA78 JUMP JUMPDEST PUSH3 0x262 DUP5 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH3 0x268 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH3 0x2C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER SWAP1 POP DUP5 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x2DD SWAP2 SWAP1 PUSH3 0x936 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH3 0x30C SWAP1 DUP5 SWAP1 PUSH3 0x936 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH3 0x324 SWAP1 POP DUP2 PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH3 0x3BE JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x2FE5BE0146F74C5BCE36C0B80911AF6C7D86FF27E89D5CFA61FC681327954E5D DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x36D SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x97F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x40 MLOAD DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xB281FC8C12954D22544DB45DE3159A39272895B169A852B314F9CC762E44C53B PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x450 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x476 SWAP2 SWAP1 PUSH3 0x9B8 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH3 0x4F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x23DE29 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH3 0x23DE29 SWAP1 PUSH3 0x4BE SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH3 0x9DD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH3 0x4EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH3 0x5A9 JUMP JUMPDEST DUP2 ISZERO PUSH3 0x5A9 JUMPI PUSH3 0x51E DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH3 0x5B3 PUSH1 0x20 SHL PUSH3 0x7DB OR PUSH1 0x20 SHR JUMP JUMPDEST ISZERO PUSH3 0x5A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20746F6B656E20726563697069656E7420636F6E7472616374 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x20686173206E6F20696D706C656D656E74657220666F7220455243373737546F PUSH1 0x64 DUP3 ADD MSTORE PUSH13 0x1AD95B9CD49958DA5C1A595B9D PUSH1 0x9A SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH3 0x2BB JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x5D0 SWAP1 PUSH3 0xA3B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x5F4 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x63F JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x60F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x63F JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x63F JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x63F JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x622 JUMP JUMPDEST POP PUSH3 0x64D SWAP3 SWAP2 POP PUSH3 0x6A9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x63F JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x63F JUMPI DUP3 MLOAD DUP3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR DUP3 SSTORE PUSH1 0x20 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH3 0x672 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x64D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x6AA JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH3 0x701 JUMPI PUSH3 0x701 PUSH3 0x6C0 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x726 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x70C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x262 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x766 JUMPI PUSH3 0x766 PUSH3 0x6C0 JUMP JUMPDEST PUSH3 0x77B PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH3 0x6D6 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH3 0x791 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x7A4 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH3 0x709 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x7C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH3 0x7E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x808 DUP10 DUP4 DUP11 ADD PUSH3 0x738 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 SWAP2 POP DUP2 DUP9 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x820 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x82E DUP11 DUP3 DUP12 ADD PUSH3 0x738 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 DUP9 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x844 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 ADD PUSH1 0x1F DUP2 ADD DUP11 SGT PUSH3 0x856 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD DUP3 DUP2 GT ISZERO PUSH3 0x86B JUMPI PUSH3 0x86B PUSH3 0x6C0 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP3 POP PUSH3 0x87E DUP5 DUP5 ADD PUSH3 0x6D6 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP3 DUP3 ADD DUP5 ADD SWAP3 DUP5 DUP2 ADD SWAP1 DUP13 DUP6 GT ISZERO PUSH3 0x899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP6 ADD SWAP3 JUMPDEST DUP5 DUP5 LT ISZERO PUSH3 0x8C2 JUMPI PUSH3 0x8B2 DUP5 PUSH3 0x7AC JUMP JUMPDEST DUP3 MSTORE SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH3 0x89E JUMP JUMPDEST DUP1 SWAP9 POP POP POP POP POP POP POP PUSH1 0x60 DUP7 ADD MLOAD SWAP2 POP PUSH3 0x8E0 PUSH1 0x80 DUP8 ADD PUSH3 0x7AC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH3 0x92F JUMPI PUSH3 0x92F PUSH3 0x902 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x94C JUMPI PUSH3 0x94C PUSH3 0x902 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH3 0x96B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH3 0x709 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH3 0x99A PUSH1 0x60 DUP4 ADD DUP6 PUSH3 0x951 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH3 0x9AE DUP2 DUP6 PUSH3 0x951 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x9D6 DUP3 PUSH3 0x7AC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP3 MSTORE DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xC0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH3 0xA1A SWAP1 DUP4 ADD DUP6 PUSH3 0x951 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH3 0xA2E DUP2 DUP6 PUSH3 0x951 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA50 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xA72 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1649 DUP1 PUSH3 0xA88 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 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x959B8C3F GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD95B6371 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD95B6371 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0xFAD8B32A EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFC673C4F EQ PUSH2 0x28A JUMPI DUP1 PUSH4 0xFE9D9303 EQ PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x959B8C3F EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x9BD9BBC6 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x62AD1B83 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6E48538 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x10BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x15C CALLDATASIZE PUSH1 0x4 PUSH2 0x1182 JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x11AE JUMP JUMPDEST PUSH2 0x3B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x1292 JUMP JUMPDEST PUSH2 0x3F9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x175 PUSH2 0x1CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x43E JUMP JUMPDEST PUSH2 0x141 PUSH2 0x55C JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x213 CALLDATASIZE PUSH1 0x4 PUSH2 0x1342 JUMP JUMPDEST PUSH2 0x56B JUMP JUMPDEST PUSH2 0x161 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1182 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x161 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x139B JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x175 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x139B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x298 CALLDATASIZE PUSH1 0x4 PUSH2 0x13D4 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x2AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1454 JUMP JUMPDEST PUSH2 0x7BC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x308 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x149B 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 0x34D SWAP1 PUSH2 0x149B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 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 0x37D JUMPI POP SWAP4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3A9 DUP2 DUP6 DUP6 PUSH2 0x7EA JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3C1 DUP6 DUP3 DUP6 PUSH2 0x911 JUMP JUMPDEST PUSH2 0x3EE DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x99D JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x403 CALLER DUP7 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x428 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x437 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x1 PUSH2 0x99D JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617574686F72697A696E672073656C66206173206F706572 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x30BA37B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x4F4 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x523 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xF4CAEB2D6CA8932A215A353D0703C326EC2D81FC68170F320EB2AB49E9DF61F9 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x149B JUMP JUMPDEST PUSH2 0x589 CALLER DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x1 PUSH2 0x99D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BD CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x99D JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST DUP1 PUSH2 0x661 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ ISZERO PUSH2 0x6CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207265766F6B696E672073656C66206173206F70657261746F PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x71F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x74B JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x50546E66E5F44D728365DC3908C63BC5CFEEAB470722C1677E3073A6AC294AA1 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH2 0x78E CALLER DUP6 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA99 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x7D7 CALLER DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xA99 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x84E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F76652066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F766520746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x7B6 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x990 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 0x4552433737373A20696E73756666696369656E7420616C6C6F77616E63650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x41F JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0xA02 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E736665722066726F6D20746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xA73 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0xA81 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD83 JUMP JUMPDEST PUSH2 0xA90 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xEE9 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E2066726F6D20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xB0A DUP2 DUP7 PUSH1 0x0 DUP8 DUP8 DUP8 PUSH2 0xC4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0xB7F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E20616D6F756E7420657863656564732062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x6E6365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP7 DUP4 SUB SWAP1 SSTORE PUSH1 0x1 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0xBAE SWAP1 DUP5 SWAP1 PUSH2 0x1538 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xA78A9BE3A7B862D26933AD85FB11D80EF66B8F972D7CBBA06621D583943A4098 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xBFC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x154F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x40 MLOAD DUP6 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0x29DDB589B1FB5FC7CF394961C1ADF5F8C6454761ADF795E67FE149F658ABE895 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD01 SWAP2 SWAP1 PUSH2 0x1584 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA90 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AD5CBC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x75AB9782 SWAP1 PUSH2 0xD48 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD76 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP4 DUP2 LT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220616D6F756E74206578636565647320 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x62616C616E6365 PUSH1 0xC8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP8 DUP6 SUB SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0xE33 SWAP1 DUP5 SWAP1 PUSH2 0x15FB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6B541DDAA720DB2B10A4D0CDAC39B8D360425FC073085FAC19BC82614677987 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE8B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x154F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP7 PUSH1 0x40 MLOAD PUSH2 0xED8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xB281FC8C12954D22544DB45DE3159A39272895B169A852B314F9CC762E44C53B PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF9D SWAP2 SWAP1 PUSH2 0x1584 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x1019 JUMPI PUSH1 0x40 MLOAD PUSH3 0x23DE29 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH3 0x23DE29 SWAP1 PUSH2 0xFE2 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1010 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10B3 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10B3 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO PUSH2 0x10B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20746F6B656E20726563697069656E7420636F6E7472616374 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x20686173206E6F20696D706C656D656E74657220666F7220455243373737546F PUSH1 0x64 DUP3 ADD MSTORE PUSH13 0x1AD95B9CD49958DA5C1A595B9D PUSH1 0x9A SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x41F JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10FE JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10D9 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1130 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1114 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1142 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x661 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x110A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x117F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x11A0 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11CE DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x11DE DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 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 0x1216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1231 JUMPI PUSH2 0x1231 PUSH2 0x11EF 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 0x1259 JUMPI PUSH2 0x1259 PUSH2 0x11EF JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1272 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 0x12AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x12B5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x12C5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x12E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12F5 DUP10 DUP4 DUP11 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x130B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x661 DUP2 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1362 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1391 DUP7 DUP3 DUP8 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x13B9 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x13C9 DUP2 PUSH2 0x116A JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x13F5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1425 DUP9 DUP4 DUP10 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x143B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1448 DUP8 DUP3 DUP9 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1491 DUP6 DUP3 DUP7 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x14AF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x14D0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A2063616C6C6572206973206E6F7420616E206F70657261746F PUSH1 0x40 DUP3 ADD MSTORE PUSH12 0x39103337B9103437B63232B9 PUSH1 0xA1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x154A JUMPI PUSH2 0x154A PUSH2 0x1522 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1568 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x110A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x157A DUP2 DUP6 PUSH2 0x110A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x661 DUP2 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP3 MSTORE DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xC0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x15DC SWAP1 DUP4 ADD DUP6 PUSH2 0x110A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15EE DUP2 DUP6 PUSH2 0x110A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x160E JUMPI PUSH2 0x160E PUSH2 0x1522 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE3 PUSH18 0x149C7888F2545979CA80899AC6AD02F9E8A4 SELFDESTRUCT SWAP14 0xBB RETURN XOR 0xD6 0x5F SELFDESTRUCT 0xB5 0x5F SELFDESTRUCT PUSH23 0x64736F6C63430008090033000000000000000000000000 ","sourceMap":"353:452:132:-:0;;;539:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:4;725:6;733:16;2456:5:128;2448;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2471:17:128;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;2499:42:128;;;;:22;;:42;;;;;:::i;:::-;;2556:9;2551:126;2575:17;:24;2571:1;:28;2551:126;;;2662:4;2620:17;:39;2638:17;2656:1;2638:20;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2620:39:128;;;;;;;;;;;-1:-1:-1;2620:39:128;:46;;-1:-1:-1;;2620:46:128;;;;;;;;;;2601:3;;;;:::i;:::-;;;;2551:126;;;-1:-1:-1;2718:97:128;;-1:-1:-1;;;2718:97:128;;2768:4;2718:97;;;3538:34:181;;;2775:24:128;3588:18:181;;;3581:34;3631:18;;;3624:43;1242:42:128;;2718:41;;3473:18:181;;2718:97:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2825:96:128;;-1:-1:-1;;;2825:96:128;;2875:4;2825:96;;;3538:34:181;;;2882:23:128;3588:18:181;;;3581:34;3631:18;;;3624:43;1242:42:128;;-1:-1:-1;2825:41:128;;-1:-1:-1;3473:18:181;;2825:96:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:612;;;761:35:132::1;767:5;774:13;761:35;;;;;;;;;;;::::0;::::1;;;;;;;;;;;::::0;:5:::1;;;:35;;:::i;:::-;539:264:::0;;;;;353:452;;9897:222:128;10060:52;10066:7;10075:6;10083:8;10093:12;10107:4;10060:5;:52::i;:::-;9897:222;;;;:::o;10741:726::-;-1:-1:-1;;;;;10946:21:128;;10938:66;;;;-1:-1:-1;;;10938:66:128;;3880:2:181;10938:66:128;;;3862:21:181;;;3899:18;;;3892:30;3958:34;3938:18;;;3931:62;4010:18;;10938:66:128;;;;;;;;;11015:16;719:10:138;11015:31:128;-1:-1:-1;11177:6:128;11161:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11193:18:128;;:9;:18;;;;;;;;;;:28;;11215:6;;11193:9;:28;;11215:6;;11193:28;:::i;:::-;;;;-1:-1:-1;11232:103:128;;-1:-1:-1;11252:8:128;11270:1;11274:7;11283:6;11291:8;11301:12;11315:19;11232;:103::i;:::-;11368:7;-1:-1:-1;;;;;11351:57:128;11358:8;-1:-1:-1;;;;;11351:57:128;;11377:6;11385:8;11395:12;11351:57;;;;;;;;:::i;:::-;;;;;;;;11423:37;;5033:25:181;;;-1:-1:-1;;;;;11423:37:128;;;11440:1;;11423:37;;5021:2:181;5006:18;11423:37:128;;;;;;;10928:539;10741:726;;;;;:::o;16479:676::-;16746:79;;-1:-1:-1;;;16746:79:128;;-1:-1:-1;;;;;5261:32:181;;16746:79:128;;;5243:51:181;1588:34:128;5310:18:181;;;5303:34;16724:19:128;;1242:42;;16746:41;;5216:18:181;;16746:79:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16724:101;-1:-1:-1;;;;;;16839:25:128;;;16835:314;;16880:96;;-1:-1:-1;;;16880:96:128;;-1:-1:-1;;;;;16880:44:128;;;;;:96;;16925:8;;16935:4;;16941:2;;16945:6;;16953:8;;16963:12;;16880:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16835:314;;;16997:19;16993:156;;;17041:15;:2;-1:-1:-1;;;;;17041:13:128;;;;;;:15;;:::i;:::-;17040:16;17032:106;;;;-1:-1:-1;;;17032:106:128;;6498:2:181;17032:106:128;;;6480:21:181;6537:2;6517:18;;;6510:30;6576:34;6556:18;;;6549:62;6647:34;6627:18;;;6620:62;-1:-1:-1;;;6698:19:181;;;6691:44;6752:19;;17032:106:128;6296:481:181;17032:106:128;16714:441;16479:676;;;;;;;:::o;1175:320:134:-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;353:452:132:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;353:452:132;;;-1:-1:-1;353:452:132;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;353:452:132;-1:-1:-1;;;;;353:452:132;;;;;;;;;;;-1:-1:-1;353:452:132;;;;;;;;;;;;;;;;;;;;;14:127:181;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:181;247:40;;-1:-1:-1;;;;;302:34:181;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:181:o;426:258::-;498:1;508:113;522:6;519:1;516:13;508:113;;;598:11;;;592:18;579:11;;;572:39;544:2;537:10;508:113;;;639:6;636:1;633:13;630:48;;;-1:-1:-1;;674:1:181;656:16;;649:27;426:258::o;689:497::-;743:5;796:3;789:4;781:6;777:17;773:27;763:55;;814:1;811;804:12;763:55;837:13;;-1:-1:-1;;;;;862:26:181;;859:52;;;891:18;;:::i;:::-;935:55;978:2;959:13;;-1:-1:-1;;955:27:181;984:4;951:38;935:55;:::i;:::-;1015:2;1006:7;999:19;1061:3;1054:4;1049:2;1041:6;1037:15;1033:26;1030:35;1027:55;;;1078:1;1075;1068:12;1027:55;1091:64;1152:2;1145:4;1136:7;1132:18;1125:4;1117:6;1113:17;1091:64;:::i;:::-;1173:7;689:497;-1:-1:-1;;;;689:497:181:o;1191:177::-;1270:13;;-1:-1:-1;;;;;1312:31:181;;1302:42;;1292:70;;1358:1;1355;1348:12;1292:70;1191:177;;;:::o;1373:1516::-;1524:6;1532;1540;1548;1556;1609:3;1597:9;1588:7;1584:23;1580:33;1577:53;;;1626:1;1623;1616:12;1577:53;1653:16;;-1:-1:-1;;;;;1718:14:181;;;1715:34;;;1745:1;1742;1735:12;1715:34;1768:61;1821:7;1812:6;1801:9;1797:22;1768:61;:::i;:::-;1758:71;;1848:2;1838:12;;1896:2;1885:9;1881:18;1875:25;1925:2;1915:8;1912:16;1909:36;;;1941:1;1938;1931:12;1909:36;1964:63;2019:7;2008:8;1997:9;1993:24;1964:63;:::i;:::-;1954:73;;;2073:2;2062:9;2058:18;2052:25;2102:2;2092:8;2089:16;2086:36;;;2118:1;2115;2108:12;2086:36;2141:24;;2196:4;2188:13;;2184:27;-1:-1:-1;2174:55:181;;2225:1;2222;2215:12;2174:55;2254:2;2248:9;2276:2;2272;2269:10;2266:36;;;2282:18;;:::i;:::-;2328:2;2325:1;2321:10;2311:20;;2351:28;2375:2;2371;2367:11;2351:28;:::i;:::-;2413:15;;;2483:11;;;2479:20;;;2444:12;;;;2511:19;;;2508:39;;;2543:1;2540;2533:12;2508:39;2567:11;;;;2587:159;2603:6;2598:3;2595:15;2587:159;;;2669:34;2699:3;2669:34;:::i;:::-;2657:47;;2620:12;;;;2724;;;;2587:159;;;2765:5;2755:15;;;;;;;;2810:2;2799:9;2795:18;2789:25;2779:35;;2833:50;2878:3;2867:9;2863:19;2833:50;:::i;:::-;2823:60;;1373:1516;;;;;;;;:::o;2894:127::-;2955:10;2950:3;2946:20;2943:1;2936:31;2986:4;2983:1;2976:15;3010:4;3007:1;3000:15;3026:127;3087:10;3082:3;3078:20;3075:1;3068:31;3118:4;3115:1;3108:15;3142:4;3139:1;3132:15;3158:135;3197:3;-1:-1:-1;;3218:17:181;;3215:43;;;3238:18;;:::i;:::-;-1:-1:-1;3285:1:181;3274:13;;3158:135::o;4039:128::-;4079:3;4110:1;4106:6;4103:1;4100:13;4097:39;;;4116:18;;:::i;:::-;-1:-1:-1;4152:9:181;;4039:128::o;4172:257::-;4213:3;4251:5;4245:12;4278:6;4273:3;4266:19;4294:63;4350:6;4343:4;4338:3;4334:14;4327:4;4320:5;4316:16;4294:63;:::i;:::-;4411:2;4390:15;-1:-1:-1;;4386:29:181;4377:39;;;;4418:4;4373:50;;4172:257;-1:-1:-1;;4172:257:181:o;4434:448::-;4655:6;4644:9;4637:25;4698:2;4693;4682:9;4678:18;4671:30;4618:4;4724:44;4764:2;4753:9;4749:18;4741:6;4724:44;:::i;:::-;4816:9;4808:6;4804:22;4799:2;4788:9;4784:18;4777:50;4844:32;4869:6;4861;4844:32;:::i;:::-;4836:40;4434:448;-1:-1:-1;;;;;;4434:448:181:o;5348:208::-;5418:6;5471:2;5459:9;5450:7;5446:23;5442:32;5439:52;;;5487:1;5484;5477:12;5439:52;5510:40;5540:9;5510:40;:::i;:::-;5500:50;5348:208;-1:-1:-1;;;5348:208:181:o;5561:730::-;-1:-1:-1;;;;;5904:15:181;;;5886:34;;5956:15;;;5951:2;5936:18;;5929:43;6008:15;;6003:2;5988:18;;5981:43;6055:2;6040:18;;6033:34;;;6104:3;6098;6083:19;;6076:32;;;5829:4;;6131:45;;6156:19;;6148:6;6131:45;:::i;:::-;6225:9;6217:6;6213:22;6207:3;6196:9;6192:19;6185:51;6253:32;6278:6;6270;6253:32;:::i;:::-;6245:40;5561:730;-1:-1:-1;;;;;;;;;5561:730:181:o;6782:380::-;6861:1;6857:12;;;;6904;;;6925:61;;6979:4;6971:6;6967:17;6957:27;;6925:61;7032:2;7024:6;7021:14;7001:18;6998:38;6995:161;;;7078:10;7073:3;7069:20;7066:1;7059:31;7113:4;7110:1;7103:15;7141:4;7138:1;7131:15;6995:161;;6782:380;;;:::o;:::-;353:452:132;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_approve_19762":{"entryPoint":2026,"id":19762,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_19921":{"entryPoint":null,"id":19921,"parameterSlots":4,"returnSlots":0},"@_burn_19651":{"entryPoint":2713,"id":19651,"parameterSlots":4,"returnSlots":0},"@_callTokensReceived_19865":{"entryPoint":3817,"id":19865,"parameterSlots":7,"returnSlots":0},"@_callTokensToSend_19807":{"entryPoint":3149,"id":19807,"parameterSlots":6,"returnSlots":0},"@_move_19717":{"entryPoint":3459,"id":19717,"parameterSlots":6,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_send_19558":{"entryPoint":2461,"id":19558,"parameterSlots":6,"returnSlots":0},"@_spendAllowance_19908":{"entryPoint":2321,"id":19908,"parameterSlots":3,"returnSlots":0},"@allowance_19326":{"entryPoint":null,"id":19326,"parameterSlots":2,"returnSlots":1},"@approve_19351":{"entryPoint":923,"id":19351,"parameterSlots":2,"returnSlots":1},"@authorizeOperator_19188":{"entryPoint":1086,"id":19188,"parameterSlots":1,"returnSlots":0},"@balanceOf_19045":{"entryPoint":null,"id":19045,"parameterSlots":1,"returnSlots":1},"@burn_19109":{"entryPoint":1980,"id":19109,"parameterSlots":2,"returnSlots":0},"@decimals_19007":{"entryPoint":null,"id":19007,"parameterSlots":0,"returnSlots":1},"@defaultOperators_19244":{"entryPoint":688,"id":19244,"parameterSlots":0,"returnSlots":1},"@granularity_19017":{"entryPoint":null,"id":19017,"parameterSlots":0,"returnSlots":1},"@isContract_20376":{"entryPoint":2011,"id":20376,"parameterSlots":1,"returnSlots":1},"@isOperatorFor_19143":{"entryPoint":1478,"id":19143,"parameterSlots":2,"returnSlots":1},"@name_18988":{"entryPoint":786,"id":18988,"parameterSlots":0,"returnSlots":1},"@operatorBurn_19308":{"entryPoint":1924,"id":19308,"parameterSlots":4,"returnSlots":0},"@operatorSend_19278":{"entryPoint":1017,"id":19278,"parameterSlots":5,"returnSlots":0},"@revokeOperator_19233":{"entryPoint":1640,"id":19233,"parameterSlots":1,"returnSlots":0},"@send_19067":{"entryPoint":1387,"id":19067,"parameterSlots":3,"returnSlots":0},"@symbol_18998":{"entryPoint":1372,"id":18998,"parameterSlots":0,"returnSlots":1},"@totalSupply_19029":{"entryPoint":null,"id":19029,"parameterSlots":0,"returnSlots":1},"@transferFrom_19387":{"entryPoint":947,"id":19387,"parameterSlots":3,"returnSlots":1},"@transfer_19091":{"entryPoint":1422,"id":19091,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":4613,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":4901,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":5508,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":5019,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":4526,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr":{"entryPoint":4754,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":4482,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr":{"entryPoint":4930,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr":{"entryPoint":5076,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256t_bytes_memory_ptr":{"entryPoint":5204,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_string":{"entryPoint":4362,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":5537,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":4285,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4439,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":5334,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__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},"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":5455,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5627,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5432,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":5275,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":5410,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4591,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":4458,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:14324:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"165:507:181","statements":[{"nodeType":"YulVariableDeclaration","src":"175:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"185:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"179:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"196:32:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"214:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"225:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"210:3:181"},"nodeType":"YulFunctionCall","src":"210:18:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"244:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"255:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"237:6:181"},"nodeType":"YulFunctionCall","src":"237:21:181"},"nodeType":"YulExpressionStatement","src":"237:21:181"},{"nodeType":"YulVariableDeclaration","src":"267:17:181","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"278:6:181"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"271:3:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"293:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"313:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"307:5:181"},"nodeType":"YulFunctionCall","src":"307:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"297:6:181","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"336:6:181"},{"name":"length","nodeType":"YulIdentifier","src":"344:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"329:6:181"},"nodeType":"YulFunctionCall","src":"329:22:181"},"nodeType":"YulExpressionStatement","src":"329:22:181"},{"nodeType":"YulAssignment","src":"360:25:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"371:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"382:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"367:3:181"},"nodeType":"YulFunctionCall","src":"367:18:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"360:3:181"}]},{"nodeType":"YulVariableDeclaration","src":"394:29:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"412:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"420:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"408:3:181"},"nodeType":"YulFunctionCall","src":"408:15:181"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"398:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"432:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"441:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"436:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"500:146:181","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"521:3:181"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"536:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"530:5:181"},"nodeType":"YulFunctionCall","src":"530:13:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"553:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"558:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"549:3:181"},"nodeType":"YulFunctionCall","src":"549:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"562:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"545:3:181"},"nodeType":"YulFunctionCall","src":"545:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"526:3:181"},"nodeType":"YulFunctionCall","src":"526:39:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"514:6:181"},"nodeType":"YulFunctionCall","src":"514:52:181"},"nodeType":"YulExpressionStatement","src":"514:52:181"},{"nodeType":"YulAssignment","src":"579:19:181","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"590:3:181"},{"name":"_1","nodeType":"YulIdentifier","src":"595:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"586:3:181"},"nodeType":"YulFunctionCall","src":"586:12:181"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"579:3:181"}]},{"nodeType":"YulAssignment","src":"611:25:181","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"625:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"633:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"621:3:181"},"nodeType":"YulFunctionCall","src":"621:15:181"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"611:6:181"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"462:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"465:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"459:2:181"},"nodeType":"YulFunctionCall","src":"459:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"473:18:181","statements":[{"nodeType":"YulAssignment","src":"475:14:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"484:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"487:1:181","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"480:3:181"},"nodeType":"YulFunctionCall","src":"480:9:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"475:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"455:3:181","statements":[]},"src":"451:195:181"},{"nodeType":"YulAssignment","src":"655:11:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"663:3:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"655:4:181"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"134:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"145:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"156:4:181","type":""}],"src":"14:658:181"},{"body":{"nodeType":"YulBlock","src":"727:422:181","statements":[{"nodeType":"YulVariableDeclaration","src":"737:26:181","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"757:5:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"751:5:181"},"nodeType":"YulFunctionCall","src":"751:12:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"741:6:181","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"779:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"784:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"772:6:181"},"nodeType":"YulFunctionCall","src":"772:19:181"},"nodeType":"YulExpressionStatement","src":"772:19:181"},{"nodeType":"YulVariableDeclaration","src":"800:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"809:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"804:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"871:110:181","statements":[{"nodeType":"YulVariableDeclaration","src":"885:14:181","value":{"kind":"number","nodeType":"YulLiteral","src":"895:4:181","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"889:2:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"927:3:181"},{"name":"i","nodeType":"YulIdentifier","src":"932:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"923:3:181"},"nodeType":"YulFunctionCall","src":"923:11:181"},{"name":"_1","nodeType":"YulIdentifier","src":"936:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:181"},"nodeType":"YulFunctionCall","src":"919:20:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:181"},{"name":"i","nodeType":"YulIdentifier","src":"962:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"951:3:181"},"nodeType":"YulFunctionCall","src":"951:13:181"},{"name":"_1","nodeType":"YulIdentifier","src":"966:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"947:3:181"},"nodeType":"YulFunctionCall","src":"947:22:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"941:5:181"},"nodeType":"YulFunctionCall","src":"941:29:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"912:6:181"},"nodeType":"YulFunctionCall","src":"912:59:181"},"nodeType":"YulExpressionStatement","src":"912:59:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"830:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"833:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"827:2:181"},"nodeType":"YulFunctionCall","src":"827:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"841:21:181","statements":[{"nodeType":"YulAssignment","src":"843:17:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"852:1:181"},{"kind":"number","nodeType":"YulLiteral","src":"855:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"848:3:181"},"nodeType":"YulFunctionCall","src":"848:12:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"843:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"823:3:181","statements":[]},"src":"819:162:181"},{"body":{"nodeType":"YulBlock","src":"1015:62:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1044:3:181"},{"name":"length","nodeType":"YulIdentifier","src":"1049:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:181"},"nodeType":"YulFunctionCall","src":"1040:16:181"},{"kind":"number","nodeType":"YulLiteral","src":"1058:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1036:3:181"},"nodeType":"YulFunctionCall","src":"1036:27:181"},{"kind":"number","nodeType":"YulLiteral","src":"1065:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1029:6:181"},"nodeType":"YulFunctionCall","src":"1029:38:181"},"nodeType":"YulExpressionStatement","src":"1029:38:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"996:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"999:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"993:2:181"},"nodeType":"YulFunctionCall","src":"993:13:181"},"nodeType":"YulIf","src":"990:87:181"},{"nodeType":"YulAssignment","src":"1086:57:181","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1101:3:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1114:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1122:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1110:3:181"},"nodeType":"YulFunctionCall","src":"1110:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1131:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1127:3:181"},"nodeType":"YulFunctionCall","src":"1127:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1106:3:181"},"nodeType":"YulFunctionCall","src":"1106:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1097:3:181"},"nodeType":"YulFunctionCall","src":"1097:39:181"},{"kind":"number","nodeType":"YulLiteral","src":"1138:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1093:3:181"},"nodeType":"YulFunctionCall","src":"1093:50:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1086:3:181"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"704:5:181","type":""},{"name":"pos","nodeType":"YulTypedName","src":"711:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"719:3:181","type":""}],"src":"677:472:181"},{"body":{"nodeType":"YulBlock","src":"1275:99:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1292:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1303:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1285:6:181"},"nodeType":"YulFunctionCall","src":"1285:21:181"},"nodeType":"YulExpressionStatement","src":"1285:21:181"},{"nodeType":"YulAssignment","src":"1315:53:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1341:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1353:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1364:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1349:3:181"},"nodeType":"YulFunctionCall","src":"1349:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1323:17:181"},"nodeType":"YulFunctionCall","src":"1323:45:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1315:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1244:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1255:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1266:4:181","type":""}],"src":"1154:220:181"},{"body":{"nodeType":"YulBlock","src":"1424:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"1488:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1497:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1500:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1490:6:181"},"nodeType":"YulFunctionCall","src":"1490:12:181"},"nodeType":"YulExpressionStatement","src":"1490:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1447:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1458:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1478:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1469:3:181"},"nodeType":"YulFunctionCall","src":"1469:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1482:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1465:3:181"},"nodeType":"YulFunctionCall","src":"1465:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1454:3:181"},"nodeType":"YulFunctionCall","src":"1454:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1444:2:181"},"nodeType":"YulFunctionCall","src":"1444:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1437:6:181"},"nodeType":"YulFunctionCall","src":"1437:50:181"},"nodeType":"YulIf","src":"1434:70:181"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1413:5:181","type":""}],"src":"1379:131:181"},{"body":{"nodeType":"YulBlock","src":"1602:228:181","statements":[{"body":{"nodeType":"YulBlock","src":"1648:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1657:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1660:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1650:6:181"},"nodeType":"YulFunctionCall","src":"1650:12:181"},"nodeType":"YulExpressionStatement","src":"1650:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1623:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1632:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1619:3:181"},"nodeType":"YulFunctionCall","src":"1619:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1644:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1615:3:181"},"nodeType":"YulFunctionCall","src":"1615:32:181"},"nodeType":"YulIf","src":"1612:52:181"},{"nodeType":"YulVariableDeclaration","src":"1673:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1699:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1686:12:181"},"nodeType":"YulFunctionCall","src":"1686:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1677:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1743:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1718:24:181"},"nodeType":"YulFunctionCall","src":"1718:31:181"},"nodeType":"YulExpressionStatement","src":"1718:31:181"},{"nodeType":"YulAssignment","src":"1758:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"1768:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1758:6:181"}]},{"nodeType":"YulAssignment","src":"1782:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1809:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1820:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1805:3:181"},"nodeType":"YulFunctionCall","src":"1805:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1792:12:181"},"nodeType":"YulFunctionCall","src":"1792:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1782:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1560:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1571:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1583:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1591:6:181","type":""}],"src":"1515:315:181"},{"body":{"nodeType":"YulBlock","src":"1930:92:181","statements":[{"nodeType":"YulAssignment","src":"1940:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1952:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1963:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1948:3:181"},"nodeType":"YulFunctionCall","src":"1948:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1940:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1982:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2007:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2000:6:181"},"nodeType":"YulFunctionCall","src":"2000:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1993:6:181"},"nodeType":"YulFunctionCall","src":"1993:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1975:6:181"},"nodeType":"YulFunctionCall","src":"1975:41:181"},"nodeType":"YulExpressionStatement","src":"1975:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1899:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1910:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1921:4:181","type":""}],"src":"1835:187:181"},{"body":{"nodeType":"YulBlock","src":"2128:76:181","statements":[{"nodeType":"YulAssignment","src":"2138:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2150:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2161:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2146:3:181"},"nodeType":"YulFunctionCall","src":"2146:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2138:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2180:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"2191:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:181"},"nodeType":"YulFunctionCall","src":"2173:25:181"},"nodeType":"YulExpressionStatement","src":"2173:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2097:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2108:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2119:4:181","type":""}],"src":"2027:177:181"},{"body":{"nodeType":"YulBlock","src":"2313:352:181","statements":[{"body":{"nodeType":"YulBlock","src":"2359:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2368:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2371:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2361:6:181"},"nodeType":"YulFunctionCall","src":"2361:12:181"},"nodeType":"YulExpressionStatement","src":"2361:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2334:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2343:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2330:3:181"},"nodeType":"YulFunctionCall","src":"2330:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2355:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2326:3:181"},"nodeType":"YulFunctionCall","src":"2326:32:181"},"nodeType":"YulIf","src":"2323:52:181"},{"nodeType":"YulVariableDeclaration","src":"2384:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2410:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2397:12:181"},"nodeType":"YulFunctionCall","src":"2397:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2388:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2454:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2429:24:181"},"nodeType":"YulFunctionCall","src":"2429:31:181"},"nodeType":"YulExpressionStatement","src":"2429:31:181"},{"nodeType":"YulAssignment","src":"2469:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"2479:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2469:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2493:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2521:3:181"},"nodeType":"YulFunctionCall","src":"2521:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2508:12:181"},"nodeType":"YulFunctionCall","src":"2508:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"2497:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"2574:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2549:24:181"},"nodeType":"YulFunctionCall","src":"2549:33:181"},"nodeType":"YulExpressionStatement","src":"2549:33:181"},{"nodeType":"YulAssignment","src":"2591:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"2601:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2591:6:181"}]},{"nodeType":"YulAssignment","src":"2617:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2644:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2655:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2640:3:181"},"nodeType":"YulFunctionCall","src":"2640:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2627:12:181"},"nodeType":"YulFunctionCall","src":"2627:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2617:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2263:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2274:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2286:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2294:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2302:6:181","type":""}],"src":"2209:456:181"},{"body":{"nodeType":"YulBlock","src":"2767:87:181","statements":[{"nodeType":"YulAssignment","src":"2777:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2789:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2800:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2785:3:181"},"nodeType":"YulFunctionCall","src":"2785:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2777:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2819:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2834:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2842:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2830:3:181"},"nodeType":"YulFunctionCall","src":"2830:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2812:6:181"},"nodeType":"YulFunctionCall","src":"2812:36:181"},"nodeType":"YulExpressionStatement","src":"2812:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2736:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2747:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2758:4:181","type":""}],"src":"2670:184:181"},{"body":{"nodeType":"YulBlock","src":"2891:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2908:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2915:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2920:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2911:3:181"},"nodeType":"YulFunctionCall","src":"2911:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2901:6:181"},"nodeType":"YulFunctionCall","src":"2901:31:181"},"nodeType":"YulExpressionStatement","src":"2901:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2951:4:181","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2941:6:181"},"nodeType":"YulFunctionCall","src":"2941:15:181"},"nodeType":"YulExpressionStatement","src":"2941:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2972:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2975:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2965:6:181"},"nodeType":"YulFunctionCall","src":"2965:15:181"},"nodeType":"YulExpressionStatement","src":"2965:15:181"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2859:127:181"},{"body":{"nodeType":"YulBlock","src":"3043:666:181","statements":[{"body":{"nodeType":"YulBlock","src":"3092:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3101:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3104:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3094:6:181"},"nodeType":"YulFunctionCall","src":"3094:12:181"},"nodeType":"YulExpressionStatement","src":"3094:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3071:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3079:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3067:3:181"},"nodeType":"YulFunctionCall","src":"3067:17:181"},{"name":"end","nodeType":"YulIdentifier","src":"3086:3:181"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3063:3:181"},"nodeType":"YulFunctionCall","src":"3063:27:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3056:6:181"},"nodeType":"YulFunctionCall","src":"3056:35:181"},"nodeType":"YulIf","src":"3053:55:181"},{"nodeType":"YulVariableDeclaration","src":"3117:30:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3140:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3127:12:181"},"nodeType":"YulFunctionCall","src":"3127:20:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3121:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3156:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"3166:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3160:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3207:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3209:16:181"},"nodeType":"YulFunctionCall","src":"3209:18:181"},"nodeType":"YulExpressionStatement","src":"3209:18:181"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3199:2:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3203:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3196:2:181"},"nodeType":"YulFunctionCall","src":"3196:10:181"},"nodeType":"YulIf","src":"3193:36:181"},{"nodeType":"YulVariableDeclaration","src":"3238:17:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3252:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3248:3:181"},"nodeType":"YulFunctionCall","src":"3248:7:181"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3242:2:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3264:23:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3284:2:181","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3278:5:181"},"nodeType":"YulFunctionCall","src":"3278:9:181"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3268:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3296:71:181","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3318:6:181"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3342:2:181"},{"kind":"number","nodeType":"YulLiteral","src":"3346:4:181","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3338:3:181"},"nodeType":"YulFunctionCall","src":"3338:13:181"},{"name":"_3","nodeType":"YulIdentifier","src":"3353:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3334:3:181"},"nodeType":"YulFunctionCall","src":"3334:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"3358:2:181","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3330:3:181"},"nodeType":"YulFunctionCall","src":"3330:31:181"},{"name":"_3","nodeType":"YulIdentifier","src":"3363:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3326:3:181"},"nodeType":"YulFunctionCall","src":"3326:40:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3314:3:181"},"nodeType":"YulFunctionCall","src":"3314:53:181"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3300:10:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"3426:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3428:16:181"},"nodeType":"YulFunctionCall","src":"3428:18:181"},"nodeType":"YulExpressionStatement","src":"3428:18:181"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3385:10:181"},{"name":"_2","nodeType":"YulIdentifier","src":"3397:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3382:2:181"},"nodeType":"YulFunctionCall","src":"3382:18:181"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3405:10:181"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3417:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3402:2:181"},"nodeType":"YulFunctionCall","src":"3402:22:181"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3379:2:181"},"nodeType":"YulFunctionCall","src":"3379:46:181"},"nodeType":"YulIf","src":"3376:72:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3464:2:181","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3468:10:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3457:6:181"},"nodeType":"YulFunctionCall","src":"3457:22:181"},"nodeType":"YulExpressionStatement","src":"3457:22:181"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3495:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3503:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3488:6:181"},"nodeType":"YulFunctionCall","src":"3488:18:181"},"nodeType":"YulExpressionStatement","src":"3488:18:181"},{"body":{"nodeType":"YulBlock","src":"3554:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3563:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3566:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3556:6:181"},"nodeType":"YulFunctionCall","src":"3556:12:181"},"nodeType":"YulExpressionStatement","src":"3556:12:181"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3529:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3537:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3525:3:181"},"nodeType":"YulFunctionCall","src":"3525:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3542:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3521:3:181"},"nodeType":"YulFunctionCall","src":"3521:26:181"},{"name":"end","nodeType":"YulIdentifier","src":"3549:3:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3518:2:181"},"nodeType":"YulFunctionCall","src":"3518:35:181"},"nodeType":"YulIf","src":"3515:55:181"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3596:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3604:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3592:3:181"},"nodeType":"YulFunctionCall","src":"3592:17:181"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3615:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"3623:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3611:3:181"},"nodeType":"YulFunctionCall","src":"3611:17:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3630:2:181"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3579:12:181"},"nodeType":"YulFunctionCall","src":"3579:54:181"},"nodeType":"YulExpressionStatement","src":"3579:54:181"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3657:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"3665:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3653:3:181"},"nodeType":"YulFunctionCall","src":"3653:15:181"},{"kind":"number","nodeType":"YulLiteral","src":"3670:4:181","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3649:3:181"},"nodeType":"YulFunctionCall","src":"3649:26:181"},{"kind":"number","nodeType":"YulLiteral","src":"3677:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3642:6:181"},"nodeType":"YulFunctionCall","src":"3642:37:181"},"nodeType":"YulExpressionStatement","src":"3642:37:181"},{"nodeType":"YulAssignment","src":"3688:15:181","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3697:6:181"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3688:5:181"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3017:6:181","type":""},{"name":"end","nodeType":"YulTypedName","src":"3025:3:181","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3033:5:181","type":""}],"src":"2991:718:181"},{"body":{"nodeType":"YulBlock","src":"3870:729:181","statements":[{"body":{"nodeType":"YulBlock","src":"3917:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3926:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3929:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3919:6:181"},"nodeType":"YulFunctionCall","src":"3919:12:181"},"nodeType":"YulExpressionStatement","src":"3919:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3891:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"3900:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3887:3:181"},"nodeType":"YulFunctionCall","src":"3887:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"3912:3:181","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3883:3:181"},"nodeType":"YulFunctionCall","src":"3883:33:181"},"nodeType":"YulIf","src":"3880:53:181"},{"nodeType":"YulVariableDeclaration","src":"3942:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3968:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3955:12:181"},"nodeType":"YulFunctionCall","src":"3955:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3946:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4012:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3987:24:181"},"nodeType":"YulFunctionCall","src":"3987:31:181"},"nodeType":"YulExpressionStatement","src":"3987:31:181"},{"nodeType":"YulAssignment","src":"4027:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"4037:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4027:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4051:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4083:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4094:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4079:3:181"},"nodeType":"YulFunctionCall","src":"4079:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4066:12:181"},"nodeType":"YulFunctionCall","src":"4066:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4055:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4132:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4107:24:181"},"nodeType":"YulFunctionCall","src":"4107:33:181"},"nodeType":"YulExpressionStatement","src":"4107:33:181"},{"nodeType":"YulAssignment","src":"4149:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4159:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4149:6:181"}]},{"nodeType":"YulAssignment","src":"4175:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4202:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4198:3:181"},"nodeType":"YulFunctionCall","src":"4198:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4185:12:181"},"nodeType":"YulFunctionCall","src":"4185:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4175:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4226:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4257:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4268:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4253:3:181"},"nodeType":"YulFunctionCall","src":"4253:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4240:12:181"},"nodeType":"YulFunctionCall","src":"4240:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4230:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4281:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"4291:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4285:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4336:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4345:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4348:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4338:6:181"},"nodeType":"YulFunctionCall","src":"4338:12:181"},"nodeType":"YulExpressionStatement","src":"4338:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4324:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4332:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4321:2:181"},"nodeType":"YulFunctionCall","src":"4321:14:181"},"nodeType":"YulIf","src":"4318:34:181"},{"nodeType":"YulAssignment","src":"4361:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4392:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"4403:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4388:3:181"},"nodeType":"YulFunctionCall","src":"4388:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4412:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4371:16:181"},"nodeType":"YulFunctionCall","src":"4371:49:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4361:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"4429:49:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4462:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4473:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4458:3:181"},"nodeType":"YulFunctionCall","src":"4458:19:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4445:12:181"},"nodeType":"YulFunctionCall","src":"4445:33:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4433:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"4507:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4516:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4519:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4509:6:181"},"nodeType":"YulFunctionCall","src":"4509:12:181"},"nodeType":"YulExpressionStatement","src":"4509:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4493:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"4503:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4490:2:181"},"nodeType":"YulFunctionCall","src":"4490:16:181"},"nodeType":"YulIf","src":"4487:36:181"},{"nodeType":"YulAssignment","src":"4532:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4563:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4574:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4559:3:181"},"nodeType":"YulFunctionCall","src":"4559:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4585:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4542:16:181"},"nodeType":"YulFunctionCall","src":"4542:51:181"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4532:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3804:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3815:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3827:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3835:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3843:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3851:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3859:6:181","type":""}],"src":"3714:885:181"},{"body":{"nodeType":"YulBlock","src":"4674:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"4720:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4729:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4732:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4722:6:181"},"nodeType":"YulFunctionCall","src":"4722:12:181"},"nodeType":"YulExpressionStatement","src":"4722:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4695:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4704:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4691:3:181"},"nodeType":"YulFunctionCall","src":"4691:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"4716:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4687:3:181"},"nodeType":"YulFunctionCall","src":"4687:32:181"},"nodeType":"YulIf","src":"4684:52:181"},{"nodeType":"YulVariableDeclaration","src":"4745:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4771:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4758:12:181"},"nodeType":"YulFunctionCall","src":"4758:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4749:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4815:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4790:24:181"},"nodeType":"YulFunctionCall","src":"4790:31:181"},"nodeType":"YulExpressionStatement","src":"4790:31:181"},{"nodeType":"YulAssignment","src":"4830:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"4840:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4830:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4640:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4651:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4663:6:181","type":""}],"src":"4604:247:181"},{"body":{"nodeType":"YulBlock","src":"4969:410:181","statements":[{"body":{"nodeType":"YulBlock","src":"5015:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5024:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5027:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5017:6:181"},"nodeType":"YulFunctionCall","src":"5017:12:181"},"nodeType":"YulExpressionStatement","src":"5017:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4990:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"4999:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4986:3:181"},"nodeType":"YulFunctionCall","src":"4986:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5011:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4982:3:181"},"nodeType":"YulFunctionCall","src":"4982:32:181"},"nodeType":"YulIf","src":"4979:52:181"},{"nodeType":"YulVariableDeclaration","src":"5040:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5066:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5053:12:181"},"nodeType":"YulFunctionCall","src":"5053:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5044:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5110:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5085:24:181"},"nodeType":"YulFunctionCall","src":"5085:31:181"},"nodeType":"YulExpressionStatement","src":"5085:31:181"},{"nodeType":"YulAssignment","src":"5125:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"5135:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5125:6:181"}]},{"nodeType":"YulAssignment","src":"5149:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5187:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5172:3:181"},"nodeType":"YulFunctionCall","src":"5172:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5159:12:181"},"nodeType":"YulFunctionCall","src":"5159:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5149:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5200:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5231:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5242:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5227:3:181"},"nodeType":"YulFunctionCall","src":"5227:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5214:12:181"},"nodeType":"YulFunctionCall","src":"5214:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5204:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"5289:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5298:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5301:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5291:6:181"},"nodeType":"YulFunctionCall","src":"5291:12:181"},"nodeType":"YulExpressionStatement","src":"5291:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5261:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"5269:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5258:2:181"},"nodeType":"YulFunctionCall","src":"5258:30:181"},"nodeType":"YulIf","src":"5255:50:181"},{"nodeType":"YulAssignment","src":"5314:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5345:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"5356:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5341:3:181"},"nodeType":"YulFunctionCall","src":"5341:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5365:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5324:16:181"},"nodeType":"YulFunctionCall","src":"5324:49:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5314:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4919:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4930:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4942:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4950:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4958:6:181","type":""}],"src":"4856:523:181"},{"body":{"nodeType":"YulBlock","src":"5471:301:181","statements":[{"body":{"nodeType":"YulBlock","src":"5517:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5526:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5529:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5519:6:181"},"nodeType":"YulFunctionCall","src":"5519:12:181"},"nodeType":"YulExpressionStatement","src":"5519:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5492:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5501:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5488:3:181"},"nodeType":"YulFunctionCall","src":"5488:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5513:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5484:3:181"},"nodeType":"YulFunctionCall","src":"5484:32:181"},"nodeType":"YulIf","src":"5481:52:181"},{"nodeType":"YulVariableDeclaration","src":"5542:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5568:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5555:12:181"},"nodeType":"YulFunctionCall","src":"5555:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5546:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5612:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5587:24:181"},"nodeType":"YulFunctionCall","src":"5587:31:181"},"nodeType":"YulExpressionStatement","src":"5587:31:181"},{"nodeType":"YulAssignment","src":"5627:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"5637:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5627:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"5651:47:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5679:3:181"},"nodeType":"YulFunctionCall","src":"5679:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5666:12:181"},"nodeType":"YulFunctionCall","src":"5666:32:181"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"5655:7:181","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"5732:7:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5707:24:181"},"nodeType":"YulFunctionCall","src":"5707:33:181"},"nodeType":"YulExpressionStatement","src":"5707:33:181"},{"nodeType":"YulAssignment","src":"5749:17:181","value":{"name":"value_1","nodeType":"YulIdentifier","src":"5759:7:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5749:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5429:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5440:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5452:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5460:6:181","type":""}],"src":"5384:388:181"},{"body":{"nodeType":"YulBlock","src":"5916:604:181","statements":[{"body":{"nodeType":"YulBlock","src":"5963:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5972:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5975:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5965:6:181"},"nodeType":"YulFunctionCall","src":"5965:12:181"},"nodeType":"YulExpressionStatement","src":"5965:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5937:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"5946:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5933:3:181"},"nodeType":"YulFunctionCall","src":"5933:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"5958:3:181","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5929:3:181"},"nodeType":"YulFunctionCall","src":"5929:33:181"},"nodeType":"YulIf","src":"5926:53:181"},{"nodeType":"YulVariableDeclaration","src":"5988:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6014:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6001:12:181"},"nodeType":"YulFunctionCall","src":"6001:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5992:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6058:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6033:24:181"},"nodeType":"YulFunctionCall","src":"6033:31:181"},"nodeType":"YulExpressionStatement","src":"6033:31:181"},{"nodeType":"YulAssignment","src":"6073:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"6083:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6073:6:181"}]},{"nodeType":"YulAssignment","src":"6097:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6124:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6135:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6120:3:181"},"nodeType":"YulFunctionCall","src":"6120:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6107:12:181"},"nodeType":"YulFunctionCall","src":"6107:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6097:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6148:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6179:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6190:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6175:3:181"},"nodeType":"YulFunctionCall","src":"6175:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6162:12:181"},"nodeType":"YulFunctionCall","src":"6162:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6152:6:181","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6203:28:181","value":{"kind":"number","nodeType":"YulLiteral","src":"6213:18:181","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6207:2:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6258:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6267:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6270:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6260:6:181"},"nodeType":"YulFunctionCall","src":"6260:12:181"},"nodeType":"YulExpressionStatement","src":"6260:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6246:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6254:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6243:2:181"},"nodeType":"YulFunctionCall","src":"6243:14:181"},"nodeType":"YulIf","src":"6240:34:181"},{"nodeType":"YulAssignment","src":"6283:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6314:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6310:3:181"},"nodeType":"YulFunctionCall","src":"6310:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6334:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6293:16:181"},"nodeType":"YulFunctionCall","src":"6293:49:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6283:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6351:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6384:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6395:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6380:3:181"},"nodeType":"YulFunctionCall","src":"6380:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6367:12:181"},"nodeType":"YulFunctionCall","src":"6367:32:181"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"6355:8:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6428:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6437:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6440:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6430:6:181"},"nodeType":"YulFunctionCall","src":"6430:12:181"},"nodeType":"YulExpressionStatement","src":"6430:12:181"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6414:8:181"},{"name":"_1","nodeType":"YulIdentifier","src":"6424:2:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6411:2:181"},"nodeType":"YulFunctionCall","src":"6411:16:181"},"nodeType":"YulIf","src":"6408:36:181"},{"nodeType":"YulAssignment","src":"6453:61:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6484:9:181"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6495:8:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6480:3:181"},"nodeType":"YulFunctionCall","src":"6480:24:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6506:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6463:16:181"},"nodeType":"YulFunctionCall","src":"6463:51:181"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6453:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5858:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5869:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5881:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5889:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5897:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5905:6:181","type":""}],"src":"5777:743:181"},{"body":{"nodeType":"YulBlock","src":"6621:292:181","statements":[{"body":{"nodeType":"YulBlock","src":"6667:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6676:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6679:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6669:6:181"},"nodeType":"YulFunctionCall","src":"6669:12:181"},"nodeType":"YulExpressionStatement","src":"6669:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6642:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"6651:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6638:3:181"},"nodeType":"YulFunctionCall","src":"6638:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"6663:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6634:3:181"},"nodeType":"YulFunctionCall","src":"6634:32:181"},"nodeType":"YulIf","src":"6631:52:181"},{"nodeType":"YulAssignment","src":"6692:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6715:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6702:12:181"},"nodeType":"YulFunctionCall","src":"6702:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6692:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"6734:46:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6765:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"6776:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6761:3:181"},"nodeType":"YulFunctionCall","src":"6761:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6748:12:181"},"nodeType":"YulFunctionCall","src":"6748:32:181"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6738:6:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"6823:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6832:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6835:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6825:6:181"},"nodeType":"YulFunctionCall","src":"6825:12:181"},"nodeType":"YulExpressionStatement","src":"6825:12:181"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6795:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"6803:18:181","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6792:2:181"},"nodeType":"YulFunctionCall","src":"6792:30:181"},"nodeType":"YulIf","src":"6789:50:181"},{"nodeType":"YulAssignment","src":"6848:59:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6879:9:181"},{"name":"offset","nodeType":"YulIdentifier","src":"6890:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6875:3:181"},"nodeType":"YulFunctionCall","src":"6875:22:181"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6899:7:181"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6858:16:181"},"nodeType":"YulFunctionCall","src":"6858:49:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6848:6:181"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6579:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6590:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6602:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6610:6:181","type":""}],"src":"6525:388:181"},{"body":{"nodeType":"YulBlock","src":"6973:325:181","statements":[{"nodeType":"YulAssignment","src":"6983:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6997:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"7000:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6993:3:181"},"nodeType":"YulFunctionCall","src":"6993:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6983:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"7014:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"7044:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"7050:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7040:3:181"},"nodeType":"YulFunctionCall","src":"7040:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"7018:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"7091:31:181","statements":[{"nodeType":"YulAssignment","src":"7093:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7107:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7115:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7103:3:181"},"nodeType":"YulFunctionCall","src":"7103:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7093:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7071:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7064:6:181"},"nodeType":"YulFunctionCall","src":"7064:26:181"},"nodeType":"YulIf","src":"7061:61:181"},{"body":{"nodeType":"YulBlock","src":"7181:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7202:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7209:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7214:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7205:3:181"},"nodeType":"YulFunctionCall","src":"7205:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7195:6:181"},"nodeType":"YulFunctionCall","src":"7195:31:181"},"nodeType":"YulExpressionStatement","src":"7195:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7246:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7249:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7239:6:181"},"nodeType":"YulFunctionCall","src":"7239:15:181"},"nodeType":"YulExpressionStatement","src":"7239:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7274:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7277:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7267:6:181"},"nodeType":"YulFunctionCall","src":"7267:15:181"},"nodeType":"YulExpressionStatement","src":"7267:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7137:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7160:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"7168:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7157:2:181"},"nodeType":"YulFunctionCall","src":"7157:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7134:2:181"},"nodeType":"YulFunctionCall","src":"7134:38:181"},"nodeType":"YulIf","src":"7131:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6953:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6962:6:181","type":""}],"src":"6918:380:181"},{"body":{"nodeType":"YulBlock","src":"7477:234:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7494:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7505:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7487:6:181"},"nodeType":"YulFunctionCall","src":"7487:21:181"},"nodeType":"YulExpressionStatement","src":"7487:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7528:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7539:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7524:3:181"},"nodeType":"YulFunctionCall","src":"7524:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7544:2:181","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7517:6:181"},"nodeType":"YulFunctionCall","src":"7517:30:181"},"nodeType":"YulExpressionStatement","src":"7517:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7567:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7578:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7563:3:181"},"nodeType":"YulFunctionCall","src":"7563:18:181"},{"hexValue":"4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f","kind":"string","nodeType":"YulLiteral","src":"7583:34:181","type":"","value":"ERC777: caller is not an operato"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7556:6:181"},"nodeType":"YulFunctionCall","src":"7556:62:181"},"nodeType":"YulExpressionStatement","src":"7556:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7638:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7649:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7634:3:181"},"nodeType":"YulFunctionCall","src":"7634:18:181"},{"hexValue":"7220666f7220686f6c646572","kind":"string","nodeType":"YulLiteral","src":"7654:14:181","type":"","value":"r for holder"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7627:6:181"},"nodeType":"YulFunctionCall","src":"7627:42:181"},"nodeType":"YulExpressionStatement","src":"7627:42:181"},{"nodeType":"YulAssignment","src":"7678:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7701:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7686:3:181"},"nodeType":"YulFunctionCall","src":"7686:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7678:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7454:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7468:4:181","type":""}],"src":"7303:408:181"},{"body":{"nodeType":"YulBlock","src":"7890:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7907:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7918:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7900:6:181"},"nodeType":"YulFunctionCall","src":"7900:21:181"},"nodeType":"YulExpressionStatement","src":"7900:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7941:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7952:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7937:3:181"},"nodeType":"YulFunctionCall","src":"7937:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"7957:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7930:6:181"},"nodeType":"YulFunctionCall","src":"7930:30:181"},"nodeType":"YulExpressionStatement","src":"7930:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7980:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"7991:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7976:3:181"},"nodeType":"YulFunctionCall","src":"7976:18:181"},{"hexValue":"4552433737373a20617574686f72697a696e672073656c66206173206f706572","kind":"string","nodeType":"YulLiteral","src":"7996:34:181","type":"","value":"ERC777: authorizing self as oper"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7969:6:181"},"nodeType":"YulFunctionCall","src":"7969:62:181"},"nodeType":"YulExpressionStatement","src":"7969:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8051:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8062:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8047:3:181"},"nodeType":"YulFunctionCall","src":"8047:18:181"},{"hexValue":"61746f72","kind":"string","nodeType":"YulLiteral","src":"8067:6:181","type":"","value":"ator"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8040:6:181"},"nodeType":"YulFunctionCall","src":"8040:34:181"},"nodeType":"YulExpressionStatement","src":"8040:34:181"},{"nodeType":"YulAssignment","src":"8083:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8106:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8091:3:181"},"nodeType":"YulFunctionCall","src":"8091:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8083:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7867:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7881:4:181","type":""}],"src":"7716:400:181"},{"body":{"nodeType":"YulBlock","src":"8295:223:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8312:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8323:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8305:6:181"},"nodeType":"YulFunctionCall","src":"8305:21:181"},"nodeType":"YulExpressionStatement","src":"8305:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8346:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8357:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8342:3:181"},"nodeType":"YulFunctionCall","src":"8342:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8362:2:181","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8335:6:181"},"nodeType":"YulFunctionCall","src":"8335:30:181"},"nodeType":"YulExpressionStatement","src":"8335:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8385:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8396:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8381:3:181"},"nodeType":"YulFunctionCall","src":"8381:18:181"},{"hexValue":"4552433737373a207265766f6b696e672073656c66206173206f70657261746f","kind":"string","nodeType":"YulLiteral","src":"8401:34:181","type":"","value":"ERC777: revoking self as operato"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8374:6:181"},"nodeType":"YulFunctionCall","src":"8374:62:181"},"nodeType":"YulExpressionStatement","src":"8374:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8456:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8467:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8452:3:181"},"nodeType":"YulFunctionCall","src":"8452:18:181"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"8472:3:181","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8445:6:181"},"nodeType":"YulFunctionCall","src":"8445:31:181"},"nodeType":"YulExpressionStatement","src":"8445:31:181"},{"nodeType":"YulAssignment","src":"8485:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8497:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8508:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8493:3:181"},"nodeType":"YulFunctionCall","src":"8493:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8485:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8272:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8286:4:181","type":""}],"src":"8121:397:181"},{"body":{"nodeType":"YulBlock","src":"8697:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8714:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8725:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8707:6:181"},"nodeType":"YulFunctionCall","src":"8707:21:181"},"nodeType":"YulExpressionStatement","src":"8707:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8748:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8759:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8744:3:181"},"nodeType":"YulFunctionCall","src":"8744:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"8764:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8737:6:181"},"nodeType":"YulFunctionCall","src":"8737:30:181"},"nodeType":"YulExpressionStatement","src":"8737:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8787:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8798:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8783:3:181"},"nodeType":"YulFunctionCall","src":"8783:18:181"},{"hexValue":"4552433737373a20617070726f76652066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"8803:34:181","type":"","value":"ERC777: approve from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8776:6:181"},"nodeType":"YulFunctionCall","src":"8776:62:181"},"nodeType":"YulExpressionStatement","src":"8776:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8858:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8869:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8854:3:181"},"nodeType":"YulFunctionCall","src":"8854:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"8874:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8847:6:181"},"nodeType":"YulFunctionCall","src":"8847:35:181"},"nodeType":"YulExpressionStatement","src":"8847:35:181"},{"nodeType":"YulAssignment","src":"8891:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8903:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"8914:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8899:3:181"},"nodeType":"YulFunctionCall","src":"8899:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8891:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8674:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8688:4:181","type":""}],"src":"8523:401:181"},{"body":{"nodeType":"YulBlock","src":"9103:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9120:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9131:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9113:6:181"},"nodeType":"YulFunctionCall","src":"9113:21:181"},"nodeType":"YulExpressionStatement","src":"9113:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9154:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9165:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9150:3:181"},"nodeType":"YulFunctionCall","src":"9150:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9170:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9143:6:181"},"nodeType":"YulFunctionCall","src":"9143:30:181"},"nodeType":"YulExpressionStatement","src":"9143:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9193:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9204:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9189:3:181"},"nodeType":"YulFunctionCall","src":"9189:18:181"},{"hexValue":"4552433737373a20617070726f766520746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"9209:34:181","type":"","value":"ERC777: approve to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9182:6:181"},"nodeType":"YulFunctionCall","src":"9182:62:181"},"nodeType":"YulExpressionStatement","src":"9182:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9264:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9275:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9260:3:181"},"nodeType":"YulFunctionCall","src":"9260:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"9280:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9253:6:181"},"nodeType":"YulFunctionCall","src":"9253:33:181"},"nodeType":"YulExpressionStatement","src":"9253:33:181"},{"nodeType":"YulAssignment","src":"9295:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9307:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9318:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9303:3:181"},"nodeType":"YulFunctionCall","src":"9303:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9295:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9080:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9094:4:181","type":""}],"src":"8929:399:181"},{"body":{"nodeType":"YulBlock","src":"9507:180:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9524:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9535:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9517:6:181"},"nodeType":"YulFunctionCall","src":"9517:21:181"},"nodeType":"YulExpressionStatement","src":"9517:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9558:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9569:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9554:3:181"},"nodeType":"YulFunctionCall","src":"9554:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9574:2:181","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9547:6:181"},"nodeType":"YulFunctionCall","src":"9547:30:181"},"nodeType":"YulExpressionStatement","src":"9547:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9597:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9608:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9593:3:181"},"nodeType":"YulFunctionCall","src":"9593:18:181"},{"hexValue":"4552433737373a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"9613:32:181","type":"","value":"ERC777: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9586:6:181"},"nodeType":"YulFunctionCall","src":"9586:60:181"},"nodeType":"YulExpressionStatement","src":"9586:60:181"},{"nodeType":"YulAssignment","src":"9655:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9667:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9678:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9663:3:181"},"nodeType":"YulFunctionCall","src":"9663:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9655:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9484:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9498:4:181","type":""}],"src":"9333:354:181"},{"body":{"nodeType":"YulBlock","src":"9866:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9883:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9894:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9876:6:181"},"nodeType":"YulFunctionCall","src":"9876:21:181"},"nodeType":"YulExpressionStatement","src":"9876:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9917:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9928:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9913:3:181"},"nodeType":"YulFunctionCall","src":"9913:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"9933:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9906:6:181"},"nodeType":"YulFunctionCall","src":"9906:30:181"},"nodeType":"YulExpressionStatement","src":"9906:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9956:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"9967:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9952:3:181"},"nodeType":"YulFunctionCall","src":"9952:18:181"},{"hexValue":"4552433737373a207472616e736665722066726f6d20746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"9972:34:181","type":"","value":"ERC777: transfer from the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9945:6:181"},"nodeType":"YulFunctionCall","src":"9945:62:181"},"nodeType":"YulExpressionStatement","src":"9945:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10038:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10023:3:181"},"nodeType":"YulFunctionCall","src":"10023:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"10043:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10016:6:181"},"nodeType":"YulFunctionCall","src":"10016:36:181"},"nodeType":"YulExpressionStatement","src":"10016:36:181"},{"nodeType":"YulAssignment","src":"10061:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10073:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10084:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10069:3:181"},"nodeType":"YulFunctionCall","src":"10069:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10061:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9843:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9857:4:181","type":""}],"src":"9692:402:181"},{"body":{"nodeType":"YulBlock","src":"10273:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10290:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10301:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10283:6:181"},"nodeType":"YulFunctionCall","src":"10283:21:181"},"nodeType":"YulExpressionStatement","src":"10283:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10324:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10335:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10320:3:181"},"nodeType":"YulFunctionCall","src":"10320:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10340:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10313:6:181"},"nodeType":"YulFunctionCall","src":"10313:30:181"},"nodeType":"YulExpressionStatement","src":"10313:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10363:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10374:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10359:3:181"},"nodeType":"YulFunctionCall","src":"10359:18:181"},{"hexValue":"4552433737373a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"10379:34:181","type":"","value":"ERC777: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10352:6:181"},"nodeType":"YulFunctionCall","src":"10352:62:181"},"nodeType":"YulExpressionStatement","src":"10352:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10434:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10445:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10430:3:181"},"nodeType":"YulFunctionCall","src":"10430:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"10450:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10423:6:181"},"nodeType":"YulFunctionCall","src":"10423:34:181"},"nodeType":"YulExpressionStatement","src":"10423:34:181"},{"nodeType":"YulAssignment","src":"10466:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10478:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10489:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10474:3:181"},"nodeType":"YulFunctionCall","src":"10474:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10466:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10250:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10264:4:181","type":""}],"src":"10099:400:181"},{"body":{"nodeType":"YulBlock","src":"10678:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10695:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10706:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10688:6:181"},"nodeType":"YulFunctionCall","src":"10688:21:181"},"nodeType":"YulExpressionStatement","src":"10688:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10729:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10740:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10725:3:181"},"nodeType":"YulFunctionCall","src":"10725:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"10745:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10718:6:181"},"nodeType":"YulFunctionCall","src":"10718:30:181"},"nodeType":"YulExpressionStatement","src":"10718:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10768:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10779:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10764:3:181"},"nodeType":"YulFunctionCall","src":"10764:18:181"},{"hexValue":"4552433737373a206275726e2066726f6d20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"10784:34:181","type":"","value":"ERC777: burn from the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10757:6:181"},"nodeType":"YulFunctionCall","src":"10757:62:181"},"nodeType":"YulExpressionStatement","src":"10757:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10839:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10850:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10835:3:181"},"nodeType":"YulFunctionCall","src":"10835:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"10855:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10828:6:181"},"nodeType":"YulFunctionCall","src":"10828:32:181"},"nodeType":"YulExpressionStatement","src":"10828:32:181"},{"nodeType":"YulAssignment","src":"10869:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10881:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"10892:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10877:3:181"},"nodeType":"YulFunctionCall","src":"10877:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10869:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10655:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10669:4:181","type":""}],"src":"10504:398:181"},{"body":{"nodeType":"YulBlock","src":"11081:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11098:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11109:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11091:6:181"},"nodeType":"YulFunctionCall","src":"11091:21:181"},"nodeType":"YulExpressionStatement","src":"11091:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11132:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11143:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11128:3:181"},"nodeType":"YulFunctionCall","src":"11128:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11148:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11121:6:181"},"nodeType":"YulFunctionCall","src":"11121:30:181"},"nodeType":"YulExpressionStatement","src":"11121:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11171:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11182:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11167:3:181"},"nodeType":"YulFunctionCall","src":"11167:18:181"},{"hexValue":"4552433737373a206275726e20616d6f756e7420657863656564732062616c61","kind":"string","nodeType":"YulLiteral","src":"11187:34:181","type":"","value":"ERC777: burn amount exceeds bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11160:6:181"},"nodeType":"YulFunctionCall","src":"11160:62:181"},"nodeType":"YulExpressionStatement","src":"11160:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11242:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11253:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11238:3:181"},"nodeType":"YulFunctionCall","src":"11238:18:181"},{"hexValue":"6e6365","kind":"string","nodeType":"YulLiteral","src":"11258:5:181","type":"","value":"nce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11231:6:181"},"nodeType":"YulFunctionCall","src":"11231:33:181"},"nodeType":"YulExpressionStatement","src":"11231:33:181"},{"nodeType":"YulAssignment","src":"11273:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11285:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11296:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11281:3:181"},"nodeType":"YulFunctionCall","src":"11281:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11273:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11058:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11072:4:181","type":""}],"src":"10907:399:181"},{"body":{"nodeType":"YulBlock","src":"11343:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11360:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11367:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11372:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11363:3:181"},"nodeType":"YulFunctionCall","src":"11363:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11353:6:181"},"nodeType":"YulFunctionCall","src":"11353:31:181"},"nodeType":"YulExpressionStatement","src":"11353:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11400:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11403:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11393:6:181"},"nodeType":"YulFunctionCall","src":"11393:15:181"},"nodeType":"YulExpressionStatement","src":"11393:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11424:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11427:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11417:6:181"},"nodeType":"YulFunctionCall","src":"11417:15:181"},"nodeType":"YulExpressionStatement","src":"11417:15:181"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"11311:127:181"},{"body":{"nodeType":"YulBlock","src":"11492:76:181","statements":[{"body":{"nodeType":"YulBlock","src":"11514:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11516:16:181"},"nodeType":"YulFunctionCall","src":"11516:18:181"},"nodeType":"YulExpressionStatement","src":"11516:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11508:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"11511:1:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11505:2:181"},"nodeType":"YulFunctionCall","src":"11505:8:181"},"nodeType":"YulIf","src":"11502:34:181"},{"nodeType":"YulAssignment","src":"11545:17:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11557:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"11560:1:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11553:3:181"},"nodeType":"YulFunctionCall","src":"11553:9:181"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"11545:4:181"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11474:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"11477:1:181","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"11483:4:181","type":""}],"src":"11443:125:181"},{"body":{"nodeType":"YulBlock","src":"11766:257:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11783:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"11794:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11776:6:181"},"nodeType":"YulFunctionCall","src":"11776:25:181"},"nodeType":"YulExpressionStatement","src":"11776:25:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11821:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11832:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11817:3:181"},"nodeType":"YulFunctionCall","src":"11817:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"11837:2:181","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11810:6:181"},"nodeType":"YulFunctionCall","src":"11810:30:181"},"nodeType":"YulExpressionStatement","src":"11810:30:181"},{"nodeType":"YulVariableDeclaration","src":"11849:59:181","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11881:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11893:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11904:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11889:3:181"},"nodeType":"YulFunctionCall","src":"11889:18:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11863:17:181"},"nodeType":"YulFunctionCall","src":"11863:45:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11853:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11928:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"11939:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11924:3:181"},"nodeType":"YulFunctionCall","src":"11924:18:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"11948:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"11956:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11944:3:181"},"nodeType":"YulFunctionCall","src":"11944:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11917:6:181"},"nodeType":"YulFunctionCall","src":"11917:50:181"},"nodeType":"YulExpressionStatement","src":"11917:50:181"},{"nodeType":"YulAssignment","src":"11976:41:181","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12002:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"12010:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11984:17:181"},"nodeType":"YulFunctionCall","src":"11984:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11976:4:181"}]}]},"name":"abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11719:9:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11730:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11738:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11746:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11757:4:181","type":""}],"src":"11573:450:181"},{"body":{"nodeType":"YulBlock","src":"12157:145:181","statements":[{"nodeType":"YulAssignment","src":"12167:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12179:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12190:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12175:3:181"},"nodeType":"YulFunctionCall","src":"12175:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12167:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12209:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12224:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12240:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12245:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12236:3:181"},"nodeType":"YulFunctionCall","src":"12236:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"12249:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12232:3:181"},"nodeType":"YulFunctionCall","src":"12232:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12220:3:181"},"nodeType":"YulFunctionCall","src":"12220:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12202:6:181"},"nodeType":"YulFunctionCall","src":"12202:51:181"},"nodeType":"YulExpressionStatement","src":"12202:51:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12273:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12284:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12269:3:181"},"nodeType":"YulFunctionCall","src":"12269:18:181"},{"name":"value1","nodeType":"YulIdentifier","src":"12289:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12262:6:181"},"nodeType":"YulFunctionCall","src":"12262:34:181"},"nodeType":"YulExpressionStatement","src":"12262:34:181"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12118:9:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12129:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12137:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12148:4:181","type":""}],"src":"12028:274:181"},{"body":{"nodeType":"YulBlock","src":"12388:170:181","statements":[{"body":{"nodeType":"YulBlock","src":"12434:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12443:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12446:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12436:6:181"},"nodeType":"YulFunctionCall","src":"12436:12:181"},"nodeType":"YulExpressionStatement","src":"12436:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12409:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"12418:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12405:3:181"},"nodeType":"YulFunctionCall","src":"12405:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"12430:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12401:3:181"},"nodeType":"YulFunctionCall","src":"12401:32:181"},"nodeType":"YulIf","src":"12398:52:181"},{"nodeType":"YulVariableDeclaration","src":"12459:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12478:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12472:5:181"},"nodeType":"YulFunctionCall","src":"12472:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12463:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12522:5:181"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12497:24:181"},"nodeType":"YulFunctionCall","src":"12497:31:181"},"nodeType":"YulExpressionStatement","src":"12497:31:181"},{"nodeType":"YulAssignment","src":"12537:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"12547:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12537:6:181"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12354:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12365:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12377:6:181","type":""}],"src":"12307:251:181"},{"body":{"nodeType":"YulBlock","src":"12840:455:181","statements":[{"nodeType":"YulVariableDeclaration","src":"12850:29:181","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12868:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12873:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12864:3:181"},"nodeType":"YulFunctionCall","src":"12864:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"12877:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12860:3:181"},"nodeType":"YulFunctionCall","src":"12860:19:181"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12854:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12895:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12910:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"12918:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12906:3:181"},"nodeType":"YulFunctionCall","src":"12906:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12888:6:181"},"nodeType":"YulFunctionCall","src":"12888:34:181"},"nodeType":"YulExpressionStatement","src":"12888:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12942:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"12953:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12938:3:181"},"nodeType":"YulFunctionCall","src":"12938:18:181"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12962:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"12970:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12958:3:181"},"nodeType":"YulFunctionCall","src":"12958:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12931:6:181"},"nodeType":"YulFunctionCall","src":"12931:43:181"},"nodeType":"YulExpressionStatement","src":"12931:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12994:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13005:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12990:3:181"},"nodeType":"YulFunctionCall","src":"12990:18:181"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13014:6:181"},{"name":"_1","nodeType":"YulIdentifier","src":"13022:2:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13010:3:181"},"nodeType":"YulFunctionCall","src":"13010:15:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12983:6:181"},"nodeType":"YulFunctionCall","src":"12983:43:181"},"nodeType":"YulExpressionStatement","src":"12983:43:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13046:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13057:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13042:3:181"},"nodeType":"YulFunctionCall","src":"13042:18:181"},{"name":"value3","nodeType":"YulIdentifier","src":"13062:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13035:6:181"},"nodeType":"YulFunctionCall","src":"13035:34:181"},"nodeType":"YulExpressionStatement","src":"13035:34:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13089:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13100:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13085:3:181"},"nodeType":"YulFunctionCall","src":"13085:19:181"},{"kind":"number","nodeType":"YulLiteral","src":"13106:3:181","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13078:6:181"},"nodeType":"YulFunctionCall","src":"13078:32:181"},"nodeType":"YulExpressionStatement","src":"13078:32:181"},{"nodeType":"YulVariableDeclaration","src":"13119:60:181","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"13151:6:181"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13163:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13174:3:181","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13159:3:181"},"nodeType":"YulFunctionCall","src":"13159:19:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13133:17:181"},"nodeType":"YulFunctionCall","src":"13133:46:181"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"13123:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13199:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13210:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13195:3:181"},"nodeType":"YulFunctionCall","src":"13195:19:181"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"13220:6:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"13228:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13216:3:181"},"nodeType":"YulFunctionCall","src":"13216:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13188:6:181"},"nodeType":"YulFunctionCall","src":"13188:51:181"},"nodeType":"YulExpressionStatement","src":"13188:51:181"},{"nodeType":"YulAssignment","src":"13248:41:181","value":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"13274:6:181"},{"name":"tail_1","nodeType":"YulIdentifier","src":"13282:6:181"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13256:17:181"},"nodeType":"YulFunctionCall","src":"13256:33:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13248:4:181"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12769:9:181","type":""},{"name":"value5","nodeType":"YulTypedName","src":"12780:6:181","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12788:6:181","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12796:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12804:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12812:6:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12820:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12831:4:181","type":""}],"src":"12563:732:181"},{"body":{"nodeType":"YulBlock","src":"13474:229:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13491:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13502:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13484:6:181"},"nodeType":"YulFunctionCall","src":"13484:21:181"},"nodeType":"YulExpressionStatement","src":"13484:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13525:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13536:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13521:3:181"},"nodeType":"YulFunctionCall","src":"13521:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"13541:2:181","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13514:6:181"},"nodeType":"YulFunctionCall","src":"13514:30:181"},"nodeType":"YulExpressionStatement","src":"13514:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13564:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13575:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13560:3:181"},"nodeType":"YulFunctionCall","src":"13560:18:181"},{"hexValue":"4552433737373a207472616e7366657220616d6f756e74206578636565647320","kind":"string","nodeType":"YulLiteral","src":"13580:34:181","type":"","value":"ERC777: transfer amount exceeds "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13553:6:181"},"nodeType":"YulFunctionCall","src":"13553:62:181"},"nodeType":"YulExpressionStatement","src":"13553:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13635:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13646:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13631:3:181"},"nodeType":"YulFunctionCall","src":"13631:18:181"},{"hexValue":"62616c616e6365","kind":"string","nodeType":"YulLiteral","src":"13651:9:181","type":"","value":"balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13624:6:181"},"nodeType":"YulFunctionCall","src":"13624:37:181"},"nodeType":"YulExpressionStatement","src":"13624:37:181"},{"nodeType":"YulAssignment","src":"13670:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13682:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"13693:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13678:3:181"},"nodeType":"YulFunctionCall","src":"13678:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13670:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13451:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13465:4:181","type":""}],"src":"13300:403:181"},{"body":{"nodeType":"YulBlock","src":"13756:80:181","statements":[{"body":{"nodeType":"YulBlock","src":"13783:22:181","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13785:16:181"},"nodeType":"YulFunctionCall","src":"13785:18:181"},"nodeType":"YulExpressionStatement","src":"13785:18:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13772:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13779:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13775:3:181"},"nodeType":"YulFunctionCall","src":"13775:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13769:2:181"},"nodeType":"YulFunctionCall","src":"13769:13:181"},"nodeType":"YulIf","src":"13766:39:181"},{"nodeType":"YulAssignment","src":"13814:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13825:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"13828:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13821:3:181"},"nodeType":"YulFunctionCall","src":"13821:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13814:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13739:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"13742:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13748:3:181","type":""}],"src":"13708:128:181"},{"body":{"nodeType":"YulBlock","src":"14015:307:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14032:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14043:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14025:6:181"},"nodeType":"YulFunctionCall","src":"14025:21:181"},"nodeType":"YulExpressionStatement","src":"14025:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14066:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14077:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14062:3:181"},"nodeType":"YulFunctionCall","src":"14062:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"14082:2:181","type":"","value":"77"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14055:6:181"},"nodeType":"YulFunctionCall","src":"14055:30:181"},"nodeType":"YulExpressionStatement","src":"14055:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14105:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14116:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14101:3:181"},"nodeType":"YulFunctionCall","src":"14101:18:181"},{"hexValue":"4552433737373a20746f6b656e20726563697069656e7420636f6e7472616374","kind":"string","nodeType":"YulLiteral","src":"14121:34:181","type":"","value":"ERC777: token recipient contract"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14094:6:181"},"nodeType":"YulFunctionCall","src":"14094:62:181"},"nodeType":"YulExpressionStatement","src":"14094:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14176:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14187:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14172:3:181"},"nodeType":"YulFunctionCall","src":"14172:18:181"},{"hexValue":"20686173206e6f20696d706c656d656e74657220666f7220455243373737546f","kind":"string","nodeType":"YulLiteral","src":"14192:34:181","type":"","value":" has no implementer for ERC777To"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14165:6:181"},"nodeType":"YulFunctionCall","src":"14165:62:181"},"nodeType":"YulExpressionStatement","src":"14165:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14247:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14258:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14243:3:181"},"nodeType":"YulFunctionCall","src":"14243:19:181"},{"hexValue":"6b656e73526563697069656e74","kind":"string","nodeType":"YulLiteral","src":"14264:15:181","type":"","value":"kensRecipient"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14236:6:181"},"nodeType":"YulFunctionCall","src":"14236:44:181"},"nodeType":"YulExpressionStatement","src":"14236:44:181"},{"nodeType":"YulAssignment","src":"14289:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14301:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"14312:3:181","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14297:3:181"},"nodeType":"YulFunctionCall","src":"14297:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14289:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13992:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14006:4:181","type":""}],"src":"13841:481:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$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 srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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_bytes(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_addresst_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _1) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(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_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\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 abi_encode_tuple_t_stringliteral_d0e912496dc7a0050c7f3e14272d4929a90a242e3fdaef730410cdf35f965235__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC777: caller is not an operato\")\n mstore(add(headStart, 96), \"r for holder\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4682b297c30e70ba17ae545f9c27f948e3607c0cc7dd469250dfcf8daa94218c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC777: authorizing self as oper\")\n mstore(add(headStart, 96), \"ator\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_67ce503bd3a359eb530c6f3a909afa9e71899e0352d883198e721fd5fceefab5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC777: revoking self as operato\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0e27915827f7e9aa1f9e706fa48897705bd51fdbb8c4e17f0dcc074873455ca7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC777: approve from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f96aab14690ac2986315360e71dcbe877ff7fb69d13c692db6f39f8c2c01f20d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC777: approve to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_43a72b1be6b1964d60860b54d1c331016464b9d17c1d10dbea6a002344132abb__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), \"ERC777: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e354b0408f2a1e89707ec9f6aaa5427ceb97704ace0785924c7421e8f577dc7a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC777: transfer from the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ad1e0a820fe2a50167f341463ad5f6754fad4cf77d809141bc408c516e69c59a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC777: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_37e8d125f24ef45023ef8033e82467f588cec434263b3a6b98bcdb3eca4b768c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC777: burn from the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ecdeb627d2306b8b9bb34685df56bbf05cde6b7bc6e45e0248ca50c1b0bd3ebe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC777: burn amount exceeds bala\")\n mstore(add(headStart, 96), \"nce\")\n tail := add(headStart, 128)\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 if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function abi_encode_tuple_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\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_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\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 validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_address_t_address_t_address_t_uint256_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 192)\n let tail_1 := abi_encode_string(value4, add(headStart, 192))\n mstore(add(headStart, 160), sub(tail_1, headStart))\n tail := abi_encode_string(value5, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_1f1c21f7056055b190ca6c77528b11af9437bed324def87929bb64fac4d57e6b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"ERC777: transfer amount exceeds \")\n mstore(add(headStart, 96), \"balance\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_9ee9d43e266ccfb7408c78038627d2c5b376a4a82e9fcfbfea2a9c63dc07fa80__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 77)\n mstore(add(headStart, 64), \"ERC777: token recipient contract\")\n mstore(add(headStart, 96), \" has no implementer for ERC777To\")\n mstore(add(headStart, 128), \"kensRecipient\")\n tail := add(headStart, 160)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101165760003560e01c8063959b8c3f116100a2578063d95b637111610071578063d95b63711461022b578063dd62ed3e1461023e578063fad8b32a14610277578063fc673c4f1461028a578063fe9d93031461029d57600080fd5b8063959b8c3f146101ea57806395d89b41146101fd5780639bd9bbc614610205578063a9059cbb1461021857600080fd5b806323b872dd116100e957806323b872dd14610183578063313ce56714610196578063556f0dc7146101a557806362ad1b83146101ac57806370a08231146101c157600080fd5b806306e485381461011b57806306fdde0314610139578063095ea7b31461014e57806318160ddd14610171575b600080fd5b6101236102b0565b60405161013091906110bd565b60405180910390f35b610141610312565b6040516101309190611157565b61016161015c366004611182565b61039b565b6040519015158152602001610130565b6001545b604051908152602001610130565b6101616101913660046111ae565b6103b3565b60405160128152602001610130565b6001610175565b6101bf6101ba366004611292565b6103f9565b005b6101756101cf366004611325565b6001600160a01b031660009081526020819052604090205490565b6101bf6101f8366004611325565b61043e565b61014161055c565b6101bf610213366004611342565b61056b565b610161610226366004611182565b61058e565b61016161023936600461139b565b6105c6565b61017561024c36600461139b565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6101bf610285366004611325565b610668565b6101bf6102983660046113d4565b610784565b6101bf6102ab366004611454565b6107bc565b6060600480548060200260200160405190810160405280929190818152602001828054801561030857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102ea575b5050505050905090565b6060600280546103219061149b565b80601f016020809104026020016040519081016040528092919081815260200182805461034d9061149b565b80156103085780601f1061036f57610100808354040283529160200191610308565b820191906000526020600020905b81548152906001019060200180831161037d57509395945050505050565b6000336103a98185856107ea565b5060019392505050565b6000336103c1858285610911565b6103ee8585856040518060200160405280600081525060405180602001604052806000815250600061099d565b506001949350505050565b61040333866105c6565b6104285760405162461bcd60e51b815260040161041f906114d6565b60405180910390fd5b6104378585858585600161099d565b5050505050565b336001600160a01b03821614156104a35760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff16156104f4573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610523565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b6060600380546103219061149b565b6105893384848460405180602001604052806000815250600161099d565b505050565b60006105bd3384846040518060200160405280600081525060405180602001604052806000815250600061099d565b50600192915050565b6000816001600160a01b0316836001600160a01b0316148061063157506001600160a01b03831660009081526005602052604090205460ff16801561063157506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff16155b8061066157506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b0381163314156106cb5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b606482015260840161041f565b6001600160a01b03811660009081526005602052604090205460ff161561071f573360009081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561074b565b3360009081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b61078e33856105c6565b6107aa5760405162461bcd60e51b815260040161041f906114d6565b6107b684848484610a99565b50505050565b6107d733838360405180602001604052806000815250610a99565b5050565b6001600160a01b03163b151590565b6001600160a01b03831661084e5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b0382166108b05760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526008602090815260408083209386168352929052205460001981146107b657818110156109905760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000604482015260640161041f565b6107b684848484036107ea565b6001600160a01b038616610a025760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161041f565b6001600160a01b038516610a645760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b33610a73818888888888610c4d565b610a81818888888888610d83565b610a9081888888888888610ee9565b50505050505050565b6001600160a01b038416610afa5760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b33610b0a81866000878787610c4d565b6001600160a01b03851660009081526020819052604090205484811015610b7f5760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161041f565b6001600160a01b0386166000908152602081905260408120868303905560018054879290610bae908490611538565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bfc9392919061154f565b60405180910390a36040518581526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190611584565b90506001600160a01b03811615610a9057604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610d48908a908a908a908a908a908a906004016115a1565b600060405180830381600087803b158015610d6257600080fd5b505af1158015610d76573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03851660009081526020819052604090205483811015610dfc5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b606482015260840161041f565b6001600160a01b03808716600090815260208190526040808220878503905591871681529081208054869290610e339084906115fb565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e8b9392919061154f565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ed891815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca9060440160206040518083038186803b158015610f6557600080fd5b505afa158015610f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9d9190611584565b90506001600160a01b03811615611019576040516223de2960e01b81526001600160a01b038216906223de2990610fe2908b908b908b908b908b908b906004016115a1565b600060405180830381600087803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050506110b3565b81156110b3576001600160a01b0386163b156110b35760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a40161041f565b5050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156110fe5783516001600160a01b0316835292840192918401916001016110d9565b50909695505050505050565b6000815180845260005b8181101561113057602081850181015186830182015201611114565b81811115611142576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610661602083018461110a565b6001600160a01b038116811461117f57600080fd5b50565b6000806040838503121561119557600080fd5b82356111a08161116a565b946020939093013593505050565b6000806000606084860312156111c357600080fd5b83356111ce8161116a565b925060208401356111de8161116a565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261121657600080fd5b813567ffffffffffffffff80821115611231576112316111ef565b604051601f8301601f19908116603f01168101908282118183101715611259576112596111ef565b8160405283815286602085880101111561127257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156112aa57600080fd5b85356112b58161116a565b945060208601356112c58161116a565b935060408601359250606086013567ffffffffffffffff808211156112e957600080fd5b6112f589838a01611205565b9350608088013591508082111561130b57600080fd5b5061131888828901611205565b9150509295509295909350565b60006020828403121561133757600080fd5b81356106618161116a565b60008060006060848603121561135757600080fd5b83356113628161116a565b925060208401359150604084013567ffffffffffffffff81111561138557600080fd5b61139186828701611205565b9150509250925092565b600080604083850312156113ae57600080fd5b82356113b98161116a565b915060208301356113c98161116a565b809150509250929050565b600080600080608085870312156113ea57600080fd5b84356113f58161116a565b935060208501359250604085013567ffffffffffffffff8082111561141957600080fd5b61142588838901611205565b9350606087013591508082111561143b57600080fd5b5061144887828801611205565b91505092959194509250565b6000806040838503121561146757600080fd5b82359150602083013567ffffffffffffffff81111561148557600080fd5b61149185828601611205565b9150509250929050565b600181811c908216806114af57607f821691505b602082108114156114d057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008282101561154a5761154a611522565b500390565b838152606060208201526000611568606083018561110a565b828103604084015261157a818561110a565b9695505050505050565b60006020828403121561159657600080fd5b81516106618161116a565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190526000906115dc9083018561110a565b82810360a08401526115ee818561110a565b9998505050505050505050565b6000821982111561160e5761160e611522565b50019056fea2646970667358221220e371149c7888f2545979ca80899ac6ad02f9e8a4ff9dbbf318d65fffb55fff7664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x959B8C3F GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xD95B6371 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD95B6371 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0xFAD8B32A EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0xFC673C4F EQ PUSH2 0x28A JUMPI DUP1 PUSH4 0xFE9D9303 EQ PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x959B8C3F EQ PUSH2 0x1EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x9BD9BBC6 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x62AD1B83 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6E48538 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x10BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x1157 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x15C CALLDATASIZE PUSH1 0x4 PUSH2 0x1182 JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x11AE JUMP JUMPDEST PUSH2 0x3B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x130 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x1292 JUMP JUMPDEST PUSH2 0x3F9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x175 PUSH2 0x1CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x43E JUMP JUMPDEST PUSH2 0x141 PUSH2 0x55C JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x213 CALLDATASIZE PUSH1 0x4 PUSH2 0x1342 JUMP JUMPDEST PUSH2 0x56B JUMP JUMPDEST PUSH2 0x161 PUSH2 0x226 CALLDATASIZE PUSH1 0x4 PUSH2 0x1182 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x161 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x139B JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x175 PUSH2 0x24C CALLDATASIZE PUSH1 0x4 PUSH2 0x139B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x1325 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x298 CALLDATASIZE PUSH1 0x4 PUSH2 0x13D4 JUMP JUMPDEST PUSH2 0x784 JUMP JUMPDEST PUSH2 0x1BF PUSH2 0x2AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1454 JUMP JUMPDEST PUSH2 0x7BC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x308 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x149B 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 0x34D SWAP1 PUSH2 0x149B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 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 0x37D JUMPI POP SWAP4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3A9 DUP2 DUP6 DUP6 PUSH2 0x7EA JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x3C1 DUP6 DUP3 DUP6 PUSH2 0x911 JUMP JUMPDEST PUSH2 0x3EE DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x99D JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x403 CALLER DUP7 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x428 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x437 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x1 PUSH2 0x99D JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617574686F72697A696E672073656C66206173206F706572 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x30BA37B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x4F4 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x523 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xF4CAEB2D6CA8932A215A353D0703C326EC2D81FC68170F320EB2AB49E9DF61F9 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x321 SWAP1 PUSH2 0x149B JUMP JUMPDEST PUSH2 0x589 CALLER DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x1 PUSH2 0x99D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BD CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 PUSH2 0x99D JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x631 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST DUP1 PUSH2 0x661 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP8 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ ISZERO PUSH2 0x6CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207265766F6B696E672073656C66206173206F70657261746F PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x71F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x74B JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x50546E66E5F44D728365DC3908C63BC5CFEEAB470722C1677E3073A6AC294AA1 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH2 0x78E CALLER DUP6 PUSH2 0x5C6 JUMP JUMPDEST PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41F SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA99 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x7D7 CALLER DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xA99 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x84E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F76652066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20617070726F766520746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x7B6 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x990 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 0x4552433737373A20696E73756666696369656E7420616C6C6F77616E63650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x41F JUMP JUMPDEST PUSH2 0x7B6 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0xA02 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E736665722066726F6D20746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xA73 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0xA81 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD83 JUMP JUMPDEST PUSH2 0xA90 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0xEE9 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E2066726F6D20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST CALLER PUSH2 0xB0A DUP2 DUP7 PUSH1 0x0 DUP8 DUP8 DUP8 PUSH2 0xC4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP5 DUP2 LT ISZERO PUSH2 0xB7F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A206275726E20616D6F756E7420657863656564732062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x6E6365 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP7 DUP4 SUB SWAP1 SSTORE PUSH1 0x1 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0xBAE SWAP1 DUP5 SWAP1 PUSH2 0x1538 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xA78A9BE3A7B862D26933AD85FB11D80EF66B8F972D7CBBA06621D583943A4098 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xBFC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x154F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x40 MLOAD DUP6 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0x29DDB589B1FB5FC7CF394961C1ADF5F8C6454761ADF795E67FE149F658ABE895 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD01 SWAP2 SWAP1 PUSH2 0x1584 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA90 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AD5CBC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x75AB9782 SWAP1 PUSH2 0xD48 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD76 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP4 DUP2 LT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A207472616E7366657220616D6F756E74206578636565647320 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x62616C616E6365 PUSH1 0xC8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x41F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP8 DUP6 SUB SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0xE33 SWAP1 DUP5 SWAP1 PUSH2 0x15FB JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6B541DDAA720DB2B10A4D0CDAC39B8D360425FC073085FAC19BC82614677987 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xE8B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x154F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP7 PUSH1 0x40 MLOAD PUSH2 0xED8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x555DDC65 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xB281FC8C12954D22544DB45DE3159A39272895B169A852B314F9CC762E44C53B PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH20 0x1820A4B7618BDE71DCE8CDC73AAB6C95905FAD24 SWAP1 PUSH4 0xAABBB8CA SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF9D SWAP2 SWAP1 PUSH2 0x1584 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x1019 JUMPI PUSH1 0x40 MLOAD PUSH3 0x23DE29 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH3 0x23DE29 SWAP1 PUSH2 0xFE2 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1010 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10B3 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10B3 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO PUSH2 0x10B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433737373A20746F6B656E20726563697069656E7420636F6E7472616374 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x20686173206E6F20696D706C656D656E74657220666F7220455243373737546F PUSH1 0x64 DUP3 ADD MSTORE PUSH13 0x1AD95B9CD49958DA5C1A595B9D PUSH1 0x9A SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x41F JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10FE JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10D9 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1130 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1114 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1142 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x661 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x110A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x117F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x11A0 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11CE DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x11DE DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 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 0x1216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1231 JUMPI PUSH2 0x1231 PUSH2 0x11EF 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 0x1259 JUMPI PUSH2 0x1259 PUSH2 0x11EF JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1272 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 0x12AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x12B5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x12C5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x12E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12F5 DUP10 DUP4 DUP11 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x130B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1318 DUP9 DUP3 DUP10 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1337 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x661 DUP2 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1362 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1391 DUP7 DUP3 DUP8 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x13B9 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x13C9 DUP2 PUSH2 0x116A JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x13F5 DUP2 PUSH2 0x116A JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1425 DUP9 DUP4 DUP10 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x143B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1448 DUP8 DUP3 DUP9 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1491 DUP6 DUP3 DUP7 ADD PUSH2 0x1205 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x14AF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x14D0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433737373A2063616C6C6572206973206E6F7420616E206F70657261746F PUSH1 0x40 DUP3 ADD MSTORE PUSH12 0x39103337B9103437B63232B9 PUSH1 0xA1 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x154A JUMPI PUSH2 0x154A PUSH2 0x1522 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1568 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x110A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x157A DUP2 DUP6 PUSH2 0x110A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x661 DUP2 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP3 MSTORE DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xC0 PUSH1 0x80 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x15DC SWAP1 DUP4 ADD DUP6 PUSH2 0x110A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15EE DUP2 DUP6 PUSH2 0x110A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x160E JUMPI PUSH2 0x160E PUSH2 0x1522 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE3 PUSH18 0x149C7888F2545979CA80899AC6AD02F9E8A4 SELFDESTRUCT SWAP14 0xBB RETURN XOR 0xD6 0x5F SELFDESTRUCT 0xB5 0x5F SELFDESTRUCT PUSH23 0x64736F6C63430008090033000000000000000000000000 ","sourceMap":"353:452:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6528:130:128;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2982:98;;;:::i;:::-;;;;;;;:::i;8286:197::-;;;;;;:::i;:::-;;:::i;:::-;;;2000:14:181;;1993:22;1975:41;;1963:2;1948:18;8286:197:128;1835:187:181;3775:123:128;3879:12;;3775:123;;;2173:25:181;;;2161:2;2146:18;3775:123:128;2027:177:181;8965:317:128;;;;;;:::i;:::-;;:::i;3422:82::-;;;3495:2;2812:36:181;;2800:2;2785:18;3422:82:128;2670:184:181;3619:95:128;3706:1;3619:95;;6777:366;;;;;;:::i;:::-;;:::i;:::-;;3998:150;;;;;;:::i;:::-;-1:-1:-1;;;;;4119:22:128;4093:7;4119:22;;;;;;;;;;;;3998:150;5583:412;;;;;;:::i;:::-;;:::i;3136:102::-;;;:::i;4278:193::-;;;;;;:::i;:::-;;:::i;4702:183::-;;;;;;:::i;:::-;;:::i;5205:311::-;;;;;;:::i;:::-;;:::i;7828:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7944:19:128;;;7918:7;7944:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7828:151;6059:403;;;;;;:::i;:::-;;:::i;7264:325::-;;;;;;:::i;:::-;;:::i;5015:127::-;;;;;;:::i;:::-;;:::i;6528:130::-;6594:16;6629:22;6622:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6622:29:128;;;;;;;;;;;;;;;;;;;;;;;6528:130;:::o;2982:98::-;3036:13;3068:5;3061:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3061:12:128;;2982:98;-1:-1:-1;;;;;2982:98:128:o;8286:197::-;8368:4;719:10:138;8423:32:128;719:10:138;8440:7:128;8449:5;8423:8;:32::i;:::-;-1:-1:-1;8472:4:128;;8286:197;-1:-1:-1;;;8286:197:128:o;8965:317::-;9101:4;719:10:138;9157:40:128;9173:6;719:10:138;9190:6:128;9157:15;:40::i;:::-;9207:47;9213:6;9221:9;9232:6;9207:47;;;;;;;;;;;;;;;;;;;;;;;;9248:5;9207;:47::i;:::-;-1:-1:-1;9271:4:128;;8965:317;-1:-1:-1;;;;8965:317:128:o;6777:366::-;6984:35;719:10:138;7012:6:128;6984:13;:35::i;:::-;6976:92;;;;-1:-1:-1;;;6976:92:128;;;;;;;:::i;:::-;;;;;;;;;7078:58;7084:6;7092:9;7103:6;7111:4;7117:12;7131:4;7078:5;:58::i;:::-;6777:366;;;;;:::o;5583:412::-;719:10:138;-1:-1:-1;;;;;5670:24:128;;;;5662:73;;;;-1:-1:-1;;;5662:73:128;;7918:2:181;5662:73:128;;;7900:21:181;7957:2;7937:18;;;7930:30;7996:34;7976:18;;;7969:62;-1:-1:-1;;;8047:18:181;;;8040:34;8091:19;;5662:73:128;7716:400:181;5662:73:128;-1:-1:-1;;;;;5750:27:128;;;;;;:17;:27;;;;;;;;5746:185;;;719:10:138;5800:38:128;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;5800:48:128;;;;;;;;;5793:55;;-1:-1:-1;;5793:55:128;;;5746:185;;;719:10:138;5879:24:128;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;5879:34:128;;;;;;;;;:41;;-1:-1:-1;;5879:41:128;5916:4;5879:41;;;5746:185;5946:42;;719:10:138;;-1:-1:-1;;;;;5946:42:128;;;;;;;;5583:412;:::o;3136:102::-;3192:13;3224:7;3217:14;;;;;:::i;4278:193::-;4410:54;719:10:138;4430:9:128;4441:6;4449:4;4410:54;;;;;;;;;;;;4459:4;4410:5;:54::i;:::-;4278:193;;;:::o;4702:183::-;4788:4;4804:53;719:10:138;4824:9:128;4835:6;4804:53;;;;;;;;;;;;;;;;;;;;;;;;4851:5;4804;:53::i;:::-;-1:-1:-1;4874:4:128;4702:183;;;;:::o;5205:311::-;5305:4;5352:11;-1:-1:-1;;;;;5340:23:128;:8;-1:-1:-1;;;;;5340:23:128;;:120;;;-1:-1:-1;;;;;;5380:27:128;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;5412:37:128;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;5411:48;5380:79;5340:169;;;-1:-1:-1;;;;;;5476:23:128;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;5340:169;5321:188;5205:311;-1:-1:-1;;;5205:311:128:o;6059:403::-;-1:-1:-1;;;;;6143:24:128;;719:10:138;6143:24:128;;6135:70;;;;-1:-1:-1;;;6135:70:128;;8323:2:181;6135:70:128;;;8305:21:181;8362:2;8342:18;;;8335:30;8401:34;8381:18;;;8374:62;-1:-1:-1;;;8452:18:181;;;8445:31;8493:19;;6135:70:128;8121:397:181;6135:70:128;-1:-1:-1;;;;;6220:27:128;;;;;;:17;:27;;;;;;;;6216:185;;;719:10:138;6263:38:128;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;6263:48:128;;;;;;;;;:55;;-1:-1:-1;;6263:55:128;6314:4;6263:55;;;6216:185;;;719:10:138;6356:24:128;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;6356:34:128;;;;;;;;;6349:41;;-1:-1:-1;;6349:41:128;;;6216:185;6416:39;;719:10:138;;-1:-1:-1;;;;;6416:39:128;;;;;;;;6059:403;:::o;7264:325::-;7445:36;719:10:138;7473:7:128;7445:13;:36::i;:::-;7437:93;;;;-1:-1:-1;;;7437:93:128;;;;;;;:::i;:::-;7540:42;7546:7;7555:6;7563:4;7569:12;7540:5;:42::i;:::-;7264:325;;;;:::o;5015:127::-;5098:37;719:10:138;5118:6:128;5126:4;5098:37;;;;;;;;;;;;:5;:37::i;:::-;5015:127;;:::o;1175:320:134:-;-1:-1:-1;;;;;1465:19:134;;:23;;;1175:320::o;14472:373:128:-;-1:-1:-1;;;;;14603:20:128;;14595:70;;;;-1:-1:-1;;;14595:70:128;;8725:2:181;14595:70:128;;;8707:21:181;8764:2;8744:18;;;8737:30;8803:34;8783:18;;;8776:62;-1:-1:-1;;;8854:18:181;;;8847:35;8899:19;;14595:70:128;8523:401:181;14595:70:128;-1:-1:-1;;;;;14683:21:128;;14675:69;;;;-1:-1:-1;;;14675:69:128;;9131:2:181;14675:69:128;;;9113:21:181;9170:2;9150:18;;;9143:30;9209:34;9189:18;;;9182:62;-1:-1:-1;;;9260:18:181;;;9253:33;9303:19;;14675:69:128;8929:399:181;14675:69:128;-1:-1:-1;;;;;14755:19:128;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;14806:32;;2173:25:181;;;14806:32:128;;2146:18:181;14806:32:128;;;;;;;14472:373;;;:::o;17443:442::-;-1:-1:-1;;;;;7944:19:128;;;17573:24;7944:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;-1:-1:-1;;17639:37:128;;17635:244;;17720:6;17700:16;:26;;17692:69;;;;-1:-1:-1;;;17692:69:128;;9535:2:181;17692:69:128;;;9517:21:181;9574:2;9554:18;;;9547:30;9613:32;9593:18;;;9586:60;9663:18;;17692:69:128;9333:354:181;17692:69:128;17803:51;17812:5;17819:7;17847:6;17828:16;:25;17803:8;:51::i;11943:658::-;-1:-1:-1;;;;;12165:18:128;;12157:69;;;;-1:-1:-1;;;12157:69:128;;9894:2:181;12157:69:128;;;9876:21:181;9933:2;9913:18;;;9906:30;9972:34;9952:18;;;9945:62;-1:-1:-1;;;10023:18:181;;;10016:36;10069:19;;12157:69:128;9692:402:181;12157:69:128;-1:-1:-1;;;;;12244:16:128;;12236:65;;;;-1:-1:-1;;;12236:65:128;;10301:2:181;12236:65:128;;;10283:21:181;10340:2;10320:18;;;10313:30;10379:34;10359:18;;;10352:62;-1:-1:-1;;;10430:18:181;;;10423:34;10474:19;;12236:65:128;10099:400:181;12236:65:128;719:10:138;12354:69:128;719:10:138;12382:4:128;12388:2;12392:6;12400:8;12410:12;12354:17;:69::i;:::-;12434:57;12440:8;12450:4;12456:2;12460:6;12468:8;12478:12;12434:5;:57::i;:::-;12502:92;12522:8;12532:4;12538:2;12542:6;12550:8;12560:12;12574:19;12502;:92::i;:::-;12147:454;11943:658;;;;;;:::o;12906:811::-;-1:-1:-1;;;;;13070:18:128;;13062:65;;;;-1:-1:-1;;;13062:65:128;;10706:2:181;13062:65:128;;;10688:21:181;10745:2;10725:18;;;10718:30;10784:34;10764:18;;;10757:62;-1:-1:-1;;;10835:18:181;;;10828:32;10877:19;;13062:65:128;10504:398:181;13062:65:128;719:10:138;13180:73:128;719:10:138;13208:4:128;13138:16;13226:6;13234:4;13240:12;13180:17;:73::i;:::-;-1:-1:-1;;;;;13387:15:128;;13365:19;13387:15;;;;;;;;;;;13420:21;;;;13412:69;;;;-1:-1:-1;;;13412:69:128;;11109:2:181;13412:69:128;;;11091:21:181;11148:2;11128:18;;;11121:30;11187:34;11167:18;;;11160:62;-1:-1:-1;;;11238:18:181;;;11231:33;11281:19;;13412:69:128;10907:399:181;13412:69:128;-1:-1:-1;;;;;13515:15:128;;:9;:15;;;;;;;;;;13533:20;;;13515:38;;13573:12;:22;;13547:6;;13515:9;13573:22;;13547:6;;13573:22;:::i;:::-;;;;;;;;13628:4;-1:-1:-1;;;;;13611:50:128;13618:8;-1:-1:-1;;;;;13611:50:128;;13634:6;13642:4;13648:12;13611:50;;;;;;;;:::i;:::-;;;;;;;;13676:34;;2173:25:181;;;13699:1:128;;-1:-1:-1;;;;;13676:34:128;;;;;2161:2:181;2146:18;13676:34:128;;;;;;;13052:665;;12906:811;;;;:::o;15318:472::-;15549:78;;-1:-1:-1;;;15549:78:128;;-1:-1:-1;;;;;12220:32:181;;15549:78:128;;;12202:51:181;1491:31:128;12269:18:181;;;12262:34;15527:19:128;;1242:42;;15549:41;;12175:18:181;;15549:78:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15527:100;-1:-1:-1;;;;;;15641:25:128;;;15637:147;;15682:91;;-1:-1:-1;;;15682:91:128;;-1:-1:-1;;;;;15682:39:128;;;;;:91;;15722:8;;15732:4;;15738:2;;15742:6;;15750:8;;15760:12;;15682:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15517:273;15318:472;;;;;;:::o;13723:611::-;-1:-1:-1;;;;;14001:15:128;;13979:19;14001:15;;;;;;;;;;;14034:21;;;;14026:73;;;;-1:-1:-1;;;14026:73:128;;13502:2:181;14026:73:128;;;13484:21:181;13541:2;13521:18;;;13514:30;13580:34;13560:18;;;13553:62;-1:-1:-1;;;13631:18:181;;;13624:37;13678:19;;14026:73:128;13300:403:181;14026:73:128;-1:-1:-1;;;;;14133:15:128;;;:9;:15;;;;;;;;;;;14151:20;;;14133:38;;14191:13;;;;;;;;:23;;14165:6;;14133:9;14191:23;;14165:6;;14191:23;:::i;:::-;;;;;;;;14251:2;-1:-1:-1;;;;;14230:56:128;14245:4;-1:-1:-1;;;;;14230:56:128;14235:8;-1:-1:-1;;;;;14230:56:128;;14255:6;14263:8;14273:12;14230:56;;;;;;;;:::i;:::-;;;;;;;;14316:2;-1:-1:-1;;;;;14301:26:128;14310:4;-1:-1:-1;;;;;14301:26:128;;14320:6;14301:26;;;;2173:25:181;;2161:2;2146:18;;2027:177;14301:26:128;;;;;;;;13910:424;13723:611;;;;;;:::o;16479:676::-;16746:79;;-1:-1:-1;;;16746:79:128;;-1:-1:-1;;;;;12220:32:181;;16746:79:128;;;12202:51:181;1588:34:128;12269:18:181;;;12262:34;16724:19:128;;1242:42;;16746:41;;12175:18:181;;16746:79:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16724:101;-1:-1:-1;;;;;;16839:25:128;;;16835:314;;16880:96;;-1:-1:-1;;;16880:96:128;;-1:-1:-1;;;;;16880:44:128;;;;;:96;;16925:8;;16935:4;;16941:2;;16945:6;;16953:8;;16963:12;;16880:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16835:314;;;16997:19;16993:156;;;-1:-1:-1;;;;;17041:13:128;;1465:19:134;:23;17032:106:128;;;;-1:-1:-1;;;17032:106:128;;14043:2:181;17032:106:128;;;14025:21:181;14082:2;14062:18;;;14055:30;14121:34;14101:18;;;14094:62;14192:34;14172:18;;;14165:62;-1:-1:-1;;;14243:19:181;;;14236:44;14297:19;;17032:106:128;13841:481:181;17032:106:128;16714:441;16479:676;;;;;;;:::o;14:658:181:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:181;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:181;;14:658;-1:-1:-1;;;;;;14:658:181:o;677:472::-;719:3;757:5;751:12;784:6;779:3;772:19;809:1;819:162;833:6;830:1;827:13;819:162;;;895:4;951:13;;;947:22;;941:29;923:11;;;919:20;;912:59;848:12;819:162;;;999:6;996:1;993:13;990:87;;;1065:1;1058:4;1049:6;1044:3;1040:16;1036:27;1029:38;990:87;-1:-1:-1;1131:2:181;1110:15;-1:-1:-1;;1106:29:181;1097:39;;;;1138:4;1093:50;;677:472;-1:-1:-1;;677:472:181:o;1154:220::-;1303:2;1292:9;1285:21;1266:4;1323:45;1364:2;1353:9;1349:18;1341:6;1323:45;:::i;1379:131::-;-1:-1:-1;;;;;1454:31:181;;1444:42;;1434:70;;1500:1;1497;1490:12;1434:70;1379:131;:::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:181:o;2209:456::-;2286:6;2294;2302;2355:2;2343:9;2334:7;2330:23;2326:32;2323:52;;;2371:1;2368;2361:12;2323:52;2410:9;2397:23;2429:31;2454:5;2429:31;:::i;:::-;2479:5;-1:-1:-1;2536:2:181;2521:18;;2508:32;2549:33;2508:32;2549:33;:::i;:::-;2209:456;;2601:7;;-1:-1:-1;;;2655:2:181;2640:18;;;;2627:32;;2209:456::o;2859:127::-;2920:10;2915:3;2911:20;2908:1;2901:31;2951:4;2948:1;2941:15;2975:4;2972:1;2965:15;2991:718;3033:5;3086:3;3079:4;3071:6;3067:17;3063:27;3053:55;;3104:1;3101;3094:12;3053:55;3140:6;3127:20;3166:18;3203:2;3199;3196:10;3193:36;;;3209:18;;:::i;:::-;3284:2;3278:9;3252:2;3338:13;;-1:-1:-1;;3334:22:181;;;3358:2;3330:31;3326:40;3314:53;;;3382:18;;;3402:22;;;3379:46;3376:72;;;3428:18;;:::i;:::-;3468:10;3464:2;3457:22;3503:2;3495:6;3488:18;3549:3;3542:4;3537:2;3529:6;3525:15;3521:26;3518:35;3515:55;;;3566:1;3563;3556:12;3515:55;3630:2;3623:4;3615:6;3611:17;3604:4;3596:6;3592:17;3579:54;3677:1;3670:4;3665:2;3657:6;3653:15;3649:26;3642:37;3697:6;3688:15;;;;;;2991:718;;;;:::o;3714:885::-;3827:6;3835;3843;3851;3859;3912:3;3900:9;3891:7;3887:23;3883:33;3880:53;;;3929:1;3926;3919:12;3880:53;3968:9;3955:23;3987:31;4012:5;3987:31;:::i;:::-;4037:5;-1:-1:-1;4094:2:181;4079:18;;4066:32;4107:33;4066:32;4107:33;:::i;:::-;4159:7;-1:-1:-1;4213:2:181;4198:18;;4185:32;;-1:-1:-1;4268:2:181;4253:18;;4240:32;4291:18;4321:14;;;4318:34;;;4348:1;4345;4338:12;4318:34;4371:49;4412:7;4403:6;4392:9;4388:22;4371:49;:::i;:::-;4361:59;;4473:3;4462:9;4458:19;4445:33;4429:49;;4503:2;4493:8;4490:16;4487:36;;;4519:1;4516;4509:12;4487:36;;4542:51;4585:7;4574:8;4563:9;4559:24;4542:51;:::i;:::-;4532:61;;;3714:885;;;;;;;;:::o;4604:247::-;4663:6;4716:2;4704:9;4695:7;4691:23;4687:32;4684:52;;;4732:1;4729;4722:12;4684:52;4771:9;4758:23;4790:31;4815:5;4790:31;:::i;4856:523::-;4942:6;4950;4958;5011:2;4999:9;4990:7;4986:23;4982:32;4979:52;;;5027:1;5024;5017:12;4979:52;5066:9;5053:23;5085:31;5110:5;5085:31;:::i;:::-;5135:5;-1:-1:-1;5187:2:181;5172:18;;5159:32;;-1:-1:-1;5242:2:181;5227:18;;5214:32;5269:18;5258:30;;5255:50;;;5301:1;5298;5291:12;5255:50;5324:49;5365:7;5356:6;5345:9;5341:22;5324:49;:::i;:::-;5314:59;;;4856:523;;;;;:::o;5384:388::-;5452:6;5460;5513:2;5501:9;5492:7;5488:23;5484:32;5481:52;;;5529:1;5526;5519:12;5481:52;5568:9;5555:23;5587:31;5612:5;5587:31;:::i;:::-;5637:5;-1:-1:-1;5694:2:181;5679:18;;5666:32;5707:33;5666:32;5707:33;:::i;:::-;5759:7;5749:17;;;5384:388;;;;;:::o;5777:743::-;5881:6;5889;5897;5905;5958:3;5946:9;5937:7;5933:23;5929:33;5926:53;;;5975:1;5972;5965:12;5926:53;6014:9;6001:23;6033:31;6058:5;6033:31;:::i;:::-;6083:5;-1:-1:-1;6135:2:181;6120:18;;6107:32;;-1:-1:-1;6190:2:181;6175:18;;6162:32;6213:18;6243:14;;;6240:34;;;6270:1;6267;6260:12;6240:34;6293:49;6334:7;6325:6;6314:9;6310:22;6293:49;:::i;:::-;6283:59;;6395:2;6384:9;6380:18;6367:32;6351:48;;6424:2;6414:8;6411:16;6408:36;;;6440:1;6437;6430:12;6408:36;;6463:51;6506:7;6495:8;6484:9;6480:24;6463:51;:::i;:::-;6453:61;;;5777:743;;;;;;;:::o;6525:388::-;6602:6;6610;6663:2;6651:9;6642:7;6638:23;6634:32;6631:52;;;6679:1;6676;6669:12;6631:52;6715:9;6702:23;6692:33;;6776:2;6765:9;6761:18;6748:32;6803:18;6795:6;6792:30;6789:50;;;6835:1;6832;6825:12;6789:50;6858:49;6899:7;6890:6;6879:9;6875:22;6858:49;:::i;:::-;6848:59;;;6525:388;;;;;:::o;6918:380::-;6997:1;6993:12;;;;7040;;;7061:61;;7115:4;7107:6;7103:17;7093:27;;7061:61;7168:2;7160:6;7157:14;7137:18;7134:38;7131:161;;;7214:10;7209:3;7205:20;7202:1;7195:31;7249:4;7246:1;7239:15;7277:4;7274:1;7267:15;7131:161;;6918:380;;;:::o;7303:408::-;7505:2;7487:21;;;7544:2;7524:18;;;7517:30;7583:34;7578:2;7563:18;;7556:62;-1:-1:-1;;;7649:2:181;7634:18;;7627:42;7701:3;7686:19;;7303:408::o;11311:127::-;11372:10;11367:3;11363:20;11360:1;11353:31;11403:4;11400:1;11393:15;11427:4;11424:1;11417:15;11443:125;11483:4;11511:1;11508;11505:8;11502:34;;;11516:18;;:::i;:::-;-1:-1:-1;11553:9:181;;11443:125::o;11573:450::-;11794:6;11783:9;11776:25;11837:2;11832;11821:9;11817:18;11810:30;11757:4;11863:45;11904:2;11893:9;11889:18;11881:6;11863:45;:::i;:::-;11956:9;11948:6;11944:22;11939:2;11928:9;11924:18;11917:50;11984:33;12010:6;12002;11984:33;:::i;:::-;11976:41;11573:450;-1:-1:-1;;;;;;11573:450:181:o;12307:251::-;12377:6;12430:2;12418:9;12409:7;12405:23;12401:32;12398:52;;;12446:1;12443;12436:12;12398:52;12478:9;12472:16;12497:31;12522:5;12497:31;:::i;12563:732::-;-1:-1:-1;;;;;12906:15:181;;;12888:34;;12958:15;;;12953:2;12938:18;;12931:43;13010:15;;13005:2;12990:18;;12983:43;13057:2;13042:18;;13035:34;;;13106:3;13100;13085:19;;13078:32;;;12831:4;;13133:46;;13159:19;;13151:6;13133:46;:::i;:::-;13228:9;13220:6;13216:22;13210:3;13199:9;13195:19;13188:51;13256:33;13282:6;13274;13256:33;:::i;:::-;13248:41;12563:732;-1:-1:-1;;;;;;;;;12563:732:181:o;13708:128::-;13748:3;13779:1;13775:6;13772:1;13769:13;13766:39;;;13785:18;;:::i;:::-;-1:-1:-1;13821:9:181;;13708:128::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","authorizeOperator(address)":"959b8c3f","balanceOf(address)":"70a08231","burn(uint256,bytes)":"fe9d9303","decimals()":"313ce567","defaultOperators()":"06e48538","granularity()":"556f0dc7","isOperatorFor(address,address)":"d95b6371","name()":"06fdde03","operatorBurn(address,uint256,bytes,bytes)":"fc673c4f","operatorSend(address,address,uint256,bytes,bytes)":"62ad1b83","revokeOperator(address)":"fad8b32a","send(address,uint256,bytes)":"9bd9bbc6","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultOperators\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"AuthorizedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Burned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"RevokedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Sent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"authorizeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"granularity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"isOperatorFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC777} token, including: - Preminted initial supply - No access control mechanism (for minting/pausing) and hence no governance _Available since v3.4._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}. Note that operator and allowance concepts are orthogonal: operators may not have allowance, and accounts with allowance may not be operators themselves.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Note that accounts cannot have allowance issued by their operators.\"},\"authorizeOperator(address)\":{\"details\":\"See {IERC777-authorizeOperator}.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by an account (`tokenHolder`).\"},\"burn(uint256,bytes)\":{\"details\":\"See {IERC777-burn}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"constructor\":{\"details\":\"Mints `initialSupply` amount of token and transfers them to `owner`. See {ERC777-constructor}.\"},\"decimals()\":{\"details\":\"See {ERC20-decimals}. Always returns 18, as per the [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility).\"},\"defaultOperators()\":{\"details\":\"See {IERC777-defaultOperators}.\"},\"granularity()\":{\"details\":\"See {IERC777-granularity}. This implementation always returns `1`.\"},\"isOperatorFor(address,address)\":{\"details\":\"See {IERC777-isOperatorFor}.\"},\"name()\":{\"details\":\"See {IERC777-name}.\"},\"operatorBurn(address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorBurn}. Emits {Burned} and {IERC20-Transfer} events.\"},\"operatorSend(address,address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorSend}. Emits {Sent} and {IERC20-Transfer} events.\"},\"revokeOperator(address)\":{\"details\":\"See {IERC777-revokeOperator}.\"},\"send(address,uint256,bytes)\":{\"details\":\"See {IERC777-send}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"symbol()\":{\"details\":\"See {IERC777-symbol}.\"},\"totalSupply()\":{\"details\":\"See {IERC777-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} interface if it is a contract. Also emits a {Sent} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Note that operator and allowance concepts are orthogonal: operators cannot call `transferFrom` (unless they have allowance), and accounts with allowance cannot call `operatorSend` (unless they are operators). Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol\":\"ERC777PresetFixedSupply\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol\":{\"keccak256\":\"0xd072bae157dbfae22652801c8811296d7b3311d0432407fbd4d2e961eac63f0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607b2aabf33cfa043ae1b6f0c7dca80718d440e6d980c6afac734851c69ede75\",\"dweb:/ipfs/QmPGzMcypjgArPY4PUKbgJcVh5m9aZKos6bxbTwzZHyDVn\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0x385a7061f1436b079d44c140dee9387d5313e94874ff9ee877dc0085c981ac3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c3fe22bb0d9527356e11f267f9187134de4d4ed1ff77468b4d73e3238697b96\",\"dweb:/ipfs/Qmc8caJctgxbzXEpxRogQMR2bnBk5U67hA7kKbUEG2PUXV\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol\":{\"keccak256\":\"0xe214157d6fb4506165d7ede39cf8fe60e58beff6a8fc3b06911e464bf6166307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb2f38009817584f2390950b2bf43249ad504a593e5788e6e716f571863c279\",\"dweb:/ipfs/QmRypcU6KH5iCeoyYErFTpodXtmAGTpXAJiwbVRKAEXpH5\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0xd750324b0fc76aa4c1b0aadf7cab03b3d1cc4d5744348c18ba2b99dbdbe1758d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d53cbf8e2e469a6422fb61d8636af3ec39d8e10e7f4d99d625bdd36d4b8ddf34\",\"dweb:/ipfs/QmNhvk3jmfgquVki2V7gNmTWTMeNwEPCnetybeBntQtsyJ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/token/common/ERC2981.sol":{"ERC2981":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"royaltyInfo(uint256,uint256)":"2a55205a","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information. Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first. Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the fee is specified in basis points by default. IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to voluntarily pay royalties together with sales, but note that this standard is not yet widely supported. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"details\":\"Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of exchange. The royalty amount is denominated and should be paid in that same unit of exchange.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/token/common/ERC2981.sol\":\"ERC2981\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0xa812eed728198acd2c30d06950a5bea8d68436e4f694dd892273266ec2f79f5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5522afc5c222c810d9ad67c45f37cb7169452fcf76692cad10ac8153c068daa\",\"dweb:/ipfs/QmX4XgnDp7pyvojQ6g5tacrUMCf7TED2qC2vERH9Xh9feZ\"]},\"contracts/@openzeppelin/contracts/token/common/ERC2981.sol\":{\"keccak256\":\"0x9bc4d7eb03c4e87fd5122e03cdff5f60fa360d76925980ad022b2c6fac9876f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c6d7cfaac6b54599068126b75474c86ccbbaf386c3581abf82d9cda21b35c81\",\"dweb:/ipfs/QmPZteoCvkiUgv4TZxv2wiEKR5KqM83UCohHnSGw1RytpM\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Address.sol":{"Address":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220eceec37186e1bfc732e2eb6af8bc80b38d1ee33a9accc76626ac62250c0d838f64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC 0xEE 0xC3 PUSH18 0x86E1BFC732E2EB6AF8BC80B38D1EE33A9ACC 0xC7 PUSH7 0x26AC62250C0D83 DUP16 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"194:8964:134:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:8964:134;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220eceec37186e1bfc732e2eb6af8bc80b38d1ee33a9accc76626ac62250c0d838f64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC 0xEE 0xC3 PUSH18 0x86E1BFC732E2EB6AF8BC80B38D1EE33A9ACC 0xC7 PUSH7 0x26AC62250C0D83 DUP16 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"194:8964:134:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Arrays.sol":{"Arrays":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ad9a0d8667e174de917201336e070cf7f3bd64f0568e1cc0a7be7db4683d9dc364736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD SWAP11 0xD DUP7 PUSH8 0xE174DE917201336E SMOD 0xC 0xF7 RETURN 0xBD PUSH5 0xF0568E1CC0 0xA7 0xBE PUSH30 0xB4683D9DC364736F6C634300080900330000000000000000000000000000 ","sourceMap":"244:3011:135:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;244:3011:135;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ad9a0d8667e174de917201336e070cf7f3bd64f0568e1cc0a7be7db4683d9dc364736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD SWAP11 0xD DUP7 PUSH8 0xE174DE917201336E SMOD 0xC 0xF7 RETURN 0xBD PUSH5 0xF0568E1CC0 0xA7 0xBE PUSH30 0xB4683D9DC364736F6C634300080900330000000000000000000000000000 ","sourceMap":"244:3011:135:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to array types.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Arrays.sol\":\"Arrays\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x680e05d017ad097db73ea34e085c7c722c195c1f517f7311fcb3745571a18ba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28f21c523cdacbe08106b89fd2aa4b1a85d1a22e0c80ec36628342cce546e67b\",\"dweb:/ipfs/QmYGMF9UVC7GScniiN5KEFP1whSF4YYHDLJTGbxDarr47B\"]},\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Base64.sol":{"Base64":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122076d14169495378fe4603a2e55718adbc2107fc82b08f352944909bbefaf9fd6a64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0xD14169495378FE4603A2E55718ADBC2107FC82B08F3529 DIFFICULTY SWAP1 SWAP12 0xBE STATICCALL 0xF9 REVERT PUSH11 0x64736F6C63430008090033 ","sourceMap":"231:3302:136:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;231:3302:136;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122076d14169495378fe4603a2e55718adbc2107fc82b08f352944909bbefaf9fd6a64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0xD14169495378FE4603A2E55718ADBC2107FC82B08F3529 DIFFICULTY SWAP1 SWAP12 0xBE STATICCALL 0xF9 REVERT PUSH11 0x64736F6C63430008090033 ","sourceMap":"231:3302:136:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides a set of functions to operate with Base64 strings. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_TABLE\":{\"details\":\"Base64 Encoding/Decoding Table\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Base64.sol\":\"Base64\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Checkpoints.sol":{"Checkpoints":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e8b2829f72d79e9e063def0bc458d635e7ac9b1174fdd8bb82768ef838105b6464736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE8 0xB2 DUP3 SWAP16 PUSH19 0xD79E9E063DEF0BC458D635E7AC9B1174FDD8BB DUP3 PUSH23 0x8EF838105B6464736F6C63430008090033000000000000 ","sourceMap":"708:17571:137:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;708:17571:137;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e8b2829f72d79e9e063def0bc458d635e7ac9b1174fdd8bb82768ef838105b6464736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE8 0xB2 DUP3 SWAP16 PUSH19 0xD79E9E063DEF0BC458D635E7AC9B1174FDD8BB DUP3 PUSH23 0x8EF838105B6464736F6C63430008090033000000000000 ","sourceMap":"708:17571:137:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This library defines the `History` struct, for checkpointing values as they change at different points in time, and later looking up past values by block number. See {Votes} as an example. To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new checkpoint for the current transaction block using the {push} function. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":\"Checkpoints\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x676d65383d5311b6c1fe9c6b580a32abd0a5582d1d5d2b67f388153578a9bbc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520ee8207d98ba4aae20941a8d48673e60c89b8aaf4e91eb99c6d7fc2d57ce2e\",\"dweb:/ipfs/QmTCZisUyrBMkVMDY7nQ8jCaV87yZhsQ5dG7QNbbD6ViJe\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Counters.sol":{"Counters":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220decc019029d96a0d8305411ca6a1aaf87b0aa3cdf2e90690d680b314b60cc82964736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0xCC ADD SWAP1 0x29 0xD9 PUSH11 0xD8305411CA6A1AAF87B0A LOG3 0xCD CALLCODE 0xE9 MOD SWAP1 0xD6 DUP1 0xB3 EQ 0xB6 0xC 0xC8 0x29 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"424:971:139:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;424:971:139;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220decc019029d96a0d8305411ca6a1aaf87b0aa3cdf2e90690d680b314b60cc82964736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0xCC ADD SWAP1 0x29 0xD9 PUSH11 0xD8305411CA6A1AAF87B0A LOG3 0xCD CALLCODE 0xE9 MOD SWAP1 0xD6 DUP1 0xB3 EQ 0xB6 0xC 0xC8 0x29 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"424:971:139:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Create2.sol":{"Create2":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c5c99a3ab14b69276c0e04b7729df933ff3266d061d7e024583df8cfdab2e0764736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 0x5C SWAP10 LOG3 0xAB EQ 0xB6 SWAP3 PUSH23 0xC0E04B7729DF933FF3266D061D7E024583DF8CFDAB2E07 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"494:3517:140:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;494:3517:140;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c5c99a3ab14b69276c0e04b7729df933ff3266d061d7e024583df8cfdab2e0764736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 0x5C SWAP10 LOG3 0xAB EQ 0xB6 SWAP3 PUSH23 0xC0E04B7729DF933FF3266D061D7E024583DF8CFDAB2E07 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"494:3517:140:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper to make usage of the `CREATE2` EVM opcode easier and safer. `CREATE2` can be used to compute in advance the address where a smart contract will be deployed, which allows for interesting new mechanisms known as 'counterfactual interactions'. See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more information.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Create2.sol\":\"Create2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0xafc07f37809f74d9c66d6461cc0f85fb5147ab855acd0acc30af4b2272130c61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e63fa9a8bc793ccbdc82e93f85a4d2d5b66fd3f42303a6f5fe54c5ff230eb81\",\"dweb:/ipfs/QmVMxEw74WgFPqTZjXbYBLbo6gbbjtTocnfBW54Ft6W6Tb\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Multicall.sol":{"Multicall":{"abi":[{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"multicall(bytes[])":"ac9650d8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides a function to batch together multiple calls in a single external call. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"multicall(bytes[])\":{\"details\":\"Receives and executes a batch of function calls on this contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Multicall.sol\":\"Multicall\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Multicall.sol\":{\"keccak256\":\"0x35e30a35e23f856cbcee3558b7efdd83f6017a8f1b419710645143d98e892463\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dae8b319a276abec4bb2f134251597daddbacd03779c707105a348e53cfd72a\",\"dweb:/ipfs/QmXPnLLsoWDKSa4NocGr6HonQhHnfxy72gYLgV8oitH1WQ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/StorageSlot.sol":{"StorageSlot":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034f71f37a157d14f7558124525cb029353d543904ca2b1e0881e179ccc573fcf64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xF7 0x1F CALLDATACOPY LOG1 JUMPI 0xD1 0x4F PUSH22 0x58124525CB029353D543904CA2B1E0881E179CCC573F 0xCF PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1279:1391:142:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1279:1391:142;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034f71f37a157d14f7558124525cb029353d543904ca2b1e0881e179ccc573fcf64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xF7 0x1F CALLDATACOPY LOG1 JUMPI 0xD1 0x4F PUSH22 0x58124525CB029353D543904CA2B1E0881E179CCC573F 0xCF PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"1279:1391:142:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC1967 implementation slot: ``` contract ERC1967 { bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(Address.isContract(newImplementation), \\\"ERC1967: new implementation is not a contract\\\"); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Strings.sol":{"Strings":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bbae497f5c3d90d747805a059f6a45e2185a7f0a32d167cdeef7af2baf520aee64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0xAE 0x49 PUSH32 0x5C3D90D747805A059F6A45E2185A7F0A32D167CDEEF7AF2BAF520AEE64736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"188:2065:143:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;188:2065:143;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bbae497f5c3d90d747805a059f6a45e2185a7f0a32d167cdeef7af2baf520aee64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0xAE 0x49 PUSH32 0x5C3D90D747805A059F6A45E2185A7F0A32D167CDEEF7AF2BAF520AEE64736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"188:2065:143:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/Timers.sol":{"Timers":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034d8d0b2c0f80b87db5eca30b33d23d8bd2751e87c756e6e41aea5eacfbad5af64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xD8 0xD0 0xB2 0xC0 0xF8 SIGNEXTEND DUP8 0xDB 0x5E 0xCA ADDRESS 0xB3 RETURNDATASIZE 0x23 0xD8 0xBD 0x27 MLOAD 0xE8 PUSH29 0x756E6E41AEA5EACFBAD5AF64736F6C6343000809003300000000000000 ","sourceMap":"168:1873:144:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;168:1873:144;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034d8d0b2c0f80b87db5eca30b33d23d8bd2751e87c756e6e41aea5eacfbad5af64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xD8 0xD0 0xB2 0xC0 0xF8 SIGNEXTEND DUP8 0xDB 0x5E 0xCA ADDRESS 0xB3 RETURNDATASIZE 0x23 0xD8 0xBD 0x27 MLOAD 0xE8 PUSH29 0x756E6E41AEA5EACFBAD5AF64736F6C6343000809003300000000000000 ","sourceMap":"168:1873:144:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Tooling for timepoints, timers and delays\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/Timers.sol\":\"Timers\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Timers.sol\":{\"keccak256\":\"0x29791a62950a7983e02a673639c1a781d1e448691800456c2ce4b99715391b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f37b3c682657d4b1790b5e564d4c9445856c93aa79ffed43fd076959118118\",\"dweb:/ipfs/QmcBGSacnV1JDz7kicsFijDYBxx5CmLSjUSJVLqyn7zH3G\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ECDSA":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204d6d9a46f090039ef68ffeb875251945296bade2e396ff696eb7c686006b7cb264736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D PUSH14 0x9A46F090039EF68FFEB875251945 0x29 PUSH12 0xADE2E396FF696EB7C686006B PUSH29 0xB264736F6C634300080900330000000000000000000000000000000000 ","sourceMap":"369:8168:145:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8168:145;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204d6d9a46f090039ef68ffeb875251945296bade2e396ff696eb7c686006b7cb264736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D PUSH14 0x9A46F090039EF68FFEB875251945 0x29 PUSH12 0xADE2E396FF696EB7C686006B PUSH29 0xB264736F6C634300080900330000000000000000000000000000000000 ","sourceMap":"369:8168:145:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"EIP712":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data. The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible, thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in their contracts using a combination of `abi.encode` and `keccak256`. This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA ({_hashTypedDataV4}). The implementation of the domain separator was designed to be as efficient as possible while still properly updating the chain id to protect against replay attacks on an eventual fork of the chain. NOTE: This contract implements the version of the encoding known as \\\"v4\\\", as implemented by the JSON RPC method https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. _Available since v3.4._\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the domain separator and parameter caches. The meaning of `name` and `version` is specified in https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]: - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - `version`: the current major version of the signing domain. NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart contract upgrade].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":\"EIP712\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol":{"MerkleProof":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3a858255f628c048d609942d770be0cc027bba412c503283dda2ed6ae51dccc64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 0xA8 PC 0x25 0x5F PUSH3 0x8C048D PUSH1 0x99 TIMESTAMP 0xD7 PUSH17 0xBE0CC027BBA412C503283DDA2ED6AE51DC 0xCC PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"802:8493:147:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;802:8493:147;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3a858255f628c048d609942d770be0cc027bba412c503283dda2ed6ae51dccc64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 0xA8 PC 0x25 0x5F PUSH3 0x8C048D PUSH1 0x99 TIMESTAMP 0xD7 PUSH17 0xBE0CC027BBA412C503283DDA2ED6AE51DC 0xCC PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"802:8493:147:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"These functions deal with verification of Merkle Tree proofs. The tree and the proofs can be generated using our https://github.com/OpenZeppelin/merkle-tree[JavaScript library]. You will find a quickstart guide in the readme. WARNING: You should avoid using leaf values that are 64 bytes long prior to hashing, or use a hash function other than keccak256 for hashing leaves. This is because the concatenation of a sorted pair of internal nodes in the merkle tree could be reinterpreted as a leaf value. OpenZeppelin's JavaScript library generates merkle trees that are safe against this attack out of the box.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":\"MerkleProof\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0xd466e8b07f4c6220eac16da5127f3ff142e65f0c15c03c7d38f257b02c8585e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6b3cab69f655e40117bbdd8e68d7423f26d1b24248fb189c295f08de8940616\",\"dweb:/ipfs/QmWoyRthsBDMa7gJpH5UCjpa8uNUQfyaGbSgY3uvhBH9F3\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol":{"SignatureChecker":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207d8e1e4ddd16820660ab22ebef8f2a97259d7f290889a09bb4e60233fd1c9f1264736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x8E1E4DDD16820660AB22EBEF8F2A97259D7F290889A09BB4E60233FD1C9F SLT PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"531:1177:148:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;531:1177:148;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207d8e1e4ddd16820660ab22ebef8f2a97259d7f290889a09bb4e60233fd1c9f1264736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x8E1E4DDD16820660AB22EBEF8F2A97259D7F290889A09BB4E60233FD1C9F SLT PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"531:1177:148:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signature verification helper that can be used instead of `ECDSA.recover` to seamlessly support both ECDSA signatures from externally owned accounts (EOAs) as well as ERC1271 signatures from smart contract wallets like Argent and Gnosis Safe. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol\":\"SignatureChecker\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e\",\"dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbc8d1f66b26e211a1f6f40a17453e9d5020ec96749014379205cff100809884c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9c056a3068bb6fe41b28239bd71acd3a5249d23ed089c874182a4e3d7e47df1\",\"dweb:/ipfs/QmdFFG7dxiZ5jBaaYDXPMiKVG9rNoMhvR7cBt5997E2pat\"]},\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol":{"ConditionalEscrow":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Deposited","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":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"depositsOf","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"withdrawalAllowed","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":{"deposit(address)":"f340fa01","depositsOf(address)":"e3a9db1a","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","withdraw(address)":"51cff8d9","withdrawalAllowed(address)":"685ca194"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"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\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"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\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Base abstract escrow to only allow withdrawal if a condition is met.Intended usage: See {Escrow}. Same usage guidelines apply here.\",\"kind\":\"dev\",\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds. Emits a {Deposited} event.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(address)\":{\"details\":\"Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"The address whose funds will be withdrawn and transferred to. Emits a {Withdrawn} event.\"}},\"withdrawalAllowed(address)\":{\"details\":\"Returns whether an address is allowed to withdraw their funds. To be implemented by derived contracts.\",\"params\":{\"payee\":\"The destination address of the funds.\"}}},\"title\":\"ConditionalEscrow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol\":\"ConditionalEscrow\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xf71d228abc2df1a5020ba208b237718e22cad6b3532f5e8f1021f4f15068e290\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e42465b2c37a5d9286678ad167ed75691cb7bd2f6abcb677e7820ac58263a723\",\"dweb:/ipfs/QmdxVmnFC6ELiJLcQauqJxR353hjT2eNQ5ELHv1j46KeHi\"]},\"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol":{"Escrow":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Deposited","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":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"depositsOf","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_1329":{"entryPoint":null,"id":1329,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":31,"id":1417,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61050d8061007e6000396000f3fe6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a61461007c5780638da5cb5b14610091578063e3a9db1a146100be578063f2fde38b14610102578063f340fa0114610122575b600080fd5b34801561006657600080fd5b5061007a61007536600461048d565b610135565b005b34801561008857600080fd5b5061007a6101ac565b34801561009d57600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100f46100d936600461048d565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100b5565b34801561010e57600080fd5b5061007a61011d36600461048d565b6101c0565b61007a61013036600461048d565b61023e565b61013d6102b0565b6001600160a01b0381166000818152600160205260408120805491905590610165908261030a565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516101a091815260200190565b60405180910390a25050565b6101b46102b0565b6101be6000610428565b565b6101c86102b0565b6001600160a01b0381166102325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023b81610428565b50565b6102466102b0565b6001600160a01b0381166000908152600160205260408120805434928392916102709084906104b1565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016101a0565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610229565b8047101561035a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610229565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146103a7576040519150601f19603f3d011682016040523d82523d6000602084013e6103ac565b606091505b50509050806104235760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610229565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461023b57600080fd5b60006020828403121561049f57600080fd5b81356104aa81610478565b9392505050565b600082198211156104d257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122091bb6798a7aea36d723e0d510aa94ece22c60780e3758b959a07804960d8060364736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A CALLER PUSH2 0x1F JUMP JUMPDEST PUSH2 0x6F JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x50D DUP1 PUSH2 0x7E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x91 JUMPI DUP1 PUSH4 0xE3A9DB1A EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x102 JUMPI DUP1 PUSH4 0xF340FA01 EQ PUSH2 0x122 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x135 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x1AC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF4 PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST PUSH2 0x7A PUSH2 0x130 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x23E JUMP JUMPDEST PUSH2 0x13D PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP1 SSTORE SWAP1 PUSH2 0x165 SWAP1 DUP3 PUSH2 0x30A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x1B4 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x1BE PUSH1 0x0 PUSH2 0x428 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x232 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x23B DUP2 PUSH2 0x428 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x246 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 DUP4 SWAP3 SWAP2 PUSH2 0x270 SWAP1 DUP5 SWAP1 PUSH2 0x4B1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x2DA466A7B24304F47E87FA2E1E5A81B9831CE54FEC19055CE277CA2F39BA42C4 SWAP1 PUSH1 0x20 ADD PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x229 JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x35A 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x229 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3A7 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 0x3AC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x423 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x229 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x49F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4AA DUP2 PUSH2 0x478 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x4D2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xBB PUSH8 0x98A7AEA36D723E0D MLOAD EXP 0xA9 0x4E 0xCE 0x22 0xC6 SMOD DUP1 0xE3 PUSH22 0x8B959A07804960D8060364736F6C6343000809003300 ","sourceMap":"825:1428:151:-:0;;;;;;;;;;;;-1:-1:-1;936:32:9;719:10:138;936:18:9;:32::i;:::-;825:1428:151;;2433:187:9;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;825:1428:151:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_1360":{"entryPoint":688,"id":1360,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":1064,"id":1417,"parameterSlots":1,"returnSlots":0},"@deposit_24141":{"entryPoint":574,"id":24141,"parameterSlots":1,"returnSlots":0},"@depositsOf_24116":{"entryPoint":null,"id":24116,"parameterSlots":1,"returnSlots":1},"@owner_1346":{"entryPoint":null,"id":1346,"parameterSlots":0,"returnSlots":1},"@renounceOwnership_1374":{"entryPoint":428,"id":1374,"parameterSlots":0,"returnSlots":0},"@sendValue_20410":{"entryPoint":778,"id":20410,"parameterSlots":2,"returnSlots":0},"@transferOwnership_1397":{"entryPoint":448,"id":1397,"parameterSlots":1,"returnSlots":0},"@withdraw_24173":{"entryPoint":309,"id":24173,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable":{"entryPoint":1165,"id":null,"parameterSlots":2,"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_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__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":1201,"id":null,"parameterSlots":2,"returnSlots":1},"validator_revert_address_payable":{"entryPoint":1144,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3066:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"67:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"131:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"140:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"143:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"133:6:181"},"nodeType":"YulFunctionCall","src":"133:12:181"},"nodeType":"YulExpressionStatement","src":"133:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"90:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"101:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"116:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"121:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"112:3:181"},"nodeType":"YulFunctionCall","src":"112:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"125:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"108:3:181"},"nodeType":"YulFunctionCall","src":"108:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"97:3:181"},"nodeType":"YulFunctionCall","src":"97:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"87:2:181"},"nodeType":"YulFunctionCall","src":"87:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"80:6:181"},"nodeType":"YulFunctionCall","src":"80:50:181"},"nodeType":"YulIf","src":"77:70:181"}]},"name":"validator_revert_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"56:5:181","type":""}],"src":"14:139:181"},{"body":{"nodeType":"YulBlock","src":"236:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"282:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"291:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"294:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"284:6:181"},"nodeType":"YulFunctionCall","src":"284:12:181"},"nodeType":"YulExpressionStatement","src":"284:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"257:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"266:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"253:3:181"},"nodeType":"YulFunctionCall","src":"253:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"278:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"249:3:181"},"nodeType":"YulFunctionCall","src":"249:32:181"},"nodeType":"YulIf","src":"246:52:181"},{"nodeType":"YulVariableDeclaration","src":"307:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"333:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"320:12:181"},"nodeType":"YulFunctionCall","src":"320:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"311:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"385:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"352:32:181"},"nodeType":"YulFunctionCall","src":"352:39:181"},"nodeType":"YulExpressionStatement","src":"352:39:181"},{"nodeType":"YulAssignment","src":"400:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"410:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"400:6:181"}]}]},"name":"abi_decode_tuple_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"202:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"213:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"225:6:181","type":""}],"src":"158:263:181"},{"body":{"nodeType":"YulBlock","src":"527:102:181","statements":[{"nodeType":"YulAssignment","src":"537:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"549:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"560:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"545:3:181"},"nodeType":"YulFunctionCall","src":"545:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"537:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"579:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"594:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"610:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"615:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"606:3:181"},"nodeType":"YulFunctionCall","src":"606:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"619:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"602:3:181"},"nodeType":"YulFunctionCall","src":"602:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"590:3:181"},"nodeType":"YulFunctionCall","src":"590:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"572:6:181"},"nodeType":"YulFunctionCall","src":"572:51:181"},"nodeType":"YulExpressionStatement","src":"572:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"496:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"507:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"518:4:181","type":""}],"src":"426:203:181"},{"body":{"nodeType":"YulBlock","src":"704:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"750:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"759:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"762:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"752:6:181"},"nodeType":"YulFunctionCall","src":"752:12:181"},"nodeType":"YulExpressionStatement","src":"752:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"725:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"734:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"721:3:181"},"nodeType":"YulFunctionCall","src":"721:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"746:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"717:3:181"},"nodeType":"YulFunctionCall","src":"717:32:181"},"nodeType":"YulIf","src":"714:52:181"},{"nodeType":"YulVariableDeclaration","src":"775:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"801:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"788:12:181"},"nodeType":"YulFunctionCall","src":"788:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"779:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"853:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"820:32:181"},"nodeType":"YulFunctionCall","src":"820:39:181"},"nodeType":"YulExpressionStatement","src":"820:39:181"},{"nodeType":"YulAssignment","src":"868:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"878:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"868:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"670:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"681:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"693:6:181","type":""}],"src":"634:255:181"},{"body":{"nodeType":"YulBlock","src":"995:76:181","statements":[{"nodeType":"YulAssignment","src":"1005:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1017:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1028:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1013:3:181"},"nodeType":"YulFunctionCall","src":"1013:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1005:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1047:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1058:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1040:6:181"},"nodeType":"YulFunctionCall","src":"1040:25:181"},"nodeType":"YulExpressionStatement","src":"1040:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"964:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"975:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"986:4:181","type":""}],"src":"894:177:181"},{"body":{"nodeType":"YulBlock","src":"1250:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1267:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1278:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1260:6:181"},"nodeType":"YulFunctionCall","src":"1260:21:181"},"nodeType":"YulExpressionStatement","src":"1260:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1301:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1312:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1297:3:181"},"nodeType":"YulFunctionCall","src":"1297:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1317:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1290:6:181"},"nodeType":"YulFunctionCall","src":"1290:30:181"},"nodeType":"YulExpressionStatement","src":"1290:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1340:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1351:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1336:3:181"},"nodeType":"YulFunctionCall","src":"1336:18:181"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"1356:34:181","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1329:6:181"},"nodeType":"YulFunctionCall","src":"1329:62:181"},"nodeType":"YulExpressionStatement","src":"1329:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1411:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1422:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1407:3:181"},"nodeType":"YulFunctionCall","src":"1407:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"1427:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1400:6:181"},"nodeType":"YulFunctionCall","src":"1400:36:181"},"nodeType":"YulExpressionStatement","src":"1400:36:181"},{"nodeType":"YulAssignment","src":"1445:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1457:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1468:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1453:3:181"},"nodeType":"YulFunctionCall","src":"1453:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1445:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1227:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1241:4:181","type":""}],"src":"1076:402:181"},{"body":{"nodeType":"YulBlock","src":"1531:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"1566:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1587:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1594:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1599:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1590:3:181"},"nodeType":"YulFunctionCall","src":"1590:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1580:6:181"},"nodeType":"YulFunctionCall","src":"1580:31:181"},"nodeType":"YulExpressionStatement","src":"1580:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1631:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1634:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1624:6:181"},"nodeType":"YulFunctionCall","src":"1624:15:181"},"nodeType":"YulExpressionStatement","src":"1624:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1659:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1662:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1652:6:181"},"nodeType":"YulFunctionCall","src":"1652:15:181"},"nodeType":"YulExpressionStatement","src":"1652:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1547:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1554:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1550:3:181"},"nodeType":"YulFunctionCall","src":"1550:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1544:2:181"},"nodeType":"YulFunctionCall","src":"1544:13:181"},"nodeType":"YulIf","src":"1541:136:181"},{"nodeType":"YulAssignment","src":"1686:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1697:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"1700:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1693:3:181"},"nodeType":"YulFunctionCall","src":"1693:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1686:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1514:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"1517:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1523:3:181","type":""}],"src":"1483:225:181"},{"body":{"nodeType":"YulBlock","src":"1887:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1904:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1915:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1897:6:181"},"nodeType":"YulFunctionCall","src":"1897:21:181"},"nodeType":"YulExpressionStatement","src":"1897:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1938:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1949:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1934:3:181"},"nodeType":"YulFunctionCall","src":"1934:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"1954:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1927:6:181"},"nodeType":"YulFunctionCall","src":"1927:30:181"},"nodeType":"YulExpressionStatement","src":"1927:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1977:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1988:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1973:3:181"},"nodeType":"YulFunctionCall","src":"1973:18:181"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"1993:34:181","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1966:6:181"},"nodeType":"YulFunctionCall","src":"1966:62:181"},"nodeType":"YulExpressionStatement","src":"1966:62:181"},{"nodeType":"YulAssignment","src":"2037:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2049:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2060:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2045:3:181"},"nodeType":"YulFunctionCall","src":"2045:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2037:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1864:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1878:4:181","type":""}],"src":"1713:356:181"},{"body":{"nodeType":"YulBlock","src":"2248:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2265:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2276:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2258:6:181"},"nodeType":"YulFunctionCall","src":"2258:21:181"},"nodeType":"YulExpressionStatement","src":"2258:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2299:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2310:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2295:3:181"},"nodeType":"YulFunctionCall","src":"2295:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2315:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2288:6:181"},"nodeType":"YulFunctionCall","src":"2288:30:181"},"nodeType":"YulExpressionStatement","src":"2288:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2338:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2349:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2334:3:181"},"nodeType":"YulFunctionCall","src":"2334:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","kind":"string","nodeType":"YulLiteral","src":"2354:31:181","type":"","value":"Address: insufficient balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2327:6:181"},"nodeType":"YulFunctionCall","src":"2327:59:181"},"nodeType":"YulExpressionStatement","src":"2327:59:181"},{"nodeType":"YulAssignment","src":"2395:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2407:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2418:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2403:3:181"},"nodeType":"YulFunctionCall","src":"2403:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2395:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2225:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2239:4:181","type":""}],"src":"2074:353:181"},{"body":{"nodeType":"YulBlock","src":"2623:14:181","statements":[{"nodeType":"YulAssignment","src":"2625:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"2632:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2625:3:181"}]}]},"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":"2607:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2615:3:181","type":""}],"src":"2432:205:181"},{"body":{"nodeType":"YulBlock","src":"2816:248:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2833:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2844:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2826:6:181"},"nodeType":"YulFunctionCall","src":"2826:21:181"},"nodeType":"YulExpressionStatement","src":"2826:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2867:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2878:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2863:3:181"},"nodeType":"YulFunctionCall","src":"2863:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2883:2:181","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2856:6:181"},"nodeType":"YulFunctionCall","src":"2856:30:181"},"nodeType":"YulExpressionStatement","src":"2856:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2906:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2917:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2902:3:181"},"nodeType":"YulFunctionCall","src":"2902:18:181"},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c2072","kind":"string","nodeType":"YulLiteral","src":"2922:34:181","type":"","value":"Address: unable to send value, r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2895:6:181"},"nodeType":"YulFunctionCall","src":"2895:62:181"},"nodeType":"YulExpressionStatement","src":"2895:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2977:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2988:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2973:3:181"},"nodeType":"YulFunctionCall","src":"2973:18:181"},{"hexValue":"6563697069656e74206d61792068617665207265766572746564","kind":"string","nodeType":"YulLiteral","src":"2993:28:181","type":"","value":"ecipient may have reverted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2966:6:181"},"nodeType":"YulFunctionCall","src":"2966:56:181"},"nodeType":"YulExpressionStatement","src":"2966:56:181"},{"nodeType":"YulAssignment","src":"3031:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3043:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3054:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3039:3:181"},"nodeType":"YulFunctionCall","src":"3039:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3031:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2793:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2807:4:181","type":""}],"src":"2642:422:181"}]},"contents":"{\n { }\n function validator_revert_address_payable(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\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_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\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_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__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), \"Address: insufficient balance\")\n tail := add(headStart, 96)\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_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 58)\n mstore(add(headStart, 64), \"Address: unable to send value, r\")\n mstore(add(headStart, 96), \"ecipient may have reverted\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a61461007c5780638da5cb5b14610091578063e3a9db1a146100be578063f2fde38b14610102578063f340fa0114610122575b600080fd5b34801561006657600080fd5b5061007a61007536600461048d565b610135565b005b34801561008857600080fd5b5061007a6101ac565b34801561009d57600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100f46100d936600461048d565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100b5565b34801561010e57600080fd5b5061007a61011d36600461048d565b6101c0565b61007a61013036600461048d565b61023e565b61013d6102b0565b6001600160a01b0381166000818152600160205260408120805491905590610165908261030a565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516101a091815260200190565b60405180910390a25050565b6101b46102b0565b6101be6000610428565b565b6101c86102b0565b6001600160a01b0381166102325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023b81610428565b50565b6102466102b0565b6001600160a01b0381166000908152600160205260408120805434928392916102709084906104b1565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016101a0565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610229565b8047101561035a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610229565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146103a7576040519150601f19603f3d011682016040523d82523d6000602084013e6103ac565b606091505b50509050806104235760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610229565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461023b57600080fd5b60006020828403121561049f57600080fd5b81356104aa81610478565b9392505050565b600082198211156104d257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122091bb6798a7aea36d723e0d510aa94ece22c60780e3758b959a07804960d8060364736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x91 JUMPI DUP1 PUSH4 0xE3A9DB1A EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x102 JUMPI DUP1 PUSH4 0xF340FA01 EQ PUSH2 0x122 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x135 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x1AC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF4 PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST PUSH2 0x7A PUSH2 0x130 CALLDATASIZE PUSH1 0x4 PUSH2 0x48D JUMP JUMPDEST PUSH2 0x23E JUMP JUMPDEST PUSH2 0x13D PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP1 SSTORE SWAP1 PUSH2 0x165 SWAP1 DUP3 PUSH2 0x30A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x1B4 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x1BE PUSH1 0x0 PUSH2 0x428 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x232 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x23B DUP2 PUSH2 0x428 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x246 PUSH2 0x2B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 DUP4 SWAP3 SWAP2 PUSH2 0x270 SWAP1 DUP5 SWAP1 PUSH2 0x4B1 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x2DA466A7B24304F47E87FA2E1E5A81B9831CE54FEC19055CE277CA2F39BA42C4 SWAP1 PUSH1 0x20 ADD PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x229 JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x35A 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x229 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3A7 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 0x3AC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x423 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x229 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x49F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4AA DUP2 PUSH2 0x478 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x4D2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xBB PUSH8 0x98A7AEA36D723E0D MLOAD EXP 0xA9 0x4E 0xCE 0x22 0xC6 SMOD DUP1 0xE3 PUSH22 0x8B959A07804960D8060364736F6C6343000809003300 ","sourceMap":"825:1428:151:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2027:224;;;;;;;;;;-1:-1:-1;2027:224:151;;;;;:::i;:::-;;:::i;:::-;;1831:101:9;;;;;;;;;;;;;:::i;1201:85::-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;1201:85;;-1:-1:-1;;;;;1273:6:9;;;572:51:181;;560:2;545:18;1201:85:9;;;;;;;;1077:105:151;;;;;;;;;;-1:-1:-1;1077:105:151;;;;;:::i;:::-;-1:-1:-1;;;;;1159:16:151;1133:7;1159:16;;;:9;:16;;;;;;;1077:105;;;;1040:25:181;;;1028:2;1013:18;1077:105:151;894:177:181;2081:198:9;;;;;;;;;;-1:-1:-1;2081:198:9;;;;;:::i;:::-;;:::i;1365:183:151:-;;;;;;:::i;:::-;;:::i;2027:224::-;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;2121:16:151;::::1;2103:15;2121:16:::0;;;:9:::1;:16;::::0;;;;;;2148:20;;;2121:16;2179:24:::1;::::0;2121:16;2179:15:::1;:24::i;:::-;2229:5;-1:-1:-1::0;;;;;2219:25:151::1;;2236:7;2219:25;;;;1040::181::0;;1028:2;1013:18;;894:177;2219:25:151::1;;;;;;;;2093:158;2027:224:::0;:::o;1831:101:9:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2081:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:9;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:9;;1278:2:181;2161:73:9::1;::::0;::::1;1260:21:181::0;1317:2;1297:18;;;1290:30;1356:34;1336:18;;;1329:62;-1:-1:-1;;;1407:18:181;;;1400:36;1453:19;;2161:73:9::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1365:183:151:-;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;1476:16:151;::::1;1440:14;1476:16:::0;;;:9:::1;:16;::::0;;;;:26;;1457:9:::1;::::0;;;1476:16;:26:::1;::::0;1457:9;;1476:26:::1;:::i;:::-;::::0;;;-1:-1:-1;;1517:24:151::1;::::0;1040:25:181;;;-1:-1:-1;;;;;1517:24:151;::::1;::::0;::::1;::::0;1028:2:181;1013:18;1517:24:151::1;894:177:181::0;1359:130:9;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;719:10:138;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;1915:2:181;1414:68:9;;;1897:21:181;;;1934:18;;;1927:30;1993:34;1973:18;;;1966:62;2045:18;;1414:68:9;1713:356:181;2412:312:134;2526:6;2501:21;:31;;2493:73;;;;-1:-1:-1;;;2493:73:134;;2276:2:181;2493:73:134;;;2258:21:181;2315:2;2295:18;;;2288:30;2354:31;2334:18;;;2327:59;2403:18;;2493:73:134;2074:353:181;2493:73:134;2578:12;2596:9;-1:-1:-1;;;;;2596:14:134;2618:6;2596:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:52;;;2647:7;2639:78;;;;-1:-1:-1;;;2639:78:134;;2844:2:181;2639:78:134;;;2826:21:181;2883:2;2863:18;;;2856:30;2922:34;2902:18;;;2895:62;2993:28;2973:18;;;2966:56;3039:19;;2639:78:134;2642:422:181;2639:78:134;2483:241;2412:312;;:::o;2433:187:9:-;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:139:181:-;-1:-1:-1;;;;;97:31:181;;87:42;;77:70;;143:1;140;133:12;158:263;225:6;278:2;266:9;257:7;253:23;249:32;246:52;;;294:1;291;284:12;246:52;333:9;320:23;352:39;385:5;352:39;:::i;:::-;410:5;158:263;-1:-1:-1;;;158:263:181:o;1483:225::-;1523:3;1554:1;1550:6;1547:1;1544:13;1541:136;;;1599:10;1594:3;1590:20;1587:1;1580:31;1634:4;1631:1;1624:15;1662:4;1659:1;1652:15;1541:136;-1:-1:-1;1693:9:181;;1483:225::o"},"methodIdentifiers":{"deposit(address)":"f340fa01","depositsOf(address)":"e3a9db1a","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","withdraw(address)":"51cff8d9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"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\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"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\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Base escrow contract, holds funds designated for a payee until they withdraw them. Intended usage: This contract (and derived escrow contracts) should be a standalone contract, that only interacts with the contract that instantiated it. That way, it is guaranteed that all Ether will be handled according to the `Escrow` rules, and there is no need to check for payable functions or transfers in the inheritance tree. The contract that uses the escrow as its payment method should be its owner, and provide public methods redirecting to the escrow's deposit and withdraw.\",\"kind\":\"dev\",\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds. Emits a {Deposited} event.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(address)\":{\"details\":\"Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"The address whose funds will be withdrawn and transferred to. Emits a {Withdrawn} event.\"}}},\"title\":\"Escrow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol\":\"Escrow\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol":{"RefundEscrow":{"abi":[{"inputs":[{"internalType":"address payable","name":"beneficiary_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Deposited","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":[],"name":"RefundsClosed","type":"event"},{"anonymous":false,"inputs":[],"name":"RefundsEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"beneficiary","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"beneficiaryWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"close","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"refundee","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"depositsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableRefunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"state","outputs":[{"internalType":"enum RefundEscrow.State","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawalAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_1329":{"entryPoint":null,"id":1329,"parameterSlots":0,"returnSlots":0},"@_24222":{"entryPoint":null,"id":24222,"parameterSlots":1,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":195,"id":1417,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address_payable_fromMemory":{"entryPoint":275,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8a77d0d3ca4410791e8781774e7ba61ae1755bbb27066c5d9f65089e2c7a8f1d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x21":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:860:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"103:209:181","statements":[{"body":{"nodeType":"YulBlock","src":"149:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"158:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"161:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"151:6:181"},"nodeType":"YulFunctionCall","src":"151:12:181"},"nodeType":"YulExpressionStatement","src":"151:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"124:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"133:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"120:3:181"},"nodeType":"YulFunctionCall","src":"120:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"116:3:181"},"nodeType":"YulFunctionCall","src":"116:32:181"},"nodeType":"YulIf","src":"113:52:181"},{"nodeType":"YulVariableDeclaration","src":"174:29:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"193:9:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"187:5:181"},"nodeType":"YulFunctionCall","src":"187:16:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"178:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"266:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"275:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"268:6:181"},"nodeType":"YulFunctionCall","src":"268:12:181"},"nodeType":"YulExpressionStatement","src":"268:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"225:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"236:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"251:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"247:3:181"},"nodeType":"YulFunctionCall","src":"247:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"260:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"243:3:181"},"nodeType":"YulFunctionCall","src":"243:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"232:3:181"},"nodeType":"YulFunctionCall","src":"232:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"222:2:181"},"nodeType":"YulFunctionCall","src":"222:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"215:6:181"},"nodeType":"YulFunctionCall","src":"215:50:181"},"nodeType":"YulIf","src":"212:70:181"},{"nodeType":"YulAssignment","src":"291:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"301:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"291:6:181"}]}]},"name":"abi_decode_tuple_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"80:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"92:6:181","type":""}],"src":"14:298:181"},{"body":{"nodeType":"YulBlock","src":"491:235:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"508:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"519:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"501:6:181"},"nodeType":"YulFunctionCall","src":"501:21:181"},"nodeType":"YulExpressionStatement","src":"501:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"542:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"553:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"538:3:181"},"nodeType":"YulFunctionCall","src":"538:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"558:2:181","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"531:6:181"},"nodeType":"YulFunctionCall","src":"531:30:181"},"nodeType":"YulExpressionStatement","src":"531:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"581:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"592:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"577:3:181"},"nodeType":"YulFunctionCall","src":"577:18:181"},{"hexValue":"526566756e64457363726f773a2062656e656669636961727920697320746865","kind":"string","nodeType":"YulLiteral","src":"597:34:181","type":"","value":"RefundEscrow: beneficiary is the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"570:6:181"},"nodeType":"YulFunctionCall","src":"570:62:181"},"nodeType":"YulExpressionStatement","src":"570:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"652:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"663:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"648:3:181"},"nodeType":"YulFunctionCall","src":"648:18:181"},{"hexValue":"207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"668:15:181","type":"","value":" zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"641:6:181"},"nodeType":"YulFunctionCall","src":"641:43:181"},"nodeType":"YulExpressionStatement","src":"641:43:181"},{"nodeType":"YulAssignment","src":"693:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"705:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"716:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"701:3:181"},"nodeType":"YulFunctionCall","src":"701:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"693:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8a77d0d3ca4410791e8781774e7ba61ae1755bbb27066c5d9f65089e2c7a8f1d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"468:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"482:4:181","type":""}],"src":"317:409:181"},{"body":{"nodeType":"YulBlock","src":"763:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"780:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"787:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"792:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"783:3:181"},"nodeType":"YulFunctionCall","src":"783:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"773:6:181"},"nodeType":"YulFunctionCall","src":"773:31:181"},"nodeType":"YulExpressionStatement","src":"773:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"820:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"823:4:181","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"813:6:181"},"nodeType":"YulFunctionCall","src":"813:15:181"},"nodeType":"YulExpressionStatement","src":"813:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"844:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"847:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"837:6:181"},"nodeType":"YulFunctionCall","src":"837:15:181"},"nodeType":"YulExpressionStatement","src":"837:15:181"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"731:127:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_address_payable_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 function abi_encode_tuple_t_stringliteral_8a77d0d3ca4410791e8781774e7ba61ae1755bbb27066c5d9f65089e2c7a8f1d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"RefundEscrow: beneficiary is the\")\n mstore(add(headStart, 96), \" zero address\")\n tail := add(headStart, 128)\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a060405234801561001057600080fd5b50604051610b22380380610b2283398101604081905261002f91610113565b610038336100c3565b6001600160a01b0381166100a85760405162461bcd60e51b815260206004820152602d60248201527f526566756e64457363726f773a2062656e65666963696172792069732074686560448201526c207a65726f206164647265737360981b606482015260840160405180910390fd5b6001600160a01b03166080526002805460ff19169055610143565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561012557600080fd5b81516001600160a01b038116811461013c57600080fd5b9392505050565b6080516109be6101646000396000818160bb015261051b01526109be6000f3fe6080604052600436106100a75760003560e01c80638da5cb5b116100645780638da5cb5b146101895780639af6549a146101a7578063c19d93fb146101bc578063e3a9db1a146101dc578063f2fde38b14610220578063f340fa011461024057600080fd5b806338af3eed146100ac57806343d726d6146100f857806351cff8d91461010f578063685ca1941461012f578063715018a61461015f5780638c52dc4114610174575b600080fd5b3480156100b857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010457600080fd5b5061010d610253565b005b34801561011b57600080fd5b5061010d61012a366004610900565b61030f565b34801561013b57600080fd5b5061014f61014a366004610900565b61038c565b60405190151581526020016100ef565b34801561016b57600080fd5b5061010d6103ae565b34801561018057600080fd5b5061010d6103c2565b34801561019557600080fd5b506000546001600160a01b03166100db565b3480156101b357600080fd5b5061010d610483565b3480156101c857600080fd5b5060025460ff166040516100ef919061093a565b3480156101e857600080fd5b506102126101f7366004610900565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100ef565b34801561022c57600080fd5b5061010d61023b366004610900565b610541565b61010d61024e366004610900565b6105b7565b61025b61063a565b600060025460ff16600281111561027457610274610924565b146102d85760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b6002805460ff1916811790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f90600090a1565b6103188161038c565b6103805760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102cf565b61038981610694565b50565b6000600160025460ff1660028111156103a7576103a7610924565b1492915050565b6103b661063a565b6103c0600061070b565b565b6103ca61063a565b600060025460ff1660028111156103e3576103e3610924565b1461044b5760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102cf565b6002805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b6002805460ff16600281111561049b5761049b610924565b1461050e5760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102cf565b6103c06001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000164761075b565b61054961063a565b6001600160a01b0381166105ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102cf565b6103898161070b565b600060025460ff1660028111156105d0576105d0610924565b146106315760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102cf565b61038981610879565b6000546001600160a01b031633146103c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102cf565b61069c61063a565b6001600160a01b03811660008181526001602052604081208054919055906106c4908261075b565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516106ff91815260200190565b60405180910390a25050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b804710156107ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102cf565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107f8576040519150601f19603f3d011682016040523d82523d6000602084013e6107fd565b606091505b50509050806108745760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102cf565b505050565b61088161063a565b6001600160a01b0381166000908152600160205260408120805434928392916108ab908490610962565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016106ff565b6001600160a01b038116811461038957600080fd5b60006020828403121561091257600080fd5b813561091d816108eb565b9392505050565b634e487b7160e01b600052602160045260246000fd5b602081016003831061095c57634e487b7160e01b600052602160045260246000fd5b91905290565b6000821982111561098357634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212205166b14bf5f8f64f3dc19d6ddcc996b2cc3756d1c954d88dcf54404fdf059a8a64736f6c63430008090033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xB22 CODESIZE SUB DUP1 PUSH2 0xB22 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x38 CALLER PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xA8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2062656E656669636961727920697320746865 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x207A65726F2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 MSTORE PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x143 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x125 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x9BE PUSH2 0x164 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0xBB ADD MSTORE PUSH2 0x51B ADD MSTORE PUSH2 0x9BE PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA7 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0x9AF6549A EQ PUSH2 0x1A7 JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xE3A9DB1A EQ PUSH2 0x1DC JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xF340FA01 EQ PUSH2 0x240 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x38AF3EED EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0x43D726D6 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x685CA194 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0x8C52DC41 EQ PUSH2 0x174 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x253 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x12A CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x38C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xEF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x3AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x180 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x3C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x483 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0x93A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x212 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xEF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x541 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x5B7 JUMP JUMPDEST PUSH2 0x25B PUSH2 0x63A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x274 JUMPI PUSH2 0x274 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x2D8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C7920636C6F736520776869 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x6C6520616374697665 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x88672C3A6E342F7CD94A65BA63B79DF24A8973927B4D05D803C44BBF787D12F SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST PUSH2 0x318 DUP2 PUSH2 0x38C JUMP JUMPDEST PUSH2 0x380 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E646974696F6E616C457363726F773A207061796565206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x616C6C6F77656420746F207769746864726177 PUSH1 0x68 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x694 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A7 PUSH2 0x924 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B6 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x3C0 PUSH1 0x0 PUSH2 0x70B JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x3CA PUSH2 0x63A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x44B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C7920656E61626C65207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x66756E6473207768696C6520616374697665 PUSH1 0x70 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x599D8E5A83CFFB867D051598C4D70E805D59802D8081C1C7D6DFFC5B6ACA2B89 SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x49B JUMPI PUSH2 0x49B PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x50E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2062656E65666963696172792063616E206F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C79207769746864726177207768696C6520636C6F7365640000000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x3C0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SELFBALANCE PUSH2 0x75B JUMP JUMPDEST PUSH2 0x549 PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5AE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x70B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI PUSH2 0x5D0 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x631 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C79206465706F7369742077 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x68696C6520616374697665 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x879 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x69C PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP1 SSTORE SWAP1 PUSH2 0x6C4 SWAP1 DUP3 PUSH2 0x75B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x6FF SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x7AB 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x7F8 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 0x7FD JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x874 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x881 PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 DUP4 SWAP3 SWAP2 PUSH2 0x8AB SWAP1 DUP5 SWAP1 PUSH2 0x962 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x2DA466A7B24304F47E87FA2E1E5A81B9831CE54FEC19055CE277CA2F39BA42C4 SWAP1 PUSH1 0x20 ADD PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x912 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x91D DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x3 DUP4 LT PUSH2 0x95C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x983 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD PUSH7 0xB14BF5F8F64F3D 0xC1 SWAP14 PUSH14 0xDCC996B2CC3756D1C954D88DCF54 BLOCKHASH 0x4F 0xDF SDIV SWAP11 DUP11 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"638:2551:152:-:0;;;1037:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:9;719:10:138;936:18:9;:32::i;:::-;-1:-1:-1;;;;;1097:26:152;;1089:84;;;;-1:-1:-1;;;1089:84:152;;519:2:181;1089:84:152;;;501:21:181;558:2;538:18;;;531:30;597:34;577:18;;;570:62;-1:-1:-1;;;648:18:181;;;641:43;701:19;;1089:84:152;;;;;;;;-1:-1:-1;;;;;1183:27:152;;;1220:6;:21;;-1:-1:-1;;1220:21:152;;;638:2551;;2433:187:9;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:298:181:-;92:6;145:2;133:9;124:7;120:23;116:32;113:52;;;161:1;158;151:12;113:52;187:16;;-1:-1:-1;;;;;232:31:181;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:181:o;731:127::-;638:2551:152;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_1360":{"entryPoint":1594,"id":1360,"parameterSlots":0,"returnSlots":0},"@_msgSender_22271":{"entryPoint":null,"id":22271,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_1417":{"entryPoint":1803,"id":1417,"parameterSlots":1,"returnSlots":0},"@beneficiaryWithdraw_24336":{"entryPoint":1155,"id":24336,"parameterSlots":0,"returnSlots":0},"@beneficiary_24241":{"entryPoint":null,"id":24241,"parameterSlots":0,"returnSlots":1},"@close_24288":{"entryPoint":595,"id":24288,"parameterSlots":0,"returnSlots":0},"@deposit_24141":{"entryPoint":2169,"id":24141,"parameterSlots":1,"returnSlots":0},"@deposit_24264":{"entryPoint":1463,"id":24264,"parameterSlots":1,"returnSlots":0},"@depositsOf_24116":{"entryPoint":null,"id":24116,"parameterSlots":1,"returnSlots":1},"@enableRefunds_24312":{"entryPoint":962,"id":24312,"parameterSlots":0,"returnSlots":0},"@owner_1346":{"entryPoint":null,"id":1346,"parameterSlots":0,"returnSlots":1},"@renounceOwnership_1374":{"entryPoint":942,"id":1374,"parameterSlots":0,"returnSlots":0},"@sendValue_20410":{"entryPoint":1883,"id":20410,"parameterSlots":2,"returnSlots":0},"@state_24232":{"entryPoint":null,"id":24232,"parameterSlots":0,"returnSlots":1},"@transferOwnership_1397":{"entryPoint":1345,"id":1397,"parameterSlots":1,"returnSlots":0},"@withdraw_24077":{"entryPoint":783,"id":24077,"parameterSlots":1,"returnSlots":0},"@withdraw_24173":{"entryPoint":1684,"id":24173,"parameterSlots":1,"returnSlots":0},"@withdrawalAllowed_24352":{"entryPoint":908,"id":24352,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable":{"entryPoint":2304,"id":null,"parameterSlots":2,"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_address_payable__to_t_address_payable__fromStack_reversed":{"entryPoint":null,"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_enum$_State_$24187__to_t_uint8__fromStack_reversed":{"entryPoint":2362,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_01d94a28ecd337ff4054022bb41ef2363cd1a92d1c775148e2e03f86b6e5dabc__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_65d2eddec03fda23f4156a228b50726cf2ff6928b71d9dbcbc2607b547d1e19f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ab85541a5cdc1a44c30d5b8b58432efbc37ed9be825439a16d2e39ce610814a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8b57f36bbfb6b8cf96de8737d30d9d1cbc0f0335b9d71ea7602e79c09a766100__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c983cde4805ee52cdf0ba0ddf13817bc95474a21a1151fc5899abaab3f302200__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":2402,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x21":{"entryPoint":2340,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address_payable":{"entryPoint":2283,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:6044:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"131:102:181","statements":[{"nodeType":"YulAssignment","src":"141:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"153:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"164:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"149:3:181"},"nodeType":"YulFunctionCall","src":"149:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"141:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"183:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"198:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"214:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"219:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"210:3:181"},"nodeType":"YulFunctionCall","src":"210:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"223:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"206:3:181"},"nodeType":"YulFunctionCall","src":"206:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"194:3:181"},"nodeType":"YulFunctionCall","src":"194:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"176:6:181"},"nodeType":"YulFunctionCall","src":"176:51:181"},"nodeType":"YulExpressionStatement","src":"176:51:181"}]},"name":"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"100:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"111:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"122:4:181","type":""}],"src":"14:219:181"},{"body":{"nodeType":"YulBlock","src":"291:86:181","statements":[{"body":{"nodeType":"YulBlock","src":"355:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"364:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"367:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"357:6:181"},"nodeType":"YulFunctionCall","src":"357:12:181"},"nodeType":"YulExpressionStatement","src":"357:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"314:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"325:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"340:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"345:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"336:3:181"},"nodeType":"YulFunctionCall","src":"336:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"349:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"332:3:181"},"nodeType":"YulFunctionCall","src":"332:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"321:3:181"},"nodeType":"YulFunctionCall","src":"321:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"311:2:181"},"nodeType":"YulFunctionCall","src":"311:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"304:6:181"},"nodeType":"YulFunctionCall","src":"304:50:181"},"nodeType":"YulIf","src":"301:70:181"}]},"name":"validator_revert_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"280:5:181","type":""}],"src":"238:139:181"},{"body":{"nodeType":"YulBlock","src":"460:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"506:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"515:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"518:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"508:6:181"},"nodeType":"YulFunctionCall","src":"508:12:181"},"nodeType":"YulExpressionStatement","src":"508:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"481:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"490:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"477:3:181"},"nodeType":"YulFunctionCall","src":"477:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"502:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"473:3:181"},"nodeType":"YulFunctionCall","src":"473:32:181"},"nodeType":"YulIf","src":"470:52:181"},{"nodeType":"YulVariableDeclaration","src":"531:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"557:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"544:12:181"},"nodeType":"YulFunctionCall","src":"544:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"535:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"609:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"576:32:181"},"nodeType":"YulFunctionCall","src":"576:39:181"},"nodeType":"YulExpressionStatement","src":"576:39:181"},{"nodeType":"YulAssignment","src":"624:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"634:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"624:6:181"}]}]},"name":"abi_decode_tuple_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"426:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"437:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"449:6:181","type":""}],"src":"382:263:181"},{"body":{"nodeType":"YulBlock","src":"720:185:181","statements":[{"body":{"nodeType":"YulBlock","src":"766:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"775:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"778:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"768:6:181"},"nodeType":"YulFunctionCall","src":"768:12:181"},"nodeType":"YulExpressionStatement","src":"768:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"741:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"750:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"737:3:181"},"nodeType":"YulFunctionCall","src":"737:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"762:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"733:3:181"},"nodeType":"YulFunctionCall","src":"733:32:181"},"nodeType":"YulIf","src":"730:52:181"},{"nodeType":"YulVariableDeclaration","src":"791:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"817:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"804:12:181"},"nodeType":"YulFunctionCall","src":"804:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"795:5:181","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"869:5:181"}],"functionName":{"name":"validator_revert_address_payable","nodeType":"YulIdentifier","src":"836:32:181"},"nodeType":"YulFunctionCall","src":"836:39:181"},"nodeType":"YulExpressionStatement","src":"836:39:181"},{"nodeType":"YulAssignment","src":"884:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"894:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"884:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"686:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"697:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"709:6:181","type":""}],"src":"650:255:181"},{"body":{"nodeType":"YulBlock","src":"1005:92:181","statements":[{"nodeType":"YulAssignment","src":"1015:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:181"},"nodeType":"YulFunctionCall","src":"1023:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1015:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1057:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1082:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1075:6:181"},"nodeType":"YulFunctionCall","src":"1075:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1068:6:181"},"nodeType":"YulFunctionCall","src":"1068:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1050:6:181"},"nodeType":"YulFunctionCall","src":"1050:41:181"},"nodeType":"YulExpressionStatement","src":"1050:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"974:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"985:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"996:4:181","type":""}],"src":"910:187:181"},{"body":{"nodeType":"YulBlock","src":"1203:102:181","statements":[{"nodeType":"YulAssignment","src":"1213:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1225:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1236:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1221:3:181"},"nodeType":"YulFunctionCall","src":"1221:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1213:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1255:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1270:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1286:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1291:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1282:3:181"},"nodeType":"YulFunctionCall","src":"1282:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"1295:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1278:3:181"},"nodeType":"YulFunctionCall","src":"1278:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1266:3:181"},"nodeType":"YulFunctionCall","src":"1266:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1248:6:181"},"nodeType":"YulFunctionCall","src":"1248:51:181"},"nodeType":"YulExpressionStatement","src":"1248:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1172:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1183:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1194:4:181","type":""}],"src":"1102:203:181"},{"body":{"nodeType":"YulBlock","src":"1342:95:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1366:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1371:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1362:3:181"},"nodeType":"YulFunctionCall","src":"1362:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1352:6:181"},"nodeType":"YulFunctionCall","src":"1352:31:181"},"nodeType":"YulExpressionStatement","src":"1352:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1399:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1402:4:181","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1392:6:181"},"nodeType":"YulFunctionCall","src":"1392:15:181"},"nodeType":"YulExpressionStatement","src":"1392:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1423:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1426:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1416:6:181"},"nodeType":"YulFunctionCall","src":"1416:15:181"},"nodeType":"YulExpressionStatement","src":"1416:15:181"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"1310:127:181"},{"body":{"nodeType":"YulBlock","src":"1552:229:181","statements":[{"nodeType":"YulAssignment","src":"1562:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1574:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1585:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1570:3:181"},"nodeType":"YulFunctionCall","src":"1570:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1562:4:181"}]},{"body":{"nodeType":"YulBlock","src":"1630:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1651:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1658:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1663:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1654:3:181"},"nodeType":"YulFunctionCall","src":"1654:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1644:6:181"},"nodeType":"YulFunctionCall","src":"1644:31:181"},"nodeType":"YulExpressionStatement","src":"1644:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1695:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1698:4:181","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1688:6:181"},"nodeType":"YulFunctionCall","src":"1688:15:181"},"nodeType":"YulExpressionStatement","src":"1688:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1723:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1726:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1716:6:181"},"nodeType":"YulFunctionCall","src":"1716:15:181"},"nodeType":"YulExpressionStatement","src":"1716:15:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1610:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1618:1:181","type":"","value":"3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1607:2:181"},"nodeType":"YulFunctionCall","src":"1607:13:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1600:6:181"},"nodeType":"YulFunctionCall","src":"1600:21:181"},"nodeType":"YulIf","src":"1597:144:181"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1768:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1750:6:181"},"nodeType":"YulFunctionCall","src":"1750:25:181"},"nodeType":"YulExpressionStatement","src":"1750:25:181"}]},"name":"abi_encode_tuple_t_enum$_State_$24187__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1521:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1532:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1543:4:181","type":""}],"src":"1442:339:181"},{"body":{"nodeType":"YulBlock","src":"1887:76:181","statements":[{"nodeType":"YulAssignment","src":"1897:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1909:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1920:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1905:3:181"},"nodeType":"YulFunctionCall","src":"1905:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1897:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1939:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1950:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1932:6:181"},"nodeType":"YulFunctionCall","src":"1932:25:181"},"nodeType":"YulExpressionStatement","src":"1932:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1856:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1867:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1878:4:181","type":""}],"src":"1786:177:181"},{"body":{"nodeType":"YulBlock","src":"2142:231:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2159:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2170:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2152:6:181"},"nodeType":"YulFunctionCall","src":"2152:21:181"},"nodeType":"YulExpressionStatement","src":"2152:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2193:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2204:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2189:3:181"},"nodeType":"YulFunctionCall","src":"2189:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2209:2:181","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2182:6:181"},"nodeType":"YulFunctionCall","src":"2182:30:181"},"nodeType":"YulExpressionStatement","src":"2182:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2232:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2243:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2228:3:181"},"nodeType":"YulFunctionCall","src":"2228:18:181"},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c7920636c6f736520776869","kind":"string","nodeType":"YulLiteral","src":"2248:34:181","type":"","value":"RefundEscrow: can only close whi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2221:6:181"},"nodeType":"YulFunctionCall","src":"2221:62:181"},"nodeType":"YulExpressionStatement","src":"2221:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2303:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2314:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2299:3:181"},"nodeType":"YulFunctionCall","src":"2299:18:181"},{"hexValue":"6c6520616374697665","kind":"string","nodeType":"YulLiteral","src":"2319:11:181","type":"","value":"le active"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2292:6:181"},"nodeType":"YulFunctionCall","src":"2292:39:181"},"nodeType":"YulExpressionStatement","src":"2292:39:181"},{"nodeType":"YulAssignment","src":"2340:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2352:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2363:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2348:3:181"},"nodeType":"YulFunctionCall","src":"2348:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2340:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8b57f36bbfb6b8cf96de8737d30d9d1cbc0f0335b9d71ea7602e79c09a766100__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2119:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2133:4:181","type":""}],"src":"1968:405:181"},{"body":{"nodeType":"YulBlock","src":"2552:241:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2569:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2580:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2562:6:181"},"nodeType":"YulFunctionCall","src":"2562:21:181"},"nodeType":"YulExpressionStatement","src":"2562:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2603:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2614:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2599:3:181"},"nodeType":"YulFunctionCall","src":"2599:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"2619:2:181","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2592:6:181"},"nodeType":"YulFunctionCall","src":"2592:30:181"},"nodeType":"YulExpressionStatement","src":"2592:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2642:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2653:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2638:3:181"},"nodeType":"YulFunctionCall","src":"2638:18:181"},{"hexValue":"436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420","kind":"string","nodeType":"YulLiteral","src":"2658:34:181","type":"","value":"ConditionalEscrow: payee is not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2631:6:181"},"nodeType":"YulFunctionCall","src":"2631:62:181"},"nodeType":"YulExpressionStatement","src":"2631:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2713:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2724:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2709:3:181"},"nodeType":"YulFunctionCall","src":"2709:18:181"},{"hexValue":"616c6c6f77656420746f207769746864726177","kind":"string","nodeType":"YulLiteral","src":"2729:21:181","type":"","value":"allowed to withdraw"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2702:6:181"},"nodeType":"YulFunctionCall","src":"2702:49:181"},"nodeType":"YulExpressionStatement","src":"2702:49:181"},{"nodeType":"YulAssignment","src":"2760:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2772:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2783:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2768:3:181"},"nodeType":"YulFunctionCall","src":"2768:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2760:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ab85541a5cdc1a44c30d5b8b58432efbc37ed9be825439a16d2e39ce610814a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2529:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2543:4:181","type":""}],"src":"2378:415:181"},{"body":{"nodeType":"YulBlock","src":"2972:240:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2989:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3000:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2982:6:181"},"nodeType":"YulFunctionCall","src":"2982:21:181"},"nodeType":"YulExpressionStatement","src":"2982:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3023:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3034:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3019:3:181"},"nodeType":"YulFunctionCall","src":"3019:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3039:2:181","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3012:6:181"},"nodeType":"YulFunctionCall","src":"3012:30:181"},"nodeType":"YulExpressionStatement","src":"3012:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3062:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3073:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3058:3:181"},"nodeType":"YulFunctionCall","src":"3058:18:181"},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c7920656e61626c65207265","kind":"string","nodeType":"YulLiteral","src":"3078:34:181","type":"","value":"RefundEscrow: can only enable re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3051:6:181"},"nodeType":"YulFunctionCall","src":"3051:62:181"},"nodeType":"YulExpressionStatement","src":"3051:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3133:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3144:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3129:3:181"},"nodeType":"YulFunctionCall","src":"3129:18:181"},{"hexValue":"66756e6473207768696c6520616374697665","kind":"string","nodeType":"YulLiteral","src":"3149:20:181","type":"","value":"funds while active"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3122:6:181"},"nodeType":"YulFunctionCall","src":"3122:48:181"},"nodeType":"YulExpressionStatement","src":"3122:48:181"},{"nodeType":"YulAssignment","src":"3179:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3191:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3202:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3187:3:181"},"nodeType":"YulFunctionCall","src":"3187:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3179:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c983cde4805ee52cdf0ba0ddf13817bc95474a21a1151fc5899abaab3f302200__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2949:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2963:4:181","type":""}],"src":"2798:414:181"},{"body":{"nodeType":"YulBlock","src":"3391:246:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3408:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3419:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3401:6:181"},"nodeType":"YulFunctionCall","src":"3401:21:181"},"nodeType":"YulExpressionStatement","src":"3401:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3442:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3453:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3438:3:181"},"nodeType":"YulFunctionCall","src":"3438:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3458:2:181","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3431:6:181"},"nodeType":"YulFunctionCall","src":"3431:30:181"},"nodeType":"YulExpressionStatement","src":"3431:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3481:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3492:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3477:3:181"},"nodeType":"YulFunctionCall","src":"3477:18:181"},{"hexValue":"526566756e64457363726f773a2062656e65666963696172792063616e206f6e","kind":"string","nodeType":"YulLiteral","src":"3497:34:181","type":"","value":"RefundEscrow: beneficiary can on"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3470:6:181"},"nodeType":"YulFunctionCall","src":"3470:62:181"},"nodeType":"YulExpressionStatement","src":"3470:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3552:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3563:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3548:3:181"},"nodeType":"YulFunctionCall","src":"3548:18:181"},{"hexValue":"6c79207769746864726177207768696c6520636c6f736564","kind":"string","nodeType":"YulLiteral","src":"3568:26:181","type":"","value":"ly withdraw while closed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3541:6:181"},"nodeType":"YulFunctionCall","src":"3541:54:181"},"nodeType":"YulExpressionStatement","src":"3541:54:181"},{"nodeType":"YulAssignment","src":"3604:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3616:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3627:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3612:3:181"},"nodeType":"YulFunctionCall","src":"3612:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3604:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_01d94a28ecd337ff4054022bb41ef2363cd1a92d1c775148e2e03f86b6e5dabc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3368:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3382:4:181","type":""}],"src":"3217:420:181"},{"body":{"nodeType":"YulBlock","src":"3816:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3833:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3844:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3826:6:181"},"nodeType":"YulFunctionCall","src":"3826:21:181"},"nodeType":"YulExpressionStatement","src":"3826:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3867:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3878:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3863:3:181"},"nodeType":"YulFunctionCall","src":"3863:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3883:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3856:6:181"},"nodeType":"YulFunctionCall","src":"3856:30:181"},"nodeType":"YulExpressionStatement","src":"3856:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3906:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3917:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3902:3:181"},"nodeType":"YulFunctionCall","src":"3902:18:181"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"3922:34:181","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3895:6:181"},"nodeType":"YulFunctionCall","src":"3895:62:181"},"nodeType":"YulExpressionStatement","src":"3895:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3977:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3988:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3973:3:181"},"nodeType":"YulFunctionCall","src":"3973:18:181"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"3993:8:181","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3966:6:181"},"nodeType":"YulFunctionCall","src":"3966:36:181"},"nodeType":"YulExpressionStatement","src":"3966:36:181"},{"nodeType":"YulAssignment","src":"4011:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4023:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4034:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4019:3:181"},"nodeType":"YulFunctionCall","src":"4019:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4011:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3793:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3807:4:181","type":""}],"src":"3642:402:181"},{"body":{"nodeType":"YulBlock","src":"4223:233:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4240:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4251:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4233:6:181"},"nodeType":"YulFunctionCall","src":"4233:21:181"},"nodeType":"YulExpressionStatement","src":"4233:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4274:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4285:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4270:3:181"},"nodeType":"YulFunctionCall","src":"4270:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4290:2:181","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4263:6:181"},"nodeType":"YulFunctionCall","src":"4263:30:181"},"nodeType":"YulExpressionStatement","src":"4263:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4313:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4324:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:181"},"nodeType":"YulFunctionCall","src":"4309:18:181"},{"hexValue":"526566756e64457363726f773a2063616e206f6e6c79206465706f7369742077","kind":"string","nodeType":"YulLiteral","src":"4329:34:181","type":"","value":"RefundEscrow: can only deposit w"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4302:6:181"},"nodeType":"YulFunctionCall","src":"4302:62:181"},"nodeType":"YulExpressionStatement","src":"4302:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4384:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4395:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4380:3:181"},"nodeType":"YulFunctionCall","src":"4380:18:181"},{"hexValue":"68696c6520616374697665","kind":"string","nodeType":"YulLiteral","src":"4400:13:181","type":"","value":"hile active"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4373:6:181"},"nodeType":"YulFunctionCall","src":"4373:41:181"},"nodeType":"YulExpressionStatement","src":"4373:41:181"},{"nodeType":"YulAssignment","src":"4423:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4435:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4446:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4431:3:181"},"nodeType":"YulFunctionCall","src":"4431:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4423:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_65d2eddec03fda23f4156a228b50726cf2ff6928b71d9dbcbc2607b547d1e19f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4200:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4214:4:181","type":""}],"src":"4049:407:181"},{"body":{"nodeType":"YulBlock","src":"4635:182:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4652:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4663:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4645:6:181"},"nodeType":"YulFunctionCall","src":"4645:21:181"},"nodeType":"YulExpressionStatement","src":"4645:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4686:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4697:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4682:3:181"},"nodeType":"YulFunctionCall","src":"4682:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4702:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4675:6:181"},"nodeType":"YulFunctionCall","src":"4675:30:181"},"nodeType":"YulExpressionStatement","src":"4675:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4725:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4736:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4721:3:181"},"nodeType":"YulFunctionCall","src":"4721:18:181"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"4741:34:181","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4714:6:181"},"nodeType":"YulFunctionCall","src":"4714:62:181"},"nodeType":"YulExpressionStatement","src":"4714:62:181"},{"nodeType":"YulAssignment","src":"4785:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4797:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4808:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4793:3:181"},"nodeType":"YulFunctionCall","src":"4793:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4785:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4612:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4626:4:181","type":""}],"src":"4461:356:181"},{"body":{"nodeType":"YulBlock","src":"4996:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5013:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5024:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5006:6:181"},"nodeType":"YulFunctionCall","src":"5006:21:181"},"nodeType":"YulExpressionStatement","src":"5006:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5047:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5058:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5043:3:181"},"nodeType":"YulFunctionCall","src":"5043:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5063:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5036:6:181"},"nodeType":"YulFunctionCall","src":"5036:30:181"},"nodeType":"YulExpressionStatement","src":"5036:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5086:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5097:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5082:3:181"},"nodeType":"YulFunctionCall","src":"5082:18:181"},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","kind":"string","nodeType":"YulLiteral","src":"5102:31:181","type":"","value":"Address: insufficient balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5075:6:181"},"nodeType":"YulFunctionCall","src":"5075:59:181"},"nodeType":"YulExpressionStatement","src":"5075:59:181"},{"nodeType":"YulAssignment","src":"5143:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5155:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5166:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5151:3:181"},"nodeType":"YulFunctionCall","src":"5151:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5143:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4973:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4987:4:181","type":""}],"src":"4822:353:181"},{"body":{"nodeType":"YulBlock","src":"5371:14:181","statements":[{"nodeType":"YulAssignment","src":"5373:10:181","value":{"name":"pos","nodeType":"YulIdentifier","src":"5380:3:181"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5373:3:181"}]}]},"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":"5355:3:181","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5363:3:181","type":""}],"src":"5180:205:181"},{"body":{"nodeType":"YulBlock","src":"5564:248:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5581:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5592:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5574:6:181"},"nodeType":"YulFunctionCall","src":"5574:21:181"},"nodeType":"YulExpressionStatement","src":"5574:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5615:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5626:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5611:3:181"},"nodeType":"YulFunctionCall","src":"5611:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5631:2:181","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5604:6:181"},"nodeType":"YulFunctionCall","src":"5604:30:181"},"nodeType":"YulExpressionStatement","src":"5604:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5654:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5665:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5650:3:181"},"nodeType":"YulFunctionCall","src":"5650:18:181"},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c2072","kind":"string","nodeType":"YulLiteral","src":"5670:34:181","type":"","value":"Address: unable to send value, r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5643:6:181"},"nodeType":"YulFunctionCall","src":"5643:62:181"},"nodeType":"YulExpressionStatement","src":"5643:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5725:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5736:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5721:3:181"},"nodeType":"YulFunctionCall","src":"5721:18:181"},{"hexValue":"6563697069656e74206d61792068617665207265766572746564","kind":"string","nodeType":"YulLiteral","src":"5741:28:181","type":"","value":"ecipient may have reverted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5714:6:181"},"nodeType":"YulFunctionCall","src":"5714:56:181"},"nodeType":"YulExpressionStatement","src":"5714:56:181"},{"nodeType":"YulAssignment","src":"5779:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5791:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5802:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5787:3:181"},"nodeType":"YulFunctionCall","src":"5787:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5779:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5541:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5555:4:181","type":""}],"src":"5390:422:181"},{"body":{"nodeType":"YulBlock","src":"5865:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"5900:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5921:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5928:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5933:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5924:3:181"},"nodeType":"YulFunctionCall","src":"5924:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5914:6:181"},"nodeType":"YulFunctionCall","src":"5914:31:181"},"nodeType":"YulExpressionStatement","src":"5914:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5965:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5968:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5958:6:181"},"nodeType":"YulFunctionCall","src":"5958:15:181"},"nodeType":"YulExpressionStatement","src":"5958:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5993:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5996:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5986:6:181"},"nodeType":"YulFunctionCall","src":"5986:15:181"},"nodeType":"YulExpressionStatement","src":"5986:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5881:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5888:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5884:3:181"},"nodeType":"YulFunctionCall","src":"5884:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5878:2:181"},"nodeType":"YulFunctionCall","src":"5878:13:181"},"nodeType":"YulIf","src":"5875:136:181"},{"nodeType":"YulAssignment","src":"6020:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6031:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"6034:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6027:3:181"},"nodeType":"YulFunctionCall","src":"6027:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"6020:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5848:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"5851:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5857:3:181","type":""}],"src":"5817:225:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function validator_revert_address_payable(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := value\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address_payable(value)\n value0 := 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 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 panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_enum$_State_$24187__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n if iszero(lt(value0, 3))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(headStart, value0)\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_encode_tuple_t_stringliteral_8b57f36bbfb6b8cf96de8737d30d9d1cbc0f0335b9d71ea7602e79c09a766100__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"RefundEscrow: can only close whi\")\n mstore(add(headStart, 96), \"le active\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8ab85541a5cdc1a44c30d5b8b58432efbc37ed9be825439a16d2e39ce610814a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"ConditionalEscrow: payee is not \")\n mstore(add(headStart, 96), \"allowed to withdraw\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c983cde4805ee52cdf0ba0ddf13817bc95474a21a1151fc5899abaab3f302200__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"RefundEscrow: can only enable re\")\n mstore(add(headStart, 96), \"funds while active\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_01d94a28ecd337ff4054022bb41ef2363cd1a92d1c775148e2e03f86b6e5dabc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 56)\n mstore(add(headStart, 64), \"RefundEscrow: beneficiary can on\")\n mstore(add(headStart, 96), \"ly withdraw while closed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_65d2eddec03fda23f4156a228b50726cf2ff6928b71d9dbcbc2607b547d1e19f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"RefundEscrow: can only deposit w\")\n mstore(add(headStart, 96), \"hile active\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9__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), \"Address: insufficient balance\")\n tail := add(headStart, 96)\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_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 58)\n mstore(add(headStart, 64), \"Address: unable to send value, r\")\n mstore(add(headStart, 96), \"ecipient may have reverted\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"24196":[{"length":32,"start":187},{"length":32,"start":1307}]},"linkReferences":{},"object":"6080604052600436106100a75760003560e01c80638da5cb5b116100645780638da5cb5b146101895780639af6549a146101a7578063c19d93fb146101bc578063e3a9db1a146101dc578063f2fde38b14610220578063f340fa011461024057600080fd5b806338af3eed146100ac57806343d726d6146100f857806351cff8d91461010f578063685ca1941461012f578063715018a61461015f5780638c52dc4114610174575b600080fd5b3480156100b857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010457600080fd5b5061010d610253565b005b34801561011b57600080fd5b5061010d61012a366004610900565b61030f565b34801561013b57600080fd5b5061014f61014a366004610900565b61038c565b60405190151581526020016100ef565b34801561016b57600080fd5b5061010d6103ae565b34801561018057600080fd5b5061010d6103c2565b34801561019557600080fd5b506000546001600160a01b03166100db565b3480156101b357600080fd5b5061010d610483565b3480156101c857600080fd5b5060025460ff166040516100ef919061093a565b3480156101e857600080fd5b506102126101f7366004610900565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100ef565b34801561022c57600080fd5b5061010d61023b366004610900565b610541565b61010d61024e366004610900565b6105b7565b61025b61063a565b600060025460ff16600281111561027457610274610924565b146102d85760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b6002805460ff1916811790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f90600090a1565b6103188161038c565b6103805760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102cf565b61038981610694565b50565b6000600160025460ff1660028111156103a7576103a7610924565b1492915050565b6103b661063a565b6103c0600061070b565b565b6103ca61063a565b600060025460ff1660028111156103e3576103e3610924565b1461044b5760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102cf565b6002805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b6002805460ff16600281111561049b5761049b610924565b1461050e5760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102cf565b6103c06001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000164761075b565b61054961063a565b6001600160a01b0381166105ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102cf565b6103898161070b565b600060025460ff1660028111156105d0576105d0610924565b146106315760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102cf565b61038981610879565b6000546001600160a01b031633146103c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102cf565b61069c61063a565b6001600160a01b03811660008181526001602052604081208054919055906106c4908261075b565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516106ff91815260200190565b60405180910390a25050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b804710156107ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102cf565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107f8576040519150601f19603f3d011682016040523d82523d6000602084013e6107fd565b606091505b50509050806108745760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102cf565b505050565b61088161063a565b6001600160a01b0381166000908152600160205260408120805434928392916108ab908490610962565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016106ff565b6001600160a01b038116811461038957600080fd5b60006020828403121561091257600080fd5b813561091d816108eb565b9392505050565b634e487b7160e01b600052602160045260246000fd5b602081016003831061095c57634e487b7160e01b600052602160045260246000fd5b91905290565b6000821982111561098357634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212205166b14bf5f8f64f3dc19d6ddcc996b2cc3756d1c954d88dcf54404fdf059a8a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA7 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0x9AF6549A EQ PUSH2 0x1A7 JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xE3A9DB1A EQ PUSH2 0x1DC JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xF340FA01 EQ PUSH2 0x240 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x38AF3EED EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0x43D726D6 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x685CA194 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0x8C52DC41 EQ PUSH2 0x174 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x253 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x12A CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x38C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xEF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x3AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x180 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x3C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x483 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0x93A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x212 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xEF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x541 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0x900 JUMP JUMPDEST PUSH2 0x5B7 JUMP JUMPDEST PUSH2 0x25B PUSH2 0x63A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x274 JUMPI PUSH2 0x274 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x2D8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C7920636C6F736520776869 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x6C6520616374697665 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x88672C3A6E342F7CD94A65BA63B79DF24A8973927B4D05D803C44BBF787D12F SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST PUSH2 0x318 DUP2 PUSH2 0x38C JUMP JUMPDEST PUSH2 0x380 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E646974696F6E616C457363726F773A207061796565206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x616C6C6F77656420746F207769746864726177 PUSH1 0x68 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x694 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A7 PUSH2 0x924 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B6 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x3C0 PUSH1 0x0 PUSH2 0x70B JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x3CA PUSH2 0x63A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x44B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C7920656E61626C65207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x66756E6473207768696C6520616374697665 PUSH1 0x70 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x599D8E5A83CFFB867D051598C4D70E805D59802D8081C1C7D6DFFC5B6ACA2B89 SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x49B JUMPI PUSH2 0x49B PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x50E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2062656E65666963696172792063616E206F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C79207769746864726177207768696C6520636C6F7365640000000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x3C0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SELFBALANCE PUSH2 0x75B JUMP JUMPDEST PUSH2 0x549 PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5AE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x70B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x5D0 JUMPI PUSH2 0x5D0 PUSH2 0x924 JUMP JUMPDEST EQ PUSH2 0x631 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526566756E64457363726F773A2063616E206F6E6C79206465706F7369742077 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x68696C6520616374697665 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x389 DUP2 PUSH2 0x879 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x69C PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP1 SSTORE SWAP1 PUSH2 0x6C4 SWAP1 DUP3 PUSH2 0x75B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x6FF SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 SELFBALANCE LT ISZERO PUSH2 0x7AB 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 0x416464726573733A20696E73756666696369656E742062616C616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2CF JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x7F8 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 0x7FD JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x874 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A20756E61626C6520746F2073656E642076616C75652C2072 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6563697069656E74206D61792068617665207265766572746564000000000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2CF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x881 PUSH2 0x63A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 DUP4 SWAP3 SWAP2 PUSH2 0x8AB SWAP1 DUP5 SWAP1 PUSH2 0x962 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x2DA466A7B24304F47E87FA2E1E5A81B9831CE54FEC19055CE277CA2F39BA42C4 SWAP1 PUSH1 0x20 ADD PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x912 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x91D DUP2 PUSH2 0x8EB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x3 DUP4 LT PUSH2 0x95C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x983 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD PUSH7 0xB14BF5F8F64F3D 0xC1 SWAP14 PUSH14 0xDCC996B2CC3756D1C954D88DCF54 BLOCKHASH 0x4F 0xDF SDIV SWAP11 DUP11 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"638:2551:152:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1469:105;;;;;;;;;;-1:-1:-1;1555:12:152;1469:105;;;-1:-1:-1;;;;;194:32:181;;;176:51;;164:2;149:18;1469:105:152;;;;;;;;2043:197;;;;;;;;;;;;;:::i;:::-;;668:201:150;;;;;;;;;;-1:-1:-1;668:201:150;;;;;:::i;:::-;;:::i;3065:122:152:-;;;;;;;;;;-1:-1:-1;3065:122:152;;;;;:::i;:::-;;:::i;:::-;;;1075:14:181;;1068:22;1050:41;;1038:2;1023:18;3065:122:152;910:187:181;1831:101:9;;;;;;;;;;;;;:::i;2336:218:152:-;;;;;;;;;;;;;:::i;1201:85:9:-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;-1:-1:-1;;;;;1273:6:9;1201:85;;2623:211:152;;;;;;;;;;;;;:::i;1318:83::-;;;;;;;;;;-1:-1:-1;1388:6:152;;;;1318:83;;;;;;:::i;1077:105:151:-;;;;;;;;;;-1:-1:-1;1077:105:151;;;;;:::i;:::-;-1:-1:-1;;;;;1159:16:151;1133:7;1159:16;;;:9;:16;;;;;;;1077:105;;;;1932:25:181;;;1920:2;1905:18;1077:105:151;1786:177:181;2081:198:9;;;;;;;;;;-1:-1:-1;2081:198:9;;;;;:::i;:::-;;:::i;1726:196:152:-;;;;;;:::i;:::-;;:::i;2043:197::-;1094:13:9;:11;:13::i;:::-;2114:12:152::1;1388:6:::0;;;;2103:23:::1;;;;;;;;:::i;:::-;;2095:77;;;::::0;-1:-1:-1;;;2095:77:152;;2170:2:181;2095:77:152::1;::::0;::::1;2152:21:181::0;2209:2;2189:18;;;2182:30;2248:34;2228:18;;;2221:62;-1:-1:-1;;;2299:18:181;;;2292:39;2348:19;;2095:77:152::1;;;;;;;;;2191:12;2182:21:::0;;-1:-1:-1;;2182:21:152::1;::::0;::::1;::::0;;2218:15:::1;::::0;::::1;::::0;-1:-1:-1;;2218:15:152::1;2043:197::o:0;668:201:150:-;751:24;769:5;751:17;:24::i;:::-;743:88;;;;-1:-1:-1;;;743:88:150;;2580:2:181;743:88:150;;;2562:21:181;2619:2;2599:18;;;2592:30;2658:34;2638:18;;;2631:62;-1:-1:-1;;;2709:18:181;;;2702:49;2768:19;;743:88:150;2378:415:181;743:88:150;841:21;856:5;841:14;:21::i;:::-;668:201;:::o;3065:122:152:-;3131:4;3165:15;1388:6;;;;3154:26;;;;;;;;:::i;:::-;;;3065:122;-1:-1:-1;;3065:122:152:o;1831:101:9:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2336:218:152:-;1094:13:9;:11;:13::i;:::-;2415:12:152::1;1388:6:::0;;;;2404:23:::1;;;;;;;;:::i;:::-;;2396:86;;;::::0;-1:-1:-1;;;2396:86:152;;3000:2:181;2396:86:152::1;::::0;::::1;2982:21:181::0;3039:2;3019:18;;;3012:30;3078:34;3058:18;;;3051:62;-1:-1:-1;;;3129:18:181;;;3122:48;3187:19;;2396:86:152::1;2798:414:181::0;2396:86:152::1;2492:6;:24:::0;;-1:-1:-1;;2492:24:152::1;2501:15;2492:24;::::0;;2531:16:::1;::::0;::::1;::::0;-1:-1:-1;;2531:16:152::1;2336:218::o:0;2623:211::-;2698:12;1388:6;;;;2687:23;;;;;;;;:::i;:::-;;2679:92;;;;-1:-1:-1;;;2679:92:152;;3419:2:181;2679:92:152;;;3401:21:181;3458:2;3438:18;;;3431:30;3497:34;3477:18;;;3470:62;3568:26;3548:18;;;3541:54;3612:19;;2679:92:152;3217:420:181;2679:92:152;2781:46;-1:-1:-1;;;;;1555:12:152;2781:23;2805:21;2781:23;:46::i;2081:198:9:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:9;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:9;;3844:2:181;2161:73:9::1;::::0;::::1;3826:21:181::0;3883:2;3863:18;;;3856:30;3922:34;3902:18;;;3895:62;-1:-1:-1;;;3973:18:181;;;3966:36;4019:19;;2161:73:9::1;3642:402:181::0;2161:73:9::1;2244:28;2263:8;2244:18;:28::i;1726:196:152:-:0;1822:12;1388:6;;;;1811:23;;;;;;;;:::i;:::-;;1803:79;;;;-1:-1:-1;;;1803:79:152;;4251:2:181;1803:79:152;;;4233:21:181;4290:2;4270:18;;;4263:30;4329:34;4309:18;;;4302:62;-1:-1:-1;;;4380:18:181;;;4373:41;4431:19;;1803:79:152;4049:407:181;1803:79:152;1892:23;1906:8;1892:13;:23::i;1359:130:9:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;719:10:138;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;4663:2:181;1414:68:9;;;4645:21:181;;;4682:18;;;4675:30;4741:34;4721:18;;;4714:62;4793:18;;1414:68:9;4461:356:181;2027:224:151;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;2121:16:151;::::1;2103:15;2121:16:::0;;;:9:::1;:16;::::0;;;;;;2148:20;;;2121:16;2179:24:::1;::::0;2121:16;2179:15:::1;:24::i;:::-;2229:5;-1:-1:-1::0;;;;;2219:25:151::1;;2236:7;2219:25;;;;1932::181::0;;1920:2;1905:18;;1786:177;2219:25:151::1;;;;;;;;2093:158;2027:224:::0;:::o;2433:187:9:-;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:9;;;-1:-1:-1;;;;;;2541:17:9;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;2412:312:134:-;2526:6;2501:21;:31;;2493:73;;;;-1:-1:-1;;;2493:73:134;;5024:2:181;2493:73:134;;;5006:21:181;5063:2;5043:18;;;5036:30;5102:31;5082:18;;;5075:59;5151:18;;2493:73:134;4822:353:181;2493:73:134;2578:12;2596:9;-1:-1:-1;;;;;2596:14:134;2618:6;2596:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:52;;;2647:7;2639:78;;;;-1:-1:-1;;;2639:78:134;;5592:2:181;2639:78:134;;;5574:21:181;5631:2;5611:18;;;5604:30;5670:34;5650:18;;;5643:62;5741:28;5721:18;;;5714:56;5787:19;;2639:78:134;5390:422:181;2639:78:134;2483:241;2412:312;;:::o;1365:183:151:-;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;1476:16:151;::::1;1440:14;1476:16:::0;;;:9:::1;:16;::::0;;;;:26;;1457:9:::1;::::0;;;1476:16;:26:::1;::::0;1457:9;;1476:26:::1;:::i;:::-;::::0;;;-1:-1:-1;;1517:24:151::1;::::0;1932:25:181;;;-1:-1:-1;;;;;1517:24:151;::::1;::::0;::::1;::::0;1920:2:181;1905:18;1517:24:151::1;1786:177:181::0;238:139;-1:-1:-1;;;;;321:31:181;;311:42;;301:70;;367:1;364;357:12;382:263;449:6;502:2;490:9;481:7;477:23;473:32;470:52;;;518:1;515;508:12;470:52;557:9;544:23;576:39;609:5;576:39;:::i;:::-;634:5;382:263;-1:-1:-1;;;382:263:181:o;1310:127::-;1371:10;1366:3;1362:20;1359:1;1352:31;1402:4;1399:1;1392:15;1426:4;1423:1;1416:15;1442:339;1585:2;1570:18;;1618:1;1607:13;;1597:144;;1663:10;1658:3;1654:20;1651:1;1644:31;1698:4;1695:1;1688:15;1726:4;1723:1;1716:15;1597:144;1750:25;;;1442:339;:::o;5817:225::-;5857:3;5888:1;5884:6;5881:1;5878:13;5875:136;;;5933:10;5928:3;5924:20;5921:1;5914:31;5968:4;5965:1;5958:15;5996:4;5993:1;5986:15;5875:136;-1:-1:-1;6027:9:181;;5817:225::o"},"methodIdentifiers":{"beneficiary()":"38af3eed","beneficiaryWithdraw()":"9af6549a","close()":"43d726d6","deposit(address)":"f340fa01","depositsOf(address)":"e3a9db1a","enableRefunds()":"8c52dc41","owner()":"8da5cb5b","renounceOwnership()":"715018a6","state()":"c19d93fb","transferOwnership(address)":"f2fde38b","withdraw(address)":"51cff8d9","withdrawalAllowed(address)":"685ca194"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"beneficiary_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"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\":[],\"name\":\"RefundsClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"RefundsEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"beneficiary\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"beneficiaryWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"close\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"refundee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableRefunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum RefundEscrow.State\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Escrow that holds funds for a beneficiary, deposited from multiple parties.Intended usage: See {Escrow}. Same usage guidelines apply here.The owner account (that is, the contract that instantiates this contract) may deposit, close the deposit period, and allow for either withdrawal by the beneficiary, or refunds to the depositors. All interactions with `RefundEscrow` will be made through the owner contract.\",\"kind\":\"dev\",\"methods\":{\"beneficiary()\":{\"returns\":{\"_0\":\"The beneficiary of the escrow.\"}},\"beneficiaryWithdraw()\":{\"details\":\"Withdraws the beneficiary's funds.\"},\"close()\":{\"details\":\"Allows for the beneficiary to withdraw their funds, rejecting further deposits.\"},\"constructor\":{\"details\":\"Constructor.\",\"params\":{\"beneficiary_\":\"The beneficiary of the deposits.\"}},\"deposit(address)\":{\"details\":\"Stores funds that may later be refunded.\",\"params\":{\"refundee\":\"The address funds will be sent to if a refund occurs.\"}},\"enableRefunds()\":{\"details\":\"Allows for refunds to take place, rejecting further deposits.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"state()\":{\"returns\":{\"_0\":\"The current state of the escrow.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(address)\":{\"details\":\"Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"The address whose funds will be withdrawn and transferred to. Emits a {Withdrawn} event.\"}},\"withdrawalAllowed(address)\":{\"details\":\"Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a 'payee' argument, but we ignore it here since the condition is global, not per-payee.\"}},\"title\":\"RefundEscrow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol\":\"RefundEscrow\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"contracts/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"contracts/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xf71d228abc2df1a5020ba208b237718e22cad6b3532f5e8f1021f4f15068e290\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e42465b2c37a5d9286678ad167ed75691cb7bd2f6abcb677e7820ac58263a723\",\"dweb:/ipfs/QmdxVmnFC6ELiJLcQauqJxR353hjT2eNQ5ELHv1j46KeHi\"]},\"contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]},\"contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol\":{\"keccak256\":\"0xcfcaa88a5cbc8d21c14550a6051708a03e902ded254fc0b0bbd44500386d3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d7707cbf9bbbf30893035c3c18d74edb42ab87b2ac95c61c62d71beff18a532\",\"dweb:/ipfs/QmYQrGDB3PoTMFU54FNC5EPToQo7uzwmXhEYgVnjciYnV5\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol":{"ERC165Checker":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220463d7f0a75f68a5663749b8982b903b76b8bf80cacd28aaf79343877c9d114ef64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID RETURNDATASIZE PUSH32 0xA75F68A5663749B8982B903B76B8BF80CACD28AAF79343877C9D114EF64736F PUSH13 0x63430008090033000000000000 ","sourceMap":"449:4462:154:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;449:4462:154;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220463d7f0a75f68a5663749b8982b903b76b8bf80cacd28aaf79343877c9d114ef64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID RETURNDATASIZE PUSH32 0xA75F68A5663749B8982B903B76B8BF80CACD28AAF79343877C9D114EF64736F PUSH13 0x63430008090033000000000000 ","sourceMap":"449:4462:154:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library used to query support of an interface declared via {IERC165}. Note that these functions return the actual result of the query: they do not `revert` if an interface is not supported. It is up to the caller to decide what to do in these cases.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol\":\"ERC165Checker\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x0812bc73d6e30558840122fa48d6f64ae978ccc1b1fc42e616bac190c6360f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d95a53b7e19ca1d46043eaad8967b6e0b02aab2b5fefc2108bfa6d1ad425f5b\",\"dweb:/ipfs/QmQq7AUGT9juE3hun2Wy7r2BDoDBFdBn43DVwhJpK2StLV\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol":{"ERC165Storage":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Storage based implementation of the {IERC165} interface. Contracts may inherit from this and call {_registerInterface} to declare their support of an interface.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"stateVariables\":{\"_supportedInterfaces\":{\"details\":\"Mapping of interface ids to whether or not it's supported.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol\":\"ERC165Storage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol\":{\"keccak256\":\"0x77bf0086774bab931413c3388d3a0f7d44cf6878965b72147f57bb0fbbf394bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22318b1de700090cdc18992c2284437b25c4862f16f7b9b37a317fdb16aa44df\",\"dweb:/ipfs/QmQrgXR7hRSyjZSgjV3nUFGx3Rqq3ESXPsaXh2mdR8vmUc\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol":{"ERC1820Implementer":{"abi":[{"inputs":[{"internalType":"bytes32","name":"interfaceHash","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"canImplementInterfaceForAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610114806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063249cb3fa14602d575b600080fd5b603c603836600460a4565b604e565b60405190815260200160405180910390f35b6000828152602081815260408083206001600160a01b038516845290915281205460ff16607b576000609d565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b6000806040838503121560b657600080fd5b8235915060208301356001600160a01b038116811460d357600080fd5b80915050925092905056fea26469706673582212201a3c34ee314b50dbfe774a1cbe7cd239c1af2462824057d0b144899cde75531664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x114 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x249CB3FA EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3C PUSH1 0x38 CALLDATASIZE PUSH1 0x4 PUSH1 0xA4 JUMP JUMPDEST PUSH1 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x7B JUMPI PUSH1 0x0 PUSH1 0x9D JUMP JUMPDEST PUSH32 0xA2EF4600D742022D532D4747CB3547474667D6F13804902513B2EC01C848F4B4 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH1 0xB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH1 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BYTE EXTCODECOPY CALLVALUE 0xEE BALANCE 0x4B POP 0xDB INVALID PUSH24 0x4A1CBE7CD239C1AF2462824057D0B144899CDE7553166473 PUSH16 0x6C634300080900330000000000000000 ","sourceMap":"482:993:156:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@canImplementInterfaceForAddress_24663":{"entryPoint":78,"id":24663,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":164,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:552:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"101:267:181","statements":[{"body":{"nodeType":"YulBlock","src":"147:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"156:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"149:6:181"},"nodeType":"YulFunctionCall","src":"149:12:181"},"nodeType":"YulExpressionStatement","src":"149:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"122:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"131:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"118:3:181"},"nodeType":"YulFunctionCall","src":"118:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"143:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"114:3:181"},"nodeType":"YulFunctionCall","src":"114:32:181"},"nodeType":"YulIf","src":"111:52:181"},{"nodeType":"YulAssignment","src":"172:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"195:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"182:12:181"},"nodeType":"YulFunctionCall","src":"182:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"172:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"214:45:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"244:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"255:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"240:3:181"},"nodeType":"YulFunctionCall","src":"240:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"227:12:181"},"nodeType":"YulFunctionCall","src":"227:32:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"218:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"322:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"331:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"334:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"324:6:181"},"nodeType":"YulFunctionCall","src":"324:12:181"},"nodeType":"YulExpressionStatement","src":"324:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"281:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"292:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"307:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"312:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"303:3:181"},"nodeType":"YulFunctionCall","src":"303:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"316:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"299:3:181"},"nodeType":"YulFunctionCall","src":"299:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"288:3:181"},"nodeType":"YulFunctionCall","src":"288:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"278:2:181"},"nodeType":"YulFunctionCall","src":"278:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"271:6:181"},"nodeType":"YulFunctionCall","src":"271:50:181"},"nodeType":"YulIf","src":"268:70:181"},{"nodeType":"YulAssignment","src":"347:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"357:5:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"347:6:181"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"59:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"70:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"82:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"90:6:181","type":""}],"src":"14:354:181"},{"body":{"nodeType":"YulBlock","src":"474:76:181","statements":[{"nodeType":"YulAssignment","src":"484:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"496:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"507:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"492:3:181"},"nodeType":"YulFunctionCall","src":"492:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"484:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"526:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"537:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"519:6:181"},"nodeType":"YulFunctionCall","src":"519:25:181"},"nodeType":"YulExpressionStatement","src":"519:25:181"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"443:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"454:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"465:4:181","type":""}],"src":"373:177:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := 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}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052348015600f57600080fd5b506004361060285760003560e01c8063249cb3fa14602d575b600080fd5b603c603836600460a4565b604e565b60405190815260200160405180910390f35b6000828152602081815260408083206001600160a01b038516845290915281205460ff16607b576000609d565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b6000806040838503121560b657600080fd5b8235915060208301356001600160a01b038116811460d357600080fd5b80915050925092905056fea26469706673582212201a3c34ee314b50dbfe774a1cbe7cd239c1af2462824057d0b144899cde75531664736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x249CB3FA EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3C PUSH1 0x38 CALLDATASIZE PUSH1 0x4 PUSH1 0xA4 JUMP JUMPDEST PUSH1 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x7B JUMPI PUSH1 0x0 PUSH1 0x9D JUMP JUMPDEST PUSH32 0xA2EF4600D742022D532D4747CB3547474667D6F13804902513B2EC01C848F4B4 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH1 0xB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH1 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BYTE EXTCODECOPY CALLVALUE 0xEE BALANCE 0x4B POP 0xDB INVALID PUSH24 0x4A1CBE7CD239C1AF2462824057D0B144899CDE7553166473 PUSH16 0x6C634300080900330000000000000000 ","sourceMap":"482:993:156:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;795:280;;;;;;:::i;:::-;;:::i;:::-;;;519:25:181;;;507:2;492:18;795:280:156;;;;;;;;954:7;984:35;;;;;;;;;;;-1:-1:-1;;;;;984:44:156;;;;;;;;;;;;:84;;1063:4;984:84;;;588:33;984:84;977:91;795:280;-1:-1:-1;;;795:280:156:o;14:354:181:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;182:23;;;-1:-1:-1;255:2:181;240:18;;227:32;-1:-1:-1;;;;;288:31:181;;278:42;;268:70;;334:1;331;324:12;268:70;357:5;347:15;;;14:354;;;;;:::o"},"methodIdentifiers":{"canImplementInterfaceForAddress(bytes32,address)":"249cb3fa"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"canImplementInterfaceForAddress\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC1820Implementer} interface. Contracts may inherit from this and call {_registerInterfaceForAddress} to declare their willingness to be implementers. {IERC1820Registry-setInterfaceImplementer} should then be called for the registration to be complete.\",\"kind\":\"dev\",\"methods\":{\"canImplementInterfaceForAddress(bytes32,address)\":{\"details\":\"See {IERC1820Implementer-canImplementInterfaceForAddress}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol\":\"ERC1820Implementer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol\":{\"keccak256\":\"0xb9984c03b2de05701f0e3610d783651a4552b4e0a453a3440894546ec2d188d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d292900a14891fe5a344315a4b912801265ff65a3ed9a916db5c1c004c20a59b\",\"dweb:/ipfs/QmRMAF1EXrpk2ic1FcY9xSxyPB6j1EGCwCT4QX6uHqxvpU\"]},\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol\":{\"keccak256\":\"0xc94f9b84096deaf9d2ba5681db62455e3f2d5f0a61341f68a6f576f32a6e60be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74465bbd80d2e8cfb900bf00c69940822d59bfee20d3a9725fbd74e26413319b\",\"dweb:/ipfs/QmYLEg43ZBYBsjx6qDiHK21P4YjVYLzQcUMhadrdqmA5ZL\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol":{"IERC1820Implementer":{"abi":[{"inputs":[{"internalType":"bytes32","name":"interfaceHash","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"canImplementInterfaceForAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"canImplementInterfaceForAddress(bytes32,address)":"249cb3fa"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"canImplementInterfaceForAddress\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for an ERC1820 implementer, as defined in the https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP]. Used by contracts that will be registered as implementers in the {IERC1820Registry}.\",\"kind\":\"dev\",\"methods\":{\"canImplementInterfaceForAddress(bytes32,address)\":{\"details\":\"Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract implements `interfaceHash` for `account`. See {IERC1820Registry-setInterfaceImplementer}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol\":\"IERC1820Implementer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol\":{\"keccak256\":\"0xc94f9b84096deaf9d2ba5681db62455e3f2d5f0a61341f68a6f576f32a6e60be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74465bbd80d2e8cfb900bf00c69940822d59bfee20d3a9725fbd74e26413319b\",\"dweb:/ipfs/QmYLEg43ZBYBsjx6qDiHK21P4YjVYLzQcUMhadrdqmA5ZL\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol":{"IERC1820Registry":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"bytes32","name":"interfaceHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"implementer","type":"address"}],"name":"InterfaceImplementerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"newManager","type":"address"}],"name":"ManagerChanged","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"_interfaceHash","type":"bytes32"}],"name":"getInterfaceImplementer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"implementsERC165Interface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"implementsERC165InterfaceNoCache","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"interfaceName","type":"string"}],"name":"interfaceHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"_interfaceHash","type":"bytes32"},{"internalType":"address","name":"implementer","type":"address"}],"name":"setInterfaceImplementer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"newManager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"updateERC165Cache","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getInterfaceImplementer(address,bytes32)":"aabbb8ca","getManager(address)":"3d584063","implementsERC165Interface(address,bytes4)":"f712f3e8","implementsERC165InterfaceNoCache(address,bytes4)":"b7056765","interfaceHash(string)":"65ba36c1","setInterfaceImplementer(address,bytes32,address)":"29965a1d","setManager(address,address)":"5df8122f","updateERC165Cache(address,bytes4)":"a41e7d51"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementer\",\"type\":\"address\"}],\"name\":\"InterfaceImplementerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ManagerChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_interfaceHash\",\"type\":\"bytes32\"}],\"name\":\"getInterfaceImplementer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"implementsERC165Interface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"implementsERC165InterfaceNoCache\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"interfaceName\",\"type\":\"string\"}],\"name\":\"interfaceHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_interfaceHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"implementer\",\"type\":\"address\"}],\"name\":\"setInterfaceImplementer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"setManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"updateERC165Cache\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the global ERC1820 Registry, as defined in the https://eips.ethereum.org/EIPS/eip-1820[EIP]. Accounts may register implementers for interfaces in this registry, as well as query support. Implementers may be shared by multiple accounts, and can also implement more than a single interface for each account. Contracts can implement interfaces for themselves, but externally-owned accounts (EOA) must delegate this to a contract. {IERC165} interfaces can also be queried via the registry. For an in-depth explanation and source code analysis, see the EIP text.\",\"kind\":\"dev\",\"methods\":{\"getInterfaceImplementer(address,bytes32)\":{\"details\":\"Returns the implementer of `interfaceHash` for `account`. If no such implementer is registered, returns the zero address. If `interfaceHash` is an {IERC165} interface id (i.e. it ends with 28 zeroes), `account` will be queried for support of it. `account` being the zero address is an alias for the caller's address.\"},\"getManager(address)\":{\"details\":\"Returns the manager for `account`. See {setManager}.\"},\"implementsERC165Interface(address,bytes4)\":{\"params\":{\"account\":\"Address of the contract to check.\",\"interfaceId\":\"ERC165 interface to check.\"},\"returns\":{\"_0\":\"True if `account` implements `interfaceId`, false otherwise.\"}},\"implementsERC165InterfaceNoCache(address,bytes4)\":{\"params\":{\"account\":\"Address of the contract to check.\",\"interfaceId\":\"ERC165 interface to check.\"},\"returns\":{\"_0\":\"True if `account` implements `interfaceId`, false otherwise.\"}},\"interfaceHash(string)\":{\"details\":\"Returns the interface hash for an `interfaceName`, as defined in the corresponding https://eips.ethereum.org/EIPS/eip-1820#interface-name[section of the EIP].\"},\"setInterfaceImplementer(address,bytes32,address)\":{\"details\":\"Sets the `implementer` contract as ``account``'s implementer for `interfaceHash`. `account` being the zero address is an alias for the caller's address. The zero address can also be used in `implementer` to remove an old one. See {interfaceHash} to learn how these are created. Emits an {InterfaceImplementerSet} event. Requirements: - the caller must be the current manager for `account`. - `interfaceHash` must not be an {IERC165} interface id (i.e. it must not end in 28 zeroes). - `implementer` must implement {IERC1820Implementer} and return true when queried for support, unless `implementer` is the caller. See {IERC1820Implementer-canImplementInterfaceForAddress}.\"},\"setManager(address,address)\":{\"details\":\"Sets `newManager` as the manager for `account`. A manager of an account is able to set interface implementers for it. By default, each account is its own manager. Passing a value of `0x0` in `newManager` will reset the manager to this initial state. Emits a {ManagerChanged} event. Requirements: - the caller must be the current manager for `account`.\"},\"updateERC165Cache(address,bytes4)\":{\"params\":{\"account\":\"Address of the contract for which to update the cache.\",\"interfaceId\":\"ERC165 interface for which to update the cache.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"implementsERC165Interface(address,bytes4)\":{\"notice\":\"Checks whether a contract implements an ERC165 interface or not. If the result is not cached a direct lookup on the contract address is performed. If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling {updateERC165Cache} with the contract address.\"},\"implementsERC165InterfaceNoCache(address,bytes4)\":{\"notice\":\"Checks whether a contract implements an ERC165 interface or not without using or updating the cache.\"},\"updateERC165Cache(address,bytes4)\":{\"notice\":\"Updates the cache with whether the contract implements an ERC165 interface or not.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":\"IERC1820Registry\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0xd750324b0fc76aa4c1b0aadf7cab03b3d1cc4d5744348c18ba2b99dbdbe1758d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d53cbf8e2e469a6422fb61d8636af3ec39d8e10e7f4d99d625bdd36d4b8ddf34\",\"dweb:/ipfs/QmNhvk3jmfgquVki2V7gNmTWTMeNwEPCnetybeBntQtsyJ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/math/Math.sol":{"Math":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203fecab4afa3f930b38a22aa19b8ef158044789776959957de3b7f363e8100ebb64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xEC 0xAB 0x4A STATICCALL EXTCODEHASH SWAP4 SIGNEXTEND CODESIZE LOG2 0x2A LOG1 SWAP12 DUP15 CALL PC DIV SELFBALANCE DUP10 PUSH24 0x6959957DE3B7F363E8100EBB64736F6C6343000809003300 ","sourceMap":"202:12302:160:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12302:160;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203fecab4afa3f930b38a22aa19b8ef158044789776959957de3b7f363e8100ebb64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xEC 0xAB 0x4A STATICCALL EXTCODEHASH SWAP4 SIGNEXTEND CODESIZE LOG2 0x2A LOG1 SWAP12 DUP15 CALL PC DIV SELFBALANCE DUP10 PUSH24 0x6959957DE3B7F363E8100EBB64736F6C6343000809003300 ","sourceMap":"202:12302:160:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol":{"SafeCast":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209d613beed313291dbf3f756cedf70047ec88202ffaf79b8a77530fcd3ace0cff64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 PUSH2 0x3BEE 0xD3 SGT 0x29 SAR 0xBF EXTCODEHASH PUSH22 0x6CEDF70047EC88202FFAF79B8A77530FCD3ACE0CFF64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"927:34153:161:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;927:34153:161;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209d613beed313291dbf3f756cedf70047ec88202ffaf79b8a77530fcd3ace0cff64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 PUSH2 0x3BEE 0xD3 SGT 0x29 SAR 0xBF EXTCODEHASH PUSH22 0x6CEDF70047EC88202FFAF79B8A77530FCD3ACE0CFF64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"927:34153:161:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol":{"SafeMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ad225ad064f268cf66e8ac3a8b94b48698b90e7aaf823ffef3bea421999791c64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xD2 0x25 0xAD MOD 0x4F 0x26 DUP13 0xF6 PUSH15 0x8AC3A8B94B48698B90E7AAF823FFEF EXTCODESIZE 0xEA TIMESTAMP NOT SWAP10 PUSH26 0x1C64736F6C634300080900330000000000000000000000000000 ","sourceMap":"482:6300:162:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;482:6300:162;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ad225ad064f268cf66e8ac3a8b94b48698b90e7aaf823ffef3bea421999791c64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xD2 0x25 0xAD MOD 0x4F 0x26 DUP13 0xF6 PUSH15 0x8AC3A8B94B48698B90E7AAF823FFEF EXTCODESIZE 0xEA TIMESTAMP NOT SWAP10 PUSH26 0x1C64736F6C634300080900330000000000000000000000000000 ","sourceMap":"482:6300:162:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations. NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler now has built in overflow checking.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0x0f633a0223d9a1dcccfcf38a64c9de0874dfcbfac0c6941ccf074d63a2ce0e1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864a40efcffdf408044c332a5aa38ec5618ed7b4eecb8f65faf45671bd6cdc65\",\"dweb:/ipfs/QmQJquTMtc6fgm5JQzGdsGpA2fqBe3MHWEdt2qzaLySMdN\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220834710b674cb566bf13f8f77a4cf1fe546742a1f01e5c7c7a96895c842b7476f64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 SELFBALANCE LT 0xB6 PUSH21 0xCB566BF13F8F77A4CF1FE546742A1F01E5C7C7A968 SWAP6 0xC8 TIMESTAMP 0xB7 SELFBALANCE PUSH16 0x64736F6C634300080900330000000000 ","sourceMap":"215:1047:163:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1047:163;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220834710b674cb566bf13f8f77a4cf1fe546742a1f01e5c7c7a96895c842b7476f64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 SELFBALANCE LT 0xB6 PUSH21 0xCB566BF13F8F77A4CF1FE546742A1F01E5C7C7A968 SWAP6 0xC8 TIMESTAMP 0xB7 SELFBALANCE PUSH16 0x64736F6C634300080900330000000000 ","sourceMap":"215:1047:163:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol":{"SignedSafeMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122050c016ba115613dba769ad4f90562812a897fe7beafa080c4c6c1576c4f053af64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP 0xC0 AND 0xBA GT JUMP SGT 0xDB 0xA7 PUSH10 0xAD4F90562812A897FE7B 0xEA STATICCALL ADDMOD 0xC 0x4C PUSH13 0x1576C4F053AF64736F6C634300 ADDMOD MULMOD STOP CALLER ","sourceMap":"316:1399:164:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;316:1399:164;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122050c016ba115613dba769ad4f90562812a897fe7beafa080c4c6c1576c4f053af64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP 0xC0 AND 0xBA GT JUMP SGT 0xDB 0xA7 PUSH10 0xAD4F90562812A897FE7B 0xEA STATICCALL ADDMOD 0xC 0x4C PUSH13 0x1576C4F053AF64736F6C634300 ADDMOD MULMOD STOP CALLER ","sourceMap":"316:1399:164:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations. NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler now has built in overflow checking.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol\":\"SignedSafeMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol\":{\"keccak256\":\"0x62f53f262fabbbc6d8ab49488d8fce36370351aff2b8d3898d499d68995a71c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efd599513c2f313a3f5e9536beb2b80a0d2b3dd34202c174a707d81b7dc751ce\",\"dweb:/ipfs/QmdDiENVFSyWjfFskNLnViMH77DHg3oDthkSZk7dMzNNKB\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol":{"BitMaps":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f837af2299fc07216a4fe044aedb62687996705ff65db2429c899b5f021e6b2664736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 CALLDATACOPY 0xAF 0x22 SWAP10 0xFC SMOD 0x21 PUSH11 0x4FE044AEDB62687996705F 0xF6 0x5D 0xB2 TIMESTAMP SWAP13 DUP10 SWAP12 0x5F MUL 0x1E PUSH12 0x2664736F6C63430008090033 ","sourceMap":"405:1184:165:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;405:1184:165;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f837af2299fc07216a4fe044aedb62687996705ff65db2429c899b5f021e6b2664736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 CALLDATACOPY 0xAF 0x22 SWAP10 0xFC SMOD 0x21 PUSH11 0x4FE044AEDB62687996705F 0xF6 0x5D 0xB2 TIMESTAMP SWAP13 DUP10 SWAP12 0x5F MUL 0x1E PUSH12 0x2664736F6C63430008090033 ","sourceMap":"405:1184:165:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential. Largely inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol\":\"BitMaps\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0xbe43faa7ef7ac3c588d91a2f457fb90f4dc0cf9972b0eb8d9bdfa7d136f25df5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea4732350035680324e30e0e3ab8af2452cc63ef7ab790a8eb36f6acbbda9f6\",\"dweb:/ipfs/QmV1DfVg96UJJ5pk92wUBzdyosqTryxvZkq3uTJ2CztTVZ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"DoubleEndedQueue":{"abi":[{"inputs":[],"name":"Empty","type":"error"},{"inputs":[],"name":"OutOfBounds","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122069320a22dccd70b63fdd44a8c8b6b14046cefa469c5934c6126375a9079361da64736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH10 0x320A22DCCD70B63FDD44 0xA8 0xC8 0xB6 0xB1 BLOCKHASH CHAINID 0xCE STATICCALL CHAINID SWAP13 MSIZE CALLVALUE 0xC6 SLT PUSH4 0x75A90793 PUSH2 0xDA64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"835:5066:166:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;835:5066:166;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122069320a22dccd70b63fdd44a8c8b6b14046cefa469c5934c6126375a9079361da64736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH10 0x320A22DCCD70B63FDD44 0xA8 0xC8 0xB6 0xB1 BLOCKHASH CHAINID 0xCE STATICCALL CHAINID SWAP13 MSIZE CALLVALUE 0xC6 SLT PUSH4 0x75A90793 PUSH2 0xDA64 PUSH20 0x6F6C634300080900330000000000000000000000 ","sourceMap":"835:5066:166:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OutOfBounds\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that the existing queue contents are left in storage. The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be used in storage, and not in memory. ``` DoubleEndedQueue.Bytes32Deque queue; ``` _Available since v4.6._\",\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}],\"OutOfBounds()\":[{\"details\":\"An operation (e.g. {at}) couldn't be completed due to an index being out of bounds.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":\"DoubleEndedQueue\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0x4859ffd6dd69382a1462930c00b6e394007da80e78e510f56930271034737bf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0497f84a7fdfafac2046d23b456a05454365d38bb59883b7d8ce398a26704f4f\",\"dweb:/ipfs/QmZSXpAvoXWkxQ4U2GJ4juWvmn4Fd7zeH9wXZq6wKUbfi6\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol":{"EnumerableMap":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ed22e4d92831790f3bd11fc419501c1561dd865e840ca95c3118c5bc8cc639464736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xD2 0x2E 0x4D SWAP3 DUP4 OR SWAP1 RETURN 0xBD GT 0xFC COINBASE SWAP6 ADD 0xC1 JUMP SAR 0xD8 PUSH6 0xE840CA95C311 DUP13 JUMPDEST 0xC8 0xCC PUSH4 0x9464736F PUSH13 0x63430008090033000000000000 ","sourceMap":"1621:15801:167:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1621:15801:167;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ed22e4d92831790f3bd11fc419501c1561dd865e840ca95c3118c5bc8cc639464736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xD2 0x2E 0x4D SWAP3 DUP4 OR SWAP1 RETURN 0xBD GT 0xFC COINBASE SWAP6 ADD 0xC1 JUMP SAR 0xD8 PUSH6 0xE840CA95C311 DUP13 JUMPDEST 0xC8 0xCC PUSH4 0x9464736F PUSH13 0x63430008090033000000000000 ","sourceMap":"1621:15801:167:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. Maps have the following properties: - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` The following map types are supported: - `uint256 -> address` (`UintToAddressMap`) since v3.0.0 - `address -> uint256` (`AddressToUintMap`) since v4.6.0 - `bytes32 -> bytes32` (`Bytes32ToBytes32Map`) since v4.6.0 - `uint256 -> uint256` (`UintToUintMap`) since v4.7.0 - `bytes32 -> uint256` (`Bytes32ToUintMap`) since v4.7.0 [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableMap, you can either remove all elements one by one or create a fresh instance using an array of EnumerableMap. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol\":\"EnumerableMap\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol\":{\"keccak256\":\"0x5094b17cb46143943f3206d0738b91a05a7005e979681af7210d534cd3e72f54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a55fbc9ee8080ec3b397e8e32e5dafcff2c377ce44d553bfc93dfce1be2d5b12\",\"dweb:/ipfs/QmYSk6bNHnpKRyNWXmEBKbkPxXi7Hco9JZHHyxMdrZGWpb\"]},\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"EnumerableSet":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201b8cbcaf8b7672016aa2c473e948884afefd20e74b75656402e90e0643786fa464736f6c63430008090033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL DUP13 0xBC 0xAF DUP12 PUSH23 0x72016AA2C473E948884AFEFD20E74B75656402E90E0643 PUSH25 0x6FA464736F6C63430008090033000000000000000000000000 ","sourceMap":"1321:11630:168:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1321:11630:168;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201b8cbcaf8b7672016aa2c473e948884afefd20e74b75656402e90e0643786fa464736f6c63430008090033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL DUP13 0xBC 0xAF DUP12 PUSH23 0x72016AA2C473E948884AFEFD20E74B75656402E90E0643 PUSH25 0x6FA464736F6C63430008090033000000000000000000000000 ","sourceMap":"1321:11630:168:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported. [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an array of EnumerableSet. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol":{"IAMB":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"AffirmationCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"RelayedMessage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"encodedData","type":"bytes"}],"name":"UserRequestForAffirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"messageId","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"encodedData","type":"bytes"}],"name":"UserRequestForSignature","type":"event"},{"inputs":[],"name":"destinationChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_messageId","type":"bytes32"}],"name":"failedMessageDataHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_messageId","type":"bytes32"}],"name":"failedMessageReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_messageId","type":"bytes32"}],"name":"failedMessageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxGasPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_messageId","type":"bytes32"}],"name":"messageCallStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageSourceChainId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"uint256","name":"_gas","type":"uint256"}],"name":"requireToConfirmMessage","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"uint256","name":"_gas","type":"uint256"}],"name":"requireToPassMessage","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sourceChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"destinationChainId()":"b0750611","failedMessageDataHash(bytes32)":"e37c3289","failedMessageReceiver(bytes32)":"3f9a8e7e","failedMessageSender(bytes32)":"4a610b04","maxGasPerTx()":"e5789d03","messageCallStatus(bytes32)":"cb08a10c","messageId()":"669f618b","messageSender()":"d67bdd25","messageSourceChainId()":"9e307dff","requireToConfirmMessage(address,bytes,uint256)":"94643f71","requireToPassMessage(address,bytes,uint256)":"dc8601b3","sourceChainId()":"1544298e","transactionHash()":"0ac1c313"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"AffirmationCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"RelayedMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"encodedData\",\"type\":\"bytes\"}],\"name\":\"UserRequestForAffirmation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"encodedData\",\"type\":\"bytes\"}],\"name\":\"UserRequestForSignature\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"destinationChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\"}],\"name\":\"failedMessageDataHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\"}],\"name\":\"failedMessageReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\"}],\"name\":\"failedMessageSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxGasPerTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\"}],\"name\":\"messageCallStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageSourceChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"requireToConfirmMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"requireToPassMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol\":\"IAMB\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol\":{\"keccak256\":\"0xd317c3a8ce13b385b8e3523ea369c36453729472dd386ed461cd05d930994e09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc8a7b3ab6530e52ab366cfe0b2b9dfc06115157ccbfcd3bfbb84eb0ecfa28e\",\"dweb:/ipfs/QmZBidPVQAsFQTYxbRroGiLJLaFz1RFtdetD8PnB5XwREg\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol":{"IArbSys":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":true,"internalType":"uint256","name":"uniqueId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"indexInBatch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"arbBlockNum","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethBlockNum","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"callvalue","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"L2ToL1Transaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":true,"internalType":"uint256","name":"hash","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"position","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"arbBlockNum","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethBlockNum","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"callvalue","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"L2ToL1Tx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"reserved","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"position","type":"uint256"}],"name":"SendMerkleUpdate","type":"event"},{"inputs":[{"internalType":"uint256","name":"arbBlockNum","type":"uint256"}],"name":"arbBlockHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"arbBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"arbChainID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"arbOSVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStorageGasAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTopLevelCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"unused","type":"address"}],"name":"mapL1SenderContractAddressToL2Alias","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"myCallersAddressWithoutAliasing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendMerkleTreeState","outputs":[{"internalType":"uint256","name":"size","type":"uint256"},{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"bytes32[]","name":"partials","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"sendTxToL1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"wasMyCallersAddressAliased","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"name":"withdrawEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"arbBlockHash(uint256)":"2b407a82","arbBlockNumber()":"a3b1b31d","arbChainID()":"d127f54a","arbOSVersion()":"051038f2","getStorageGasAvailable()":"a94597ff","isTopLevelCall()":"08bd624c","mapL1SenderContractAddressToL2Alias(address,address)":"4dbbd506","myCallersAddressWithoutAliasing()":"d74523b3","sendMerkleTreeState()":"7aeecd2a","sendTxToL1(address,bytes)":"928c169a","wasMyCallersAddressAliased()":"175a260b","withdrawEth(address)":"25e16063"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"uniqueId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"indexInBatch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arbBlockNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethBlockNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"callvalue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"L2ToL1Transaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"hash\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"position\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arbBlockNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethBlockNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"callvalue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"L2ToL1Tx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"reserved\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"position\",\"type\":\"uint256\"}],\"name\":\"SendMerkleUpdate\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"arbBlockNum\",\"type\":\"uint256\"}],\"name\":\"arbBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbChainID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbOSVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageGasAvailable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isTopLevelCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"unused\",\"type\":\"address\"}],\"name\":\"mapL1SenderContractAddressToL2Alias\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"myCallersAddressWithoutAliasing\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sendMerkleTreeState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"partials\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sendTxToL1\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"wasMyCallersAddressAliased\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"withdrawEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"L2ToL1Transaction(address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes)\":{\"details\":\"DEPRECATED in favour of the new L2ToL1Tx event above after the nitro upgrade\"},\"L2ToL1Tx(address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"position\":\"= (level << 192) + leaf = (0 << 192) + leaf = leaf\"}},\"SendMerkleUpdate(uint256,bytes32,uint256)\":{\"params\":{\"hash\":\"the merkle hash\",\"position\":\"= (level << 192) + leaf\",\"reserved\":\"an index meant only to align the 4th index with L2ToL1Transaction's 4th event\"}}},\"kind\":\"dev\",\"methods\":{\"arbBlockHash(uint256)\":{\"returns\":{\"_0\":\"block hash\"}},\"arbBlockNumber()\":{\"returns\":{\"_0\":\"block number as int\"}},\"arbChainID()\":{\"returns\":{\"_0\":\"Chain identifier as int\"}},\"arbOSVersion()\":{\"returns\":{\"_0\":\"version number as int\"}},\"getStorageGasAvailable()\":{\"returns\":{\"_0\":\"uint 0\"}},\"isTopLevelCall()\":{\"details\":\"this call has been deprecated and may be removed in a future release\",\"returns\":{\"_0\":\"true if current execution frame is not a call by another L2 contract\"}},\"mapL1SenderContractAddressToL2Alias(address,address)\":{\"params\":{\"sender\":\"sender address\",\"unused\":\"argument no longer used\"},\"returns\":{\"_0\":\"aliased sender address\"}},\"myCallersAddressWithoutAliasing()\":{\"returns\":{\"_0\":\"address of the caller's caller, without applying L1 contract address aliasing\"}},\"sendMerkleTreeState()\":{\"returns\":{\"partials\":\"hashes of partial subtrees in the send history tree\",\"root\":\"root hash of the send history\",\"size\":\"number of sends in the history\"}},\"sendTxToL1(address,bytes)\":{\"details\":\"it is not possible to execute on the L1 any L2-to-L1 transaction which contains data to a contract address without any code (as enforced by the Bridge contract).\",\"params\":{\"data\":\"(optional) calldata for L1 contract call\",\"destination\":\"recipient address on L1\"},\"returns\":{\"_0\":\"a unique identifier for this L2-to-L1 transaction.\"}},\"wasMyCallersAddressAliased()\":{\"returns\":{\"_0\":\"true iff the caller's address is an alias for an L1 contract address\"}},\"withdrawEth(address)\":{\"params\":{\"destination\":\"recipient address on L1\"},\"returns\":{\"_0\":\"unique identifier for this L2-to-L1 transaction.\"}}},\"title\":\"System level functionality\",\"version\":1},\"userdoc\":{\"events\":{\"L2ToL1Tx(address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"creates a send txn from L2 to L1\"},\"SendMerkleUpdate(uint256,bytes32,uint256)\":{\"notice\":\"logs a merkle branch for proof synthesis\"}},\"kind\":\"user\",\"methods\":{\"arbBlockHash(uint256)\":{\"notice\":\"Get Arbitrum block hash (reverts unless currentBlockNum-256 <= arbBlockNum < currentBlockNum)\"},\"arbBlockNumber()\":{\"notice\":\"Get Arbitrum block number (distinct from L1 block number; Arbitrum genesis block has block number 0)\"},\"arbChainID()\":{\"notice\":\"Gets the rollup's unique chain identifier\"},\"arbOSVersion()\":{\"notice\":\"Get internal version number identifying an ArbOS build\"},\"getStorageGasAvailable()\":{\"notice\":\"Returns 0 since Nitro has no concept of storage gas\"},\"isTopLevelCall()\":{\"notice\":\"(deprecated) check if current call is top level (meaning it was triggered by an EoA or a L1 contract)\"},\"mapL1SenderContractAddressToL2Alias(address,address)\":{\"notice\":\"map L1 sender contract address to its L2 alias\"},\"myCallersAddressWithoutAliasing()\":{\"notice\":\"return the address of the caller (of this caller of this), without applying L1 contract address aliasing\"},\"sendMerkleTreeState()\":{\"notice\":\"Get send Merkle tree state\"},\"sendTxToL1(address,bytes)\":{\"notice\":\"Send a transaction to L1\"},\"wasMyCallersAddressAliased()\":{\"notice\":\"check if the caller (of this caller of this) is an aliased L1 contract address\"},\"withdrawEth(address)\":{\"notice\":\"Send given amount of Eth to dest from sender. This is a convenience function, which is equivalent to calling sendTxToL1 with empty data.\"}},\"notice\":\"For use by contracts to interact with core L2-specific functionality. Precompiled contract that exists in every Arbitrum chain at address(100), 0x0000000000000000000000000000000000000064.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol\":\"IArbSys\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol\":{\"keccak256\":\"0xed30463b2696afccf589a002901b4b6556b807fe9f8de8bd6f6b665b3634f933\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4261cf8e7bb4dccfeaece2a984a9d718236b4b07f2bd27df13e94f8e737667e5\",\"dweb:/ipfs/QmSojgcqacRZywUHGJJbdHbWon5P45Q9KRk5qDVnGXSQLH\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol":{"IBridge":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"outbox","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"BridgeCallTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"inbox","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"InboxToggle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"messageIndex","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"beforeInboxAcc","type":"bytes32"},{"indexed":false,"internalType":"address","name":"inbox","type":"address"},{"indexed":false,"internalType":"uint8","name":"kind","type":"uint8"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"bytes32","name":"messageDataHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"baseFeeL1","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"timestamp","type":"uint64"}],"name":"MessageDelivered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"outbox","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"OutboxToggle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSequencerInbox","type":"address"}],"name":"SequencerInboxUpdated","type":"event"},{"inputs":[],"name":"activeOutbox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allowedDelayedInboxList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inbox","type":"address"}],"name":"allowedDelayedInboxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allowedOutboxList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"outbox","type":"address"}],"name":"allowedOutboxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"delayedInboxAccs","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delayedMessageCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes32","name":"messageDataHash","type":"bytes32"}],"name":"enqueueDelayedMessage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"uint256","name":"afterDelayedMessagesRead","type":"uint256"},{"internalType":"uint256","name":"prevMessageCount","type":"uint256"},{"internalType":"uint256","name":"newMessageCount","type":"uint256"}],"name":"enqueueSequencerMessage","outputs":[{"internalType":"uint256","name":"seqMessageIndex","type":"uint256"},{"internalType":"bytes32","name":"beforeAcc","type":"bytes32"},{"internalType":"bytes32","name":"delayedAcc","type":"bytes32"},{"internalType":"bytes32","name":"acc","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"executeCall","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rollup_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rollup","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sequencerInbox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sequencerInboxAccs","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sequencerMessageCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sequencerReportedSubMessageCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"inbox","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setDelayedInbox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inbox","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setOutbox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sequencerInbox","type":"address"}],"name":"setSequencerInbox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"batchPoster","type":"address"},{"internalType":"bytes32","name":"dataHash","type":"bytes32"}],"name":"submitBatchSpendingReport","outputs":[{"internalType":"uint256","name":"msgNum","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"activeOutbox()":"ab5d8943","allowedDelayedInboxList(uint256)":"e76f5c8d","allowedDelayedInboxes(address)":"ae60bd13","allowedOutboxList(uint256)":"945e1147","allowedOutboxes(address)":"413b35bd","delayedInboxAccs(uint256)":"d5719dc2","delayedMessageCount()":"eca067ad","enqueueDelayedMessage(uint8,address,bytes32)":"8db5993b","enqueueSequencerMessage(bytes32,uint256,uint256,uint256)":"86598a56","executeCall(address,uint256,bytes)":"9e5d4c49","initialize(address)":"c4d66de8","rollup()":"cb23bcb5","sequencerInbox()":"ee35f327","sequencerInboxAccs(uint256)":"16bf5579","sequencerMessageCount()":"0084120c","sequencerReportedSubMessageCount()":"5fca4a16","setDelayedInbox(address,bool)":"47fb24c5","setOutbox(address,bool)":"cee3d728","setSequencerInbox(address)":"4f61f850","submitBatchSpendingReport(address,bytes32)":"7a88b107"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"BridgeCallTriggered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"InboxToggle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"messageIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"beforeInboxAcc\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"messageDataHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFeeL1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"MessageDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"OutboxToggle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newSequencerInbox\",\"type\":\"address\"}],\"name\":\"SequencerInboxUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activeOutbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allowedDelayedInboxList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\"}],\"name\":\"allowedDelayedInboxes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allowedOutboxList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\"}],\"name\":\"allowedOutboxes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"delayedInboxAccs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delayedMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"messageDataHash\",\"type\":\"bytes32\"}],\"name\":\"enqueueDelayedMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"afterDelayedMessagesRead\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prevMessageCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newMessageCount\",\"type\":\"uint256\"}],\"name\":\"enqueueSequencerMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"seqMessageIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"beforeAcc\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"delayedAcc\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"acc\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rollup_\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequencerInbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"sequencerInboxAccs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequencerMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequencerReportedSubMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"setDelayedInbox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"setOutbox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sequencerInbox\",\"type\":\"address\"}],\"name\":\"setSequencerInbox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"batchPoster\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"}],\"name\":\"submitBatchSpendingReport\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"msgNum\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"delayedInboxAccs(uint256)\":{\"details\":\"Accumulator for delayed inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message.\"},\"enqueueDelayedMessage(uint8,address,bytes32)\":{\"details\":\"Enqueue a message in the delayed inbox accumulator. These messages are later sequenced in the SequencerInbox, either by the sequencer as part of a normal batch, or by force inclusion.\"},\"sequencerInboxAccs(uint256)\":{\"details\":\"Accumulator for sequencer inbox messages; tail represents hash of the current state; each element represents the inclusion of a new message.\"},\"submitBatchSpendingReport(address,bytes32)\":{\"details\":\"Allows the sequencer inbox to submit a delayed message of the batchPostingReport type This is done through a separate function entrypoint instead of allowing the sequencer inbox to call `enqueueDelayedMessage` to avoid the gas overhead of an extra SLOAD in either every delayed inbox or every sequencer inbox call.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":\"IBridge\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":{\"keccak256\":\"0xdc8847efc0ca74c9f708d9bbd26592b4d21ccbcece6c1ce547d411891cdfe62d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c229abc5a3d94160ca45cc804b3bade7168c01b2e2ca8ab9d79e420f7da116cd\",\"dweb:/ipfs/QmUjVBwpZD8WJSMJmgQPE55ttWiPkySzpDr25TPs3n5rSJ\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol":{"IDelayedMessageProvider":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"messageNum","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"InboxMessageDelivered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"messageNum","type":"uint256"}],"name":"InboxMessageDeliveredFromOrigin","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"InboxMessageDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\"}],\"name\":\"InboxMessageDeliveredFromOrigin\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"InboxMessageDelivered(uint256,bytes)\":{\"details\":\"event emitted when a inbox message is added to the Bridge's delayed accumulator\"},\"InboxMessageDeliveredFromOrigin(uint256)\":{\"details\":\"event emitted when a inbox message is added to the Bridge's delayed accumulator same as InboxMessageDelivered but the batch data is available in tx.input\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol\":\"IDelayedMessageProvider\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol\":{\"keccak256\":\"0xccec6fc7eac1151017a785c98f4d3d13d90c19b87a9ec1e8955245ba98f3e19b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c823dbf6495801b10bb720e10a31c191f9404478f6ac2993d6314f5067f8d0ea\",\"dweb:/ipfs/QmSyCRiPjqouJ84U2cmeo7nddsuW5LpfWR3qDQiAP63S2w\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol":{"IInbox":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"messageNum","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"InboxMessageDelivered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"messageNum","type":"uint256"}],"name":"InboxMessageDeliveredFromOrigin","type":"event"},{"inputs":[],"name":"bridge","outputs":[{"internalType":"contract IBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"dataLength","type":"uint256"},{"internalType":"uint256","name":"baseFee","type":"uint256"}],"name":"calculateRetryableSubmissionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"l2CallValue","type":"uint256"},{"internalType":"uint256","name":"maxSubmissionCost","type":"uint256"},{"internalType":"address","name":"excessFeeRefundAddress","type":"address"},{"internalType":"address","name":"callValueRefundAddress","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"createRetryableTicket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"contract IBridge","name":"_bridge","type":"address"},{"internalType":"address","name":"_sequencerInbox","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IBridge","name":"_bridge","type":"address"}],"name":"postUpgradeInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"sendContractTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"sendL1FundedContractTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"sendL1FundedUnsignedTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"messageData","type":"bytes"}],"name":"sendL2Message","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"messageData","type":"bytes"}],"name":"sendL2MessageFromOrigin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"sendUnsignedTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sequencerInbox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"l2CallValue","type":"uint256"},{"internalType":"uint256","name":"maxSubmissionCost","type":"uint256"},{"internalType":"address","name":"excessFeeRefundAddress","type":"address"},{"internalType":"address","name":"callValueRefundAddress","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unsafeCreateRetryableTicket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"bridge()":"e78cea92","calculateRetryableSubmissionFee(uint256,uint256)":"a66b327d","createRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)":"679b6ded","depositEth()":"439370b1","initialize(address,address)":"485cc955","pause()":"8456cb59","postUpgradeInit(address)":"c474d2c5","sendContractTransaction(uint256,uint256,address,uint256,bytes)":"8a631aa6","sendL1FundedContractTransaction(uint256,uint256,address,bytes)":"5e916758","sendL1FundedUnsignedTransaction(uint256,uint256,uint256,address,bytes)":"67ef3ab8","sendL2Message(bytes)":"b75436bb","sendL2MessageFromOrigin(bytes)":"1fe927cf","sendUnsignedTransaction(uint256,uint256,uint256,address,uint256,bytes)":"5075788b","sequencerInbox()":"ee35f327","unpause()":"3f4ba83a","unsafeCreateRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)":"6e6e8a6a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"InboxMessageDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\"}],\"name\":\"InboxMessageDeliveredFromOrigin\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"internalType\":\"contract IBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"calculateRetryableSubmissionFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"l2CallValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxSubmissionCost\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"excessFeeRefundAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"callValueRefundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createRetryableTicket\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IBridge\",\"name\":\"_bridge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sequencerInbox\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IBridge\",\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"postUpgradeInit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sendContractTransaction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sendL1FundedContractTransaction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sendL1FundedUnsignedTransaction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"messageData\",\"type\":\"bytes\"}],\"name\":\"sendL2Message\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"messageData\",\"type\":\"bytes\"}],\"name\":\"sendL2MessageFromOrigin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sendUnsignedTransaction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequencerInbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"l2CallValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxSubmissionCost\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"excessFeeRefundAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"callValueRefundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"unsafeCreateRetryableTicket\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateRetryableSubmissionFee(uint256,uint256)\":{\"details\":\"This fee can be paid by funds already in the L2 aliased address or by the current message valueThis formula may change in the future, to future proof your code query this method instead of inlining!!\",\"params\":{\"baseFee\":\"The block basefee when the retryable is included in the chain, if 0 current block.basefee will be used\",\"dataLength\":\"The length of the retryable's calldata, in bytes\"}},\"createRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)\":{\"details\":\"all msg.value will deposited to callValueRefundAddress on L2Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\",\"params\":{\"callValueRefundAddress\":\"l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\",\"data\":\"ABI encoded data of L2 message\",\"excessFeeRefundAddress\":\"gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\",\"gasLimit\":\"Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\",\"l2CallValue\":\"call value for retryable L2 message\",\"maxFeePerGas\":\"price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\",\"maxSubmissionCost\":\"Max gas deducted from user's L2 balance to cover base submission fee\",\"to\":\"destination L2 contract address\"},\"returns\":{\"_0\":\"unique message number of the retryable transaction\"}},\"depositEth()\":{\"details\":\"This does not trigger the fallback function when receiving in the L2 side. Look into retryable tickets if you are interested in this functionality.This function should not be called inside contract constructors\"},\"postUpgradeInit(address)\":{\"details\":\"function to be called one time during the inbox upgrade process this is used to fix the storage slots\"},\"sendL2Message(bytes)\":{\"details\":\"This method can be used to send any type of message that doesn't require L1 validation\",\"params\":{\"messageData\":\"Data of the message being sent\"}},\"sendL2MessageFromOrigin(bytes)\":{\"details\":\"This method is an optimization to avoid having to emit the entirety of the messageData in a log. Instead validators are expected to be able to parse the data from the transaction's input\",\"params\":{\"messageData\":\"Data of the message being sent\"}},\"unsafeCreateRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)\":{\"details\":\"Same as createRetryableTicket, but does not guarantee that submission will succeed by requiring the needed funds come from the deposit alone, rather than falling back on the user's L2 balanceAdvanced usage only (does not rewrite aliases for excessFeeRefundAddress and callValueRefundAddress). createRetryableTicket method is the recommended standard.Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error\",\"params\":{\"callValueRefundAddress\":\"l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled\",\"data\":\"ABI encoded data of L2 message\",\"excessFeeRefundAddress\":\"gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance\",\"gasLimit\":\"Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\",\"l2CallValue\":\"call value for retryable L2 message\",\"maxFeePerGas\":\"price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)\",\"maxSubmissionCost\":\"Max gas deducted from user's L2 balance to cover base submission fee\",\"to\":\"destination L2 contract address\"},\"returns\":{\"_0\":\"unique message number of the retryable transaction\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calculateRetryableSubmissionFee(uint256,uint256)\":{\"notice\":\"Get the L1 fee for submitting a retryable\"},\"createRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)\":{\"notice\":\"Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\"},\"depositEth()\":{\"notice\":\"Deposit eth from L1 to L2 to address of the sender if sender is an EOA, and to its aliased address if the sender is a contract\"},\"pause()\":{\"notice\":\"pauses all inbox functionality\"},\"sendL2Message(bytes)\":{\"notice\":\"Send a generic L2 message to the chain\"},\"sendL2MessageFromOrigin(bytes)\":{\"notice\":\"Send a generic L2 message to the chain\"},\"unpause()\":{\"notice\":\"unpauses all inbox functionality\"},\"unsafeCreateRetryableTicket(address,uint256,uint256,address,address,uint256,uint256,bytes)\":{\"notice\":\"Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol\":\"IInbox\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":{\"keccak256\":\"0xdc8847efc0ca74c9f708d9bbd26592b4d21ccbcece6c1ce547d411891cdfe62d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c229abc5a3d94160ca45cc804b3bade7168c01b2e2ca8ab9d79e420f7da116cd\",\"dweb:/ipfs/QmUjVBwpZD8WJSMJmgQPE55ttWiPkySzpDr25TPs3n5rSJ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol\":{\"keccak256\":\"0xccec6fc7eac1151017a785c98f4d3d13d90c19b87a9ec1e8955245ba98f3e19b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c823dbf6495801b10bb720e10a31c191f9404478f6ac2993d6314f5067f8d0ea\",\"dweb:/ipfs/QmSyCRiPjqouJ84U2cmeo7nddsuW5LpfWR3qDQiAP63S2w\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol\":{\"keccak256\":\"0xecfd5a7ee81dbe73dccc19db52fdde940dcb19deaeb39424c32a01d1907149ec\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1071a46c4100717e17395aa276c18b3ee61f6ffe785505630ff1dd21d83334f0\",\"dweb:/ipfs/QmaF9hvzRu3vJb2dh2DBZAS2QPMAjmtmbHaVGtZqx7KHdx\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol":{"IOutbox":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"l2Sender","type":"address"},{"indexed":true,"internalType":"uint256","name":"zero","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transactionIndex","type":"uint256"}],"name":"OutBoxTransactionExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"outputRoot","type":"bytes32"}],"name":"SendRootUpdated","type":"event"},{"inputs":[],"name":"OUTBOX_VERSION","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bridge","outputs":[{"internalType":"contract IBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"l2Sender","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"l2Block","type":"uint256"},{"internalType":"uint256","name":"l1Block","type":"uint256"},{"internalType":"uint256","name":"l2Timestamp","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"calculateItemHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"internalType":"uint256","name":"path","type":"uint256"},{"internalType":"bytes32","name":"item","type":"bytes32"}],"name":"calculateMerkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"l2Sender","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"l2Block","type":"uint256"},{"internalType":"uint256","name":"l1Block","type":"uint256"},{"internalType":"uint256","name":"l2Timestamp","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"executeTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"l2Sender","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"l2Block","type":"uint256"},{"internalType":"uint256","name":"l1Block","type":"uint256"},{"internalType":"uint256","name":"l2Timestamp","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"executeTransactionSimulation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"isSpent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ToL1Block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ToL1EthBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ToL1OutputId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ToL1Sender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ToL1Timestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rollup","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"roots","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"spent","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sendRoot","type":"bytes32"},{"internalType":"bytes32","name":"l2BlockHash","type":"bytes32"}],"name":"updateSendRoot","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"OUTBOX_VERSION()":"c75184df","bridge()":"e78cea92","calculateItemHash(address,address,uint256,uint256,uint256,uint256,bytes)":"9f0c04bf","calculateMerkleRoot(bytes32[],uint256,bytes32)":"007436d3","executeTransaction(bytes32[],uint256,address,address,uint256,uint256,uint256,uint256,bytes)":"08635a95","executeTransactionSimulation(uint256,address,address,uint256,uint256,uint256,uint256,bytes)":"288e5b10","isSpent(uint256)":"5a129efe","l2ToL1Block()":"46547790","l2ToL1EthBlock()":"8515bc6a","l2ToL1OutputId()":"72f2a8c7","l2ToL1Sender()":"80648b02","l2ToL1Timestamp()":"b0f30537","rollup()":"cb23bcb5","roots(bytes32)":"ae6dead7","spent(uint256)":"d5b5cc23","updateSendRoot(bytes32,bytes32)":"a04cee60"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"zero\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transactionIndex\",\"type\":\"uint256\"}],\"name\":\"OutBoxTransactionExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"outputRoot\",\"type\":\"bytes32\"}],\"name\":\"SendRootUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"OUTBOX_VERSION\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"internalType\":\"contract IBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"l2Sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"l2Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l2Timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"calculateItemHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"path\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"item\",\"type\":\"bytes32\"}],\"name\":\"calculateMerkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"l2Sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"l2Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l2Timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"l2Sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"l2Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Block\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l2Timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeTransactionSimulation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ToL1Block\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ToL1EthBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ToL1OutputId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ToL1Sender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ToL1Timestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"spent\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sendRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"l2BlockHash\",\"type\":\"bytes32\"}],\"name\":\"updateSendRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeTransaction(bytes32[],uint256,address,address,uint256,uint256,uint256,uint256,bytes)\":{\"details\":\"Reverts if dispute period hasn't expired, since the outbox entry is only created once the rollup confirms the respective assertion.it is not possible to execute any L2-to-L1 transaction which contains data to a contract address without any code (as enforced by the Bridge contract).\",\"params\":{\"data\":\"abi-encoded L1 message data\",\"index\":\"Merkle path to message\",\"l1Block\":\"l1 block number at which sendTxToL1 call was made\",\"l2Block\":\"l2 block number at which sendTxToL1 call was made\",\"l2Sender\":\"sender if original message (i.e., caller of ArbSys.sendTxToL1)\",\"l2Timestamp\":\"l2 Timestamp at which sendTxToL1 call was made\",\"proof\":\"Merkle proof of message inclusion in send root\",\"to\":\"destination address for L1 contract call\",\"value\":\"wei in L1 message\"}},\"executeTransactionSimulation(uint256,address,address,uint256,uint256,uint256,uint256,bytes)\":{\"details\":\"function used to simulate the result of a particular function call from the outbox it is useful for things such as gas estimates. This function includes all costs except for proof validation (which can be considered offchain as a somewhat of a fixed cost - it's not really a fixed cost, but can be treated as so with a fixed overhead for gas estimation). We can't include the cost of proof validation since this is intended to be used to simulate txs that are included in yet-to-be confirmed merkle roots. The simulation entrypoint could instead pretend to confirm a pending merkle root, but that would be less practical for integrating with tooling. It is only possible to trigger it when the msg sender is address zero, which should be impossible unless under simulation in an eth_call or eth_estimateGas\"},\"isSpent(uint256)\":{\"params\":{\"index\":\"Merkle path to message\"},\"returns\":{\"_0\":\"true if the message has been spent\"}},\"l2ToL1Block()\":{\"returns\":{\"_0\":\"l2Block return L2 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\"}},\"l2ToL1EthBlock()\":{\"returns\":{\"_0\":\"l1Block return L1 block when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\"}},\"l2ToL1OutputId()\":{\"returns\":{\"_0\":\"outputId returns the unique output identifier of the L2 to L1 tx or 0 if no L2 to L1 transaction is active\"}},\"l2ToL1Sender()\":{\"details\":\"the l2ToL1Sender behaves as the tx.origin, the msg.sender should be validated to protect against reentrancies\"},\"l2ToL1Timestamp()\":{\"returns\":{\"_0\":\"timestamp return L2 timestamp when the L2 tx was initiated or 0 if no L2 to L1 transaction is active\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeTransaction(bytes32[],uint256,address,address,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Executes a messages in an Outbox entry.\"},\"l2ToL1Sender()\":{\"notice\":\"When l2ToL1Sender returns a nonzero address, the message was originated by an L2 account When the return value is zero, that means this is a system message\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol\":\"IOutbox\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol\":{\"keccak256\":\"0xdc8847efc0ca74c9f708d9bbd26592b4d21ccbcece6c1ce547d411891cdfe62d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c229abc5a3d94160ca45cc804b3bade7168c01b2e2ca8ab9d79e420f7da116cd\",\"dweb:/ipfs/QmUjVBwpZD8WJSMJmgQPE55ttWiPkySzpDr25TPs3n5rSJ\"]},\"contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol\":{\"keccak256\":\"0xf11685613c2ca2e87e9ad7e93bff2bd966aa16f11599371878dff047be17d945\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://70643050176955048e7da5a6696dd4f2db0cb0797ccb344fec5bc9996c0c6e99\",\"dweb:/ipfs/QmYCnypNrsybTHjjq5iX3SkwPAjP8LuZ58d1HLEWe24URN\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol":{"ICompoundTimelock":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"CancelTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ExecuteTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"NewDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"QueueTransaction","type":"event"},{"inputs":[],"name":"GRACE_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"cancelTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"executeTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"queueTransaction","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"queuedTransactions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"setDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"setPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"GRACE_PERIOD()":"c1a287e2","MAXIMUM_DELAY()":"7d645fab","MINIMUM_DELAY()":"b1b43ae5","acceptAdmin()":"0e18b681","admin()":"f851a440","cancelTransaction(address,uint256,string,bytes,uint256)":"591fcdfe","delay()":"6a42b8f8","executeTransaction(address,uint256,string,bytes,uint256)":"0825f38f","pendingAdmin()":"26782247","queueTransaction(address,uint256,string,bytes,uint256)":"3a66f901","queuedTransactions(bytes32)":"f2b06537","setDelay(uint256)":"e177246e","setPendingAdmin(address)":"4dd18bf5"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"CancelTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ExecuteTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"NewAdmin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newDelay\",\"type\":\"uint256\"}],\"name\":\"NewDelay\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"NewPendingAdmin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"QueueTransaction\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"GRACE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAXIMUM_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"cancelTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"executeTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"signature\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"queueTransaction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"queuedTransactions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"setDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setPendingAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol\":\"ICompoundTimelock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol\":{\"keccak256\":\"0xbb847e7ce33564a0fc1d8ace380ddd8d123c6f152deff483ff56a5a9b975c8dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7cfdb27a0d002ebb7a19fb8caaef1a4ba2c0904e7d1f92b7d8960a77037348c\",\"dweb:/ipfs/QmZpwJngkVZuUtqhduKBMo1TxpUgqQJFaAZ4JiMm13Nny2\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol":{"ICrossDomainMessenger":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"FailedRelayedMessage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"RelayedMessage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"bytes","name":"message","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"messageNonce","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gasLimit","type":"uint256"}],"name":"SentMessage","type":"event"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"uint32","name":"_gasLimit","type":"uint32"}],"name":"sendMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xDomainMessageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"sendMessage(address,bytes,uint32)":"3dbb202b","xDomainMessageSender()":"6e296e45"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"FailedRelayedMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"RelayedMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"SentMessage\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"_gasLimit\",\"type\":\"uint32\"}],\"name\":\"sendMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xDomainMessageSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"sendMessage(address,bytes,uint32)\":{\"params\":{\"_gasLimit\":\"Gas limit for the provided message.\",\"_message\":\"Message to send to the target.\",\"_target\":\"Target contract address.\"}}},\"title\":\"ICrossDomainMessenger\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"sendMessage(address,bytes,uint32)\":{\"notice\":\"Sends a cross domain message to the target messenger.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol\":\"ICrossDomainMessenger\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol\":{\"keccak256\":\"0x7e55d25ce89596017f1300edc0fed07bd22db98d3b67349cac9d293340d1ac4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e432f1564db9e95496b6981156dbcd280e41cc5de870e8a6f99cf5f84bab429\",\"dweb:/ipfs/QmRjgeg9VZdm88QX3MFLjuVbS66eKvk3LjV1yYkW68Q5Jq\"]}},\"version\":1}"}},"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol":{"IFxMessageProcessor":{"abi":[{"inputs":[{"internalType":"uint256","name":"stateId","type":"uint256"},{"internalType":"address","name":"rootMessageSender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"processMessageFromRoot","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"processMessageFromRoot(uint256,address,bytes)":"9a7c4b71"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stateId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"rootMessageSender\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"processMessageFromRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol\":\"IFxMessageProcessor\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol\":{\"keccak256\":\"0xf613eaa6dfa0c12f4d0e5bf4362d0b9aa0aa9d7577af2822bc859ed2994e1558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d02619992daca10a2d5e3dff5356dfd4cb028b9fc3d58398fc78b9c650c970d\",\"dweb:/ipfs/QmYYo2B4bY3XYmPotsRF7p3gVVG3DeFSaJ96frr2miYh1a\"]}},\"version\":1}"}},"contracts/CompilerCheck.sol":{"CompilerCheck":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212207a5a173346f36a0463ec2ccc0e36762b4e45f193c9fa0450a55102159766591f64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH27 0x5A173346F36A0463EC2CCC0E36762B4E45F193C9FA0450A5510215 SWAP8 PUSH7 0x591F64736F6C63 NUMBER STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"57:25:178:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea26469706673582212207a5a173346f36a0463ec2ccc0e36762b4e45f193c9fa0450a55102159766591f64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH27 0x5A173346F36A0463EC2CCC0E36762B4E45F193C9FA0450A5510215 SWAP8 PUSH7 0x591F64736F6C63 NUMBER STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"57:25:178:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CompilerCheck.sol\":\"CompilerCheck\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/CompilerCheck.sol\":{\"keccak256\":\"0x19c28d6b1fe8f46ebdc84f7fa54fda474dd9ab2c013419a85e8e7534ddc5781d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fa118f008899b69a88397fc12a07e2f4b5639825cbd25fe4d2a3620f456146c\",\"dweb:/ipfs/Qmb9smcqdSXUagmLgUWyHZKPTSj1e3mL9hM6WBfEMr79xJ\"]}},\"version\":1}"}},"contracts/Migrations.sol":{"Migrations":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"last_completed_migration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_30947":{"entryPoint":null,"id":30947,"parameterSlots":0,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101d4806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610185565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b60006020828403121561016757600080fd5b81356001600160a01b038116811461017e57600080fd5b9392505050565b60006020828403121561019757600080fd5b503591905056fea2646970667358221220714fa1b2bdc6664f6d35640665ca5faf6cebd1f78d4652992ef418d45718cb5a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x1D4 DUP1 PUSH2 0x32 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x900F010 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x445DF0AC EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0xFDACD576 EQ PUSH2 0xAD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x155 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6F PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x95 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 0x79 JUMP JUMPDEST PUSH2 0x64 PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x185 JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x7ED66ABB PUSH1 0xE1 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0xFDACD576 SWAP2 PUSH2 0x106 SWAP2 PUSH1 0x4 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x134 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x167 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x4FA1B2BDC6664F6D35640665CA5FAF6CEBD1 0xF7 DUP14 CHAINID MSTORE SWAP10 0x2E DELEGATECALL XOR 0xD4 JUMPI XOR 0xCB GAS PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"57:473:179:-:0;;;146:43;;;;;;;;;-1:-1:-1;166:5:179;:18;;-1:-1:-1;;;;;;166:18:179;174:10;166:18;;;57:473;;;;;;"},"deployedBytecode":{"functionDebugData":{"@last_completed_migration_30938":{"entryPoint":null,"id":30938,"parameterSlots":0,"returnSlots":0},"@owner_30936":{"entryPoint":null,"id":30936,"parameterSlots":0,"returnSlots":0},"@setCompleted_30968":{"entryPoint":317,"id":30968,"parameterSlots":1,"returnSlots":0},"@upgrade_30989":{"entryPoint":192,"id":30989,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address":{"entryPoint":341,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":389,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:877:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:216:181","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:181"},"nodeType":"YulFunctionCall","src":"132:12:181"},"nodeType":"YulExpressionStatement","src":"132:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:181"},"nodeType":"YulFunctionCall","src":"101:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:181"},"nodeType":"YulFunctionCall","src":"97:32:181"},"nodeType":"YulIf","src":"94:52:181"},{"nodeType":"YulVariableDeclaration","src":"155:36:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"181:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"168:12:181"},"nodeType":"YulFunctionCall","src":"168:23:181"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"159:5:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:181"},"nodeType":"YulFunctionCall","src":"256:12:181"},"nodeType":"YulExpressionStatement","src":"256:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"213:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"224:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"239:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"244:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"231:3:181"},"nodeType":"YulFunctionCall","src":"231:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"220:3:181"},"nodeType":"YulFunctionCall","src":"220:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"210:2:181"},"nodeType":"YulFunctionCall","src":"210:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"203:6:181"},"nodeType":"YulFunctionCall","src":"203:50:181"},"nodeType":"YulIf","src":"200:70:181"},{"nodeType":"YulAssignment","src":"279:15:181","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:181","type":""}],"src":"14:286:181"},{"body":{"nodeType":"YulBlock","src":"406:76:181","statements":[{"nodeType":"YulAssignment","src":"416:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"428:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"439:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"424:3:181"},"nodeType":"YulFunctionCall","src":"424:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"416:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"469:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"451:6:181"},"nodeType":"YulFunctionCall","src":"451:25:181"},"nodeType":"YulExpressionStatement","src":"451:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"375:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"386:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"397:4:181","type":""}],"src":"305:177:181"},{"body":{"nodeType":"YulBlock","src":"588:102:181","statements":[{"nodeType":"YulAssignment","src":"598:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"610:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"621:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"606:3:181"},"nodeType":"YulFunctionCall","src":"606:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"598:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"640:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"655:6:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"671:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"676:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"667:3:181"},"nodeType":"YulFunctionCall","src":"667:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"663:3:181"},"nodeType":"YulFunctionCall","src":"663:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"651:3:181"},"nodeType":"YulFunctionCall","src":"651:32:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"633:6:181"},"nodeType":"YulFunctionCall","src":"633:51:181"},"nodeType":"YulExpressionStatement","src":"633:51:181"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"557:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"568:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"579:4:181","type":""}],"src":"487:203:181"},{"body":{"nodeType":"YulBlock","src":"765:110:181","statements":[{"body":{"nodeType":"YulBlock","src":"811:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"820:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"823:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"813:6:181"},"nodeType":"YulFunctionCall","src":"813:12:181"},"nodeType":"YulExpressionStatement","src":"813:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"786:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"795:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"782:3:181"},"nodeType":"YulFunctionCall","src":"782:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"807:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"778:3:181"},"nodeType":"YulFunctionCall","src":"778:32:181"},"nodeType":"YulIf","src":"775:52:181"},{"nodeType":"YulAssignment","src":"836:33:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"859:9:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"846:12:181"},"nodeType":"YulFunctionCall","src":"846:23:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"836:6:181"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"731:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"742:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"754:6:181","type":""}],"src":"695:180:181"}]},"contents":"{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\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_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_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610185565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b60006020828403121561016757600080fd5b81356001600160a01b038116811461017e57600080fd5b9392505050565b60006020828403121561019757600080fd5b503591905056fea2646970667358221220714fa1b2bdc6664f6d35640665ca5faf6cebd1f78d4652992ef418d45718cb5a64736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x900F010 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x445DF0AC EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0xFDACD576 EQ PUSH2 0xAD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x155 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6F PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x95 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 0x79 JUMP JUMPDEST PUSH2 0x64 PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x185 JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x7ED66ABB PUSH1 0xE1 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0xFDACD576 SWAP2 PUSH2 0x106 SWAP2 PUSH1 0x4 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x134 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x167 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x4FA1B2BDC6664F6D35640665CA5FAF6CEBD1 0xF7 DUP14 CHAINID MSTORE SWAP10 0x2E DELEGATECALL XOR 0xD4 JUMPI XOR 0xCB GAS PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ","sourceMap":"57:473:179:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;363:165;;;;;;:::i;:::-;;:::i;:::-;;105:36;;;;;;;;;451:25:181;;;439:2;424:18;105:36:179;;;;;;;;81:20;;;;;-1:-1:-1;;;;;81:20:179;;;;;;-1:-1:-1;;;;;651:32:181;;;633:51;;621:2;606:18;81:20:179;487:203:181;256:103:179;;;;;;:::i;:::-;;:::i;363:165::-;239:5;;-1:-1:-1;;;;;239:5:179;225:10;:19;221:26;;;498:24:::1;::::0;476:47:::1;::::0;-1:-1:-1;;;476:47:179;;458:11;;-1:-1:-1;;;;;476:21:179;::::1;::::0;::::1;::::0;:47:::1;::::0;::::1;;451:25:181::0;;;439:2;424:18;;305:177;476:47:179::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;419:109;221:26:::0;363:165;:::o;256:103::-;239:5;;-1:-1:-1;;;;;239:5:179;225:10;:19;221:26;;;318:24:::1;:36:::0;256:103::o;14:286:181:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:181;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:181:o;695:180::-;754:6;807:2;795:9;786:7;782:23;778:32;775:52;;;823:1;820;813:12;775:52;-1:-1:-1;846:23:181;;695:180;-1:-1:-1;695:180:181:o"},"methodIdentifiers":{"last_completed_migration()":"445df0ac","owner()":"8da5cb5b","setCompleted(uint256)":"fdacd576","upgrade(address)":"0900f010"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Migrations.sol\":{\"keccak256\":\"0xbd9e566dc1d6126786cfa14ea45e8543cac8f80761c2c5c7bbe588517982da58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adec10634ec4059a13260c175b0074b9548f4ae4bcbb0042147cca2089c180bb\",\"dweb:/ipfs/QmdgEdgp7EtjBtpn38MS3Tkk3n3jGLqX5sS89vW2uqKeHj\"]}},\"version\":1}"}},"contracts/Token.sol":{"Token":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_31009":{"entryPoint":null,"id":31009,"parameterSlots":0,"returnSlots":0},"@_44":{"entryPoint":null,"id":44,"parameterSlots":2,"returnSlots":0},"@_afterTokenTransfer_585":{"entryPoint":null,"id":585,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_574":{"entryPoint":null,"id":574,"parameterSlots":3,"returnSlots":0},"@_mint_403":{"entryPoint":145,"id":403,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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":493,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":531,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1168:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"188:181:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"205:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"216:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"198:6:181"},"nodeType":"YulFunctionCall","src":"198:21:181"},"nodeType":"YulExpressionStatement","src":"198:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"239:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"250:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"235:3:181"},"nodeType":"YulFunctionCall","src":"235:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"255:2:181","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"228:6:181"},"nodeType":"YulFunctionCall","src":"228:30:181"},"nodeType":"YulExpressionStatement","src":"228:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"278:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"289:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"274:3:181"},"nodeType":"YulFunctionCall","src":"274:18:181"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"294:33:181","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"267:6:181"},"nodeType":"YulFunctionCall","src":"267:61:181"},"nodeType":"YulExpressionStatement","src":"267:61:181"},{"nodeType":"YulAssignment","src":"337:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"349:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"360:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"345:3:181"},"nodeType":"YulFunctionCall","src":"345:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"337:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"165:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"179:4:181","type":""}],"src":"14:355:181"},{"body":{"nodeType":"YulBlock","src":"422:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"457:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"478:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"485:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"490:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"481:3:181"},"nodeType":"YulFunctionCall","src":"481:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"471:6:181"},"nodeType":"YulFunctionCall","src":"471:31:181"},"nodeType":"YulExpressionStatement","src":"471:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"522:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"525:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"515:6:181"},"nodeType":"YulFunctionCall","src":"515:15:181"},"nodeType":"YulExpressionStatement","src":"515:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"550:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"553:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"543:6:181"},"nodeType":"YulFunctionCall","src":"543:15:181"},"nodeType":"YulExpressionStatement","src":"543:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"438:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"445:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"441:3:181"},"nodeType":"YulFunctionCall","src":"441:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"435:2:181"},"nodeType":"YulFunctionCall","src":"435:13:181"},"nodeType":"YulIf","src":"432:136:181"},{"nodeType":"YulAssignment","src":"577:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"588:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"591:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"584:3:181"},"nodeType":"YulFunctionCall","src":"584:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"577:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"405:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"408:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"414:3:181","type":""}],"src":"374:225:181"},{"body":{"nodeType":"YulBlock","src":"705:76:181","statements":[{"nodeType":"YulAssignment","src":"715:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"727:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"738:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"723:3:181"},"nodeType":"YulFunctionCall","src":"723:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"715:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"757:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"768:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"750:6:181"},"nodeType":"YulFunctionCall","src":"750:25:181"},"nodeType":"YulExpressionStatement","src":"750:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"674:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"685:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"696:4:181","type":""}],"src":"604:177:181"},{"body":{"nodeType":"YulBlock","src":"841:325:181","statements":[{"nodeType":"YulAssignment","src":"851:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"865:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"868:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"861:3:181"},"nodeType":"YulFunctionCall","src":"861:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"851:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"882:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"912:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"918:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"908:3:181"},"nodeType":"YulFunctionCall","src":"908:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"886:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"959:31:181","statements":[{"nodeType":"YulAssignment","src":"961:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"975:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"983:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"971:3:181"},"nodeType":"YulFunctionCall","src":"971:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"961:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"939:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"932:6:181"},"nodeType":"YulFunctionCall","src":"932:26:181"},"nodeType":"YulIf","src":"929:61:181"},{"body":{"nodeType":"YulBlock","src":"1049:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1070:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1077:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1082:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1073:3:181"},"nodeType":"YulFunctionCall","src":"1073:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1063:6:181"},"nodeType":"YulFunctionCall","src":"1063:31:181"},"nodeType":"YulExpressionStatement","src":"1063:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1114:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1117:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1107:6:181"},"nodeType":"YulFunctionCall","src":"1107:15:181"},"nodeType":"YulExpressionStatement","src":"1107:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1142:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1145:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1135:6:181"},"nodeType":"YulFunctionCall","src":"1135:15:181"},"nodeType":"YulExpressionStatement","src":"1135:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1005:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1028:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1036:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1025:2:181"},"nodeType":"YulFunctionCall","src":"1025:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1002:2:181"},"nodeType":"YulFunctionCall","src":"1002:38:181"},"nodeType":"YulIf","src":"999:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"821:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"830:6:181","type":""}],"src":"786:380:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\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 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}","id":181,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b50604051806040016040528060058152602001642a37b5b2b760d91b815250604051806040016040528060038152602001622c2cad60e91b8152508160039080519060200190610061929190610154565b508051610075906004906020840190610154565b50505061008c33633b9aca0061009160201b60201c565b61024e565b6001600160a01b0382166100eb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546100fd91906101ed565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b82805461016090610213565b90600052602060002090601f01602090048101928261018257600085556101c8565b82601f1061019b57805160ff19168380011785556101c8565b828001600101855582156101c8579182015b828111156101c85782518255916020019190600101906101ad565b506101d49291506101d8565b5090565b5b808211156101d457600081556001016101d9565b6000821982111561020e57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c9082168061022757607f821691505b6020821081141561024857634e487b7160e01b600052602260045260246000fd5b50919050565b61085d8061025d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122015d1fc221c7dc7f20ab529bc4ced7f851f93aff0a1d4d0320760ec37202dec5464736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x2A37B5B2B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0x2C2CAD PUSH1 0xE9 SHL DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x61 SWAP3 SWAP2 SWAP1 PUSH2 0x154 JUMP JUMPDEST POP DUP1 MLOAD PUSH2 0x75 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x154 JUMP JUMPDEST POP POP POP PUSH2 0x8C CALLER PUSH4 0x3B9ACA00 PUSH2 0x91 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x24E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xEB 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 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xFD SWAP2 SWAP1 PUSH2 0x1ED JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x160 SWAP1 PUSH2 0x213 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x182 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1C8 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x19B JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1C8 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1C8 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1C8 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1AD JUMP JUMPDEST POP PUSH2 0x1D4 SWAP3 SWAP2 POP PUSH2 0x1D8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1D9 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x20E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x227 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x248 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85D DUP1 PUSH2 0x25D 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 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xD1 0xFC 0x22 SHR PUSH30 0xC7F20AB529BC4CED7F851F93AFF0A1D4D0320760EC37202DEC5464736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"114:114:180:-:0;;;144:82;;;;;;;;;;1976:113:0;;;;;;;;;;;;;-1:-1:-1;;;1976:113:0;;;;;;;;;;;;;;;;-1:-1:-1;;;1976:113:0;;;2050:5;2042;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2065:17:0;;;;:7;;:17;;;;;:::i;:::-;;1976:113;;190:29:180::1;196:10;208;190:5;;;:29;;:::i;:::-;114:114:::0;;8567:535:0;-1:-1:-1;;;;;8650:21:0;;8642:65;;;;-1:-1:-1;;;8642:65:0;;216:2:181;8642:65:0;;;198:21:181;255:2;235:18;;;228:30;294:33;274:18;;;267:61;345:18;;8642:65:0;;;;;;;;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:0;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;750:25:181;;;8999:37:0;;723:18:181;8999:37:0;;;;;;;8567:535;;:::o;114:114:180:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;114:114:180;;;-1:-1:-1;114:114:180;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;374:225:181;414:3;445:1;441:6;438:1;435:13;432:136;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;432:136;-1:-1:-1;584:9:181;;374:225::o;786:380::-;865:1;861:12;;;;908;;;929:61;;983:4;975:6;971:17;961:27;;929:61;1036:2;1028:6;1025:14;1005:18;1002:38;999:161;;;1082:10;1077:3;1073:20;1070:1;1063:31;1117:4;1114:1;1107:15;1145:4;1142:1;1135:15;999:161;;786:380;;;:::o;:::-;114:114:180;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_585":{"entryPoint":null,"id":585,"parameterSlots":3,"returnSlots":0},"@_approve_520":{"entryPoint":856,"id":520,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_574":{"entryPoint":null,"id":574,"parameterSlots":3,"returnSlots":0},"@_msgSender_701":{"entryPoint":null,"id":701,"parameterSlots":0,"returnSlots":1},"@_spendAllowance_563":{"entryPoint":1148,"id":563,"parameterSlots":3,"returnSlots":0},"@_transfer_346":{"entryPoint":1270,"id":346,"parameterSlots":3,"returnSlots":0},"@allowance_141":{"entryPoint":813,"id":141,"parameterSlots":2,"returnSlots":1},"@approve_166":{"entryPoint":562,"id":166,"parameterSlots":2,"returnSlots":1},"@balanceOf_98":{"entryPoint":null,"id":98,"parameterSlots":1,"returnSlots":1},"@decimals_74":{"entryPoint":null,"id":74,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_269":{"entryPoint":671,"id":269,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_228":{"entryPoint":622,"id":228,"parameterSlots":2,"returnSlots":1},"@name_54":{"entryPoint":416,"id":54,"parameterSlots":0,"returnSlots":1},"@symbol_64":{"entryPoint":656,"id":64,"parameterSlots":0,"returnSlots":1},"@totalSupply_84":{"entryPoint":null,"id":84,"parameterSlots":0,"returnSlots":1},"@transferFrom_199":{"entryPoint":586,"id":199,"parameterSlots":3,"returnSlots":1},"@transfer_123":{"entryPoint":799,"id":123,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":1775,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1905,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":1939,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":1845,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":1803,"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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1690,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__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},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2049,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":1990,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5806:181","statements":[{"nodeType":"YulBlock","src":"6:3:181","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:476:181","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:181","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:181","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:181","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:181"},"nodeType":"YulFunctionCall","src":"166:21:181"},"nodeType":"YulExpressionStatement","src":"166:21:181"},{"nodeType":"YulVariableDeclaration","src":"196:27:181","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:181"},"nodeType":"YulFunctionCall","src":"210:13:181"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:181","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:181"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:181"},"nodeType":"YulFunctionCall","src":"239:18:181"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:181"},"nodeType":"YulFunctionCall","src":"232:34:181"},"nodeType":"YulExpressionStatement","src":"232:34:181"},{"nodeType":"YulVariableDeclaration","src":"275:10:181","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:181","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:181"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:181"},"nodeType":"YulFunctionCall","src":"369:17:181"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:181"},"nodeType":"YulFunctionCall","src":"365:26:181"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:181"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:181"},"nodeType":"YulFunctionCall","src":"403:14:181"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:181"},"nodeType":"YulFunctionCall","src":"399:23:181"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:181"},"nodeType":"YulFunctionCall","src":"393:30:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:181"},"nodeType":"YulFunctionCall","src":"358:66:181"},"nodeType":"YulExpressionStatement","src":"358:66:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:181"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:181"},"nodeType":"YulFunctionCall","src":"302:13:181"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:181","statements":[{"nodeType":"YulAssignment","src":"318:15:181","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:181"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:181"},"nodeType":"YulFunctionCall","src":"323:10:181"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:181"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:181","statements":[]},"src":"294:140:181"},{"body":{"nodeType":"YulBlock","src":"468:66:181","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"497:9:181"},{"name":"length","nodeType":"YulIdentifier","src":"508:6:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"493:3:181"},"nodeType":"YulFunctionCall","src":"493:22:181"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"489:3:181"},"nodeType":"YulFunctionCall","src":"489:31:181"},{"kind":"number","nodeType":"YulLiteral","src":"522:1:181","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"482:6:181"},"nodeType":"YulFunctionCall","src":"482:42:181"},"nodeType":"YulExpressionStatement","src":"482:42:181"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"449:1:181"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"446:2:181"},"nodeType":"YulFunctionCall","src":"446:13:181"},"nodeType":"YulIf","src":"443:91:181"},{"nodeType":"YulAssignment","src":"543:62:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"559:9:181"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"578:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"586:2:181","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"574:3:181"},"nodeType":"YulFunctionCall","src":"574:15:181"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"595:2:181","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"591:3:181"},"nodeType":"YulFunctionCall","src":"591:7:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"570:3:181"},"nodeType":"YulFunctionCall","src":"570:29:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"555:3:181"},"nodeType":"YulFunctionCall","src":"555:45:181"},{"kind":"number","nodeType":"YulLiteral","src":"602:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"551:3:181"},"nodeType":"YulFunctionCall","src":"551:54:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"543:4:181"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:181","type":""}],"src":"14:597:181"},{"body":{"nodeType":"YulBlock","src":"665:124:181","statements":[{"nodeType":"YulAssignment","src":"675:29:181","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"697:6:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"684:12:181"},"nodeType":"YulFunctionCall","src":"684:20:181"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"675:5:181"}]},{"body":{"nodeType":"YulBlock","src":"767:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"776:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"779:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"769:6:181"},"nodeType":"YulFunctionCall","src":"769:12:181"},"nodeType":"YulExpressionStatement","src":"769:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"726:5:181"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"737:5:181"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"752:3:181","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"757:1:181","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"748:3:181"},"nodeType":"YulFunctionCall","src":"748:11:181"},{"kind":"number","nodeType":"YulLiteral","src":"761:1:181","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"744:3:181"},"nodeType":"YulFunctionCall","src":"744:19:181"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"733:3:181"},"nodeType":"YulFunctionCall","src":"733:31:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"723:2:181"},"nodeType":"YulFunctionCall","src":"723:42:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"716:6:181"},"nodeType":"YulFunctionCall","src":"716:50:181"},"nodeType":"YulIf","src":"713:70:181"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"644:6:181","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"655:5:181","type":""}],"src":"616:173:181"},{"body":{"nodeType":"YulBlock","src":"881:167:181","statements":[{"body":{"nodeType":"YulBlock","src":"927:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"939:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"929:6:181"},"nodeType":"YulFunctionCall","src":"929:12:181"},"nodeType":"YulExpressionStatement","src":"929:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"902:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"911:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:181"},"nodeType":"YulFunctionCall","src":"898:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"923:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"894:3:181"},"nodeType":"YulFunctionCall","src":"894:32:181"},"nodeType":"YulIf","src":"891:52:181"},{"nodeType":"YulAssignment","src":"952:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"981:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"962:18:181"},"nodeType":"YulFunctionCall","src":"962:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"952:6:181"}]},{"nodeType":"YulAssignment","src":"1000:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1027:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1038:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:181"},"nodeType":"YulFunctionCall","src":"1023:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1010:12:181"},"nodeType":"YulFunctionCall","src":"1010:32:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1000:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"870:6:181","type":""}],"src":"794:254:181"},{"body":{"nodeType":"YulBlock","src":"1148:92:181","statements":[{"nodeType":"YulAssignment","src":"1158:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1170:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1181:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1166:3:181"},"nodeType":"YulFunctionCall","src":"1166:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1158:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:181"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1225:6:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1218:6:181"},"nodeType":"YulFunctionCall","src":"1218:14:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1211:6:181"},"nodeType":"YulFunctionCall","src":"1211:22:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1193:6:181"},"nodeType":"YulFunctionCall","src":"1193:41:181"},"nodeType":"YulExpressionStatement","src":"1193:41:181"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1117:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1128:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1139:4:181","type":""}],"src":"1053:187:181"},{"body":{"nodeType":"YulBlock","src":"1346:76:181","statements":[{"nodeType":"YulAssignment","src":"1356:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1368:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1364:3:181"},"nodeType":"YulFunctionCall","src":"1364:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1356:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:181"},{"name":"value0","nodeType":"YulIdentifier","src":"1409:6:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1391:6:181"},"nodeType":"YulFunctionCall","src":"1391:25:181"},"nodeType":"YulExpressionStatement","src":"1391:25:181"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1315:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1326:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1337:4:181","type":""}],"src":"1245:177:181"},{"body":{"nodeType":"YulBlock","src":"1531:224:181","statements":[{"body":{"nodeType":"YulBlock","src":"1577:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1586:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1589:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1579:6:181"},"nodeType":"YulFunctionCall","src":"1579:12:181"},"nodeType":"YulExpressionStatement","src":"1579:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1552:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"1561:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1548:3:181"},"nodeType":"YulFunctionCall","src":"1548:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"1573:2:181","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1544:3:181"},"nodeType":"YulFunctionCall","src":"1544:32:181"},"nodeType":"YulIf","src":"1541:52:181"},{"nodeType":"YulAssignment","src":"1602:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1631:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1612:18:181"},"nodeType":"YulFunctionCall","src":"1612:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1602:6:181"}]},{"nodeType":"YulAssignment","src":"1650:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1683:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1694:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1679:3:181"},"nodeType":"YulFunctionCall","src":"1679:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1660:18:181"},"nodeType":"YulFunctionCall","src":"1660:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1650:6:181"}]},{"nodeType":"YulAssignment","src":"1707:42:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1734:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1745:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1730:3:181"},"nodeType":"YulFunctionCall","src":"1730:18:181"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1717:12:181"},"nodeType":"YulFunctionCall","src":"1717:32:181"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1707:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1481:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1492:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1504:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1512:6:181","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1520:6:181","type":""}],"src":"1427:328:181"},{"body":{"nodeType":"YulBlock","src":"1857:87:181","statements":[{"nodeType":"YulAssignment","src":"1867:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1879:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"1890:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1875:3:181"},"nodeType":"YulFunctionCall","src":"1875:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1867:4:181"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1909:9:181"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"1932:4:181","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1920:3:181"},"nodeType":"YulFunctionCall","src":"1920:17:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1902:6:181"},"nodeType":"YulFunctionCall","src":"1902:36:181"},"nodeType":"YulExpressionStatement","src":"1902:36:181"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1826:9:181","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1837:6:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1848:4:181","type":""}],"src":"1760:184:181"},{"body":{"nodeType":"YulBlock","src":"2019:116:181","statements":[{"body":{"nodeType":"YulBlock","src":"2065:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2074:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2077:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2067:6:181"},"nodeType":"YulFunctionCall","src":"2067:12:181"},"nodeType":"YulExpressionStatement","src":"2067:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2040:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2049:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2036:3:181"},"nodeType":"YulFunctionCall","src":"2036:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2061:2:181","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2032:3:181"},"nodeType":"YulFunctionCall","src":"2032:32:181"},"nodeType":"YulIf","src":"2029:52:181"},{"nodeType":"YulAssignment","src":"2090:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2119:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2100:18:181"},"nodeType":"YulFunctionCall","src":"2100:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2090:6:181"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1985:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1996:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2008:6:181","type":""}],"src":"1949:186:181"},{"body":{"nodeType":"YulBlock","src":"2227:173:181","statements":[{"body":{"nodeType":"YulBlock","src":"2273:16:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2282:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2285:1:181","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2275:6:181"},"nodeType":"YulFunctionCall","src":"2275:12:181"},"nodeType":"YulExpressionStatement","src":"2275:12:181"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2248:7:181"},{"name":"headStart","nodeType":"YulIdentifier","src":"2257:9:181"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2244:3:181"},"nodeType":"YulFunctionCall","src":"2244:23:181"},{"kind":"number","nodeType":"YulLiteral","src":"2269:2:181","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2240:3:181"},"nodeType":"YulFunctionCall","src":"2240:32:181"},"nodeType":"YulIf","src":"2237:52:181"},{"nodeType":"YulAssignment","src":"2298:39:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2327:9:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2308:18:181"},"nodeType":"YulFunctionCall","src":"2308:29:181"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2298:6:181"}]},{"nodeType":"YulAssignment","src":"2346:48:181","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2379:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"2390:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2375:3:181"},"nodeType":"YulFunctionCall","src":"2375:18:181"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2356:18:181"},"nodeType":"YulFunctionCall","src":"2356:38:181"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2346:6:181"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2185:9:181","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2196:7:181","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2208:6:181","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2216:6:181","type":""}],"src":"2140:260:181"},{"body":{"nodeType":"YulBlock","src":"2460:325:181","statements":[{"nodeType":"YulAssignment","src":"2470:22:181","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2484:1:181","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2487:4:181"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2480:3:181"},"nodeType":"YulFunctionCall","src":"2480:12:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2470:6:181"}]},{"nodeType":"YulVariableDeclaration","src":"2501:38:181","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2531:4:181"},{"kind":"number","nodeType":"YulLiteral","src":"2537:1:181","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2527:3:181"},"nodeType":"YulFunctionCall","src":"2527:12:181"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2505:18:181","type":""}]},{"body":{"nodeType":"YulBlock","src":"2578:31:181","statements":[{"nodeType":"YulAssignment","src":"2580:27:181","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2594:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2602:4:181","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2590:3:181"},"nodeType":"YulFunctionCall","src":"2590:17:181"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2580:6:181"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2558:18:181"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2551:6:181"},"nodeType":"YulFunctionCall","src":"2551:26:181"},"nodeType":"YulIf","src":"2548:61:181"},{"body":{"nodeType":"YulBlock","src":"2668:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2689:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2696:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2701:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2692:3:181"},"nodeType":"YulFunctionCall","src":"2692:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2682:6:181"},"nodeType":"YulFunctionCall","src":"2682:31:181"},"nodeType":"YulExpressionStatement","src":"2682:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2733:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2736:4:181","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2726:6:181"},"nodeType":"YulFunctionCall","src":"2726:15:181"},"nodeType":"YulExpressionStatement","src":"2726:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2761:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2764:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2754:6:181"},"nodeType":"YulFunctionCall","src":"2754:15:181"},"nodeType":"YulExpressionStatement","src":"2754:15:181"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2624:18:181"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2647:6:181"},{"kind":"number","nodeType":"YulLiteral","src":"2655:2:181","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2644:2:181"},"nodeType":"YulFunctionCall","src":"2644:14:181"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2621:2:181"},"nodeType":"YulFunctionCall","src":"2621:38:181"},"nodeType":"YulIf","src":"2618:161:181"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2440:4:181","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2449:6:181","type":""}],"src":"2405:380:181"},{"body":{"nodeType":"YulBlock","src":"2838:177:181","statements":[{"body":{"nodeType":"YulBlock","src":"2873:111:181","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2894:1:181","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2901:3:181","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2906:10:181","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2897:3:181"},"nodeType":"YulFunctionCall","src":"2897:20:181"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2887:6:181"},"nodeType":"YulFunctionCall","src":"2887:31:181"},"nodeType":"YulExpressionStatement","src":"2887:31:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2938:1:181","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2941:4:181","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2931:6:181"},"nodeType":"YulFunctionCall","src":"2931:15:181"},"nodeType":"YulExpressionStatement","src":"2931:15:181"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2966:1:181","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2969:4:181","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2959:6:181"},"nodeType":"YulFunctionCall","src":"2959:15:181"},"nodeType":"YulExpressionStatement","src":"2959:15:181"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2854:1:181"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2861:1:181"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2857:3:181"},"nodeType":"YulFunctionCall","src":"2857:6:181"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2851:2:181"},"nodeType":"YulFunctionCall","src":"2851:13:181"},"nodeType":"YulIf","src":"2848:136:181"},{"nodeType":"YulAssignment","src":"2993:16:181","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3004:1:181"},{"name":"y","nodeType":"YulIdentifier","src":"3007:1:181"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3000:3:181"},"nodeType":"YulFunctionCall","src":"3000:9:181"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2993:3:181"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2821:1:181","type":""},{"name":"y","nodeType":"YulTypedName","src":"2824:1:181","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2830:3:181","type":""}],"src":"2790:225:181"},{"body":{"nodeType":"YulBlock","src":"3194:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3211:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3222:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3204:6:181"},"nodeType":"YulFunctionCall","src":"3204:21:181"},"nodeType":"YulExpressionStatement","src":"3204:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3245:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3256:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3241:3:181"},"nodeType":"YulFunctionCall","src":"3241:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3261:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3234:6:181"},"nodeType":"YulFunctionCall","src":"3234:30:181"},"nodeType":"YulExpressionStatement","src":"3234:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3284:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3295:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3280:3:181"},"nodeType":"YulFunctionCall","src":"3280:18:181"},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77","kind":"string","nodeType":"YulLiteral","src":"3300:34:181","type":"","value":"ERC20: decreased allowance below"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3273:6:181"},"nodeType":"YulFunctionCall","src":"3273:62:181"},"nodeType":"YulExpressionStatement","src":"3273:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3355:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3366:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3351:3:181"},"nodeType":"YulFunctionCall","src":"3351:18:181"},{"hexValue":"207a65726f","kind":"string","nodeType":"YulLiteral","src":"3371:7:181","type":"","value":" zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3344:6:181"},"nodeType":"YulFunctionCall","src":"3344:35:181"},"nodeType":"YulExpressionStatement","src":"3344:35:181"},{"nodeType":"YulAssignment","src":"3388:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3400:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3411:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3396:3:181"},"nodeType":"YulFunctionCall","src":"3396:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3388:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3171:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3185:4:181","type":""}],"src":"3020:401:181"},{"body":{"nodeType":"YulBlock","src":"3600:226:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3617:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3628:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3610:6:181"},"nodeType":"YulFunctionCall","src":"3610:21:181"},"nodeType":"YulExpressionStatement","src":"3610:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:181"},"nodeType":"YulFunctionCall","src":"3647:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"3667:2:181","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3640:6:181"},"nodeType":"YulFunctionCall","src":"3640:30:181"},"nodeType":"YulExpressionStatement","src":"3640:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3690:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3701:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3686:3:181"},"nodeType":"YulFunctionCall","src":"3686:18:181"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"3706:34:181","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3679:6:181"},"nodeType":"YulFunctionCall","src":"3679:62:181"},"nodeType":"YulExpressionStatement","src":"3679:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3761:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3772:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3757:3:181"},"nodeType":"YulFunctionCall","src":"3757:18:181"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"3777:6:181","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3750:6:181"},"nodeType":"YulFunctionCall","src":"3750:34:181"},"nodeType":"YulExpressionStatement","src":"3750:34:181"},{"nodeType":"YulAssignment","src":"3793:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3805:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"3816:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3801:3:181"},"nodeType":"YulFunctionCall","src":"3801:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3793:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3577:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3591:4:181","type":""}],"src":"3426:400:181"},{"body":{"nodeType":"YulBlock","src":"4005:224:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4022:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4033:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4015:6:181"},"nodeType":"YulFunctionCall","src":"4015:21:181"},"nodeType":"YulExpressionStatement","src":"4015:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4056:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4067:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4052:3:181"},"nodeType":"YulFunctionCall","src":"4052:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4072:2:181","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4045:6:181"},"nodeType":"YulFunctionCall","src":"4045:30:181"},"nodeType":"YulExpressionStatement","src":"4045:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4095:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4106:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4091:3:181"},"nodeType":"YulFunctionCall","src":"4091:18:181"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"4111:34:181","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4084:6:181"},"nodeType":"YulFunctionCall","src":"4084:62:181"},"nodeType":"YulExpressionStatement","src":"4084:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4177:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4162:3:181"},"nodeType":"YulFunctionCall","src":"4162:18:181"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"4182:4:181","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4155:6:181"},"nodeType":"YulFunctionCall","src":"4155:32:181"},"nodeType":"YulExpressionStatement","src":"4155:32:181"},{"nodeType":"YulAssignment","src":"4196:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4208:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4219:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4204:3:181"},"nodeType":"YulFunctionCall","src":"4204:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4196:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3982:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3996:4:181","type":""}],"src":"3831:398:181"},{"body":{"nodeType":"YulBlock","src":"4408:179:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4425:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4436:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4418:6:181"},"nodeType":"YulFunctionCall","src":"4418:21:181"},"nodeType":"YulExpressionStatement","src":"4418:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4459:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4470:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4455:3:181"},"nodeType":"YulFunctionCall","src":"4455:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4475:2:181","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4448:6:181"},"nodeType":"YulFunctionCall","src":"4448:30:181"},"nodeType":"YulExpressionStatement","src":"4448:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4509:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4494:3:181"},"nodeType":"YulFunctionCall","src":"4494:18:181"},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","kind":"string","nodeType":"YulLiteral","src":"4514:31:181","type":"","value":"ERC20: insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4487:6:181"},"nodeType":"YulFunctionCall","src":"4487:59:181"},"nodeType":"YulExpressionStatement","src":"4487:59:181"},{"nodeType":"YulAssignment","src":"4555:26:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4567:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4578:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4563:3:181"},"nodeType":"YulFunctionCall","src":"4563:18:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4555:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4385:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4399:4:181","type":""}],"src":"4234:353:181"},{"body":{"nodeType":"YulBlock","src":"4766:227:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4794:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4776:6:181"},"nodeType":"YulFunctionCall","src":"4776:21:181"},"nodeType":"YulExpressionStatement","src":"4776:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4817:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4828:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4813:3:181"},"nodeType":"YulFunctionCall","src":"4813:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:181","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4806:6:181"},"nodeType":"YulFunctionCall","src":"4806:30:181"},"nodeType":"YulExpressionStatement","src":"4806:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4856:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4867:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4852:3:181"},"nodeType":"YulFunctionCall","src":"4852:18:181"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"4872:34:181","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4845:6:181"},"nodeType":"YulFunctionCall","src":"4845:62:181"},"nodeType":"YulExpressionStatement","src":"4845:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4927:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4938:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4923:3:181"},"nodeType":"YulFunctionCall","src":"4923:18:181"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"4943:7:181","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4916:6:181"},"nodeType":"YulFunctionCall","src":"4916:35:181"},"nodeType":"YulExpressionStatement","src":"4916:35:181"},{"nodeType":"YulAssignment","src":"4960:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4972:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"4983:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4968:3:181"},"nodeType":"YulFunctionCall","src":"4968:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4960:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4743:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4757:4:181","type":""}],"src":"4592:401:181"},{"body":{"nodeType":"YulBlock","src":"5172:225:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5189:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5200:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5182:6:181"},"nodeType":"YulFunctionCall","src":"5182:21:181"},"nodeType":"YulExpressionStatement","src":"5182:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5223:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5234:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5219:3:181"},"nodeType":"YulFunctionCall","src":"5219:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5239:2:181","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5212:6:181"},"nodeType":"YulFunctionCall","src":"5212:30:181"},"nodeType":"YulExpressionStatement","src":"5212:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5262:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5273:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5258:3:181"},"nodeType":"YulFunctionCall","src":"5258:18:181"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"5278:34:181","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5251:6:181"},"nodeType":"YulFunctionCall","src":"5251:62:181"},"nodeType":"YulExpressionStatement","src":"5251:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5333:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5344:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5329:3:181"},"nodeType":"YulFunctionCall","src":"5329:18:181"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"5349:5:181","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5322:6:181"},"nodeType":"YulFunctionCall","src":"5322:33:181"},"nodeType":"YulExpressionStatement","src":"5322:33:181"},{"nodeType":"YulAssignment","src":"5364:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5376:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5387:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5372:3:181"},"nodeType":"YulFunctionCall","src":"5372:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5364:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5149:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5163:4:181","type":""}],"src":"4998:399:181"},{"body":{"nodeType":"YulBlock","src":"5576:228:181","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5593:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5604:2:181","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5586:6:181"},"nodeType":"YulFunctionCall","src":"5586:21:181"},"nodeType":"YulExpressionStatement","src":"5586:21:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5627:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5638:2:181","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5623:3:181"},"nodeType":"YulFunctionCall","src":"5623:18:181"},{"kind":"number","nodeType":"YulLiteral","src":"5643:2:181","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5616:6:181"},"nodeType":"YulFunctionCall","src":"5616:30:181"},"nodeType":"YulExpressionStatement","src":"5616:30:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5666:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5677:2:181","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5662:3:181"},"nodeType":"YulFunctionCall","src":"5662:18:181"},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062","kind":"string","nodeType":"YulLiteral","src":"5682:34:181","type":"","value":"ERC20: transfer amount exceeds b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5655:6:181"},"nodeType":"YulFunctionCall","src":"5655:62:181"},"nodeType":"YulExpressionStatement","src":"5655:62:181"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5737:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5748:2:181","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5733:3:181"},"nodeType":"YulFunctionCall","src":"5733:18:181"},{"hexValue":"616c616e6365","kind":"string","nodeType":"YulLiteral","src":"5753:8:181","type":"","value":"alance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5726:6:181"},"nodeType":"YulFunctionCall","src":"5726:36:181"},"nodeType":"YulExpressionStatement","src":"5726:36:181"},{"nodeType":"YulAssignment","src":"5771:27:181","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5783:9:181"},{"kind":"number","nodeType":"YulLiteral","src":"5794:3:181","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5779:3:181"},"nodeType":"YulFunctionCall","src":"5779:19:181"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5771:4:181"}]}]},"name":"abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5553:9:181","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5567:4:181","type":""}],"src":"5402:402:181"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(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_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_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\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 abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__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), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n}","id":181,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122015d1fc221c7dc7f20ab529bc4ced7f851f93aff0a1d4d0320760ec37202dec5464736f6c63430008090033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x735 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x26E JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x771 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x290 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x29F JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x70B JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x793 JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 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 0x1DB SWAP1 PUSH2 0x7C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 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 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x358 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x258 DUP6 DUP3 DUP6 PUSH2 0x47C JUMP JUMPDEST PUSH2 0x263 DUP6 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x281 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH2 0x358 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AD DUP3 DUP7 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x263 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x488 DUP5 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F0 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E3 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 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x309 JUMP JUMPDEST PUSH2 0x4F0 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x358 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x634 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x309 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x6D9 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x71E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x727 DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 DUP5 PUSH2 0x6EF JUMP JUMPDEST SWAP3 POP PUSH2 0x761 PUSH1 0x20 DUP6 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78C DUP3 PUSH2 0x6EF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP4 PUSH2 0x6EF JUMP JUMPDEST SWAP2 POP PUSH2 0x7BD PUSH1 0x20 DUP5 ADD PUSH2 0x6EF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x7FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x822 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xD1 0xFC 0x22 SHR PUSH30 0xC7F20AB529BC4CED7F851F93AFF0A1D4D0320760EC37202DEC5464736F6C PUSH4 0x43000809 STOP CALLER ","sourceMap":"114:114:180:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:181;;1211:22;1193:41;;1181:2;1166:18;4431:197:0;1053:187:181;3242:106:0;3329:12;;3242:106;;;1391:25:181;;;1379:2;1364:18;3242:106:0;1245:177:181;5190:286:0;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1902:36:181;;1890:2;1875:18;3091:91:0;1760:184:181;5871:234:0;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:0;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:3;4568:32:0;719:10:3;4584:7:0;4593:6;4568:8;:32::i;:::-;-1:-1:-1;4617:4:0;;4431:197;-1:-1:-1;;;4431:197:0:o;5190:286::-;5317:4;719:10:3;5373:38:0;5389:4;719:10:3;5404:6:0;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:0;;5190:286;-1:-1:-1;;;;5190:286:0:o;5871:234::-;5959:4;719:10:3;6013:64:0;719:10:3;6029:7:0;6066:10;6038:25;719:10:3;6029:7:0;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:3;6685:4:0;6766:25;719:10:3;6783:7:0;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:0;;3222:2:181;6801:85:0;;;3204:21:181;3261:2;3241:18;;;3234:30;3300:34;3280:18;;;3273:62;-1:-1:-1;;;3351:18:181;;;3344:35;3396:19;;6801:85:0;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:3;3860:28:0;719:10:3;3877:2:0;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:0;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:0;;10627:68;;;;-1:-1:-1;;;10627:68:0;;3628:2:181;10627:68:0;;;3610:21:181;3667:2;3647:18;;;3640:30;3706:34;3686:18;;;3679:62;-1:-1:-1;;;3757:18:181;;;3750:34;3801:19;;10627:68:0;3426:400:181;10627:68:0;-1:-1:-1;;;;;10713:21:0;;10705:68;;;;-1:-1:-1;;;10705:68:0;;4033:2:181;10705:68:0;;;4015:21:181;4072:2;4052:18;;;4045:30;4111:34;4091:18;;;4084:62;-1:-1:-1;;;4162:18:181;;;4155:32;4204:19;;10705:68:0;3831:398:181;10705:68:0;-1:-1:-1;;;;;10784:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1391:25:181;;;10835:32:0;;1364:18:181;10835:32:0;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:0;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:0;;4436:2:181;11404:68:0;;;4418:21:181;4475:2;4455:18;;;4448:30;4514:31;4494:18;;;4487:59;4563:18;;11404:68:0;4234:353:181;11404:68:0;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:0;;7591:68;;;;-1:-1:-1;;;7591:68:0;;4794:2:181;7591:68:0;;;4776:21:181;4833:2;4813:18;;;4806:30;4872:34;4852:18;;;4845:62;-1:-1:-1;;;4923:18:181;;;4916:35;4968:19;;7591:68:0;4592:401:181;7591:68:0;-1:-1:-1;;;;;7677:16:0;;7669:64;;;;-1:-1:-1;;;7669:64:0;;5200:2:181;7669:64:0;;;5182:21:181;5239:2;5219:18;;;5212:30;5278:34;5258:18;;;5251:62;-1:-1:-1;;;5329:18:181;;;5322:33;5372:19;;7669:64:0;4998:399:181;7669:64:0;-1:-1:-1;;;;;7815:15:0;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:0;;5604:2:181;7840:72:0;;;5586:21:181;5643:2;5623:18;;;5616:30;5682:34;5662:18;;;5655:62;-1:-1:-1;;;5733:18:181;;;5726:36;5779:19;;7840:72:0;5402:402:181;7840:72:0;-1:-1:-1;;;;;7946:15:0;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1391:25:181;;;8161:13:0;;8210:26;;1364:18:181;8210:26:0;;;;;;;8247:37;12180:121;14:597:181;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:181;574:15;-1:-1:-1;;570:29:181;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:181:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:181;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:181:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;:::-;2090:39;1949:186;-1:-1:-1;;;1949:186:181:o;2140:260::-;2208:6;2216;2269:2;2257:9;2248:7;2244:23;2240:32;2237:52;;;2285:1;2282;2275:12;2237:52;2308:29;2327:9;2308:29;:::i;:::-;2298:39;;2356:38;2390:2;2379:9;2375:18;2356:38;:::i;:::-;2346:48;;2140:260;;;;;:::o;2405:380::-;2484:1;2480:12;;;;2527;;;2548:61;;2602:4;2594:6;2590:17;2580:27;;2548:61;2655:2;2647:6;2644:14;2624:18;2621:38;2618:161;;;2701:10;2696:3;2692:20;2689:1;2682:31;2736:4;2733:1;2726:15;2764:4;2761:1;2754:15;2618:161;;2405:380;;;:::o;2790:225::-;2830:3;2861:1;2857:6;2854:1;2851:13;2848:136;;;2906:10;2901:3;2897:20;2894:1;2887:31;2941:4;2938:1;2931:15;2969:4;2966:1;2959:15;2848:136;-1:-1:-1;3000:9:181;;2790:225::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Token.sol\":\"Token\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/Token.sol\":{\"keccak256\":\"0x963a92b44f83f176ad2b6fd044f148436403e2bc629dd0bd1324e1c510d4dfc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef230f4c3d22150365c455d316ee16104c77b7e90d43aa8673db228e3618d059\",\"dweb:/ipfs/QmUBdH1cYNzeY5HMoG6wgNSJU9nQcXaHeB39KwyQUnwRdn\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.dbg.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.dbg.json deleted file mode 100644 index 689004952..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/19855d79f8612fb6a990edc5728bd873.json" -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.json deleted file mode 100644 index d08bc329a..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/CompilerCheck.sol/CompilerCheck.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CompilerCheck", - "sourceName": "contracts/CompilerCheck.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212207a5a173346f36a0463ec2ccc0e36762b4e45f193c9fa0450a55102159766591f64736f6c63430008090033", - "deployedBytecode": "0x6080604052600080fdfea26469706673582212207a5a173346f36a0463ec2ccc0e36762b4e45f193c9fa0450a55102159766591f64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.dbg.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.dbg.json deleted file mode 100644 index 689004952..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/19855d79f8612fb6a990edc5728bd873.json" -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.json deleted file mode 100644 index 4486cde94..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Migrations.sol/Migrations.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Migrations", - "sourceName": "contracts/Migrations.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101d4806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610185565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b60006020828403121561016757600080fd5b81356001600160a01b038116811461017e57600080fd5b9392505050565b60006020828403121561019757600080fd5b503591905056fea2646970667358221220714fa1b2bdc6664f6d35640665ca5faf6cebd1f78d4652992ef418d45718cb5a64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610185565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b60006020828403121561016757600080fd5b81356001600160a01b038116811461017e57600080fd5b9392505050565b60006020828403121561019757600080fd5b503591905056fea2646970667358221220714fa1b2bdc6664f6d35640665ca5faf6cebd1f78d4652992ef418d45718cb5a64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.dbg.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.dbg.json deleted file mode 100644 index 689004952..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/19855d79f8612fb6a990edc5728bd873.json" -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.json deleted file mode 100644 index d5c603082..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/artifacts/contracts/Token.sol/Token.json +++ /dev/null @@ -1,286 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Token", - "sourceName": "contracts/Token.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50604051806040016040528060058152602001642a37b5b2b760d91b815250604051806040016040528060038152602001622c2cad60e91b8152508160039080519060200190610061929190610154565b508051610075906004906020840190610154565b50505061008c33633b9aca0061009160201b60201c565b61024e565b6001600160a01b0382166100eb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546100fd91906101ed565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b82805461016090610213565b90600052602060002090601f01602090048101928261018257600085556101c8565b82601f1061019b57805160ff19168380011785556101c8565b828001600101855582156101c8579182015b828111156101c85782518255916020019190600101906101ad565b506101d49291506101d8565b5090565b5b808211156101d457600081556001016101d9565b6000821982111561020e57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c9082168061022757607f821691505b6020821081141561024857634e487b7160e01b600052602260045260246000fd5b50919050565b61085d8061025d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122015d1fc221c7dc7f20ab529bc4ced7f851f93aff0a1d4d0320760ec37202dec5464736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069a565b60405180910390f35b6100df6100da36600461070b565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610735565b61024a565b604051601281526020016100c3565b6100df61013136600461070b565b61026e565b6100f3610144366004610771565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df61017536600461070b565b61029f565b6100df61018836600461070b565b61031f565b6100f361019b366004610793565b61032d565b6060600380546101af906107c6565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c6565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610801565b610358565b6060600480546101af906107c6565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f0565b600060208083528351808285015260005b818110156106c7578581018301518582016040015282016106ab565b818111156106d9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070657600080fd5b919050565b6000806040838503121561071e57600080fd5b610727836106ef565b946020939093013593505050565b60008060006060848603121561074a57600080fd5b610753846106ef565b9250610761602085016106ef565b9150604084013590509250925092565b60006020828403121561078357600080fd5b61078c826106ef565b9392505050565b600080604083850312156107a657600080fd5b6107af836106ef565b91506107bd602084016106ef565b90509250929050565b600181811c908216806107da57607f821691505b602082108114156107fb57634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082257634e487b7160e01b600052601160045260246000fd5b50019056fea264697066735822122015d1fc221c7dc7f20ab529bc4ced7f851f93aff0a1d4d0320760ec37202dec5464736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/cache/solidity-files-cache.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/cache/solidity-files-cache.json deleted file mode 100644 index 90672f4a1..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/cache/solidity-files-cache.json +++ /dev/null @@ -1,6708 +0,0 @@ -{ - "_format": "hh-sol-cache-2", - "files": { - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/AccessControl.sol": { - "lastModificationDate": 1669826871639, - "contentHash": "95a6c227d1b8843e9385518a5bce4853", - "sourceName": "contracts/@openzeppelin/contracts/access/AccessControl.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IAccessControl.sol", - "../utils/Context.sol", - "../utils/Strings.sol", - "../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "AccessControl" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/IAccessControl.sol": { - "lastModificationDate": 1669826871645, - "contentHash": "57c84298234411cea19c7c284d86be8b", - "sourceName": "contracts/@openzeppelin/contracts/access/IAccessControl.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IAccessControl" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Context.sol": { - "lastModificationDate": 1669826871870, - "contentHash": "5f2c5c4b6af2dd4551027144797bc8be", - "sourceName": "contracts/@openzeppelin/contracts/utils/Context.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Context" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Strings.sol": { - "lastModificationDate": 1669826871878, - "contentHash": "396031251978f8febfd90cb62cb240ec", - "sourceName": "contracts/@openzeppelin/contracts/utils/Strings.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./math/Math.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Strings" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "lastModificationDate": 1669826871894, - "contentHash": "0e7db055ce108f9da7bb6686a00287c0", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC165" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/math/Math.sol": { - "lastModificationDate": 1669826871904, - "contentHash": "b9c58920ce74d6dc819161786112e7ee", - "sourceName": "contracts/@openzeppelin/contracts/utils/math/Math.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Math" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "lastModificationDate": 1669826871900, - "contentHash": "03e6768535ac4da0e9756f1d8a4a018a", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC165" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/TimelockController.sol": { - "lastModificationDate": 1669826871676, - "contentHash": "ae0d2ca4db5ef8ac47b0ee155483a0d7", - "sourceName": "contracts/@openzeppelin/contracts/governance/TimelockController.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../access/AccessControl.sol", - "../token/ERC721/IERC721Receiver.sol", - "../token/ERC1155/IERC1155Receiver.sol", - "../utils/Address.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "TimelockController" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { - "lastModificationDate": 1669826871829, - "contentHash": "c22d4395e33763de693fd440c6fd10e1", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC721Receiver" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol": { - "lastModificationDate": 1669826871778, - "contentHash": "9f8822b72fe2702979e40160cb6d9636", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/introspection/IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1155Receiver" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Address.sol": { - "lastModificationDate": 1669826871862, - "contentHash": "f31ad6fc4bbf9c06203987220156a6ba", - "sourceName": "contracts/@openzeppelin/contracts/utils/Address.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.1" - ], - "artifacts": [ - "Address" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol": { - "lastModificationDate": 1669826871689, - "contentHash": "d75bd1fe3635665c9468947aa4c13bd5", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IGovernorTimelock.sol", - "../Governor.sol", - "../TimelockController.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorTimelockControl" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol": { - "lastModificationDate": 1669826871697, - "contentHash": "eebb17e144c4fd58549d815db19552da", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IGovernor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IGovernorTimelock" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/Governor.sol": { - "lastModificationDate": 1669826871672, - "contentHash": "bbb046a0e771ab9863343dadde1072ae", - "sourceName": "contracts/@openzeppelin/contracts/governance/Governor.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC721/IERC721Receiver.sol", - "../token/ERC1155/IERC1155Receiver.sol", - "../utils/cryptography/ECDSA.sol", - "../utils/cryptography/EIP712.sol", - "../utils/introspection/ERC165.sol", - "../utils/math/SafeCast.sol", - "../utils/structs/DoubleEndedQueue.sol", - "../utils/Address.sol", - "../utils/Context.sol", - "../utils/Timers.sol", - "./IGovernor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Governor" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/IGovernor.sol": { - "lastModificationDate": 1669826871674, - "contentHash": "bbba587a6884548b6d49b792337c7e9d", - "sourceName": "contracts/@openzeppelin/contracts/governance/IGovernor.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IGovernor" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { - "lastModificationDate": 1669826871881, - "contentHash": "fe1190dbb6431c2464246925713f0f7f", - "sourceName": "contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Strings.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ECDSA" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol": { - "lastModificationDate": 1669826871883, - "contentHash": "7c33eaa0f6dc029429ed8b986694c3a4", - "sourceName": "contracts/@openzeppelin/contracts/utils/cryptography/EIP712.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ECDSA.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "EIP712" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/math/SafeCast.sol": { - "lastModificationDate": 1669826871905, - "contentHash": "67cf2dfe1d1c22b4ea7f242e8a17f431", - "sourceName": "contracts/@openzeppelin/contracts/utils/math/SafeCast.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SafeCast" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol": { - "lastModificationDate": 1669826871912, - "contentHash": "1252685551a5afdb6005499e0f549eff", - "sourceName": "contracts/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../math/SafeCast.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "DoubleEndedQueue" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Timers.sol": { - "lastModificationDate": 1669826871879, - "contentHash": "ae135102abee8b2fc88eed09a40cdb4c", - "sourceName": "contracts/@openzeppelin/contracts/utils/Timers.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Timers" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol": { - "lastModificationDate": 1669826871693, - "contentHash": "b5275e42abd62e4780bd73bc69492d33", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol", - "../../token/ERC20/extensions/ERC20VotesComp.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorVotesComp" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol": { - "lastModificationDate": 1669826871805, - "contentHash": "85de097d4da905cf320e89d73840291a", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ERC20Votes.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20VotesComp" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol": { - "lastModificationDate": 1669826871803, - "contentHash": "77afac300a0417276af9748828c197be", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./draft-ERC20Permit.sol", - "../../../utils/math/Math.sol", - "../../../governance/utils/IVotes.sol", - "../../../utils/math/SafeCast.sol", - "../../../utils/cryptography/ECDSA.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Votes" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol": { - "lastModificationDate": 1669826871812, - "contentHash": "5b369683bd5582ac703b4177a94d87d2", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./draft-IERC20Permit.sol", - "../ERC20.sol", - "../../../utils/cryptography/ECDSA.sol", - "../../../utils/cryptography/EIP712.sol", - "../../../utils/Counters.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Permit" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/utils/IVotes.sol": { - "lastModificationDate": 1669826871698, - "contentHash": "a036d40989f21d08bb990e68d0088fa1", - "sourceName": "contracts/@openzeppelin/contracts/governance/utils/IVotes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IVotes" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { - "lastModificationDate": 1669826871814, - "contentHash": "fb77f144244b9ab12533aa6ce85ef8c5", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20Permit" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "lastModificationDate": 1669826871792, - "contentHash": "834a0dde221759af42b030253315b086", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC20.sol", - "./extensions/IERC20Metadata.sol", - "../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Counters.sol": { - "lastModificationDate": 1669826871872, - "contentHash": "74654e3ae5d7f39555055dfe244dab7a", - "sourceName": "contracts/@openzeppelin/contracts/utils/Counters.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Counters" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "lastModificationDate": 1669826871794, - "contentHash": "ad7c2d0af148c8f9f097d65deeb4da6b", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "lastModificationDate": 1669826871811, - "contentHash": "909ab67fc5c25033fe6cd364f8c056f9", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20Metadata" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol": { - "lastModificationDate": 1669826871886, - "contentHash": "0db35f6dd5c823618b2a1091a94389a8", - "sourceName": "contracts/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ECDSA.sol", - "../Address.sol", - "../../interfaces/IERC1271.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SignatureChecker" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1271.sol": { - "lastModificationDate": 1669826871709, - "contentHash": "8fe867b95c856b204f954a1910e28a1e", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1271.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1271" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol": { - "lastModificationDate": 1669826871891, - "contentHash": "b74451c81ede541b2d4b5d2300b94c4a", - "sourceName": "contracts/@openzeppelin/contracts/utils/escrow/Escrow.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../access/Ownable.sol", - "../Address.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Escrow" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/Ownable.sol": { - "lastModificationDate": 1669826871648, - "contentHash": "e436cea06129be2c73cda4b1acc848b5", - "sourceName": "contracts/@openzeppelin/contracts/access/Ownable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Ownable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol": { - "lastModificationDate": 1669826871763, - "contentHash": "a947492251ac15d6bfd899c9fdb4d82b", - "sourceName": "contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./TransparentUpgradeableProxy.sol", - "../../access/Ownable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ProxyAdmin" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol": { - "lastModificationDate": 1669826871765, - "contentHash": "ea48b4a63fd733eec048191be006daa8", - "sourceName": "contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC1967/ERC1967Proxy.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "TransparentUpgradeableProxy" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol": { - "lastModificationDate": 1669826871756, - "contentHash": "3fc3c7c0a2956f36e766691bb9473b06", - "sourceName": "contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Proxy.sol", - "./ERC1967Upgrade.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1967Proxy" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/Proxy.sol": { - "lastModificationDate": 1669826871755, - "contentHash": "40b3d81a836d50ff47e03893dcaaf204", - "sourceName": "contracts/@openzeppelin/contracts/proxy/Proxy.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Proxy" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol": { - "lastModificationDate": 1669826871758, - "contentHash": "6baa887a798e95b14f34e093f117e9b2", - "sourceName": "contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../beacon/IBeacon.sol", - "../../interfaces/draft-IERC1822.sol", - "../../utils/Address.sol", - "../../utils/StorageSlot.sol" - ], - "versionPragmas": [ - "^0.8.2" - ], - "artifacts": [ - "ERC1967Upgrade" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { - "lastModificationDate": 1669826871761, - "contentHash": "b6bd23bf19e90b771337037706470933", - "sourceName": "contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IBeacon" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { - "lastModificationDate": 1669826871747, - "contentHash": "2858d98e74e67987ec81b39605230b74", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1822Proxiable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/StorageSlot.sol": { - "lastModificationDate": 1669826871877, - "contentHash": "f993f8f50186952a59ee5e3a30b68222", - "sourceName": "contracts/@openzeppelin/contracts/utils/StorageSlot.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "StorageSlot" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol": { - "lastModificationDate": 1669826871769, - "contentHash": "72741fcafc308d461962c96309d81342", - "sourceName": "contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../interfaces/draft-IERC1822.sol", - "../ERC1967/ERC1967Upgrade.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "UUPSUpgradeable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol": { - "lastModificationDate": 1669826871759, - "contentHash": "dc9dcb6e542154d9cfbfaece646c1092", - "sourceName": "contracts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IBeacon.sol", - "../Proxy.sol", - "../ERC1967/ERC1967Upgrade.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "BeaconProxy" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol": { - "lastModificationDate": 1669826871762, - "contentHash": "8ffefb755605824cf730ce4092b2f581", - "sourceName": "contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IBeacon.sol", - "../../access/Ownable.sol", - "../../utils/Address.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "UpgradeableBeacon" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Arrays.sol": { - "lastModificationDate": 1669826871863, - "contentHash": "afc7d27f2b4adc89bcefceba5360f069", - "sourceName": "contracts/@openzeppelin/contracts/utils/Arrays.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./StorageSlot.sol", - "./math/Math.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Arrays" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol": { - "lastModificationDate": 1669826871826, - "contentHash": "190f627b9302b9602d3a313e28205cc5", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC721.sol", - "./IERC721Receiver.sol", - "./extensions/IERC721Metadata.sol", - "../../utils/Address.sol", - "../../utils/Context.sol", - "../../utils/Strings.sol", - "../../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "lastModificationDate": 1669826871828, - "contentHash": "eb7e61db29f31d88b3c1cef1b063d338", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/introspection/IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC721" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { - "lastModificationDate": 1669826871844, - "contentHash": "efbc0d15b80a74e34dbe8da0f3e879bb", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC721.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC721Metadata" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol": { - "lastModificationDate": 1669826871849, - "contentHash": "67278ec6d0916ad06593c210d5021f93", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../extensions/ERC721Enumerable.sol", - "../extensions/ERC721Burnable.sol", - "../extensions/ERC721Pausable.sol", - "../../../access/AccessControlEnumerable.sol", - "../../../utils/Context.sol", - "../../../utils/Counters.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721PresetMinterPauserAutoId" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": { - "lastModificationDate": 1669826871834, - "contentHash": "212e86880d210b6cac8c3eb0cd6b1fad", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "./IERC721Enumerable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Enumerable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol": { - "lastModificationDate": 1669826871831, - "contentHash": "5a341bfc4fe3ee5357ccdebd3a78ad2c", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Burnable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol": { - "lastModificationDate": 1669826871836, - "contentHash": "c3f36f8109326ef89696418ffaf8a2ee", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../../../security/Pausable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Pausable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol": { - "lastModificationDate": 1669826871643, - "contentHash": "b6d9b165dc57e9ad8153bdca05c783a4", - "sourceName": "contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IAccessControlEnumerable.sol", - "./AccessControl.sol", - "../utils/structs/EnumerableSet.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "AccessControlEnumerable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { - "lastModificationDate": 1669826871842, - "contentHash": "f4dd06783f321aa26179bc2b6e361c29", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC721.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC721Enumerable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/security/Pausable.sol": { - "lastModificationDate": 1669826871770, - "contentHash": "25c8108f36fdd472bc78d4c4af240c11", - "sourceName": "contracts/@openzeppelin/contracts/security/Pausable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Pausable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol": { - "lastModificationDate": 1669826871646, - "contentHash": "4e71cc90682e109e999ce2bd329f6572", - "sourceName": "contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IAccessControl.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IAccessControlEnumerable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol": { - "lastModificationDate": 1669826871914, - "contentHash": "6116ca703456923afc88ce24b466ac80", - "sourceName": "contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "EnumerableSet" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol": { - "lastModificationDate": 1669826871887, - "contentHash": "99862ec40e690088798ff5801da0a8ed", - "sourceName": "contracts/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./EIP712.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol": { - "lastModificationDate": 1669826871752, - "contentHash": "db6973737efc2877acc878f9d3ce9c9e", - "sourceName": "contracts/@openzeppelin/contracts/metatx/MinimalForwarder.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/cryptography/ECDSA.sol", - "../utils/cryptography/EIP712.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "MinimalForwarder" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/utils/Votes.sol": { - "lastModificationDate": 1669826871700, - "contentHash": "d6c07022d5fe18c7a1b9b48c40c7df8d", - "sourceName": "contracts/@openzeppelin/contracts/governance/utils/Votes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/Context.sol", - "../../utils/Counters.sol", - "../../utils/Checkpoints.sol", - "../../utils/cryptography/EIP712.sol", - "./IVotes.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Votes" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Checkpoints.sol": { - "lastModificationDate": 1669826871866, - "contentHash": "fc44afad5696dcf2d3b9494f2be47f2d", - "sourceName": "contracts/@openzeppelin/contracts/utils/Checkpoints.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./math/Math.sol", - "./math/SafeCast.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Checkpoints" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol": { - "lastModificationDate": 1669826871841, - "contentHash": "53fa78ff8e9bb0ebbfa1d1f52ea9f759", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../../../governance/utils/Votes.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Votes" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol": { - "lastModificationDate": 1669826871847, - "contentHash": "c0981ca60f82a2d3f26b4003bbcc04a2", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ERC721Votes.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol": { - "lastModificationDate": 1669826871691, - "contentHash": "d5ec18eb16b8452e749ee7d3aaa304b1", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol", - "../utils/IVotes.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorVotes" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol": { - "lastModificationDate": 1669826871695, - "contentHash": "10d5401a4a099932299a62df22935a5e", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./GovernorVotes.sol", - "../../utils/Checkpoints.sol", - "../../utils/math/SafeCast.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorVotesQuorumFraction" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol": { - "lastModificationDate": 1669826871832, - "contentHash": "ea5e1fe47840bb8706246ef114d41aeb", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Consecutive.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../../../interfaces/IERC2309.sol", - "../../../utils/Checkpoints.sol", - "../../../utils/structs/BitMaps.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Consecutive" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC2309.sol": { - "lastModificationDate": 1669826871728, - "contentHash": "a947c4b225a5689ce39ba4ca05e6be85", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC2309.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC2309" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol": { - "lastModificationDate": 1669826871910, - "contentHash": "20c685ef08a7c9f74d290e15dde5fe39", - "sourceName": "contracts/@openzeppelin/contracts/utils/structs/BitMaps.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "BitMaps" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol": { - "lastModificationDate": 1669826871687, - "contentHash": "756c2fabb71e0805f8bf4464638b3034", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IGovernorTimelock.sol", - "../Governor.sol", - "../../utils/math/SafeCast.sol", - "../../vendor/compound/ICompoundTimelock.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorTimelockCompound" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol": { - "lastModificationDate": 1669826871930, - "contentHash": "0aa957092da3c691ed6bf15e56aedc3b", - "sourceName": "contracts/@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ICompoundTimelock" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol": { - "lastModificationDate": 1669826871679, - "contentHash": "150a6426dc55ba789e76389d6893f908", - "sourceName": "contracts/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IGovernor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IGovernorCompatibilityBravo" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol": { - "lastModificationDate": 1669826871677, - "contentHash": "2fb139bf4ed5028a1ef1f18e2d61656f", - "sourceName": "contracts/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/math/SafeCast.sol", - "../extensions/IGovernorTimelock.sol", - "../Governor.sol", - "./IGovernorCompatibilityBravo.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorCompatibilityBravo" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol": { - "lastModificationDate": 1669826871897, - "contentHash": "a391733d3f579314de328ba879bc4f2d", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC165Storage" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol": { - "lastModificationDate": 1669826871895, - "contentHash": "9d0b884f85f45afc3ab03ba8256aa0f1", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC165Checker" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol": { - "lastModificationDate": 1669826871739, - "contentHash": "d228683ef3a0f519456720463403ced6", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC721/extensions/IERC721Metadata.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol": { - "lastModificationDate": 1669826871738, - "contentHash": "ff727125a84ba8d0dd642f6ab0632435", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC721/extensions/IERC721Enumerable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC721.sol": { - "lastModificationDate": 1669826871737, - "contentHash": "e6da7798a8c22c5043cc42d64a2a8f80", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC721.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC721/IERC721.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol": { - "lastModificationDate": 1669826871790, - "contentHash": "55b180cf664783e9a2baac20e82683fb", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC1155Receiver.sol", - "../../../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155Receiver" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol": { - "lastModificationDate": 1669826871789, - "contentHash": "88079762e28b246888129028f757e047", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ERC1155Receiver.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155Holder" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol": { - "lastModificationDate": 1669826871775, - "contentHash": "447816f3d93d639006eb423c33d2ca2c", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC1155.sol", - "./IERC1155Receiver.sol", - "./extensions/IERC1155MetadataURI.sol", - "../../utils/Address.sol", - "../../utils/Context.sol", - "../../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { - "lastModificationDate": 1669826871776, - "contentHash": "d5a8f6e07ca38ec384856cfe9f08a867", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/introspection/IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1155" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": { - "lastModificationDate": 1669826871785, - "contentHash": "9148c2e10c4efb12c71a7f080da5559b", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC1155.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1155MetadataURI" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol": { - "lastModificationDate": 1669826871787, - "contentHash": "ce9333438d295d2c4bebc7951ad33d93", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC1155.sol", - "../extensions/ERC1155Burnable.sol", - "../extensions/ERC1155Pausable.sol", - "../../../access/AccessControlEnumerable.sol", - "../../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155PresetMinterPauser" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol": { - "lastModificationDate": 1669826871779, - "contentHash": "eb73ad4b21256e7acc58daa388915716", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC1155.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155Burnable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol": { - "lastModificationDate": 1669826871781, - "contentHash": "8c76f015a31a093020b83ba53a33c84d", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC1155.sol", - "../../../security/Pausable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155Pausable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol": { - "lastModificationDate": 1669826871853, - "contentHash": "b12032683134e4a20d525047fedad91b", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC777.sol", - "./IERC777Recipient.sol", - "./IERC777Sender.sol", - "../ERC20/IERC20.sol", - "../../utils/Address.sol", - "../../utils/Context.sol", - "../../utils/introspection/IERC1820Registry.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC777" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol": { - "lastModificationDate": 1669826871855, - "contentHash": "35b56a00de0fb16f9e6a8d7464d31b0b", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC777" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol": { - "lastModificationDate": 1669826871856, - "contentHash": "268af1696d7a83a7e78a1a8f5ba1c685", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC777Recipient" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol": { - "lastModificationDate": 1669826871858, - "contentHash": "7c1ce5bc5bc5f57fe7106ba767063e08", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC777Sender" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol": { - "lastModificationDate": 1669826871902, - "contentHash": "2d32789d582abdcbe87cc5edc2e07374", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1820Registry" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol": { - "lastModificationDate": 1669826871859, - "contentHash": "cf632c608a0fc89ebfcd9870cb7e6ca2", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC777.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC777PresetFixedSupply" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1820Registry.sol": { - "lastModificationDate": 1669826871723, - "contentHash": "fee82324a47df8d208c5389f695afab9", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1820Registry.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/introspection/IERC1820Registry.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { - "lastModificationDate": 1669826871823, - "contentHash": "0320a90f714843ca19373ed143fc4466", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC20.sol", - "../extensions/draft-IERC20Permit.sol", - "../../../utils/Address.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SafeERC20" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol": { - "lastModificationDate": 1669826871824, - "contentHash": "5d2b54b53436cb1d51e9aed8f2b27982", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./SafeERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "TokenTimelock" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol": { - "lastModificationDate": 1669826871749, - "contentHash": "ad2177bf228c4a10bd94423ed7b1c67a", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/draft-IERC2612.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/extensions/draft-IERC20Permit.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC2612" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol": { - "lastModificationDate": 1669826871809, - "contentHash": "1c2d081bd9dc84ab124322cbea50048e", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../utils/SafeERC20.sol", - "../../../interfaces/IERC4626.sol", - "../../../utils/math/Math.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC4626" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC4626.sol": { - "lastModificationDate": 1669826871735, - "contentHash": "8337a776991ee87454e5e38b48f0e744", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC4626.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/IERC20.sol", - "../token/ERC20/extensions/IERC20Metadata.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC4626" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol": { - "lastModificationDate": 1669826871821, - "contentHash": "ca6cd8d752c4e75efa2a15734be0cb94", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../extensions/ERC20Burnable.sol", - "../extensions/ERC20Pausable.sol", - "../../../access/AccessControlEnumerable.sol", - "../../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20PresetMinterPauser" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { - "lastModificationDate": 1669826871795, - "contentHash": "a1c7f80ae26f5b2d7d563475627fbf25", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Burnable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol": { - "lastModificationDate": 1669826871800, - "contentHash": "ab4babe7912604097ae769a62fa08506", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../../../security/Pausable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Pausable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol": { - "lastModificationDate": 1669826871913, - "contentHash": "c218f47e99a767f210e45a4c29010dae", - "sourceName": "contracts/@openzeppelin/contracts/utils/structs/EnumerableMap.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./EnumerableSet.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "EnumerableMap" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol": { - "lastModificationDate": 1669826871818, - "contentHash": "d4d35c0977f3c87ab399a75a45d6fc19", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../extensions/ERC20Burnable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20PresetFixedSupply" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol": { - "lastModificationDate": 1669826871807, - "contentHash": "681b2b596d6bace0deaa50655a1733ef", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../utils/SafeERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Wrapper" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol": { - "lastModificationDate": 1669826871801, - "contentHash": "40467b3c6e3da2ddaae40817859a9827", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol", - "../../../utils/Arrays.sol", - "../../../utils/Counters.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Snapshot" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol": { - "lastModificationDate": 1669826871798, - "contentHash": "292f409f32d72314aeaf4b63c879eed4", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../../interfaces/IERC3156FlashBorrower.sol", - "../../../interfaces/IERC3156FlashLender.sol", - "../ERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20FlashMint" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol": { - "lastModificationDate": 1669826871732, - "contentHash": "a526318b0e6016b4ef301c4279be02cb", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC3156FlashBorrower" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol": { - "lastModificationDate": 1669826871733, - "contentHash": "9e16b4d269b399e8ab6342e0cf8a2edd", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC3156FlashBorrower.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC3156FlashLender" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC3156.sol": { - "lastModificationDate": 1669826871730, - "contentHash": "8a4addf833379ccc6911f847b308332f", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC3156.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC3156FlashBorrower.sol", - "./IERC3156FlashLender.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol": { - "lastModificationDate": 1669826871797, - "contentHash": "da89e343119284763a5a135243cdb338", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20Capped" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC20Metadata.sol": { - "lastModificationDate": 1669826871726, - "contentHash": "5f6b568ff33d29c2a468a48e4d2bb0f4", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC20Metadata.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/extensions/IERC20Metadata.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/finance/VestingWallet.sol": { - "lastModificationDate": 1669826871670, - "contentHash": "cf8f0c00de86bacb9d16c21b2007484a", - "sourceName": "contracts/@openzeppelin/contracts/finance/VestingWallet.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/utils/SafeERC20.sol", - "../utils/Address.sol", - "../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "VestingWallet" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol": { - "lastModificationDate": 1669826871669, - "contentHash": "4aa680e9153bff0937dba5ff34fd693e", - "sourceName": "contracts/@openzeppelin/contracts/finance/PaymentSplitter.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/utils/SafeERC20.sol", - "../utils/Address.sol", - "../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "PaymentSplitter" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC20.sol": { - "lastModificationDate": 1669826871724, - "contentHash": "d151fbfe7939989b9acf22797b32058b", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC20/IERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1363.sol": { - "lastModificationDate": 1669826871711, - "contentHash": "acec8cadeb2b66b07429c854a788a555", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1363.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC20.sol", - "./IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1363" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC165.sol": { - "lastModificationDate": 1669826871719, - "contentHash": "ee9624272968c23d93d4c2e39f06e6e2", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC165.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/introspection/IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC777Sender.sol": { - "lastModificationDate": 1669826871745, - "contentHash": "e573734b8269ff2e407c505ea6fa4474", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC777Sender.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC777/IERC777Sender.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC777Recipient.sol": { - "lastModificationDate": 1669826871744, - "contentHash": "5cb82721cc0841a27ae151e7f7b268e1", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC777Recipient.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC777/IERC777Recipient.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC777.sol": { - "lastModificationDate": 1669826871742, - "contentHash": "6009e31d3e8cbdc6831fc5d43e99701c", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC777.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC777/IERC777.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol": { - "lastModificationDate": 1669826871750, - "contentHash": "21f86a5846802b47da7f6bb6b9ce89d4", - "sourceName": "contracts/@openzeppelin/contracts/metatx/ERC2771Context.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.9" - ], - "artifacts": [ - "ERC2771Context" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol": { - "lastModificationDate": 1669826871784, - "contentHash": "6046dbdf9591874037a20159d431e11f", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../../utils/Strings.sol", - "../ERC1155.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155URIStorage" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol": { - "lastModificationDate": 1669826871782, - "contentHash": "6a99607f60a77d468b7ed41303ea4a6c", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC1155.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1155Supply" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1155.sol": { - "lastModificationDate": 1669826871702, - "contentHash": "f646f2b291e7c83dcc7f1c6c7d1ece30", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1155.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC1155/IERC1155.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol": { - "lastModificationDate": 1669826871704, - "contentHash": "bc1c98271c8b14d98b8caf09250dd039", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC1155/extensions/IERC1155MetadataURI.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol": { - "lastModificationDate": 1669826871707, - "contentHash": "a80dbc3947556c57c569cd81aa255f10", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC1155/IERC1155Receiver.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC2981.sol": { - "lastModificationDate": 1669826871729, - "contentHash": "608566bc5327454ba54e487e7c226ff6", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC2981.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/introspection/IERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC2981" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/common/ERC2981.sol": { - "lastModificationDate": 1669826871860, - "contentHash": "f995d6f70022823e60e85f41959c801d", - "sourceName": "contracts/@openzeppelin/contracts/token/common/ERC2981.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../interfaces/IERC2981.sol", - "../../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC2981" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol": { - "lastModificationDate": 1669826871838, - "contentHash": "d29e32d2fc8b7e02c8a00f69b3223411", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol", - "../../common/ERC2981.sol", - "../../../utils/introspection/ERC165.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Royalty" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol": { - "lastModificationDate": 1669826871839, - "contentHash": "8af32effd0536e2971ff8496812a5016", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../ERC721.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721URIStorage" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol": { - "lastModificationDate": 1669826871851, - "contentHash": "54062ff887823a306b33ea6494a220bc", - "sourceName": "contracts/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC721Receiver.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC721Holder" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC721Receiver.sol": { - "lastModificationDate": 1669826871741, - "contentHash": "04c99e0f7cc521daff42ecd8e8f14877", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC721Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../token/ERC721/IERC721Receiver.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol": { - "lastModificationDate": 1669826871682, - "contentHash": "8a5d8fa457b66fe4bacb1320a0a079b7", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorPreventLateQuorum.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol", - "../../utils/math/Math.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorPreventLateQuorum" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/Ownable2Step.sol": { - "lastModificationDate": 1669826871650, - "contentHash": "9a66ec5f916493cff9d9ef23b16e28d7", - "sourceName": "contracts/@openzeppelin/contracts/access/Ownable2Step.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./Ownable.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Ownable2Step" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol": { - "lastModificationDate": 1669826871889, - "contentHash": "ed8802b28f8eab3257dc05b5b09e5c5d", - "sourceName": "contracts/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./Escrow.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ConditionalEscrow" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol": { - "lastModificationDate": 1669826871892, - "contentHash": "aee62e265ecc9a3b5f03a79e34b89158", - "sourceName": "contracts/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ConditionalEscrow.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "RefundEscrow" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/security/PullPayment.sol": { - "lastModificationDate": 1669826871772, - "contentHash": "27e30238eb62d25ed73d17e23ac2a3ca", - "sourceName": "contracts/@openzeppelin/contracts/security/PullPayment.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/escrow/Escrow.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "PullPayment" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Multicall.sol": { - "lastModificationDate": 1669826871875, - "contentHash": "8a997d859de7e871118021136bb5094e", - "sourceName": "contracts/@openzeppelin/contracts/utils/Multicall.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./Address.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Multicall" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol": { - "lastModificationDate": 1669826871767, - "contentHash": "a8db4cae435200b0e429619c853df716", - "sourceName": "contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../utils/Address.sol" - ], - "versionPragmas": [ - "^0.8.2" - ], - "artifacts": [ - "Initializable" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol": { - "lastModificationDate": 1669826871667, - "contentHash": "ea5f6e994302dfb7b63a4464cb91df34", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../CrossChainEnabled.sol", - "../../security/ReentrancyGuard.sol", - "../../utils/Address.sol", - "../../vendor/polygon/IFxMessageProcessor.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabledPolygonChild" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol": { - "lastModificationDate": 1669826871651, - "contentHash": "cdff8c7d7f4945a9c3e1832716edfeef", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/CrossChainEnabled.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./errors.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabled" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol": { - "lastModificationDate": 1669826871773, - "contentHash": "a8e2d1c30042f64ed89c9d4157eb6cb9", - "sourceName": "contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ReentrancyGuard" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol": { - "lastModificationDate": 1669826871933, - "contentHash": "708bc9315349e0b19949e5eefce243e9", - "sourceName": "contracts/@openzeppelin/contracts/vendor/polygon/IFxMessageProcessor.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IFxMessageProcessor" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/errors.sol": { - "lastModificationDate": 1669826871653, - "contentHash": "6f0eb1ce3507339f0dbcee101521876b", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/errors.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol": { - "lastModificationDate": 1669826871663, - "contentHash": "6478343193f1b1bddc3a4f7d061ecbfc", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../CrossChainEnabled.sol", - "./LibOptimism.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabledOptimism" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol": { - "lastModificationDate": 1669826871664, - "contentHash": "51b8c43c05c0f147ca8c76a8555d932a", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/optimism/LibOptimism.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../vendor/optimism/ICrossDomainMessenger.sol", - "../errors.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "LibOptimism" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol": { - "lastModificationDate": 1669826871931, - "contentHash": "dbd555bcf18d405690d5d9766af03be2", - "sourceName": "contracts/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">0.5.0 <0.9.0" - ], - "artifacts": [ - "ICrossDomainMessenger" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol": { - "lastModificationDate": 1669826871661, - "contentHash": "bd16f74dbf52b2df45ec98e1d03f2d02", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL2.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../vendor/arbitrum/IArbSys.sol", - "../errors.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "LibArbitrumL2" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol": { - "lastModificationDate": 1669826871922, - "contentHash": "6d2890feae8049fda765ded5b602d10a", - "sourceName": "contracts/@openzeppelin/contracts/vendor/arbitrum/IArbSys.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.4.21 <0.9.0" - ], - "artifacts": [ - "IArbSys" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol": { - "lastModificationDate": 1669826871659, - "contentHash": "e63d7875d5a677400cb70d488ead3b06", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../CrossChainEnabled.sol", - "./LibArbitrumL2.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabledArbitrumL2" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol": { - "lastModificationDate": 1669826871660, - "contentHash": "0cb5a7290a565f45de634aa6cebbd2df", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/arbitrum/LibArbitrumL1.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../vendor/arbitrum/IBridge.sol", - "../../vendor/arbitrum/IOutbox.sol", - "../errors.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "LibArbitrumL1" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol": { - "lastModificationDate": 1669826871924, - "contentHash": "f548bef5fb25363c37752170fe749839", - "sourceName": "contracts/@openzeppelin/contracts/vendor/arbitrum/IBridge.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.6.9 <0.9.0" - ], - "artifacts": [ - "IBridge" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol": { - "lastModificationDate": 1669826871928, - "contentHash": "3d69e5a90f17d353c855db323b27d9d8", - "sourceName": "contracts/@openzeppelin/contracts/vendor/arbitrum/IOutbox.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IBridge.sol" - ], - "versionPragmas": [ - ">=0.6.9 <0.9.0" - ], - "artifacts": [ - "IOutbox" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol": { - "lastModificationDate": 1669826871927, - "contentHash": "3ae9e476eb892b8ae586f767d67d00e7", - "sourceName": "contracts/@openzeppelin/contracts/vendor/arbitrum/IInbox.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IBridge.sol", - "./IDelayedMessageProvider.sol" - ], - "versionPragmas": [ - ">=0.6.9 <0.9.0" - ], - "artifacts": [ - "IInbox" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol": { - "lastModificationDate": 1669826871925, - "contentHash": "aaef73eb6c245cb373213963d7128b51", - "sourceName": "contracts/@openzeppelin/contracts/vendor/arbitrum/IDelayedMessageProvider.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.6.9 <0.9.0" - ], - "artifacts": [ - "IDelayedMessageProvider" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol": { - "lastModificationDate": 1669826871657, - "contentHash": "31dc8ded3beb19204c7c5da4a74a47e1", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../CrossChainEnabled.sol", - "./LibArbitrumL1.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabledArbitrumL1" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol": { - "lastModificationDate": 1669826871656, - "contentHash": "aca66130bac2b428adb3d9f908123fb2", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/amb/LibAMB.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../../vendor/amb/IAMB.sol", - "../errors.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "LibAMB" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol": { - "lastModificationDate": 1669826871916, - "contentHash": "ded958860b2fd4572666d478ecf695c6", - "sourceName": "contracts/@openzeppelin/contracts/vendor/amb/IAMB.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IAMB" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol": { - "lastModificationDate": 1669826871654, - "contentHash": "8a0a6079d517a951b8da46f2c982ace1", - "sourceName": "contracts/@openzeppelin/contracts/crosschain/amb/CrossChainEnabledAMB.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../CrossChainEnabled.sol", - "./LibAMB.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "CrossChainEnabledAMB" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol": { - "lastModificationDate": 1669826871641, - "contentHash": "562db8d0df4d1a9a6c8a994a9b8c15c6", - "sourceName": "contracts/@openzeppelin/contracts/access/AccessControlCrossChain.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./AccessControl.sol", - "../crosschain/CrossChainEnabled.sol" - ], - "versionPragmas": [ - "^0.8.4" - ], - "artifacts": [ - "AccessControlCrossChain" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol": { - "lastModificationDate": 1669826871685, - "contentHash": "2c6e87fa9b63c7ef8579eb4ae937d4c2", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorSettings" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol": { - "lastModificationDate": 1669826871684, - "contentHash": "badf0ac3dc5335b05d84dab6e58a9d6e", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorProposalThreshold" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol": { - "lastModificationDate": 1669826871680, - "contentHash": "9d29fbf7536b618ba423373e26d690bc", - "sourceName": "contracts/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../Governor.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "GovernorCountingSimple" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol": { - "lastModificationDate": 1669826871713, - "contentHash": "81d82b92e32be3906f750c8aa081eb09", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1363Receiver" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol": { - "lastModificationDate": 1669826871717, - "contentHash": "59232bcd69ecd60f9fdc41e435eff762", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1363Spender.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1363Spender" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol": { - "lastModificationDate": 1669826871721, - "contentHash": "b78ff1b7467f49381ceffd0e1c86b821", - "sourceName": "contracts/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../utils/introspection/IERC1820Implementer.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol": { - "lastModificationDate": 1669826871901, - "contentHash": "0612f1c8beee4b227de51b49174b9bc2", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC1820Implementer" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol": { - "lastModificationDate": 1669826871898, - "contentHash": "267e2fa54d5923930fc121c178403487", - "sourceName": "contracts/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC1820Implementer.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC1820Implementer" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/proxy/Clones.sol": { - "lastModificationDate": 1669826871753, - "contentHash": "11535a839f5494023c396098504f5646", - "sourceName": "contracts/@openzeppelin/contracts/proxy/Clones.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Clones" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Base64.sol": { - "lastModificationDate": 1669826871864, - "contentHash": "8f868da0a90e46a85baa348a896d1702", - "sourceName": "contracts/@openzeppelin/contracts/utils/Base64.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Base64" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/Create2.sol": { - "lastModificationDate": 1669826871873, - "contentHash": "e668137caad722e30909c5325d2c4282", - "sourceName": "contracts/@openzeppelin/contracts/utils/Create2.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Create2" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "lastModificationDate": 1669826871884, - "contentHash": "a75542fc722f3c5c883583228040bbfe", - "sourceName": "contracts/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "MerkleProof" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/math/SafeMath.sol": { - "lastModificationDate": 1669826871907, - "contentHash": "2337f0279507b5edf14a07067adf0d05", - "sourceName": "contracts/@openzeppelin/contracts/utils/math/SafeMath.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SafeMath" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/math/SignedMath.sol": { - "lastModificationDate": 1669826871908, - "contentHash": "9488ebd4daacfee8ad04811600d7d061", - "sourceName": "contracts/@openzeppelin/contracts/utils/math/SignedMath.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SignedMath" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol": { - "lastModificationDate": 1669826871909, - "contentHash": "f7b3809e202b5547e9ddd97aaeb1d907", - "sourceName": "contracts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "SignedSafeMath" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/CompilerCheck.sol": { - "lastModificationDate": 1669787500466, - "contentHash": "ebf2a781c9dbe9b06b14b32fddd6d1de", - "sourceName": "contracts/CompilerCheck.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.0.0" - ], - "artifacts": [ - "CompilerCheck" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "lastModificationDate": 1669826801925, - "contentHash": "834a0dde221759af42b030253315b086", - "sourceName": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IERC20.sol", - "./extensions/IERC20Metadata.sol", - "../../utils/Context.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ERC20" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "lastModificationDate": 1669826804155, - "contentHash": "ad7c2d0af148c8f9f097d65deeb4da6b", - "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/node_modules/@openzeppelin/contracts/utils/Context.sol": { - "lastModificationDate": 1669826800883, - "contentHash": "5f2c5c4b6af2dd4551027144797bc8be", - "sourceName": "@openzeppelin/contracts/utils/Context.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Context" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "lastModificationDate": 1669826804204, - "contentHash": "909ab67fc5c25033fe6cd364f8c056f9", - "sourceName": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "../IERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20Metadata" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/Migrations.sol": { - "lastModificationDate": 1669787555611, - "contentHash": "8952a806f2547169ada017d1611c9d9d", - "sourceName": "contracts/Migrations.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "Migrations" - ] - }, - "/Users/vijayaprakam/BC-26038/vmwathena_blockchain/vmbc-eth-sdk/permissioning/permissioning-sample-dapps/write-permissioning-sample-dapp-ui/contracts/Token.sol": { - "lastModificationDate": 1669826590259, - "contentHash": "6d591b97fe6386e7c47c8a06d3c363ba", - "sourceName": "contracts/Token.sol", - "solcConfig": { - "version": "0.8.9", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "@openzeppelin/contracts/token/ERC20/ERC20.sol" - ], - "versionPragmas": [ - "^0.8.7" - ], - "artifacts": [ - "Token" - ] - } - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/CompilerCheck.sol b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/CompilerCheck.sol deleted file mode 100644 index f3bf56097..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/CompilerCheck.sol +++ /dev/null @@ -1,3 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.0.0; -contract CompilerCheck {} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Migrations.sol b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Migrations.sol deleted file mode 100644 index 4fa49205b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Migrations.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Migrations { - address public owner; - uint public last_completed_migration; - - constructor() { - owner = msg.sender; - } - - modifier restricted() { - if (msg.sender == owner) _; - } - - function setCompleted(uint completed) public restricted { - last_completed_migration = completed; - } - - function upgrade(address new_address) public restricted { - Migrations upgraded = Migrations(new_address); - upgraded.setCompleted(last_completed_migration); - } -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Token.sol b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Token.sol deleted file mode 100644 index 362c7cc09..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/contracts/Token.sol +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.7; - -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; - -contract Token is ERC20 { - constructor() ERC20("Token", "XYZ") { - _mint(msg.sender, 1000000000); - } -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/hardhat.config.js b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/hardhat.config.js deleted file mode 100644 index 70760df55..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/hardhat.config.js +++ /dev/null @@ -1,31 +0,0 @@ -require("@nomiclabs/hardhat-waffle"); -require('@nomiclabs/hardhat-ethers'); -require("@typechain/hardhat"); -module.exports = { - defaultNetwork: "vmbc_local", - networks: { - vmbc_local: { - url: process.env.VMBC_URL || "http://127.0.0.1:8545", - chainId: Number(process.env.VMBC_CHAIN_ID) || 5000, - accounts: ['5bedcdfdfe7e3d9444b3494eaee4bb9339be4745d7a4f79cd4bde59d3e9e9dcc'] - } - }, - typechain: { - outDir: "src/typechain", - }, - paths: { - sources: "./contracts", - }, - mocha: { - timeout: 40000 - }, - solidity: { - version: require("./solc.version.json").version, - settings: { - optimizer: { - enabled: true, - runs: 200 - } - } - }, -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/karma.conf.js b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/karma.conf.js deleted file mode 100644 index 9ea4774e8..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/karma.conf.js +++ /dev/null @@ -1,44 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` - }, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/permissioning'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/package.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/package.json deleted file mode 100644 index 74456da77..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "@vmware/vmbc-permissioning-ui", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "build:dev": "ng build --configuration=development", - "watch": "ng build --watch --configuration development", - "test": "ng test", - "deploy-contract": "npx hardhat run ./scripts/deploy.js", - "deploy": "npm run import-openzeppelin && npm run hardhat-compile-all && npm run deploy-contract", - "start-for-container": "ng analytics off && ng serve --host 0.0.0.0 --port 3000 --disable-host-check", - "start": "npm run deploy && ng serve --port 5200 --disable-host-check", - "build": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production", - "import-openzeppelin": "rsync -zarv --prune-empty-dirs --include '*/' --include='*.sol' --exclude='*' node_modules/@openzeppelin contracts", - "hardhat-compile": "npx hardhat compile && cp -rip artifacts/contracts src/assets/abi", - "hardhat-compile-all": "npx hardhat compile --force && cp -rip artifacts/contracts src/assets/abi", - "clean-generated": "rm -rf src/assets/abi; rm -rf contracts/@openzeppelin; rm -rf src/typechain", - "postinstall": "npm run clean-generated && npm run import-openzeppelin && npm run hardhat-compile-all" - }, - "private": true, - "dependencies": { - "@angular/animations": "~12.2.0", - "@angular/common": "~12.2.0", - "@angular/compiler": "~12.2.0", - "@angular/core": "~12.2.0", - "@angular/forms": "~12.2.0", - "@angular/platform-browser": "~12.2.0", - "@angular/platform-browser-dynamic": "~12.2.0", - "@angular/router": "~12.2.0", - "@cds/angular": "^5.6.0", - "@cds/core": "^5.6.0", - "@clr/angular": "^12.0.6", - "@clr/icons": "^12.0.6", - "@clr/ui": "^12.0.6", - "@swimlane/ngx-charts": "^19.1.0", - "@types/node": "^7.0.5", - "assert": "^2.0.0", - "bn.js": "^5.2.0", - "bootstrap": "^5.2.1", - "crypto-browserify": "^3.12.0", - "dotenv": "^16.0.3", - "ethers": "^5.7.0", - "events": "^3.3.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "rxjs": "~6.6.0", - "stream-browserify": "^3.0.0", - "stream-http": "^3.2.0", - "tslib": "^2.3.0", - "util": "^0.12.4", - "web3": "^1.6.1", - "zone.js": "~0.11.4", - "@openzeppelin/contracts": "^4.7.3" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^12.2.11", - "@angular/cli": "~12.2.11", - "@angular/compiler-cli": "~12.2.0", - "@types/jasmine": "~3.8.0", - "jasmine-core": "~3.8.0", - "karma": "~6.3.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.0.3", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "~1.7.0", - "typescript": "~4.3.5", - "hardhat": "^2.12.2", - "@nomiclabs/hardhat-waffle": "2.0.3", - "@nomiclabs/hardhat-ethers": "^2.0.0", - "ethereum-waffle": "^3.2.0", - "ethers": "^5.7.0", - "typechain": "^8.1.1", - "@typechain/ethers-v5": "^10.1.1", - "@typechain/hardhat": "^6.1.4", - "karma-spec-reporter": "^0.0.34", - "karma-verbose-reporter": "^0.0.8" - }, - "browser": { - "fs": false, - "path": false, - "os": false - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/run.sh b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/run.sh deleted file mode 100755 index d03a5949e..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/run.sh +++ /dev/null @@ -1,7 +0,0 @@ -echo "Deploying erc-20 smart contact on vmbc" -npm run deploy - -echo "sleeping for 10s" -sleep 10 - -npm run start-for-container \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/scripts/deploy.js b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/scripts/deploy.js deleted file mode 100644 index 24361d811..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/scripts/deploy.js +++ /dev/null @@ -1,30 +0,0 @@ -// We require the Hardhat Runtime Environment explicitly here. This is optional -// but useful for running the script in a standalone fashion through `node - - - diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/main.ts b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/main.ts deleted file mode 100644 index c7b673cf4..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/main.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/polyfills.ts b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/polyfills.ts deleted file mode 100644 index e3abb38bf..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/polyfills.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ - -(window as any).global = window; -import { Buffer } from 'buffer'; -global.Buffer = Buffer; -global.process = { - env: { DEBUG: undefined }, - version: '', - nextTick: require('next-tick') -} as any; diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/styles.scss b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/styles.scss deleted file mode 100644 index 90d4ee007..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/styles.scss +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/test.ts b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/test.ts deleted file mode 100644 index b4dd6032f..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/src/test.ts +++ /dev/null @@ -1,27 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/testing'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), - { teardown: { destroyAfterEach: true }}, -); - -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.app.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.app.json deleted file mode 100644 index d544985ce..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.app.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./dist/out/app", - "baseUrl": "./", - "target": "es6", - }, - "files": [ - "src/main.ts", - "src/polyfills.ts" - ], - "include": [ - "**/*.ts" - ], - "exclude": [ - "src/test.ts", - "**/*.spec.ts", - "src/typechain/**/*.ts", - ] -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.json deleted file mode 100644 index 672bb8b2d..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out", - "sourceMap": false, - "declaration": false, - "downlevelIteration": true, - "module": "esnext", - "moduleResolution": "node", - "importHelpers": true, - "target": "es5", - "typeRoots": [ - "node_modules/@types" - ], - "lib": [ - "es2018", - "dom" - ], - "skipLibCheck": true, - "experimentalDecorators": true, - "resolveJsonModule": true, - "esModuleInterop": true, - "strictNullChecks": false, - "noImplicitAny": false, - "paths" : { - "url": ["./node_modules/url"], - "events": ["./node_modules/events"], - "crypto": ["./node_modules/crypto-browserify"], - "stream": ["./node_modules/stream-browserify"], - "assert": ["./node_modules/assert"], - "http": ["./node_modules/stream-http"], - "https": ["./node_modules/https-browserify"], - "os": ["./node_modules/os-browserify"], - "zlib": ["./node_modules/browserify-zlib"], - "vm": ["./node_modules/vm-browserify"] - }, - }, - "angularCompilerOptions": { - "enableIvy": true, - "disableTypeScriptVersionCheck": true, - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.spec.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.spec.json deleted file mode 100644 index ec5e1e11b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tsconfig.spec.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine", - "node" - ] - }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], - "include": [ - "e2e/**/*.spec.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tslint.json b/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tslint.json deleted file mode 100644 index e760e4442..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/authorization-gui/source/tslint.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "array-type": false, - "arrow-parens": false, - "deprecation": { - "severity": "warning" - }, - "contextual-lifecycle": true, - "interface-name": false, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "no-consecutive-blank-lines": false, - "no-empty": false, - "no-inferrable-types": [ - false, - "ignore-params" - ], - "no-namespace": false, - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "object-literal-sort-keys": false, - "ordered-imports": false, - "quotemark": [ - true, - "single" - ], - "trailing-comma": false, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": false, - "use-pipe-transform-interface": true - }, - "rulesDirectory": [ - "node_modules/codelyzer" - ] -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/.env b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/.env deleted file mode 100644 index 9332ef872..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/.env +++ /dev/null @@ -1,7 +0,0 @@ -VMBC_URL="http://127.0.0.1:8545" -CONTRACT_FILE="Sample.sol" - -ADMIN_ACCOUNT = "0xFB389874FB4e03182A7358275eaf78008775c7ed" -ADMIN_ACCOUNT_PRIVATE_KEY = "0x5bedcdfdfe7e3d9444b3494eaee4bb9339be4745d7a4f79cd4bde59d3e9e9dcc" - -PERMISSIONING_CONTRACT_ADDRESS = "0x57a268e7694371880a2c5881bd240db812bbfbf0" diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/README.md b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/README.md deleted file mode 100644 index 94889152c..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/README.md +++ /dev/null @@ -1,14 +0,0 @@ -### How to test read permissioning? - -This is read and write permissioning CLI dApp with ethers extension library - -1. ```cd ../integration-library/vmbc-ethers-extension``` -2. ```npm install``` -3. In `read-write-authorization/dapp`, make sure you have used right Blockchain URL in .env Eg: VMBC_URL="http://x.x.x.x:8545" -4. In the testReadWrite.js, enable permissioning flag by calling usePrivatekeyForPermissioning() -5. Remember, only admin has the permissions to give permissions to other users, hence for checkPermissions() and - addPermissions() functions, you have to use usePrivatekeyForPermissioning(ADMIN_ACCOUNT_PRIVATE_KEY). - Other function calls like any read from blockchain or any write to blockchain, you have to use - usePrivatekeyForPermissioning(String(accountKeyPair.privateKey)). -6. ```npm install``` -7. ```node testReadWrite.js``` \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/Sample.sol b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/Sample.sol deleted file mode 100644 index acf54793d..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/Sample.sol +++ /dev/null @@ -1,14 +0,0 @@ -pragma solidity ^0.8.0; - -contract Sample { - uint _testInt; - event SetValue(uint _testInt); - function set(uint x) public { - _testInt = x; - emit SetValue(_testInt); - } - function get() public view returns (uint) { - return _testInt; - } -} - diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package-lock.json b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package-lock.json deleted file mode 100644 index cd590eb47..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package-lock.json +++ /dev/null @@ -1,1536 +0,0 @@ -{ - "name": "vmbc-ethers-read-example", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "vmbc-ethers-read-example", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@vmware-blockchain/ethers-extension": "file:../../../integration-libraries/vmbc-ethers-extension", - "console": "0.7.2", - "dotenv": "16.0.1", - "ethers": "^5.7.1", - "fs": "0.0.1-security", - "solc": "^0.8.15" - } - }, - "../../../integration-libraries/vmbc-ethers-extension": { - "version": "0.0.1", - "license": "ISC", - "dependencies": { - "ethers": "5.6.9" - }, - "devDependencies": { - "@types/node": "^18.11.9" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "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/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@vmware-blockchain/ethers-extension": { - "resolved": "../../../integration-libraries/vmbc-ethers-extension", - "link": true - }, - "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/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "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/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/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/console": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", - "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" - }, - "node_modules/dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "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/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "engines": { - "node": ">= 0.10.0" - } - }, - "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==" - }, - "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==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/solc": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.17.tgz", - "integrity": "sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solc.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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 - } - } - } - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@vmware-blockchain/ethers-extension": { - "version": "file:../../../integration-libraries/vmbc-ethers-extension", - "requires": { - "@types/node": "^18.11.9", - "ethers": "5.6.9" - } - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "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==" - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "console": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", - "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" - }, - "dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" - }, - "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==" - }, - "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==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "solc": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.17.tgz", - "integrity": "sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g==", - "requires": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package.json b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package.json deleted file mode 100644 index 6539a569b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "vmbc-ethers-read-example", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "node testRead.js" - }, - "author": "Vijaya Prakash Masilamani", - "license": "ISC", - "dependencies": { - "@vmware-blockchain/ethers-extension": "file:../integration-library/vmbc-ethers-extension", - "console": "0.7.2", - "dotenv": "16.0.1", - "ethers": "^5.7.1", - "fs": "0.0.1-security", - "solc": "^0.8.15" - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/testReadWrite.js b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/testReadWrite.js deleted file mode 100644 index ad3e06da6..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/dapp/testReadWrite.js +++ /dev/null @@ -1,344 +0,0 @@ -const ethers = require("@vmware-blockchain/ethers-extension"); - -// solc compiler -solc = require("solc"); - -// file reader -fs = require("fs"); - -// Get all the config values -require('dotenv').config(); - -// path -const path = require('path'); -const { exit } = require("process"); -var crypto = require('crypto'); - -const READ = 1; -const WRITE = 2; -const DEPLOY = 4; - -var VMBC_URL = process.env.VMBC_URL; -var CONTRACT_FILE = String(process.env.CONTRACT_FILE); -var CONTRACT_NAME = path.parse(CONTRACT_FILE).name; - -var SAMPLE_CONTRACT_ABI = ""; -var SAMPLE_CONTRACT_BYTECODE = ""; -var SAMPLE_CONTRACT_ADDRESS = ""; - -// Set deploy account -let ADMIN_ACCOUNT = process.env.ADMIN_ACCOUNT; -let ADMIN_ACCOUNT_PRIVATE_KEY = String(process.env.ADMIN_ACCOUNT_PRIVATE_KEY); -let PERMISSIONING_CONTRACT_ADDRESS = String(process.env.PERMISSIONING_CONTRACT_ADDRESS); -let PERMISSIONING_CONTRACT_ABI = ["function updatePermissions(address from, address to, uint8 action)", - "function checkUserAction(address from, address to, uint8 action) external view returns(bool)"]; - -let PROVIDER = new ethers.providers.VmbcJsonRpcProvider(VMBC_URL); -let ADMIN_WALLET = new ethers.Wallet(ADMIN_ACCOUNT_PRIVATE_KEY, PROVIDER); - -const compileContract = async () => { - - // Reading the file - file = fs.readFileSync(CONTRACT_FILE).toString(); - - // input structure for solidity compiler - var input = { - language: "Solidity", - sources: { - [CONTRACT_FILE]: { - content: file, - }, - }, - - settings: { - outputSelection: { - "*": { - '*': ['evm', 'bytecode', 'abi'], - }, - }, - }, - }; - var output = JSON.parse(solc.compile(JSON.stringify(input))); - - SAMPLE_CONTRACT_ABI = output.contracts[CONTRACT_FILE][CONTRACT_NAME].abi; - SAMPLE_CONTRACT_BYTECODE = output.contracts[CONTRACT_FILE][CONTRACT_NAME].evm.bytecode.object; -} - -const generateAccount = async () => { - console.log("\x1b[33m%s\x1b[0m", "==================== Create new ethereum account =================="); - var keyPair = {}; - var id = crypto.randomBytes(32).toString('hex'); - var privateKey = "0x" + id; - console.log("\x1b[34m%s\x1b[0m", "Private Key:", privateKey); - - var wallet = new ethers.Wallet(privateKey); - console.log("\x1b[34m%s\x1b[0m", "Address: " + wallet.address); - console.log(""); - keyPair.privateKey = privateKey; - keyPair.address = wallet.address; - - return keyPair; -} - -const deployContract = async(keyPair) => { - console.log("------------------------- DEPLOY Test -------------------------"); - let privateKey = String(keyPair.privateKey); - const nonce = 0; - let deployedAddress = ethers.utils.getAddress(ethers.utils.getContractAddress({from: keyPair.address, nonce})); - console.log("\x1b[34m%s\x1b[0m", "Before deployment: Contract Address: " +deployedAddress); - - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - let factory = new ethers.ContractFactory(SAMPLE_CONTRACT_ABI, SAMPLE_CONTRACT_BYTECODE, ACCOUNT_WALLET); - let contract = await factory.deploy(); - if (contract.address) { - console.log("\x1b[34m%s\x1b[0m", "New contract deployed: Contract Address: " +contract.address); - console.log(""); - return contract.address; - } -} - -const addPermissions = async (keyPair, allPermissions) => { - return updatePermissions(keyPair, allPermissions); -} - -const usePrivatekeyForPermissioning = async (privateKey) => { - PROVIDER.setSigningKey({readPermissioningKeyOrEnable: privateKey}); -} - -const checkPermissions = async (keyPair, allPermissions) => { - console.log("------------------------- Check permissions -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - - let toAddress = "0x0000000000000000000000000000000000000000"; - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - const contract = new ethers.Contract(PERMISSIONING_CONTRACT_ADDRESS, PERMISSIONING_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ACCOUNT_WALLET); - var response = ""; - try { - response = await contractWithSigner.checkUserAction(fromAddress, toAddress, allPermissions); - } catch (error) { - console.log("Error while calling checkPermission()..."); - console.log(error); - exit(1); - } - if (response) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has permissions."); - console.log(""); - return true; - } else { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has NO permissions."); - console.log(""); - return false; - } -} - -const updatePermissions = async (keyPair, allPermissions) => { - console.log("------------------------- Update Permissions -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - let toAddress = "0x0000000000000000000000000000000000000000"; - - const contract = new ethers.Contract(PERMISSIONING_CONTRACT_ADDRESS, PERMISSIONING_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ADMIN_WALLET); - let tx = ""; - try { - tx = await contractWithSigner.updatePermissions(fromAddress, toAddress, allPermissions); - } catch (error) { - console.log("Error while calling updatePermissions()..."); - console.log(error); - exit(1); - } - if (tx.hash) { - console.log("\x1b[34m%s\x1b[0m", "Permission given to "+fromAddress) - console.log("\x1b[34m%s\x1b[0m", "Transaction hash: " + tx.hash); - console.log(""); - return true; - } - return false; -} - -const writeToBlockchain = async (keyPair) => { - console.log("------------------------- WRITE Test -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - const contract = new ethers.Contract(SAMPLE_CONTRACT_ADDRESS, SAMPLE_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ACCOUNT_WALLET); - let number = Math.floor(Math.random() * 100); - let tx = ""; - try { - tx = await contractWithSigner.set(number); - } catch (error) { - console.log("Error while calling writeToBlockchain()..."); - console.log(error); - exit(1); - } - if (tx.hash) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has WRITE permission.") - console.log("\x1b[34m%s\x1b[0m", "WRITE Transaction hash: " + tx.hash); - console.log(""); - return true; - } - return false; -} - - - -const readFromBlockchain = async (keyPair) => { - let fromAddress = keyPair.address; - const contract = new ethers.Contract(SAMPLE_CONTRACT_ADDRESS, SAMPLE_CONTRACT_ABI, PROVIDER); - - var blockHash; - var transactionHash; - var filter; - console.log("------------------ get() ------------------") - var data = await contract.get(); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read : Data : ", data); - console.log(""); - } - console.log("------------------ getBlock by number ------------------") - data = await PROVIDER.getBlock("latest"); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getBlock by number: ", data); - blockHash = data.hash; - transactionHash = data.transactions[0]; - console.log(""); - } - console.log("------------------ getBlock by hash ------------------") - data = await PROVIDER.getBlock(blockHash); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getBlock by hash: ", data); - console.log(""); - } - - console.log("------------------ getBlockNumber ------------------") - data = await PROVIDER.getBlockNumber(); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getBlockNumber: ", data); - console.log(""); - } - - console.log("------------------ getGasPrice -----------------") - data = await PROVIDER.getGasPrice(); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getGasPrice : ", data); - console.log(""); - } - - console.log("------------------ getBalance -----------------") - data = await PROVIDER.getBalance(fromAddress); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getBalance : ", data); - console.log(""); - } - - console.log("------------------ getTransactionCount -----------------") - data = await PROVIDER.getTransactionCount(fromAddress); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getTransactionCount : ", data); - console.log(""); - } - - console.log("------------------ getTransactionCount -----------------") - data = await PROVIDER.getTransactionCount(fromAddress); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getTransactionCount : ", data); - console.log(""); - } - - console.log("------------------ getCode (given contract address as param) -----------------") - data = await PROVIDER.getCode(SAMPLE_CONTRACT_ADDRESS); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getCode : ", data); - console.log(""); - } - - console.log("------------------ getStorageAt (given contract address as param) -----------------") - data = await PROVIDER.getStorageAt(SAMPLE_CONTRACT_ADDRESS, 0, "latest"); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getStorageAt : ", data); - console.log(""); - } - - console.log("------------------ getTransaction -----------------") - data = await PROVIDER.getTransaction(transactionHash); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getTransaction : ", data); - console.log(""); - } - - console.log("------------------ getTransactionReceipt -----------------") - await PROVIDER.waitForTransaction(transactionHash); - data = await PROVIDER.getTransactionReceipt(transactionHash); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getTransactionReceipt : ", data); - - console.log(""); - filter = data.logs[0]; - console.log("\x1b[34m%s\x1b[0m", " Read: getTransactionReceipt topics: ", data.logs[0].topics); - - } - - var transaction = { - from: fromAddress, - to: SAMPLE_CONTRACT_ADDRESS, - data: "0x60fe47b1000000000000000000000000000000000000000000000000000000000000004a", - gasPrice: "0x0", - } - - console.log("------------------ estimateGas -----------------") - data = await PROVIDER.estimateGas(transaction); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: estimateGas : ", data); - console.log(""); - } - - console.log("------------------ getLogs -----------------") - data = await PROVIDER.getLogs(filter); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: getLogs : ", data); - console.log(""); - } -return true; -} - -const deployWriteReadTest = async () => { - let accountKeyPair = await generateAccount(); - let permissions = DEPLOY+WRITE+READ; - - // Test with signingKey - await usePrivatekeyForPermissioning(ADMIN_ACCOUNT_PRIVATE_KEY); - if (!await checkPermissions(accountKeyPair, permissions)) { - await addPermissions(accountKeyPair, permissions); - } - await usePrivatekeyForPermissioning(String(accountKeyPair.privateKey)); - await compileContract(); - SAMPLE_CONTRACT_ADDRESS = await deployContract(accountKeyPair); - await writeToBlockchain(accountKeyPair); - await readFromBlockchain(accountKeyPair); -} - -const testNow = async () => { - await deployWriteReadTest(); - console.log("\x1b[32m%s\x1b[0m", "==================== DONE ======================== "); - return true; -} - -testNow(); diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/README.md b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/README.md deleted file mode 100644 index 0bf7eda60..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/README.md +++ /dev/null @@ -1,22 +0,0 @@ -## VMware Blockchain Ethers Extension -- This is an extension of ethers (https://github.com/ethers-io/ethers.js) -- Usage in all aspects remains same, except there is an introduction of new Provider, `VmbcJsonRpcProvider` -- `VmbcJsonRpcProvider` is an extension of `JsonRpcProvider` -- Introduces a new function i.e `setSigningKey()` which can receive signing key to enable read permissioning -- Following usage guide provides an example of usage of provider and its newly introduced function - - -### Usage Guide - -```js -// Using ethers-extension -const ethers = require("@vmware-blockchain/ethers-extension"); - -// Creating an object of VmbcJsonRpcProvider -providerVmbc = new ethers.providers.VmbcJsonRpcProvider("127.0.0.1:8545"); - -// Setting signing key for the provider for communicating with VMware Blockchain which has read permissioning enabled -providerVmbc.setSigningKey({readPermissioningKeyOrEnable: "0xf61ac24a7d0af636dbdee18a146afda453df2118e95ff765dbf843620f931722"}); -``` - -For more information about Permissioning and Read Permissioning refer to documentation of [Permissioning](../../../../README.md) diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/_version.js b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/_version.js deleted file mode 100644 index a9fef2028..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/_version.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -exports.__esModule = true; -exports.version = void 0; -exports.version = "@vmware-blockchain/ethers-extension/0.0.1"; diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/index.js b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/index.js deleted file mode 100644 index ee566bf44..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/index.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -exports.__esModule = true; -exports.providers = void 0; -__exportStar(require("ethers"), exports); -var vmbcJsonRpcProviders = require("./vmbc-json-rpc-provider"); -exports.providers = __assign({}, vmbcJsonRpcProviders); diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/vmbc-json-rpc-provider.js b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/vmbc-json-rpc-provider.js deleted file mode 100644 index e2467a232..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/lib/vmbc-json-rpc-provider.js +++ /dev/null @@ -1,421 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -exports.__esModule = true; -exports.VmbcJsonRpcProvider = void 0; -var providers_1 = require("@ethersproject/providers"); -var properties_1 = require("@ethersproject/properties"); -var web_1 = require("@ethersproject/web"); -var bignumber_1 = require("@ethersproject/bignumber"); -var address_1 = require("@ethersproject/address"); -var strings_1 = require("@ethersproject/strings"); -var RLP = require("@ethersproject/rlp"); -var keccak256_1 = require("@ethersproject/keccak256"); -var bytes_1 = require("@ethersproject/bytes"); -var signing_key_1 = require("@ethersproject/signing-key"); -var logger_1 = require("@ethersproject/logger"); -var _version_1 = require("./_version"); -var logger = new logger_1.Logger(_version_1.version); -var errorGas = ["call", "estimateGas"]; -function spelunk(value, requireData) { - if (value == null) { - return null; - } - // These *are* the droids we're looking for. - if (typeof (value.message) === "string" && value.message.match("reverted")) { - var data = (0, bytes_1.isHexString)(value.data) ? value.data : null; - if (!requireData || data) { - return { message: value.message, data: data }; - } - } - // Spelunk further... - if (typeof (value) === "object") { - for (var key in value) { - var result = spelunk(value[key], requireData); - if (result) { - return result; - } - } - return null; - } - // Might be a JSON string we can further descend... - if (typeof (value) === "string") { - try { - return spelunk(JSON.parse(value), requireData); - } - catch (error) { } - } - return null; -} -function checkError(method, error, params) { - var transaction = params.transaction || params.signedTransaction; - // Undo the "convenience" some nodes are attempting to prevent backwards - // incompatibility; maybe for v6 consider forwarding reverts as errors - if (method === "call") { - var result = spelunk(error, true); - if (result) { - return result.data; - } - // Nothing descriptive.. - logger.throwError("missing revert data in call exception; Transaction reverted without a reason string", logger_1.Logger.errors.CALL_EXCEPTION, { - data: "0x", - transaction: transaction, - error: error - }); - } - if (method === "estimateGas") { - // Try to find something, with a preference on SERVER_ERROR body - var result = spelunk(error.body, false); - if (result == null) { - result = spelunk(error, false); - } - // Found "reverted", this is a CALL_EXCEPTION - if (result) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - reason: result.message, - method: method, - transaction: transaction, - error: error - }); - } - } - // @TODO: Should we spelunk for message too? - var message = error.message; - if (error.code === logger_1.Logger.errors.SERVER_ERROR && error.error && typeof (error.error.message) === "string") { - message = error.error.message; - } - else if (typeof (error.body) === "string") { - message = error.body; - } - else if (typeof (error.responseText) === "string") { - message = error.responseText; - } - message = (message || "").toLowerCase(); - // "insufficient funds for gas * price + value + cost(data)" - if (message.match(/insufficient funds|base fee exceeds gas limit/i)) { - logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, { - error: error, - method: method, - transaction: transaction - }); - } - // "nonce too low" - if (message.match(/nonce (is )?too low/i)) { - logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, { - error: error, - method: method, - transaction: transaction - }); - } - // "replacement transaction underpriced" - if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) { - logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, { - error: error, - method: method, - transaction: transaction - }); - } - // "replacement transaction underpriced" - if (message.match(/only replay-protected/i)) { - logger.throwError("legacy pre-eip-155 transactions not supported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - error: error, - method: method, - transaction: transaction - }); - } - if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error: error, - method: method, - transaction: transaction - }); - } - throw error; -} -function getResult(payload) { - if (payload.error) { - // @TODO: not any - var error = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - throw error; - } - return payload.result; -} -var VmbcJsonRpcProvider = /** @class */ (function (_super) { - __extends(VmbcJsonRpcProvider, _super); - function VmbcJsonRpcProvider(url, network) { - var _this = _super.call(this, url, network) || this; - _this._signingKey = ""; - return _this; - } - VmbcJsonRpcProvider.prototype.setSigningKey = function (params) { - this._signingKey = params.readPermissioningKeyOrEnable; - }; - VmbcJsonRpcProvider.prototype.getSigningKey = function () { - var pKey; - if (this._signingKey != null) { - pKey = this._signingKey; - } - else { - pKey = null; - } - return pKey; - }; - VmbcJsonRpcProvider.prototype.formatNumberField = function (value, name) { - var result = (0, bytes_1.stripZeros)(bignumber_1.BigNumber.from(value).toHexString()); - if (result.length > 32) { - logger.throwArgumentError("invalid length for " + name, ("transaction:" + name), value); - } - return result; - }; - VmbcJsonRpcProvider.prototype.encodeReadParams = function (timestamp, params) { - return __awaiter(this, void 0, void 0, function () { - var fields, pKey, blockNumber; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - fields = []; - if (params.transaction) { - fields.push(this.formatNumberField(params.transaction.gasPrice || 0, "gasPrice")); - fields.push(this.formatNumberField(params.transaction.gasLimit || 0, "gasLimit")); - fields.push(((params.transaction.from != null) ? (0, address_1.getAddress)(params.transaction.from) : "0x")); - fields.push(((params.transaction.to != null) ? (0, address_1.getAddress)(params.transaction.to) : "0x")); - fields.push(this.formatNumberField(params.transaction.value || 0, "value")); - fields.push((params.transaction.data || "0x")); - } - else { - fields.push(this.formatNumberField(0, "gasPrice")); - fields.push(this.formatNumberField(0, "gasLimit")); - fields.push(("0x")); - fields.push(("0x")); - fields.push(this.formatNumberField(0, "value")); - fields.push(("0x")); - } - pKey = this.getSigningKey(); - if (!(typeof (pKey) === "boolean" && pKey == true && params.blockTag == "latest")) return [3 /*break*/, 2]; - return [4 /*yield*/, this.getBlockNumber()]; - case 1: - blockNumber = _a.sent(); - fields.push((0, strings_1.toUtf8Bytes)((0, bytes_1.hexlify)(blockNumber))); - return [3 /*break*/, 3]; - case 2: - fields.push((0, strings_1.toUtf8Bytes)(params.blockTag || 0)); - _a.label = 3; - case 3: - fields.push((0, strings_1.toUtf8Bytes)(params.includeTransactions || false)); - if (params.filter) { - fields.push(params.filter.blockHash || "0x"); - fields.push(params.filter.address || "0x"); - fields.push(params.filter.topics || []); - fields.push((0, strings_1.toUtf8Bytes)(params.filter.fromBlock || 0)); - fields.push((0, strings_1.toUtf8Bytes)(params.filter.toBlock || 0)); - } - else { - fields.push(params.blockHash || "0x"); - fields.push(params.address || "0x"); - fields.push(params.topics || []); - fields.push((0, strings_1.toUtf8Bytes)(params.fromBlock || 0)); - fields.push((0, strings_1.toUtf8Bytes)(params.toBlock || 0)); - } - fields.push(params.transactionHash || "0x"); - fields.push(this.formatNumberField(params.position || 0, "position")); - fields.push(this.formatNumberField(timestamp || 0, "timestamp")); - return [2 /*return*/, fields]; - } - }); - }); - }; - /* - VMBC: If a _vmbcCustomParam is set, then override send with adding that custom param - */ - VmbcJsonRpcProvider.prototype.send = function (method, params) { - var _this = this; - // Keeping native ethers compatibility - if (this._signingKey == "") { - return _super.prototype.send.call(this, method, params); - } - var request = { - method: method, - params: params, - id: (this._nextId++), - jsonrpc: "2.0" - }; - this.emit("debug", { - action: "request", - request: (0, properties_1.deepCopy)(request), - provider: this - }); - // We can expand this in the future to any call, but for now these - // are the biggest wins and do not require any serializing parameters. - /*const cache = ([ "eth_chainId", "eth_blockNumber" ].indexOf(method) >= 0); - if (cache && this._cache[method]) { - return this._cache[method]; - }*/ - var result = (0, web_1.fetchJson)(this.connection, JSON.stringify(request), getResult).then(function (result) { - _this.emit("debug", { - action: "response", - request: request, - response: result, - provider: _this - }); - return result; - }, function (error) { - _this.emit("debug", { - action: "response", - error: error, - request: request, - provider: _this - }); - throw error; - }); - // Cache the fetch, but clear it on the next event loop - /* if (cache) { - this._cache[method] = result; - setTimeout(() => { - this._cache[method] = null; - }, 0); - }*/ - return result; - }; - /* - VMBC: If a _signingKey is set, then override perform - */ - VmbcJsonRpcProvider.prototype.perform = function (method, params) { - return __awaiter(this, void 0, void 0, function () { - var tx, feeData, signature, timestamp, expiryMilliSeconds, pKey, encodedFields, excludeReadSigning, args, encodedBytes, encodedBytesHash, signerAddress, signedSignature, signingKey, error_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - // Keeping native ethers compatibility - if (this._signingKey == "") { - return [2 /*return*/, _super.prototype.perform.call(this, method, params)]; - } - if (!(method === "call" || method === "estimateGas")) return [3 /*break*/, 2]; - tx = params.transaction; - if (!(tx && tx.type != null && bignumber_1.BigNumber.from(tx.type).isZero())) return [3 /*break*/, 2]; - if (!(tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null)) return [3 /*break*/, 2]; - return [4 /*yield*/, this.getFeeData()]; - case 1: - feeData = _a.sent(); - if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) { - // Network doesn't know about EIP-1559 (and hence type) - params = (0, properties_1.shallowCopy)(params); - params.transaction = (0, properties_1.shallowCopy)(tx); - delete params.transaction.type; - } - _a.label = 2; - case 2: - signature = null; - expiryMilliSeconds = 30000; - pKey = this.getSigningKey(); - encodedFields = []; - if (!pKey) return [3 /*break*/, 5]; - excludeReadSigning = ["estimateGas", "sendTransaction", "getGasPrice", "getBlockNumber"]; - if (!excludeReadSigning.includes(method)) return [3 /*break*/, 3]; - pKey = null; - return [3 /*break*/, 5]; - case 3: - timestamp = Date.now() + expiryMilliSeconds; - return [4 /*yield*/, this.encodeReadParams(timestamp, params)]; - case 4: - encodedFields = _a.sent(); - _a.label = 5; - case 5: - args = this.prepareRequest(method, params); - if (args == null) { - logger.throwError(method + " not implemented", logger_1.Logger.errors.NOT_IMPLEMENTED, { operation: method }); - } - if (!pKey) return [3 /*break*/, 9]; - // push method in the begining of an array - encodedFields.unshift((0, strings_1.toUtf8Bytes)(args[0])); - encodedBytes = RLP.encode(encodedFields); - encodedBytesHash = (0, keccak256_1.keccak256)(encodedBytes); - if (!(typeof (pKey) === "boolean" && pKey == true)) return [3 /*break*/, 8]; - return [4 /*yield*/, this.getSigner().getAddress()]; - case 6: - signerAddress = _a.sent(); - return [4 /*yield*/, this.send("eth_sign", [signerAddress.toLowerCase(), (0, bytes_1.hexlify)(encodedBytesHash)])]; - case 7: - signedSignature = _a.sent(); - signature = (0, bytes_1.splitSignature)(signedSignature); - return [3 /*break*/, 9]; - case 8: - if (typeof (pKey) === "string" && pKey != "") { - signingKey = new signing_key_1.SigningKey(pKey); - signature = signingKey.signDigest(encodedBytesHash); - } - else { - signature = null; - } - _a.label = 9; - case 9: - if (signature) { - args[1].push(signature); - args[1].push({ "expiryTime": timestamp }); - } - _a.label = 10; - case 10: - _a.trys.push([10, 12, , 13]); - return [4 /*yield*/, this.send(args[0], args[1])]; - case 11: return [2 /*return*/, _a.sent()]; - case 12: - error_1 = _a.sent(); - return [2 /*return*/, checkError(method, error_1, params)]; - case 13: return [2 /*return*/]; - } - }); - }); - }; - return VmbcJsonRpcProvider; -}(providers_1.JsonRpcProvider)); -exports.VmbcJsonRpcProvider = VmbcJsonRpcProvider; diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package-lock.json b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package-lock.json deleted file mode 100644 index 1186cbc48..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package-lock.json +++ /dev/null @@ -1,1351 +0,0 @@ -{ - "name": "@vmware-blockchain/ethers-extension", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@vmware-blockchain/ethers-extension", - "version": "0.0.1", - "license": "ISC", - "dependencies": { - "ethers": "5.6.9" - }, - "devDependencies": { - "@types/node": "^18.11.9" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "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/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.6.3", - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "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/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/sha2": "^5.6.1" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/base64": "^5.6.1", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/json-wallets": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "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/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "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/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "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/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" - } - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "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==" - }, - "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==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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 - } - } - } - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "requires": { - "@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" - } - }, - "@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "requires": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "@ethersproject/basex": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "requires": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "@ethersproject/contracts": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", - "requires": { - "@ethersproject/abi": "^5.6.3", - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2" - } - }, - "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/hdnode": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" - } - }, - "@ethersproject/json-wallets": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/sha2": "^5.6.1" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/providers": { - "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/base64": "^5.6.1", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/sha2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "@ethersproject/units": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/wallet": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/json-wallets": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" - } - }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/wordlists": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", - "requires": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "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==" - }, - "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==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package.json b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package.json deleted file mode 100644 index ed67bb7cf..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "@vmware-blockchain/ethers-extension", - "version": "0.0.1", - "description": "", - "main": "./lib/index.js", - "scripts": { - "build": "tsc --build ./tsconfig.json", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Bala Siva Sai Akhil Malepati", - "license": "ISC", - "dependencies": { - "ethers": "5.6.9" - }, - "devDependencies": { - "@types/node": "^18.11.9" - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/_version.ts b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/_version.ts deleted file mode 100644 index 013591619..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/_version.ts +++ /dev/null @@ -1 +0,0 @@ -export const version = "@vmware-blockchain/ethers-extension/0.0.1"; \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/index.ts b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/index.ts deleted file mode 100644 index 27badcd63..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as ethers from 'ethers'; -export * from 'ethers'; - -import * as vmbcJsonRpcProviders from './vmbc-json-rpc-provider'; - -export const providers = { - ...vmbcJsonRpcProviders -} - diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/vmbc-json-rpc-provider.ts b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/vmbc-json-rpc-provider.ts deleted file mode 100644 index 57822df5b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/src.ts/vmbc-json-rpc-provider.ts +++ /dev/null @@ -1,369 +0,0 @@ -import {JsonRpcProvider} from "@ethersproject/providers" -import {deepCopy, shallowCopy} from "@ethersproject/properties"; -import {ConnectionInfo, fetchJson} from "@ethersproject/web"; -import {Networkish} from "@ethersproject/networks"; - -import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; -import { getAddress } from "@ethersproject/address"; -import { toUtf8Bytes } from "@ethersproject/strings"; -import * as RLP from "@ethersproject/rlp"; -import { keccak256 } from "@ethersproject/keccak256"; -import { hexlify, isHexString, splitSignature, stripZeros } from "@ethersproject/bytes"; -import { SigningKey } from "@ethersproject/signing-key"; -import { Logger } from "@ethersproject/logger"; -import { version } from "./_version"; -const logger = new Logger(version); - -const errorGas = [ "call", "estimateGas" ]; - -function spelunk(value: any, requireData: boolean): null | { message: string, data: null | string } { - if (value == null) { return null; } - - // These *are* the droids we're looking for. - if (typeof(value.message) === "string" && value.message.match("reverted")) { - const data = isHexString(value.data) ? value.data: null; - if (!requireData || data) { - return { message: value.message, data }; - } - } - - // Spelunk further... - if (typeof(value) === "object") { - for (const key in value) { - const result = spelunk(value[key], requireData); - if (result) { return result; } - } - return null; - } - - // Might be a JSON string we can further descend... - if (typeof(value) === "string") { - try { - return spelunk(JSON.parse(value), requireData); - } catch (error) { } - } - - return null; -} - -function checkError(method: string, error: any, params: any): any { - - const transaction = params.transaction || params.signedTransaction; - - // Undo the "convenience" some nodes are attempting to prevent backwards - // incompatibility; maybe for v6 consider forwarding reverts as errors - if (method === "call") { - const result = spelunk(error, true); - if (result) { return result.data; } - - // Nothing descriptive.. - logger.throwError("missing revert data in call exception; Transaction reverted without a reason string", Logger.errors.CALL_EXCEPTION, { - data: "0x", transaction, error - }); - } - - if (method === "estimateGas") { - // Try to find something, with a preference on SERVER_ERROR body - let result = spelunk(error.body, false); - if (result == null) { result = spelunk(error, false); } - - // Found "reverted", this is a CALL_EXCEPTION - if (result) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - reason: result.message, method, transaction, error - }); - } - } - - // @TODO: Should we spelunk for message too? - - let message = error.message; - if (error.code === Logger.errors.SERVER_ERROR && error.error && typeof(error.error.message) === "string") { - message = error.error.message; - } else if (typeof(error.body) === "string") { - message = error.body; - } else if (typeof(error.responseText) === "string") { - message = error.responseText; - } - message = (message || "").toLowerCase(); - - // "insufficient funds for gas * price + value + cost(data)" - if (message.match(/insufficient funds|base fee exceeds gas limit/i)) { - logger.throwError("insufficient funds for intrinsic transaction cost", Logger.errors.INSUFFICIENT_FUNDS, { - error, method, transaction - }); - } - - // "nonce too low" - if (message.match(/nonce (is )?too low/i)) { - logger.throwError("nonce has already been used", Logger.errors.NONCE_EXPIRED, { - error, method, transaction - }); - } - - // "replacement transaction underpriced" - if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) { - logger.throwError("replacement fee too low", Logger.errors.REPLACEMENT_UNDERPRICED, { - error, method, transaction - }); - } - - // "replacement transaction underpriced" - if (message.match(/only replay-protected/i)) { - logger.throwError("legacy pre-eip-155 transactions not supported", Logger.errors.UNSUPPORTED_OPERATION, { - error, method, transaction - }); - } - - if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error, method, transaction - }); - } - - throw error; -} - -function getResult(payload: { error?: { code?: number, data?: any, message?: string }, result?: any }): any { - if (payload.error) { - // @TODO: not any - const error: any = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - throw error; - } - - return payload.result; -} - -export class VmbcJsonRpcProvider extends JsonRpcProvider { - _signingKey: any = ""; - - constructor(url?: ConnectionInfo | string, network?: Networkish) { - super(url, network); - } - - setSigningKey(params: any) { - this._signingKey = params.readPermissioningKeyOrEnable; - } - - getSigningKey(): string { - var pKey:string; - - if (this._signingKey != null) { - pKey = this._signingKey; - } else { - pKey = null; - } - - return pKey; - } - - formatNumberField(value: BigNumberish, name: string): Uint8Array { - const result = stripZeros(BigNumber.from(value).toHexString()); - if (result.length > 32) { - logger.throwArgumentError("invalid length for " + name, ("transaction:" + name), value); - } - return result; - } - - async encodeReadParams(timestamp:number, params: any): Promise { - /* ================================================ - String method - Number gasPrice - Number gasLimit - String from - String to - Number value - String data - String/Number blockTag - Boolean includeTransactions - String blockHash - String address - String[] topics - String fromBlock - String toBlock - String transactionHash - Number position - Number timestamp - ================================================ */ - const fields:any[] = []; - if (params.transaction) { - fields.push(this.formatNumberField(params.transaction.gasPrice || 0, "gasPrice")); - fields.push(this.formatNumberField(params.transaction.gasLimit || 0, "gasLimit")); - fields.push(((params.transaction.from != null) ? getAddress(params.transaction.from) : "0x")); - fields.push(((params.transaction.to != null) ? getAddress(params.transaction.to) : "0x")); - fields.push(this.formatNumberField(params.transaction.value || 0, "value")); - fields.push((params.transaction.data || "0x")); - } else { - fields.push(this.formatNumberField(0, "gasPrice")); - fields.push(this.formatNumberField(0, "gasLimit")); - fields.push(("0x")); - fields.push(("0x")); - fields.push(this.formatNumberField(0, "value")); - fields.push(("0x")); - } - var pKey = this.getSigningKey(); - if (typeof(pKey) === "boolean" && pKey == true && params.blockTag == "latest") { - var blockNumber = await this.getBlockNumber(); - fields.push(toUtf8Bytes(hexlify(blockNumber))); - } else { - fields.push(toUtf8Bytes(params.blockTag || 0)); - } - fields.push(toUtf8Bytes(params.includeTransactions || false)); - if (params.filter) { - fields.push(params.filter.blockHash || "0x"); - fields.push(params.filter.address || "0x"); - fields.push(params.filter.topics || []); - fields.push(toUtf8Bytes(params.filter.fromBlock || 0)); - fields.push(toUtf8Bytes(params.filter.toBlock || 0)); - } else { - fields.push(params.blockHash || "0x"); - fields.push(params.address || "0x"); - fields.push(params.topics || []); - fields.push(toUtf8Bytes(params.fromBlock || 0)); - fields.push(toUtf8Bytes(params.toBlock || 0)); - } - fields.push(params.transactionHash || "0x"); - fields.push(this.formatNumberField(params.position || 0, "position")); - fields.push(this.formatNumberField(timestamp || 0, "timestamp")); - - return fields; - } - - /* - VMBC: If a _vmbcCustomParam is set, then override send with adding that custom param - */ - send(method: string, params: Array): Promise { - // Keeping native ethers compatibility - if (this._signingKey == "") { - return super.send(method, params); - } - - const request = { - method: method, - params: params, - id: (this._nextId++), - jsonrpc: "2.0" - }; - - this.emit("debug", { - action: "request", - request: deepCopy(request), - provider: this - }); - - // We can expand this in the future to any call, but for now these - // are the biggest wins and do not require any serializing parameters. - /*const cache = ([ "eth_chainId", "eth_blockNumber" ].indexOf(method) >= 0); - if (cache && this._cache[method]) { - return this._cache[method]; - }*/ - - const result = fetchJson(this.connection, JSON.stringify(request), getResult).then((result) => { - this.emit("debug", { - action: "response", - request: request, - response: result, - provider: this - }); - - return result; - - }, (error) => { - this.emit("debug", { - action: "response", - error: error, - request: request, - provider: this - }); - - throw error; - }); - - // Cache the fetch, but clear it on the next event loop - /* if (cache) { - this._cache[method] = result; - setTimeout(() => { - this._cache[method] = null; - }, 0); - }*/ - - return result; - } - - /* - VMBC: If a _signingKey is set, then override perform - */ - async perform(method: string, params: any): Promise { - // Keeping native ethers compatibility - if (this._signingKey == "") { - return super.perform(method, params); - } - - // Legacy networks do not like the type field being passed along (which - // is fair), so we delete type if it is 0 and a non-EIP-1559 network - if (method === "call" || method === "estimateGas") { - const tx = params.transaction; - if (tx && tx.type != null && BigNumber.from(tx.type).isZero()) { - // If there are no EIP-1559 properties, it might be non-EIP-1559 - if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) { - const feeData = await this.getFeeData(); - if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) { - // Network doesn't know about EIP-1559 (and hence type) - params = shallowCopy(params); - params.transaction = shallowCopy(tx); - delete params.transaction.type; - } - } - } - } - - var signature:any = null; - var timestamp:number; - let expiryMilliSeconds: number = 30000; - var pKey = this.getSigningKey(); - var encodedFields:any = []; - if (pKey) { - const excludeReadSigning = ["estimateGas", "sendTransaction", "getGasPrice", "getBlockNumber"]; - if (excludeReadSigning.includes(method)) { - pKey = null; - } else { - timestamp = Date.now() + expiryMilliSeconds; - encodedFields = await this.encodeReadParams(timestamp, params); - } - } - - const args = this.prepareRequest(method, params); - if (args == null) { - logger.throwError(method + " not implemented", Logger.errors.NOT_IMPLEMENTED, { operation: method }); - } - - if (pKey) { - // push method in the begining of an array - encodedFields.unshift(toUtf8Bytes(args[0])) - let encodedBytes = RLP.encode(encodedFields); - let encodedBytesHash = keccak256(encodedBytes); - if (typeof(pKey) === "boolean" && pKey == true) { - let signerAddress = await this.getSigner().getAddress(); - let signedSignature = await this.send("eth_sign", [ signerAddress.toLowerCase(), hexlify(encodedBytesHash) ]); - signature = splitSignature(signedSignature); - } else if (typeof(pKey) === "string" && pKey != "") { - const signingKey = new SigningKey(pKey); - signature = signingKey.signDigest(encodedBytesHash); - } else { - signature = null; - } - } - if (signature) { - args[1].push(signature); - args[1].push({"expiryTime":timestamp}); - } - - try { - return await this.send(args[0], args[1]); - } catch (error) { - return checkError(method, error, params); - } - } -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/tsconfig.json b/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/tsconfig.json deleted file mode 100644 index db8bb98e5..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/read-write-authorization/integration-library/vmbc-ethers-extension/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "lib": [ - "es2015", - "es5", - "dom" - ], - "preserveWatchOutput": true, - "pretty": false, - "outDir": "./lib/", - "rootDir": "./src.ts" - }, - "exclude": [], - "include": [ - "./src.ts/*.ts", - "./thirdparty.d.ts" - ] -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/.env b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/.env deleted file mode 100644 index 9332ef872..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/.env +++ /dev/null @@ -1,7 +0,0 @@ -VMBC_URL="http://127.0.0.1:8545" -CONTRACT_FILE="Sample.sol" - -ADMIN_ACCOUNT = "0xFB389874FB4e03182A7358275eaf78008775c7ed" -ADMIN_ACCOUNT_PRIVATE_KEY = "0x5bedcdfdfe7e3d9444b3494eaee4bb9339be4745d7a4f79cd4bde59d3e9e9dcc" - -PERMISSIONING_CONTRACT_ADDRESS = "0x57a268e7694371880a2c5881bd240db812bbfbf0" diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Dockerfile b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Dockerfile deleted file mode 100644 index cd781972f..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM athena-docker-local.artifactory.eng.vmware.com/node:16.18.1 as node - -# Create the app directory and copy all the required files -WORKDIR /app -COPY . . - -# Install dependencies -RUN npm install --registry=http://build-artifactory.eng.vmware.com:80/artifactory/api/npm/npm - -# Run the write tests using port 8000 -EXPOSE 8000 -CMD [ "node", "testWrite.js" ] \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Sample.sol b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Sample.sol deleted file mode 100644 index 1789d89ff..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/Sample.sol +++ /dev/null @@ -1,11 +0,0 @@ -pragma solidity ^0.8.0; - -contract Sample { - uint _testInt; - function set(uint x) public { - _testInt = x; - } - function get() public view returns (uint) { - return _testInt; - } -} \ No newline at end of file diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package-lock.json b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package-lock.json deleted file mode 100644 index 0a91e073b..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package-lock.json +++ /dev/null @@ -1,1514 +0,0 @@ -{ - "name": "vmbc-ethers-write-example", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "vmbc-ethers-write-example", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "console": "0.7.2", - "dotenv": "16.0.1", - "ethers": "^5.7.2", - "fs": "0.0.1-security", - "solc": "^0.8.15" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "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/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "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/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "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/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/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/console": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", - "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" - }, - "node_modules/dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "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/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "engines": { - "node": ">= 0.10.0" - } - }, - "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==" - }, - "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==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/solc": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.17.tgz", - "integrity": "sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solc.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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 - } - } - } - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "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==" - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "console": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", - "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" - }, - "dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" - }, - "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==" - }, - "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==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "solc": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.17.tgz", - "integrity": "sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g==", - "requires": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package.json b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package.json deleted file mode 100644 index 000145cc4..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "vmbc-ethers-write-example", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Vijaya Prakash Masilamani", - "license": "ISC", - "dependencies": { - "ethers": "^5.7.2", - "console": "0.7.2", - "dotenv": "16.0.1", - "fs": "0.0.1-security", - "solc": "^0.8.15" - } -} diff --git a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/testWrite.js b/vmbc-ethereum/permissioning/sample-dapps/write-authorization/testWrite.js deleted file mode 100644 index 25d716b28..000000000 --- a/vmbc-ethereum/permissioning/sample-dapps/write-authorization/testWrite.js +++ /dev/null @@ -1,262 +0,0 @@ -const ethers = require("ethers"); - -// solc compiler -solc = require("solc"); - -// file reader -fs = require("fs"); - -// Get all the config values -require('dotenv').config(); - -// path -const path = require('path'); -const { exit } = require("process"); -var crypto = require('crypto'); - -const READ = 1; -const WRITE = 2; -const DEPLOY = 4; - -var VMBC_URL = process.env.VMBC_URL; -var CONTRACT_FILE = String(process.env.CONTRACT_FILE); -var CONTRACT_NAME = path.parse(CONTRACT_FILE).name; - -var SAMPLE_CONTRACT_ABI = ""; -var SAMPLE_CONTRACT_BYTECODE = ""; -var SAMPLE_CONTRACT_ADDRESS = ""; - -// Set deploy account -let ADMIN_ACCOUNT = process.env.ADMIN_ACCOUNT; -let ADMIN_ACCOUNT_PRIVATE_KEY = String(process.env.ADMIN_ACCOUNT_PRIVATE_KEY); -let PERMISSIONING_CONTRACT_ADDRESS = String(process.env.PERMISSIONING_CONTRACT_ADDRESS); -let PERMISSIONING_CONTRACT_ABI = ["function updatePermissions(address from, address to, uint8 action)", - "function checkUserAction(address from, address to, uint8 action) external view returns(bool)"]; - -let PROVIDER = new ethers.providers.JsonRpcProvider(VMBC_URL); -let ADMIN_WALLET = new ethers.Wallet(ADMIN_ACCOUNT_PRIVATE_KEY, PROVIDER); - -const compileContract = async () => { - - // Reading the file - file = fs.readFileSync(CONTRACT_FILE).toString(); - - // input structure for solidity compiler - var input = { - language: "Solidity", - sources: { - [CONTRACT_FILE]: { - content: file, - }, - }, - - settings: { - outputSelection: { - "*": { - '*': ['evm', 'bytecode', 'abi'], - }, - }, - }, - }; - var output = JSON.parse(solc.compile(JSON.stringify(input))); - - SAMPLE_CONTRACT_ABI = output.contracts[CONTRACT_FILE][CONTRACT_NAME].abi; - SAMPLE_CONTRACT_BYTECODE = output.contracts[CONTRACT_FILE][CONTRACT_NAME].evm.bytecode.object; -} - -const generateAccount = async () => { - console.log("\x1b[33m%s\x1b[0m", "==================== Create new ethereum account =================="); - var keyPair = {}; - var id = crypto.randomBytes(32).toString('hex'); - var privateKey = "0x" + id; - console.log("\x1b[34m%s\x1b[0m", "Private Key:", privateKey); - - var wallet = new ethers.Wallet(privateKey); - console.log("\x1b[34m%s\x1b[0m", "Address: " + wallet.address); - keyPair.privateKey = privateKey; - keyPair.address = wallet.address; - console.log(""); - return keyPair; - -} - -const deployContract = async(keyPair) => { - console.log("------------------------- DEPLOY Test -------------------------"); - - const nonce = 0; - let deployedAddress = ethers.utils.getAddress(ethers.utils.getContractAddress({from: keyPair.address, nonce})); - console.log("\x1b[34m%s\x1b[0m", "Before deployment: Contract Address: " +deployedAddress); - - let privateKey = String(keyPair.privateKey); - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - let factory = new ethers.ContractFactory(SAMPLE_CONTRACT_ABI, SAMPLE_CONTRACT_BYTECODE, ACCOUNT_WALLET); - let contract = await factory.deploy(); - //let isDeployed = await contract.deployed(); - if (contract.address) { - console.log("\x1b[34m%s\x1b[0m", "New contract deployed : Contract Address: " +contract.address); - console.log(""); - return contract.address; - } -} - -const addPermissions = async (keyPair, allPermissions) => { - return updatePermissions(keyPair, allPermissions); -} - -const checkPermissions = async (keyPair, allPermissions) => { - - console.log("------------------------- Check permissions -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - - let toAddress = "0x0000000000000000000000000000000000000000"; - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - const contract = new ethers.Contract(PERMISSIONING_CONTRACT_ADDRESS, PERMISSIONING_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ACCOUNT_WALLET); - var response = ""; - try { - response = await contractWithSigner.checkUserAction(fromAddress, toAddress, allPermissions); - } catch (error) { - console.log("Error while calling checkPermissions()..."); - console.log(error); - exit(1); - } - if (response) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has permissions."); - console.log(""); - return true; - } else { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has NO permissions."); - console.log(""); - return false; - } -} - -const updatePermissions = async (keyPair, allPermissions) => { - console.log("------------------------- Update Permissions -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - let toAddress = "0x0000000000000000000000000000000000000000"; - - const contract = new ethers.Contract(PERMISSIONING_CONTRACT_ADDRESS, PERMISSIONING_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ADMIN_WALLET); - let tx = ""; - try { - tx = await contractWithSigner.updatePermissions(fromAddress, toAddress, allPermissions); - } catch (error) { - console.log("Error while calling updatePermissions()..."); - console.log(error); - exit(1); - } - if (tx.hash) { - console.log("\x1b[34m%s\x1b[0m", "Permission given to "+fromAddress) - console.log("\x1b[34m%s\x1b[0m", "Transaction hash: " + tx.hash); - console.log(""); - return true; - } - return false; -} - -const writeToBlockchain = async (keyPair) => { - console.log("------------------------- WRITE Test -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - const contract = new ethers.Contract(SAMPLE_CONTRACT_ADDRESS, SAMPLE_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ACCOUNT_WALLET); - let number = Math.floor(Math.random() * 100); - let tx = ""; - try { - tx = await contractWithSigner.set(number); - } catch (error) { - console.log("Error while calling writeToBlockchain()..."); - console.error(error); - exit(1); - } - if (tx.hash) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has WRITE permission.") - console.log("\x1b[34m%s\x1b[0m", "WRITE Transaction hash: " + tx.hash); - console.log(""); - return true; - } - return false; -} - -const readFromBlockchain = async (keyPair) => { - console.log("------------------------- READ Test -------------------------"); - let privateKey = String(keyPair.privateKey); - let fromAddress = keyPair.address; - let ACCOUNT_WALLET = new ethers.Wallet(privateKey, PROVIDER); - const contract = new ethers.Contract(SAMPLE_CONTRACT_ADDRESS, SAMPLE_CONTRACT_ABI, PROVIDER); - const contractWithSigner = contract.connect(ACCOUNT_WALLET); - const data = await contractWithSigner.get(); - if (data) { - console.log("\x1b[34m%s\x1b[0m", "User "+fromAddress +" has READ permission.") - console.log("\x1b[34m%s\x1b[0m", " Read: Data : ", data); - console.log(""); - return true; - } - return false; -} - -const deployWriteReadTest = async () => { - let accountKeyPair = await generateAccount(); - let permissions = DEPLOY+WRITE+READ; - - if (!await checkPermissions(accountKeyPair, permissions)) { - await addPermissions(accountKeyPair, permissions); - } - - await compileContract(); - SAMPLE_CONTRACT_ADDRESS = await deployContract(accountKeyPair); - await writeToBlockchain(accountKeyPair); - await readFromBlockchain(accountKeyPair); -} - -const readWriteTest = async () => { - let accountKeyPair = await generateAccount(); - let permissions = WRITE+READ; - - if (!await checkPermissions(accountKeyPair, permissions)) { - await addPermissions(accountKeyPair, permissions); - } - - await writeToBlockchain(accountKeyPair); - await readFromBlockchain(accountKeyPair); -} - - -const writeTest = async () => { - let accountKeyPair = await generateAccount(); - let permissions = WRITE; - - if (!await checkPermissions(accountKeyPair, permissions)) { - await addPermissions(accountKeyPair, permissions); - } - - // Write internally calls read, if READ permissioning enabled in vmbc this function will fail - await writeToBlockchain(accountKeyPair); -} - -const readTest = async () => { - let accountKeyPair = await generateAccount(); - let permissions = READ; - - if (!await checkPermissions(accountKeyPair, permissions)) { - await addPermissions(accountKeyPair, permissions); - } - - await readFromBlockchain(accountKeyPair); -} - -const testNow = async () => { - await deployWriteReadTest(); - await readWriteTest(); - //await writeTest(); - await readTest(); - console.log("\x1b[32m%s\x1b[0m", "==================== DONE ========================"); - return true; -} - -testNow(); diff --git a/vmbc-ethereum/privacy/README.md b/vmbc-ethereum/privacy/README.md deleted file mode 100644 index a116a1bd2..000000000 --- a/vmbc-ethereum/privacy/README.md +++ /dev/null @@ -1,366 +0,0 @@ -# Introduction -The privacy of digital asset custody is a critical requirement for enterprises as they consider moving to blockchains. This gets exacerbated with Central Bank Digital Currencies where governments want to balance accountability with privacy in order to prevent money laundering or tax fraud. -VMware Blockchain now provides a solution to this problem. Any ERC20 smart contract can be extended to convert the public tokens to private tokens. These private tokens can be transacted privately, subject to a limit set by the administrator. None, not even the administrator, can see the details of the private transaction, including the source, target or the amount transacted. -The platform uses Zero Knowledge Proofs to guarantee that the transaction is valid and ensures that there is no double spending. -The privacy solution is currently in Tech Preview - the APIs may change in the future. - -# Architecture -## Kubernetes deployment overview -![Privacy Depiction](./assets/images/PrivacyAppK8s.svg) - -The sample application consists of the following components: - -- Sample Privacy Wallet Application -Each user in the system must own a Privacy Wallet to manage their secrets. In order to send private transactions securely, the wallet needs to have an extra secret (besides the Ethereum private key). The wallet communicates with the Privacy Client Library to generate private transaction payloads. It sends transactions to the EthRpc client over JSON RPC. - -- Admin Application -The privacy contract administrator deploys the Public Token and the Private Token contracts. It uses the Privacy Client Library to generate the inputs to the Private Token constructor, and calls both constructors. It sends transactions to the EthRpc client over JSON RPC. The Admin Application is also used to set the limits (or budgets) on the amount of tokens that can be transacted privately per user. - -- Smart Contracts -As part of the "deploy" command, the admin application deploys two smart contracts - Public Token and Private Token. The Public Token is a standard ERC20 token, with three required modifications. The address of the Private Token is a parameter of the constructor. In addition, it has two additional functions - convertPublicToPrivate and convertPrivateToPublic. The former converts the specified number of ERC20 Public Token to Private Tokens (which can now be transacted privately). The latter converts Private Tokens back to a Public Tokens. -The Private Token provides interfaces to Mint and Burn private tokens, and to Transfer tokens privately to another user. It calls cryptographic functions implemented in the platform via EVM pre-compiled contracts. - -## How to deploy privacy application -Deployment leverages the helm charts provided with the development kit for privacy application. -### Prerequisite -Deploy kubernetes based leveraging [helm charts](../vmbc-deployment/vmbc-four-node-one-client-deployment/README.md). - -### Limitations -- The privacy capabilities are not currently supported with permission enabled blockchain. VMware Blockchain must be deployed with read and write permissions disabled before trying out privacy. - -- This release supports the following sample application wallets: - - single administrator wallet and CLI console application. - - supports pre-configured set of three user wallets and corresponding CLI console application. -```sh -user-1 user-2 user-3 -``` - -- The sample privacy wallets are ***NOT persistent*** hence not crash resilient. In event of restarts users should redeploy another instance of privacy application and configure restarted wallet application to leverage the new instance. - -### Determine the required settings for helm chart installation - -Helm chart for privacy application deployment is available [HERE](https://github.com/vmware-samples/vmware-blockchain-samples/tree/master/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm) - -List of available configurations and default values available in [values.yaml](https://github.com/vmware-samples/vmware-blockchain-samples/blob/master/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/values.yaml). - -#### Image, Blockchain location settings - -| Name | Description | Value | Type | -|----------------------------------|--------------------------------------------------|-----------------------------|-----------| -| blockchainUrl | URL for ETH-RPC service. Determined from the VMBC deployments exposed service. | `blockchainUrl="http://192.168.59.102:32223"` | Mandatory | -| global.imageCredentials.registry | Container registry for image downloads | "" | Mandatory | -| global.imageCredentials.username | Username to access/download for registry | "" | Mandatory | -| global.imageCredentials.password | Password to access/download for registry | "" | Mandatory | -| global.storageClassName | Storage class settings for persistent storage | default: "standard" | Optional | - -The ethRPC service port and their liveness could be determined as following: -```sh -demo>kubectl get pods -NAME READY STATUS RESTARTS AGE -vmbc-deployment-client-0-clientservice-8c4c88c45-5rqmj 1/1 Running 0 95s -vmbc-deployment-client-0-ethrpc-8d9b6c67-99sgs 1/1 Running 0 95s -vmbc-deployment-replica-0-concord-64f6f8fd66-tllf9 1/1 Running 0 95s -vmbc-deployment-replica-1-concord-654d8f998d-65d8w 1/1 Running 0 95s -vmbc-deployment-replica-2-concord-6bdd5bcc74-nw47d 1/1 Running 0 95s -vmbc-deployment-replica-3-concord-6994dd8677-mg6gg 1/1 Running 0 95s - -demo>minikube service list -|-------------|-----------------|--------------|-----------------------------| -| NAMESPACE | NAME | TARGET PORT | URL | -|-------------|-----------------|--------------|-----------------------------| -|....|.....|....|....| -| default | client-0-ethrpc | 8545/8545 | http://192.168.59.102:32223 | -|....|.....|....|....| -demo> nc -v 192.168.59.102 32223 -Connection to 192.168.59.102 32223 port [tcp/*] succeeded! - -Verify a ETHRPC API: -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","id":1}' --header "Content-Type: application/json" http://192.168.59.102:32223 -{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","result":"0x0"} -``` -#### Container resource settings -There are default settings tuned for current consumption. You can scale up values if required. - -Resource names (Refer to values.yaml): -```sh -walletapp, walletcli, admin, admincli. -``` -Users can optionally override default APP resource settings. The parameter units are based on [kubernetes semantics](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/). -| Name | Description | Example | -|----------------------------------|--------------------------------------------------|-----------------------------| -| cpuLimit | max cpu limit | 800m | -| cpuRequest | requested cpu | 700m | -| memoryLimit | max memory limit | 500Mi | -| memoryRequest | requested memory | 400Mi | - -Eg., -```sh - --set resources.walletapp.cpuLimit=900m --set resources.walletapp.memoryLimit=550Mi - ``` - -#### helm chart installation -```sh -helm install --set global.imageCredentials.registry= --set global.imageCredentials.username= --set global.imageCredentials.password= --set blockchainUrl= . - -# For this sample deployment blockchainUrl=http://192.168.59.102:32223 - -kubectl get pods -NAME READY STATUS RESTARTS AGE -vmbc-deployment-client-0-clientservice-8c4c88c45-gsdzt 1/1 Running 0 7m19s -vmbc-deployment-client-0-ethrpc-8d9b6c67-bw8h6 1/1 Running 0 7m19s -vmbc-deployment-privacy-admin-7fd48bdc8f-zhcwz 2/2 Running 0 73s -vmbc-deployment-privacy-wallet-0 2/2 Running 0 73s -vmbc-deployment-privacy-wallet-1 2/2 Running 0 68s -vmbc-deployment-privacy-wallet-2 2/2 Running 0 62s -vmbc-deployment-replica-0-concord-64f6f8fd66-l8hdf 1/1 Running 0 7m19s -vmbc-deployment-replica-1-concord-654d8f998d-wmtqr 1/1 Running 0 7m19s -vmbc-deployment-replica-2-concord-6bdd5bcc74-blc52 1/1 Running 0 7m19s -vmbc-deployment-replica-3-concord-6994dd8677-rdqct 1/1 Running 0 7m19s - -helm list -NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION -vmbc-privacy-app-deployment default 1 ***UTC deployed vmbc-privacy-wallet-app-deployment-0.1.0 1.16.0 -vmbc-privacy-test-deployment default 1 ***UTC deployed vmbc-0.1.0 1.16.0 -``` - -To enumerate container image version running on the pods -```sh -kubectl get pods --all-namespaces -o jsonpath="{..image}" |\ -tr -s '[[:space:]]' '\n' |\ -sort |\ -uniq -c - 2 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/clientservice:0.0.0.0.7849 - 8 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/concord-core:0.0.0.0.7849 - 2 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/ethrpc:0.0.0.0.7849 - 2 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/privacy-admin-app:0.0.0.0.7849 - 2 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/privacy-admin-cli:0.0.0.0.7849 - 6 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/privacy-wallet-app:0.0.0.0.7849 - 6 blockchain-docker-internal.artifactory.eng.vmware.com/vmwblockchain/privacy-wallet-cli:0.0.0.0.7849 -``` - -## Privacy application demonstration -The following operations are demonstrated by the privacy application: - -Client Administrator application: -- Deploys the privacy application -- Creates privacy budgets for users - -Client Wallet application: -- Configures and registers the user wallet. -- Converts public funds to private funds for anonymous transfer. -- Performs private anonymous transaction to another registered user. -- Performs public transaction to another registered user. -- Converts private funds to public funds. - -The demonstration client wallet applications have canned private keys and initial public balances. - -### Administrator workflow -Administrator application CLI samples to deploy the privacy application and create privacy budgets for all users: - -```sh -kubectl attach vmbc-deployment-privacy-admin-7fd48bdc8f-zhcwz -c privacy-admin-cli -i -t - -If you don't see a command prompt, try pressing enter. -You must first deploy the privacy application. Use the 'deploy' command. -Enter command (type 'h' for commands 'Ctr-D' to quit): - > h -Commands: -deploy -- generates a privacy config and deploys the privacy and token contracts. -create-budget -- requests creation of a privacy budget for a user. - -> deploy -Deploying a new privacy application... - -Successfully deployed privacy application ---------------------------------------------------- -Privacy contract: 0x44f95010BA6441E9C50c4f790542A44A2CDC1281 -Token contract: 0x3d8b57c2D58BB8c8E36626B05fF03381734EAD43 - -You are now ready to configure wallets. - - > create-budget user-1 1000 -Budget request for user: user-1 value: 1000 was sent to the privacy app -response: ok - - > create-budget user-2 1000 -Budget request for user: user-2 value: 1000 was sent to the privacy app -response: ok - - > create-budget user-3 1000 -Budget request for user: user-3 value: 1000 was sent to the privacy app -response: ok -``` - -### Wallet application CLI workflow samples: -- Wallet converts privacy funds from public funds. These private tokens are then leveraged for anonymous transfers. -- Transfers private funds anonymously between users -- Transfers public funds between users -- Converts privacy funds back to public funds - -#### User-1 <==> User-2 Samples: -The samples demonstrates transfers and other works flow between user-1/user-2 wallets. Attaching to wallet CLI, configuring and registering are similar for all users. - -- Attaches to wallet user-1 CLI -```sh - kubectl attach vmbc-deployment-privacy-wallet-0 -c privacy-wallet-cli -i -t -If you don't see a command prompt, try pressing enter. - -You must first configure the wallet. Use the 'config' command. - -Enter command (type 'h' for commands 'Ctr-D' to quit): - > h -Commands: -config -- configures wallets with the privacy application. -show -- prints information about the user managed by this wallet. -register -- requests user registration required for spending coins. -convertPublicToPrivate -- converts the specified amount of public funds to private funds. -transfer -- transfers the specified amount between users. -public-transfer -- transfers the specified amount of public funds between users. -convertPrivateToPublic -- converts the specified amount of private funds to public funds. -``` -- Configures the wallet and registers the users with privacy application. - -```sh - > config - -Successfully configured privacy application ---------------------------------------------------- -Privacy contract: 0x44f95010BA6441E9C50c4f790542A44A2CDC1281 -Token contract: 0x3d8b57c2D58BB8c8E36626B05fF03381734EAD43 - - > register -Successfully registered user. - -Synchronizing state... -Ok. (Last known tx number: 0) ---------- user-1 --------- -Public balance: 10000 -Private balance: 0 -Privacy budget: 1000 -Last executed tx number: 0 -``` -- Creates 250 private funds from public funds. -```sh -> convertPublicToPrivate 250 -Successfully sent mint tx. Last added tx number:1 -Synchronizing state... -Ok. (Last known tx number: 1) - -Synchronizing state... -Ok. (Last known tx number: 1) ---------- user-1 --------- -Public balance: 9750 -Private balance: 250 ===> converted private funds -Privacy budget: 1000 -Last executed tx number: 1 -``` - -- Transfers private funds to user-2. - -```sh -> transfer 50 user-2 -Processing an anonymous transfer of 50 to user-2... -Successfully sent transfer tx. Last added tx number:2 -Synchronizing state... -Ok. (Last known tx number: 2) -Anonymous transfer done. - -Synchronizing state... -Ok. (Last known tx number: 2) ---------- user-1 --------- -Public balance: 9750 -Private balance: 200 -Privacy budget: 950 -Last executed tx number: 2 -``` -- Meanwhile user-2 does private fund conversion and notices new transfer of 50 tokens. user-2 then transfers 100 private tokens to user-1. -```sh -== user-2 == -> convertPublicToPrivate 100 -Successfully sent mint tx. Last added tx number:3 -Synchronizing state... -Ok. (Last known tx number: 3) - -Synchronizing state... -Ok. (Last known tx number: 3) ---------- user-2 --------- -Public balance: 9900 -Private balance: 150 ====> Received 50 private tokens! -Privacy budget: 1000 -Last executed tx number: 3 - - > transfer 100 user-1 -Processing an anonymous transfer of 100 to user-1... -Successfully sent transfer tx. Last added tx number:4 -Synchronizing state... -Ok. (Last known tx number: 4) -Anonymous transfer done. - -Synchronizing state... -Ok. (Last known tx number: 4) ---------- user-2 --------- -Public balance: 9900 -Private balance: 50 -Privacy budget: 900 -Last executed tx number: 4 -``` -- User-1 then issues 77 public token transfer to user-2 -```sh -> show -Synchronizing state... -Ok. (Last known tx number: 4) ---------- user-1 --------- -Public balance: 9750 -Private balance: 300 ====> Received 100 private tokens! -Privacy budget: 950 -Last executed tx number: 4 - -> public-transfer 77 user-2 -Processing public transfer of 77 to user-2... -Synchronizing state... -Ok. (Last known tx number: 4) ---------- user-1 --------- -Public balance: 9673 ===> debit of 77 tokens -Private balance: 300 -Privacy budget: 950 -Last executed tx number: 4 -``` - -- User-2 receives 77 public tokens from user-1 -```sh -> show -Synchronizing state... -Ok. (Last known tx number: 4) ---------- user-2 --------- -Public balance: 9977 ==> credit of 77 public token -Private balance: 50 -Privacy budget: 900 -Last executed tx number: 4 -``` -- user-1 converts back private funds to public funds. -```sh -> convertPrivateToPublic 300 -Processing a burn operation for 300... -Successfully sent self-transfer tx as part of burn. Last added tx number:5 -Synchronizing state... -Ok. (Last known tx number: 5) -Successfully sent burn tx. Last added tx number:6 -Synchronizing state... -Ok. (Last known tx number: 6) -Burn operation done. - -Synchronizing state... -Ok. (Last known tx number: 6) ---------- user-1 --------- -Public balance: 9973 -Private balance: 0 =====> All private tokens converted to public -Privacy budget: 950 -Last executed tx number: 6 -``` - -#### limitation workflow -To workaround for lack of restart capability, perform the following work flow in event you terminate a wallet. - -- You could leverage the restarted instances or optionally uninstall (helm uninstall) and redeploy the privacy application using helm. -- Re-deploy (admin deploy) another privacy application instances -- Retry the privacy workflows described above. \ No newline at end of file diff --git a/vmbc-ethereum/privacy/assets/images/PrivacyAppK8s.svg b/vmbc-ethereum/privacy/assets/images/PrivacyAppK8s.svg deleted file mode 100644 index ee0fab59f..000000000 --- a/vmbc-ethereum/privacy/assets/images/PrivacyAppK8s.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/Chart.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/Chart.yaml deleted file mode 100644 index b03df320a..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: vmbc-privacy-wallet-app-deployment -description: A Helm chart for vmbc privacy wallet app demonstration -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/_helpers.tpl b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/_helpers.tpl deleted file mode 100644 index 21925a578..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/_helpers.tpl +++ /dev/null @@ -1,44 +0,0 @@ -{{/* -Return the proper image name, e.g. -{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" $) }} -*/}} -{{- define "common.images.image" -}} -{{- $registryName := .global.imageCredentials.registry -}} -{{- $repositoryName := .imageRoot.repository -}} -{{- $tag := or .imageRoot.tag .global.image.tag | toString -}} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} - -{{- define "privacywalletapp.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.privacyWalletApp.image "global" .Values.global) }} -{{- end -}} - -{{- define "privacywalletcli.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.privacyWalletCli.image "global" .Values.global) }} -{{- end -}} - -{{- define "privacyadmin.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.privacyAdmin.image "global" .Values.global) }} -{{- end -}} - -{{- define "privacyadmincli.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.privacyAdminCli.image "global" .Values.global) }} -{{- end -}} - -{{/* -Create an imagePullSecret from the info provided in .Values.imageCredentials -Create the dockerconfigjson entry. Need to go through these hoops because the password may contain single/double quotes -which cause problems for Helm with the usual approach described here: -https://helm.sh/docs/howto/charts_tips_and_tricks/#creating-image-pull-secrets -Usage: include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) -*/}} -{{- define "common.docker.config.json" }} -{{- $registry := .imageCredentials.registry }} -{{- $username := .imageCredentials.username }} -{{- $password := .imageCredentials.password }} -{{- $email := .imageCredentials.email }} -{{- $encodedAuth := printf "%s:%s" $username $password | b64enc }} -{{- $escapedPassword := $password | replace `"` `\"` }} -{{- $dockerConfigJson := printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" $registry $username $escapedPassword $email $encodedAuth | b64enc }} -{{- print $dockerConfigJson }} -{{- end }} diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/admin-deployment.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/admin-deployment.yaml deleted file mode 100644 index 520f62b37..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/admin-deployment.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: vmbc-deployment-privacy-admin - labels: - app: privacy-admin-{{ .Release.Name }} -spec: - replicas: 1 - selector: - matchLabels: - app: privacy-admin-{{ .Release.Name }} - template: - metadata: - labels: - app: privacy-admin-{{ .Release.Name }} - spec: - volumes: - - name: wallet-app-storage - persistentVolumeClaim: - claimName: privacy-wallet-app-pvc - containers: - - name: privacy-admin - image: {{ include "privacyadmin.image" . }} - imagePullPolicy: IfNotPresent - env: - - name: VMBC_CHAIN_ID - value: "5000" - - name: VMBC_URL - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: VMBC_URL - - name: PRIVACY_CONFIG_PATH - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: PRIVACY_CONFIG_PATH - resources: - limits: - cpu: "{{ .Values.resources.admin.cpuLimit }}" - memory: "{{ .Values.resources.admin.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.admin.cpuRequest }}" - memory: "{{ .Values.resources.admin.memoryRequest }}" - volumeMounts: - - name: wallet-app-storage - mountPath: "/app/config" - - name: privacy-admin-cli - image: {{ include "privacyadmincli.image" . }} - imagePullPolicy: IfNotPresent - stdin: true - tty: true - env: - - name: PRIVACY_WALLET_ADMIN_GRPC_PORT - value: "49000" - resources: - limits: - cpu: "{{ .Values.resources.admincli.cpuLimit }}" - memory: "{{ .Values.resources.admincli.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.admincli.cpuRequest }}" - memory: "{{ .Values.resources.admincli.memoryRequest }}" - volumeMounts: - - name: wallet-app-storage - mountPath: "{{ .Values.privacyConfigPath }}" - imagePullSecrets: - - name: {{ .Release.Name }}-regcred - restartPolicy: Always \ No newline at end of file diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-configmap.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-configmap.yaml deleted file mode 100644 index 45435cab2..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-configmap.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ .Release.Name }}-configmap -data: - VMBC_URL: {{ .Values.blockchainUrl }} - PRIVACY_CONFIG_PATH: {{ .Values.privacyConfigPath }} \ No newline at end of file diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-deployment.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-deployment.yaml deleted file mode 100644 index 56feea040..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-deployment.yaml +++ /dev/null @@ -1,77 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: vmbc-deployment-privacy-wallet - labels: - app: {{ .Release.Name }} -spec: - replicas: 3 - serviceName: privacy-app - selector: - matchLabels: - app: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ .Release.Name }} - spec: - volumes: - - name: wallet-app-storage - persistentVolumeClaim: - claimName: privacy-wallet-app-pvc - containers: - - name: privacy-wallet-app - image: {{ include "privacywalletapp.image" . }} - imagePullPolicy: IfNotPresent - env: - - name: VMBC_CHAIN_ID - value: "5000" - - name: VMBC_URL - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: VMBC_URL - - name: PRIVACY_CONFIG_PATH - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: PRIVACY_CONFIG_PATH - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - resources: - limits: - cpu: "{{ .Values.resources.walletapp.cpuLimit }}" - memory: "{{ .Values.resources.walletapp.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.walletapp.cpuRequest }}" - memory: "{{ .Values.resources.walletapp.memoryRequest }}" - volumeMounts: - - name: wallet-app-storage - mountPath: "/app/config" - - name: privacy-wallet-cli - image: {{ include "privacywalletcli.image" . }} - imagePullPolicy: IfNotPresent - stdin: true - tty: true - env: - - name: PRIVACY_WALLET_APP_GRPC_PORT - value: "49001" - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - resources: - limits: - cpu: "{{ .Values.resources.walletcli.cpuLimit }}" - memory: "{{ .Values.resources.walletcli.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.walletcli.cpuRequest }}" - memory: "{{ .Values.resources.walletcli.memoryRequest }}" - volumeMounts: - - name: wallet-app-storage - mountPath: "{{ .Values.privacyConfigPath }}" - imagePullSecrets: - - name: {{ .Release.Name }}-regcred - restartPolicy: Always diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-persistentVolumeClaim.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-persistentVolumeClaim.yaml deleted file mode 100644 index 4d79765c3..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-persistentVolumeClaim.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: privacy-wallet-app-pvc -spec: - storageClassName: "{{ .Values.global.storageClassName }}" - accessModes: - - ReadWriteOnce - resources: - requests: - storage: "1Gi" diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-secret.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-secret.yaml deleted file mode 100644 index e5593114a..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/templates/wallet-app-secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-regcred -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) }} \ No newline at end of file diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/values.yaml b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/values.yaml deleted file mode 100644 index fc48bd799..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/helm/values.yaml +++ /dev/null @@ -1,87 +0,0 @@ -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageCredentials -## - -## @param global.imageCredentials Global Docker image registry -## -global: - # The credentials for the docker registry. If username/password/email are specified, a corresponding Secret is created. - imageCredentials: - registry: "" - username: "" - password: "" - email: "" - image: - tag: "0.0.0.0.7849" - storageClassName: "standard" - -privacyWalletApp: - image: - repository: "vmwblockchain/privacy-wallet-app" - tag: "" - -privacyWalletCli: - image: - repository: "vmwblockchain/privacy-wallet-cli" - tag: "" - -privacyAdmin: - image: - repository: "vmwblockchain/privacy-admin-app" - tag: "" - -privacyAdminCli: - image: - repository: "vmwblockchain/privacy-admin-cli" - tag: "" - -## Specify an imagePullPolicy (Required) -## It's recommended to change this to 'Always' if the image tag is '' -## ref: http://kubernetes.io/docs/user-guide/images/#updating-images -## -imagePullPolicy: IfNotPresent - -## Configure the configmap parameters that allows you to link the vmbc dapp installation -## @param blockchainUrl Url to link blockchain with vmbc dapp webpage -## -blockchainUrl: "" - -## app config path -privacyConfigPath: "/app/config" - -## default value for privacy admin service GRPC port -privacyAdminGrpcPort: "49000" - -## default value for privacy wallet service GRPC port -privacyWalletAppGrpcPort: "49001" - -privacyAppMetadataName: vmbc-privacy-wallet-service - -## Configure the resources for vmbc dapp deployment -## @param resources Resources for vmbc dapp deployment -## -resources: - # @param VMBC wallet app resources - walletapp: - cpuLimit: 800m - cpuRequest: 700m - memoryLimit: 500Mi - memoryRequest: 400Mi - # @param VMBC wallet cli resources - walletcli: - cpuLimit: 100m - cpuRequest: 20m - memoryLimit: 250Mi - memoryRequest: 125Mi - admin: - cpuLimit: 800m - cpuRequest: 700m - memoryLimit: 500Mi - memoryRequest: 400Mi - admincli: - cpuLimit: 100m - cpuRequest: 20m - memoryLimit: 250Mi - memoryRequest: 125Mi diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/Context.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/Context.sol deleted file mode 100644 index 8407f4018..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/Context.sol +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.0 <0.9.0; - -/* - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with GSN meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address payable) { - return payable(msg.sender); - } - - function _msgData() internal view virtual returns (bytes memory) { - this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 - return msg.data; - } -} - diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/ERC20.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/ERC20.sol deleted file mode 100644 index c041df666..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/ERC20.sol +++ /dev/null @@ -1,590 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.0 <0.9.0; - -import "./Context.sol"; - -import "./IERC20.sol"; - -import "./SafeMath.sol"; - - - -/** - - * @dev Implementation of the {IERC20} interface. - - * - - * This implementation is agnostic to the way tokens are created. This means - - * that a supply mechanism has to be added in a derived contract using {_mint}. - - * For a generic mechanism see {ERC20PresetMinterPauser}. - - * - - * TIP: For a detailed writeup see our guide - - * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How - - * to implement supply mechanisms]. - - * - - * We have followed general OpenZeppelin guidelines: functions revert instead - - * of returning `false` on failure. This behavior is nonetheless conventional - - * and does not conflict with the expectations of ERC20 applications. - - * - - * Additionally, an {Approval} event is emitted on calls to {transferFrom}. - - * This allows applications to reconstruct the allowance for all accounts just - - * by listening to said events. Other implementations of the EIP may not emit - - * these events, as it isn't required by the specification. - - * - - * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} - - * functions have been added to mitigate the well-known issues around setting - - * allowances. See {IERC20-approve}. - - */ - -contract ERC20 is Context, IERC20 { - - using SafeMath for uint256; - - mapping (address => uint256) private _balances; - - mapping (address => mapping (address => uint256)) private _allowances; - - uint256 private _totalSupply; - - string private _name; - - string private _symbol; - - uint8 private _decimals; - - - - /** - - * @dev Sets the values for {name} and {symbol}, initializes {decimals} with - - * a default value of 18. - - * - - * To select a different value for {decimals}, use {_setupDecimals}. - - * - - * All three of these values are immutable: they can only be set once during - - * construction. - - */ - - constructor (string memory name_, string memory symbol_) { - - _name = name_; - - _symbol = symbol_; - - _decimals = 18; - - } - - - - /** - - * @dev Returns the name of the token. - - */ - - function name() public view returns (string memory) { - - return _name; - - } - - - /** - - * @dev Returns the symbol of the token, usually a shorter version of the - - * name. - - */ - - function symbol() public view returns (string memory) { - - return _symbol; - - } - - - /** - - * @dev Returns the number of decimals used to get its user representation. - - * For example, if `decimals` equals `2`, a balance of `505` tokens should - - * be displayed to a user as `5,05` (`505 / 10 ** 2`). - - * - - * Tokens usually opt for a value of 18, imitating the relationship between - - * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is - - * called. - - * - - * NOTE: This information is only used for _display_ purposes: it in - - * no way affects any of the arithmetic of the contract, including - - * {IERC20-balanceOf} and {IERC20-transfer}. - - */ - - function decimals() public view returns (uint8) { - - return _decimals; - - } - - - /** - - * @dev See {IERC20-totalSupply}. - - */ - - function totalSupply() public view override returns (uint256) { - - return _totalSupply; - - } - - - /** - - * @dev See {IERC20-balanceOf}. - - */ - - function balanceOf(address account) public view override returns (uint256) { - - return _balances[account]; - - } - - - /** - - * @dev See {IERC20-transfer}. - - * - - * Requirements: - - * - - * - `recipient` cannot be the zero address. - - * - the caller must have a balance of at least `amount`. - - */ - - function transfer(address recipient, uint256 amount) public virtual override returns (bool) { - - _transfer(_msgSender(), recipient, amount); - - return true; - - } - - - /** - - * @dev See {IERC20-allowance}. - - */ - - function allowance(address owner, address spender) public view virtual override returns (uint256) { - - return _allowances[owner][spender]; - - } - - - /** - - * @dev See {IERC20-approve}. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - */ - - function approve(address spender, uint256 amount) public virtual override returns (bool) { - - _approve(_msgSender(), spender, amount); - - return true; - - } - - - /** - - * @dev See {IERC20-transferFrom}. - - * - - * Emits an {Approval} event indicating the updated allowance. This is not - - * required by the EIP. See the note at the beginning of {ERC20}. - - * - - * Requirements: - - * - - * - `sender` and `recipient` cannot be the zero address. - - * - `sender` must have a balance of at least `amount`. - - * - the caller must have allowance for ``sender``'s tokens of at least - - * `amount`. - - */ - - function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { - - _transfer(sender, recipient, amount); - - _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); - - return true; - - } - - - /** - - * @dev Atomically increases the allowance granted to `spender` by the caller. - - * - - * This is an alternative to {approve} that can be used as a mitigation for - - * problems described in {IERC20-approve}. - - * - - * Emits an {Approval} event indicating the updated allowance. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - */ - - function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { - - _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); - - return true; - - } - - - /** - - * @dev Atomically decreases the allowance granted to `spender` by the caller. - - * - - * This is an alternative to {approve} that can be used as a mitigation for - - * problems described in {IERC20-approve}. - - * - - * Emits an {Approval} event indicating the updated allowance. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - * - `spender` must have allowance for the caller of at least - - * `subtractedValue`. - - */ - - function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { - - _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); - - return true; - - } - - - /** - - * @dev Moves tokens `amount` from `sender` to `recipient`. - - * - - * This is internal function is equivalent to {transfer}, and can be used to - - * e.g. implement automatic token fees, slashing mechanisms, etc. - - * - - * Emits a {Transfer} event. - - * - - * Requirements: - - * - - * - `sender` cannot be the zero address. - - * - `recipient` cannot be the zero address. - - * - `sender` must have a balance of at least `amount`. - - */ - - function _transfer(address sender, address recipient, uint256 amount) internal virtual { - - require(sender != address(0), "ERC20: transfer from the zero address"); - - require(recipient != address(0), "ERC20: transfer to the zero address"); - - - - - _beforeTokenTransfer(sender, recipient, amount); - - - - - _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); - - _balances[recipient] = _balances[recipient].add(amount); - - emit Transfer(sender, recipient, amount); - - } - - - /** @dev Creates `amount` tokens and assigns them to `account`, increasing - - * the total supply. - - * - - * Emits a {Transfer} event with `from` set to the zero address. - - * - - * Requirements: - - * - - * - `to` cannot be the zero address. - - */ - - function _mint(address account, uint256 amount) internal virtual { - - require(account != address(0), "ERC20: mint to the zero address"); - - - - - _beforeTokenTransfer(address(0), account, amount); - - - - - _totalSupply = _totalSupply.add(amount); - - _balances[account] = _balances[account].add(amount); - - emit Transfer(address(0), account, amount); - - } - - - /** - - * @dev Destroys `amount` tokens from `account`, reducing the - - * total supply. - - * - - * Emits a {Transfer} event with `to` set to the zero address. - - * - - * Requirements: - - * - - * - `account` cannot be the zero address. - - * - `account` must have at least `amount` tokens. - - */ - - function _burn(address account, uint256 amount) internal virtual { - - require(account != address(0), "ERC20: burn from the zero address"); - - - - - _beforeTokenTransfer(account, address(0), amount); - - - - - _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); - - _totalSupply = _totalSupply.sub(amount); - - emit Transfer(account, address(0), amount); - - } - - - /** - - * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. - - * - - * This internal function is equivalent to `approve`, and can be used to - - * e.g. set automatic allowances for certain subsystems, etc. - - * - - * Emits an {Approval} event. - - * - - * Requirements: - - * - - * - `owner` cannot be the zero address. - - * - `spender` cannot be the zero address. - - */ - - function _approve(address owner, address spender, uint256 amount) internal virtual { - - require(owner != address(0), "ERC20: approve from the zero address"); - - require(spender != address(0), "ERC20: approve to the zero address"); - - - - - _allowances[owner][spender] = amount; - - emit Approval(owner, spender, amount); - - } - - - /** - - * @dev Sets {decimals} to a value other than the default one of 18. - - * - - * WARNING: This function should only be called from the constructor. Most - - * applications that interact with token contracts will not expect - - * {decimals} to ever change, and may work incorrectly if it does. - - */ - - function _setupDecimals(uint8 decimals_) internal virtual { - - _decimals = decimals_; - - } - - - /** - - * @dev Hook that is called before any transfer of tokens. This includes - - * minting and burning. - - * - - * Calling conditions: - - * - - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - - * will be to transferred to `to`. - - * - when `from` is zero, `amount` tokens will be minted for `to`. - - * - when `to` is zero, `amount` of ``from``'s tokens will be burned. - - * - `from` and `to` are never both zero. - - * - - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - - */ - - function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } - -} diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/IERC20.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/IERC20.sol deleted file mode 100644 index 96104e86e..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/IERC20.sol +++ /dev/null @@ -1,77 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.0 <0.9.0; - -/** - * @dev Interface of the ERC20 standard as defined in the EIP. - */ -interface IERC20 { - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by `account`. - */ - function balanceOf(address account) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `recipient`. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transfer(address recipient, uint256 amount) external returns (bool); - - /** - * @dev Returns the remaining number of tokens that `spender` will be - * allowed to spend on behalf of `owner` through {transferFrom}. This is - * zero by default. - * - * This value changes when {approve} or {transferFrom} are called. - */ - function allowance(address owner, address spender) external view returns (uint256); - - /** - * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * IMPORTANT: Beware that changing an allowance with this method brings the risk - * that someone may use both the old and the new allowance by unfortunate - * transaction ordering. One possible solution to mitigate this race - * condition is to first reduce the spender's allowance to 0 and set the - * desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * - * Emits an {Approval} event. - */ - function approve(address spender, uint256 amount) external returns (bool); - - /** - * @dev Moves `amount` tokens from `sender` to `recipient` using the - * allowance mechanism. `amount` is then deducted from the caller's - * allowance. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); - - /** - * @dev Emitted when `value` tokens are moved from one account (`from`) to - * another (`to`). - * - * Note that `value` may be zero. - */ - event Transfer(address indexed from, address indexed to, uint256 value); - - /** - * @dev Emitted when the allowance of a `spender` for an `owner` is set by - * a call to {approve}. `value` is the new allowance. - */ - event Approval(address indexed owner, address indexed spender, uint256 value); -} diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/SafeMath.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/SafeMath.sol deleted file mode 100644 index c4cdb46d2..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/ERC20/SafeMath.sol +++ /dev/null @@ -1,205 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.0 <0.9.0; - -/** - * @dev Wrappers over Solidity's arithmetic operations with added overflow - * checks. - * - * Arithmetic operations in Solidity wrap on overflow. This can easily result - * in bugs, because programmers usually assume that an overflow raises an - * error, which is the standard behavior in high level programming languages. - * `SafeMath` restores this intuition by reverting the transaction when an - * operation overflows. - * - * Using this library instead of the unchecked operations eliminates an entire - * class of bugs, so it's recommended to use it always. - */ -library SafeMath { - /** - * @dev Returns the addition of two unsigned integers, with an overflow flag. - */ - function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { - uint256 c = a + b; - if (c < a) return (false, 0); - return (true, c); - } - - /** - * @dev Returns the substraction of two unsigned integers, with an overflow flag. - */ - function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b > a) return (false, 0); - return (true, a - b); - } - - /** - * @dev Returns the multiplication of two unsigned integers, with an overflow flag. - */ - function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { - // Gas optimization: this is cheaper than requiring 'a' not being zero, but the - // benefit is lost if 'b' is also tested. - // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 - if (a == 0) return (true, 0); - uint256 c = a * b; - if (c / a != b) return (false, 0); - return (true, c); - } - - /** - * @dev Returns the division of two unsigned integers, with a division by zero flag. - */ - function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b == 0) return (false, 0); - return (true, a / b); - } - - /** - * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. - */ - function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b == 0) return (false, 0); - return (true, a % b); - } - - /** - * @dev Returns the addition of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `+` operator. - * - * Requirements: - * - * - Addition cannot overflow. - */ - function add(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a + b; - require(c >= a, "SafeMath: addition overflow"); - return c; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting on - * overflow (when the result is negative). - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b) internal pure returns (uint256) { - require(b <= a, "SafeMath: subtraction overflow"); - return a - b; - } - - /** - * @dev Returns the multiplication of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `*` operator. - * - * Requirements: - * - * - Multiplication cannot overflow. - */ - function mul(uint256 a, uint256 b) internal pure returns (uint256) { - if (a == 0) return 0; - uint256 c = a * b; - require(c / a == b, "SafeMath: multiplication overflow"); - return c; - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b) internal pure returns (uint256) { - require(b > 0, "SafeMath: division by zero"); - return a / b; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting when dividing by zero. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b) internal pure returns (uint256) { - require(b > 0, "SafeMath: modulo by zero"); - return a % b; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting with custom message on - * overflow (when the result is negative). - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {trySub}. - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b <= a, errorMessage); - return a - b; - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting with custom message on - * division by zero. The result is rounded towards zero. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryDiv}. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b > 0, errorMessage); - return a / b; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting with custom message when dividing by zero. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryMod}. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b > 0, errorMessage); - return a % b; - } -} - diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PrivateToken.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PrivateToken.sol deleted file mode 100644 index cc5ef1054..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PrivateToken.sol +++ /dev/null @@ -1,347 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.0 <0.9.0; - -interface IPrivacy_VirtualContract { - function UttInit(bytes memory data) external returns (bytes memory); - function UttValidateTransaction(bytes memory data) external returns (bool); - function getTransactionNullifiers(bytes memory tx) external returns (string[] memory); - function computeRcmSignature(bytes memory pidstr, bytes memory data, uint64 sigId) external returns (uint64[] memory); - function hasBudgetCoin(bytes memory data) external returns (bool); - function getBudgetExpirationDate(bytes memory data) external returns (uint64); - function computeTransactionSignatures(uint64[] memory sids, bytes memory data) external returns (bool); - function getMintHash(bytes memory data) external returns (bytes memory); - function getMintUserPid(bytes memory data) external returns (bytes memory); - function getMintVal(bytes memory data) external returns (uint64); - function validateBurnTransaction(bytes memory data) external returns (bool); - function getBurnVal(bytes memory data) external returns (uint64); - function getBurnUserPid(bytes memory data) external returns (bytes memory); - function getBurnNullifier(bytes memory data) external returns (string memory); - function computeMintSignature(uint64 sigId, bytes memory data) external returns (bool); - function computeBudgetSignature(uint64 sigId, bytes memory data) external returns (bool); - function getPublicConfig() external returns (bytes memory); - - function issueBudgetCoin(bytes memory pid, bytes memory randHash, uint64 value, uint64 expDate) external returns (bytes memory); -} - -function uintToString(uint num) pure returns (string memory _uintAsString) { - if (num == 0) { - return "0"; - } - uint j = num; - uint len; - while (j != 0) { - len++; - j /= 10; - } - bytes memory bstr = new bytes(len); - uint k = len; - while (num > 0) { - k = k-1; - uint8 temp = uint8(num%10 + 48); - bstr[k] = bytes1(temp); - num /= 10; - } - return string(bstr); -} - -function equalBytes(bytes memory lhs, bytes memory rhs) pure returns (bool) { - return lhs.length == rhs.length && keccak256(lhs) == keccak256(rhs); -} - -// [TODO-UTT] Add an 'admin scoped' setTokenContract(address) function to set -// the instance of the token contract paired with the PrivateToken -// When minting/burning the PrivateToken must allow only this token contract -// to interact with it. - -contract PrivateToken { - event RegSigAdded(string userId); - - struct Registration { - bool isSet; - string pk; - uint64[] s2; - uint64 sigId; - } - - struct Budget { - bool isSet; - bytes token; - uint64 sigId; - } - - enum TxType{ NotSet, Mint, Burn, Transfer } - - struct Tx { - TxType txType; - bytes txData; - uint64[] sigIds; - } - - mapping(uint64 => bytes) _sigIdToSig; - - // Note: This hardcoded virtual contract address will be the same if - // the same default VMBC ethereum account deploys the virtual contract as its first transaction. - // Addresses of deployed contracts are computed deterministically from the address of the - // deployment address and its nonce (number of transactions previously made). - address public constant VIRTUAL_CONTRACT_ADDR = - 0x01C0E949a87590D4635794Ab4B10F012Ff28522d; - IPrivacy_VirtualContract _vc = IPrivacy_VirtualContract(VIRTUAL_CONTRACT_ADDR); - - bytes _publicConfig; - - uint64 _lastTxNum = 0; - uint64 _lastTokenId = 0; - uint64 _lastSigId = 0; - - mapping(string => Registration) _regs; - mapping(string => Budget) _budgets; - mapping(uint64 => Tx) _ledger; - mapping (string => bool) _nullifiers; - - constructor(bytes memory config) { - require(config.length > 0); - _vc.UttInit(config); - _publicConfig = _vc.getPublicConfig(); - require(_publicConfig.length > 0); - } - - struct RegisterUserRequest { - string userId; - string userPk; - bytes rcm1; - } - - struct CreateBudgetRequest { - string userId; - uint64 expirationDate; - uint64 value; - } - - struct PublicToPrivateRequest { - string userId; - uint64 value; - bytes txData; - } - - struct PrivateToPublicRequest { - string userId; - uint64 value; - bytes txData; - } - - struct TransferRequest { - bytes txData; - uint32 numOutputs; - } - - // Test code to make sure that the config is persisted in the VC - // function getConfig() external view returns (bytes memory) { - // return _vc.getConfig(address(this)); - // } - - function getRegS2(string calldata userId) - external - view - returns (uint64[] memory) - { - require(_regs[userId].isSet); - return _regs[userId].s2; - } - - function getRegSignature(string calldata userId) - external - view - returns (bytes memory) - { - require(_regs[userId].isSet); - return _sigIdToSig[_regs[userId].sigId]; - } - - function getUserPk(string calldata userId) - external - view - returns (string memory) - { - require(_regs[userId].isSet); - return _regs[userId].pk; - } - - function registerUser(RegisterUserRequest calldata req) - external - returns (bool) - { - if (_regs[req.userId].isSet) { - return false; // Already registered - } - - uint64 nextSigId = _lastSigId + 1; - uint64[] memory s2 = _vc.computeRcmSignature( - bytes(req.userId), - req.rcm1, - nextSigId - ); - require(s2.length > 0); - - // Note: Everything is set except the signature, which is computed asynchronously - // and is expected to be delivered with 'setSig' - _regs[req.userId].isSet = true; - _regs[req.userId].s2 = s2; - _regs[req.userId].pk = req.userPk; - _regs[req.userId].sigId = nextSigId; - - _lastSigId = nextSigId; - - return true; - } - - function isRegistered(string memory userId) external view returns (bool) { - return _regs[userId].isSet; - } - - function createPublicBudget(CreateBudgetRequest calldata req) public returns (bool) { - require(req.value > 0); - - // Issue budget token - //uint64 nextTokenId = _lastTokenId + 1; - - // We just need a unique hash per user - only a single budget token will be minted for each user - // when testing - string memory budgetHash = string.concat("budget|", req.userId, uintToString(_lastSigId)); - - bytes memory token = _vc.issueBudgetCoin(bytes(req.userId), bytes(budgetHash), req.value, req.expirationDate); - - _budgets[req.userId].isSet = true; - _budgets[req.userId].token = token; - - // Sign budget token - uint64 nextSigId = _lastSigId + 1; - _vc.computeBudgetSignature(nextSigId, token); - _budgets[req.userId].sigId = nextSigId; - - _lastSigId = nextSigId; - //_lastTokenId = nextTokenId; - - // [TODO-UTT] Clear any previous signatures that have been computed - - return true; - } - - function getLatestPublicBudget(string calldata userId) external view returns (bytes memory) { - require(_budgets[userId].isSet); - return _budgets[userId].token; - } - - function getLatestPublicBudgetSig(string calldata userId) external view returns (bytes memory) { - // [TODO-UTT] Alternatively check if sig ids match between the token and the signature - require(_budgets[userId].isSet); - return _sigIdToSig[_budgets[userId].sigId]; - } - - function convertPublicToPrivate(PublicToPrivateRequest calldata req) public returns (bool) { - require(_vc.getMintVal(req.txData) == req.value); - require(equalBytes(_vc.getMintUserPid(req.txData), bytes(req.userId))); - - uint64 nextTxNum = _lastTxNum + 1; - uint64 nextSigId = _lastSigId + 1; - - if (!_vc.computeMintSignature(nextSigId, req.txData)) { - return false; - } - - _ledger[nextTxNum].txType = TxType.Mint; - _ledger[nextTxNum].txData = req.txData; - _ledger[nextTxNum].sigIds = new uint64[](1); - _ledger[nextTxNum].sigIds[0] = nextSigId; - - _lastTxNum = nextTxNum; - _lastSigId = nextSigId; - - return true; - } - - function convertPrivateToPublic(PrivateToPublicRequest calldata req) public returns (bool) { - require(_vc.validateBurnTransaction(req.txData)); - require(_vc.getBurnVal(req.txData) == req.value); - require(equalBytes(_vc.getBurnUserPid(req.txData), bytes(req.userId))); - - string memory nullifier = _vc.getBurnNullifier(req.txData); - require(bytes(nullifier).length > 0); - require(_nullifiers[nullifier] == false); - _nullifiers[nullifier] = true; - - uint64 nextTxNum = _lastTxNum + 1; - _ledger[nextTxNum].txType = TxType.Burn; - _ledger[nextTxNum].txData = req.txData; - - _lastTxNum = nextTxNum; - - return true; - } - - function transfer(TransferRequest calldata req) public returns (bool) { - require(req.numOutputs > 0); - require(_vc.UttValidateTransaction(req.txData)); - - string[] memory nulls = _vc.getTransactionNullifiers(req.txData); - require(nulls.length > 0); - for (uint i = 0; i < nulls.length; i++) { - require(bytes(nulls[i]).length > 0); - require(_nullifiers[nulls[i]] == false); - _nullifiers[nulls[i]] = true; - } - - uint64[] memory sigIds = new uint64[](req.numOutputs); - uint64 nextSigId = _lastSigId; - for (uint i = 0; i < req.numOutputs; i++) { - nextSigId++; - sigIds[i] = nextSigId; - } - - require(_vc.computeTransactionSignatures(sigIds, req.txData)); - - uint64 nextTxNum = _lastTxNum + 1; - - _ledger[nextTxNum].txType = TxType.Transfer; - _ledger[nextTxNum].sigIds = sigIds; - _ledger[nextTxNum].txData = req.txData; - - _lastTxNum = nextTxNum; - _lastSigId = nextSigId; - - return true; - } - - function getPublicConfig() external view returns (bytes memory) { - return _publicConfig; - } - - function getNumOfLastAddedTransaction() external view returns (uint64) { - return _lastTxNum; - } - - function getTransaction(uint64 txNum) external view returns (Tx memory) { - require(_ledger[txNum].txType != TxType.NotSet); - return _ledger[txNum]; - } - - function getTransactionSigs(uint64 txNum) external view returns (bytes[] memory) { - require(_ledger[txNum].txType != TxType.NotSet); - - bytes[] memory result = new bytes[](_ledger[txNum].sigIds.length); - - for (uint i = 0; i < _ledger[txNum].sigIds.length; ++i) { - result[i] = _sigIdToSig[_ledger[txNum].sigIds[i]]; - } - - return result; - } - - // This function is called from the Virtual Contract when a signature is ready - function setSig(uint64 sigId, bytes memory sig) external returns (bool) { - _sigIdToSig[sigId] = sig; - - // emit RegSigAdded(userId); // Presumably we can subscribe to such events and use them in a dApp - return true; - } -} diff --git a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PublicToken.sol b/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PublicToken.sol deleted file mode 100644 index be87f569b..000000000 --- a/vmbc-ethereum/privacy/sample-dapps/private-token-transfer/source/contracts/PublicToken.sol +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 -pragma solidity >=0.8.0 <0.9.0; - -import "./ERC20/ERC20.sol"; - -interface IPrivacy_Contract { - struct PublicToPrivateRequest { - string userId; - uint64 value; - bytes txData; - } - - struct PrivateToPublicRequest { - string userId; - uint64 value; - bytes txData; - } - - function convertPublicToPrivate(PublicToPrivateRequest calldata req) external returns (bool); - - function convertPrivateToPublic(PrivateToPublicRequest calldata req) external returns (bool); -} - -contract PublicToken is ERC20 { - IPrivacy_Contract _privacyContract; - - constructor(address privacyContract, address[] memory users, uint64 initialBalance) ERC20("PrivacyToken", "PRVT") { - _privacyContract = IPrivacy_Contract(privacyContract); - for (uint i = 0; i < users.length; i++) { - _mint(users[i], initialBalance); - } - } - - function convertPublicToPrivate(IPrivacy_Contract.PublicToPrivateRequest calldata req) external returns (bool) { - _transfer(_msgSender(), address(_privacyContract), req.value); - require(_privacyContract.convertPublicToPrivate(req)); - return true; - } - - function convertPrivateToPublic(IPrivacy_Contract.PrivateToPublicRequest calldata req) external returns (bool) { - _transfer(address(_privacyContract), _msgSender(), req.value); - require(_privacyContract.convertPrivateToPublic(req)); - return true; - } -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/README.md b/vmbc-ethereum/sample-dapps/erc20-swap/README.md deleted file mode 100644 index 0907af670..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# ERC20-Swap - -This is a Ethereum Sample dApp which comes with few pre-deployed ERC20 based smart contracts. Few of the Ethereum Accounts are are pre-supplied with tokens to get started. - -## Features -- Transfer two types of ERC20 based Tokens across accounts - - GST and SCT -- Swap Tokens among these two types with customizable rate - - SCT to GST - - GST to SCT - -## Pre-requisites -- VMware Blockchain has been deployed -- Suggested and Supported Stack - - MAC Operating System - - Google Chrome browser - - Metamask Wallet - [https://metamask.io/](https://metamask.io/) -- Setting up Metamask for VMware Blockchain - - Connecting Metamask to VMware Blockchain- [See Appendix](../../appendix.md#connecting-metamask-to-vmware-blockchain) - - Reset Metamask Accounts - [See Appendix](../../appendix.md#resetting-account-in-metamask) - -## Running dApp -There are two ways to run this dApp - -### Command Line Based -- This option is only supported for MAC Operating System -- Execute following commands to run the dApp through command line -- At command line, this app defaults to port `3000` - -```sh -# Change to Source Directory of ERC20-Swap dApp -cd vmware-blockchain-samples/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap - -# Install the dependencies -npm install - -# Export the VMBC_URL to the URL of deployed instance of VMware Blockchain -export VMBC_URL=http://127.0.0.1:8545 - -# Run the dApp -npm run start -``` - -The dApp website will be available on `http://localhost:3000` - -### Helm Based - -Follow the instructions in [helm-chart/README](./helm-chart/README.md) - -## Using dApp -The accounts mentioned in [Accounts with Tokens](https://github.com/vmware-samples/vmware-blockchain-samples/blob/master/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/.env) are pre-supplied with tokens. You can use [this guide in Appendix](../../appendix.md#importing-accounts-in-metamask) to import these accounts into your Metamask wallet. - -### Transfer Tokens -- Select a token from drop down -- Enter address of an Ethereum Account to which to transfer the tokens -- Enter the amount of tokens to send -- Click on `TRANSFER` button -- Interact with Metamask Pop Up Window to complete this Transaction - -### Swap Tokens -- The Token selected on the top of the page acts as From Type for the Swap -- Select the Token to Swap to -- Enter the amount to swap -- Click on `SWAP` button -- Interact with Metamask Pop Up Window to complete this Transaction diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/Chart.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/Chart.yaml deleted file mode 100644 index a299e8146..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: vmbc-erc20swap -description: A Helm chart for vmbc erc20 swap dapp -type: application -version: 0.1.0 -appVersion: "1.16.0" \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/README.md b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/README.md deleted file mode 100644 index 2eb1a7ce0..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/README.md +++ /dev/null @@ -1,52 +0,0 @@ -## Host system pre-requisites - ``` - kubectl ( https://kubernetes.io/docs/tasks/tools/ ) - helm chart ( https://helm.sh/docs/intro/install/ ) - (optional) minikube (https://minikube.sigs.k8s.io/docs/start/) - (optional) eksctl (https://eksctl.io/) - ``` - -## Deploy VMware Blockchain erc20 swap dapp - - Deployment with parameters - ```sh - # Change to Helm Chart directory of ERC20-Swap Sample dApp - cd vmware-blockchain-samples/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart - - # Helm install ERC20-Swap Sample dApp - helm install {name-of-your-choice} . --set global.imageCredentials.registry={registry} --set global.imageCredentials.username={username} --set global.imageCredentials.password={password} --set blockchainUrl={blockchainURL} - ``` - - - Access VMware Blockchain erc20 swap dapp webpage using service url - - Minikube - ```sh - minikube service {name-of-your-choice}-service - ``` - - EKS - ```sh - kubectl get service {name-of-your-choice}-service - ``` - -## Remove VMware Blockchain erc20 swap dapp ( optional ) - - Uninstall - ```sh - helm uninstall {name-of-your-choice} - ``` - -## VMware Blockchain erc20 swap dapp deployment configurations - - List of configurations available for VMware Blockchain erc20 swap dapp deployment. Use "--set" param for setting up the params. - -| Name | Description | Value | Type | -|----------------------------------|----------------------------------------------|------------------------------|-----------| -| global.imageCredentials.registry | Url to download vmbc erc20 swap dapp | "" | Mandatory | -| global.imageCredentials.username | Username to access/download vmbc erc20 swap dapp | "" | Mandatory | -| global.imageCredentials.password | Password to access/download vmbc erc20 swap dapp | "" | Mandatory | -| global.imageCredentials.email | Email to access/download vmbc erc20 swap dapp | "" | Optional | -| global.image.repository | Image name to download for vmbc erc20 swap dapp | vmwblockchain/vmbc-eth-erc20-swap | Optional | -| global.image.tag | Tag version to download vmbc erc20 swap dapp | 0.0.0.0.7849 | Optional | -| blockchainUrl | Url to link blockchain with vmbc erc20 swap dapp webpage | "" | Mandatory | -| resources.erc20swap.cpuLimit | CPU limit | 1000m | Optional | -| resources.erc20swap.cpuRequest | CPU request | 100m | Optional | -| resources.erc20swap.meomoryLimit | Memory limit | 2Gi | Optional | -| resources.erc20swap.meomoryRequest | Memory request | 1Gi | Optional | diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/_helpers.tpl b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/_helpers.tpl deleted file mode 100644 index 0b88eb915..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/_helpers.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -Return the service & deployment port link -*/}} -{{- define "common.serviceDeploymentPort" -}} -{{- 3000 -}} -{{- end -}} - -{{/* -Return the proper image name from the info provided in .Values.global.imageCredentials & .Values.global.image -*/}} -{{- define "common.image" -}} -{{- $registryName := required "registry field is mandatory" .Values.global.imageCredentials.registry -}} -{{- $repositoryName := .Values.global.image.repository -}} -{{- $tag := required "tag field is mandatory" .Values.global.image.tag | toString -}} -{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} - -{{/* -Create an imagePullSecret from the info provided in .Values.imageCredentials -Create the dockerconfigjson entry. Need to go through these hoops because the password may contain single/double quotes -which cause problems for Helm with the usual approach described here: -https://helm.sh/docs/howto/charts_tips_and_tricks/#creating-image-pull-secrets -Usage: include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) -*/}} -{{- define "common.docker.config.json" }} -{{- $registry := required "registry field is mandatory" .imageCredentials.registry }} -{{- $username := required "username field is mandatory" .imageCredentials.username }} -{{- $password := required "password field is mandatory" .imageCredentials.password }} -{{- $email := .imageCredentials.email }} -{{- $encodedAuth := printf "%s:%s" $username $password | b64enc }} -{{- $escapedPassword := $password | replace `"` `\"` }} -{{- $dockerConfigJson := printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" $registry $username $escapedPassword $email $encodedAuth | b64enc }} -{{- print $dockerConfigJson }} -{{- end }} \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-configmap.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-configmap.yaml deleted file mode 100644 index 35d46b22b..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-configmap.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ .Release.Name }}-configmap -data: - VMBC_URL: {{ required "blockchainUrl field is mandatory" .Values.blockchainUrl }} \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-deployment.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-deployment.yaml deleted file mode 100644 index 76cf10ca4..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-deployment.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ .Release.Name }}-deployment - labels: - app: {{ .Release.Name }} -spec: - replicas: 1 - selector: - matchLabels: - app: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ .Release.Name }} - spec: - containers: - - name: {{ .Release.Name }} - image: {{ include "common.image" . }} - imagePullPolicy: IfNotPresent - ports: - - containerPort: {{ include "common.serviceDeploymentPort" . }} - env: - - name: VMBC_CHAIN_ID - value: "5000" - - name: VMBC_URL - valueFrom: - configMapKeyRef: - name: {{ .Release.Name }}-configmap - key: VMBC_URL - resources: - limits: - cpu: "{{ .Values.resources.erc20swap.cpuLimit }}" - memory: "{{ .Values.resources.erc20swap.memoryLimit }}" - requests: - cpu: "{{ .Values.resources.erc20swap.cpuRequest }}" - memory: "{{ .Values.resources.erc20swap.memoryRequest }}" - imagePullSecrets: - - name: {{ .Release.Name }}-regcred - restartPolicy: Always \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-secret.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-secret.yaml deleted file mode 100644 index e5593114a..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-regcred -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ include "common.docker.config.json" ( dict "imageCredentials" .Values.global.imageCredentials) }} \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-service.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-service.yaml deleted file mode 100644 index 74a4a7817..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/templates/dapp-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Release.Name }}-service -spec: - selector: - app: {{ .Release.Name }} - ports: - - protocol: TCP - port: 80 - targetPort: {{ include "common.serviceDeploymentPort" . }} - type: LoadBalancer \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/values.yaml b/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/values.yaml deleted file mode 100644 index 3baaf788e..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/helm-chart/values.yaml +++ /dev/null @@ -1,35 +0,0 @@ -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageCredentials -## - -## @param global.imageCredentials Global Docker image registry -## -global: - # The credentials for the docker registry. If username/password/email are specified, a corresponding Secret is created. - imageCredentials: - registry: "" - username: "" - password: "" - email: "" - # The global artifact tag - image: - repository: "vmwblockchain/vmbc-eth-erc20-swap" - tag: "0.0.0.0.7849" - -## Configure the configmap parameters that allows you to link the vmbc erc20 swap dapp installation -## @param blockchainUrl Url to link blockchain with vmbc erc20 swap dapp webpage -## -blockchainUrl: "" - -## Configure the resources for vmbc erc20 swap dapp deployment -## @param resources Resources for vmbc erc20 swap dapp deployment -## -resources: - # @param erc20swap VMBC erc20 swap dapp resources - erc20swap: - cpuLimit: 1000m - cpuRequest: 100m - memoryLimit: 2Gi - memoryRequest: 1Gi diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/.env b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/.env deleted file mode 100644 index 69b8e07c8..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/.env +++ /dev/null @@ -1,6 +0,0 @@ -ALICE_KEY=0x784e2c4D95c9Be66Cb0B9cda5b39d72e7630bCa8 -ALICE_PRIV_KEY=5094f257d3462083bcbc02c61d98c038cfa71cdd497834c5f38cd75010ddb7a5 -BOB_KEY=0xF4d5B303A15b04D7C6b7510b24c62D393805B8d7 -BOB_PRIV_KEY=78785c4ab4ba44b83509296af86af56ff00db79ba26a292d0556a4b4e8cea87c -CHARLIE_KEY=0x67C94d4a4fab02697513e4611A4742a98879aD56 -CHARLIE_PRIV_KEY=417fbb670417375f2916a4b0110dc7d68d81ea15aad3e6eb69f166b5bed6503f diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/build.sh b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/build.sh deleted file mode 100755 index a1399c614..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -docker rmi vmbc-erc20-swap-kit:latest -f -docker build -f Dockerfile -t vmbc-erc20-swap-kit:latest . diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/config-overrides.js b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/config-overrides.js deleted file mode 100644 index 484d6db2e..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/config-overrides.js +++ /dev/null @@ -1,5 +0,0 @@ -const { alias, configPaths } = require('react-app-rewire-alias'); - -const aliasMap = configPaths('./tsconfig.paths.json'); -module.exports = alias(aliasMap) -// module.exports.jest = aliasJest(aliasMap) diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Context.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Context.sol deleted file mode 100644 index 3d07c4aad..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Context.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0 <0.8.0; - -/* - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with GSN meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address payable) { - return msg.sender; - } - - function _msgData() internal view virtual returns (bytes memory) { - this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 - return msg.data; - } -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/ERC20.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/ERC20.sol deleted file mode 100644 index b4321fce0..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/ERC20.sol +++ /dev/null @@ -1,595 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0 <0.8.0; - - - -import "./Context.sol"; - -import "./IERC20.sol"; - -import "./SafeMath.sol"; - - - -/** - - * @dev Implementation of the {IERC20} interface. - - * - - * This implementation is agnostic to the way tokens are created. This means - - * that a supply mechanism has to be added in a derived contract using {_mint}. - - * For a generic mechanism see {ERC20PresetMinterPauser}. - - * - - * TIP: For a detailed writeup see our guide - - * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How - - * to implement supply mechanisms]. - - * - - * We have followed general OpenZeppelin guidelines: functions revert instead - - * of returning `false` on failure. This behavior is nonetheless conventional - - * and does not conflict with the expectations of ERC20 applications. - - * - - * Additionally, an {Approval} event is emitted on calls to {transferFrom}. - - * This allows applications to reconstruct the allowance for all accounts just - - * by listening to said events. Other implementations of the EIP may not emit - - * these events, as it isn't required by the specification. - - * - - * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} - - * functions have been added to mitigate the well-known issues around setting - - * allowances. See {IERC20-approve}. - - */ - -contract ERC20 is Context, IERC20 { - - using SafeMath for uint256; - - mapping (address => uint256) private _balances; - - mapping (address => mapping (address => uint256)) private _allowances; - - uint256 private _totalSupply; - - string private _name; - - string private _symbol; - - uint8 private _decimals; - - - - /** - - * @dev Sets the values for {name} and {symbol}, initializes {decimals} with - - * a default value of 18. - - * - - * To select a different value for {decimals}, use {_setupDecimals}. - - * - - * All three of these values are immutable: they can only be set once during - - * construction. - - */ - - constructor (string memory name_, string memory symbol_) public { - - _name = name_; - - _symbol = symbol_; - - _decimals = 18; - - } - - - - /** - - * @dev Returns the name of the token. - - */ - - function name() public view returns (string memory) { - - return _name; - - } - - - /** - - * @dev Returns the symbol of the token, usually a shorter version of the - - * name. - - */ - - function symbol() public view returns (string memory) { - - return _symbol; - - } - - - /** - - * @dev Returns the number of decimals used to get its user representation. - - * For example, if `decimals` equals `2`, a balance of `505` tokens should - - * be displayed to a user as `5,05` (`505 / 10 ** 2`). - - * - - * Tokens usually opt for a value of 18, imitating the relationship between - - * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is - - * called. - - * - - * NOTE: This information is only used for _display_ purposes: it in - - * no way affects any of the arithmetic of the contract, including - - * {IERC20-balanceOf} and {IERC20-transfer}. - - */ - - function decimals() public view returns (uint8) { - - return _decimals; - - } - - - /** - - * @dev See {IERC20-totalSupply}. - - */ - - function totalSupply() public view override returns (uint256) { - - return _totalSupply; - - } - - - /** - - * @dev See {IERC20-balanceOf}. - - */ - - function balanceOf(address account) public view override returns (uint256) { - - return _balances[account]; - - } - - - /** - - * @dev See {IERC20-transfer}. - - * - - * Requirements: - - * - - * - `recipient` cannot be the zero address. - - * - the caller must have a balance of at least `amount`. - - */ - - function transfer(address recipient, uint256 amount) public virtual override returns (bool) { - - _transfer(_msgSender(), recipient, amount); - - return true; - - } - - - /** - - * @dev See {IERC20-allowance}. - - */ - - function allowance(address owner, address spender) public view virtual override returns (uint256) { - - return _allowances[owner][spender]; - - } - - - /** - - * @dev See {IERC20-approve}. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - */ - - function approve(address spender, uint256 amount) public virtual override returns (bool) { - - _approve(_msgSender(), spender, amount); - - return true; - - } - - - /** - - * @dev See {IERC20-transferFrom}. - - * - - * Emits an {Approval} event indicating the updated allowance. This is not - - * required by the EIP. See the note at the beginning of {ERC20}. - - * - - * Requirements: - - * - - * - `sender` and `recipient` cannot be the zero address. - - * - `sender` must have a balance of at least `amount`. - - * - the caller must have allowance for ``sender``'s tokens of at least - - * `amount`. - - */ - - function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { - - _transfer(sender, recipient, amount); - - _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); - - //_approve(sender, recipient, 11); - - - return true; - - } - - - /** - - * @dev Atomically increases the allowance granted to `spender` by the caller. - - * - - * This is an alternative to {approve} that can be used as a mitigation for - - * problems described in {IERC20-approve}. - - * - - * Emits an {Approval} event indicating the updated allowance. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - */ - - function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { - - _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); - - return true; - - } - - - /** - - * @dev Atomically decreases the allowance granted to `spender` by the caller. - - * - - * This is an alternative to {approve} that can be used as a mitigation for - - * problems described in {IERC20-approve}. - - * - - * Emits an {Approval} event indicating the updated allowance. - - * - - * Requirements: - - * - - * - `spender` cannot be the zero address. - - * - `spender` must have allowance for the caller of at least - - * `subtractedValue`. - - */ - - function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { - - _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); - - return true; - - } - - - /** - - * @dev Moves tokens `amount` from `sender` to `recipient`. - - * - - * This is internal function is equivalent to {transfer}, and can be used to - - * e.g. implement automatic token fees, slashing mechanisms, etc. - - * - - * Emits a {Transfer} event. - - * - - * Requirements: - - * - - * - `sender` cannot be the zero address. - - * - `recipient` cannot be the zero address. - - * - `sender` must have a balance of at least `amount`. - - */ - - function _transfer(address sender, address recipient, uint256 amount) internal virtual { - - require(sender != address(0), "ERC20: transfer from the zero address"); - - require(recipient != address(0), "ERC20: transfer to the zero address"); - - - - - _beforeTokenTransfer(sender, recipient, amount); - - - - - _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); - - _balances[recipient] = _balances[recipient].add(amount); - - emit Transfer(sender, recipient, amount); - - } - - - /** @dev Creates `amount` tokens and assigns them to `account`, increasing - - * the total supply. - - * - - * Emits a {Transfer} event with `from` set to the zero address. - - * - - * Requirements: - - * - - * - `to` cannot be the zero address. - - */ - - function _mint(address account, uint256 amount) internal virtual { - - require(account != address(0), "ERC20: mint to the zero address"); - - - - - _beforeTokenTransfer(address(0), account, amount); - - - - - _totalSupply = _totalSupply.add(amount); - - _balances[account] = _balances[account].add(amount); - - emit Transfer(address(0), account, amount); - - } - - - /** - - * @dev Destroys `amount` tokens from `account`, reducing the - - * total supply. - - * - - * Emits a {Transfer} event with `to` set to the zero address. - - * - - * Requirements: - - * - - * - `account` cannot be the zero address. - - * - `account` must have at least `amount` tokens. - - */ - - function _burn(address account, uint256 amount) internal virtual { - - require(account != address(0), "ERC20: burn from the zero address"); - - - - - _beforeTokenTransfer(account, address(0), amount); - - - - - _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); - - _totalSupply = _totalSupply.sub(amount); - - emit Transfer(account, address(0), amount); - - } - - - /** - - * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. - - * - - * This internal function is equivalent to `approve`, and can be used to - - * e.g. set automatic allowances for certain subsystems, etc. - - * - - * Emits an {Approval} event. - - * - - * Requirements: - - * - - * - `owner` cannot be the zero address. - - * - `spender` cannot be the zero address. - - */ - - function _approve(address owner, address spender, uint256 amount) internal virtual { - - require(owner != address(0), "ERC20: approve from the zero address"); - - require(spender != address(0), "ERC20: approve to the zero address"); - - - - - _allowances[owner][spender] = amount; - - emit Approval(owner, spender, amount); - - } - - - /** - - * @dev Sets {decimals} to a value other than the default one of 18. - - * - - * WARNING: This function should only be called from the constructor. Most - - * applications that interact with token contracts will not expect - - * {decimals} to ever change, and may work incorrectly if it does. - - */ - - function _setupDecimals(uint8 decimals_) internal virtual { - - _decimals = decimals_; - - } - - - /** - - * @dev Hook that is called before any transfer of tokens. This includes - - * minting and burning. - - * - - * Calling conditions: - - * - - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - - * will be to transferred to `to`. - - * - when `from` is zero, `amount` tokens will be minted for `to`. - - * - when `to` is zero, `amount` of ``from``'s tokens will be burned. - - * - `from` and `to` are never both zero. - - * - - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - - */ - - function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } - -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/IERC20.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/IERC20.sol deleted file mode 100644 index 9b877d119..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/IERC20.sol +++ /dev/null @@ -1,77 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0 <0.8.0; - -/** - * @dev Interface of the ERC20 standard as defined in the EIP. - */ -interface IERC20 { - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by `account`. - */ - function balanceOf(address account) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `recipient`. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transfer(address recipient, uint256 amount) external returns (bool); - - /** - * @dev Returns the remaining number of tokens that `spender` will be - * allowed to spend on behalf of `owner` through {transferFrom}. This is - * zero by default. - * - * This value changes when {approve} or {transferFrom} are called. - */ - function allowance(address owner, address spender) external view returns (uint256); - - /** - * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * IMPORTANT: Beware that changing an allowance with this method brings the risk - * that someone may use both the old and the new allowance by unfortunate - * transaction ordering. One possible solution to mitigate this race - * condition is to first reduce the spender's allowance to 0 and set the - * desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * - * Emits an {Approval} event. - */ - function approve(address spender, uint256 amount) external returns (bool); - - /** - * @dev Moves `amount` tokens from `sender` to `recipient` using the - * allowance mechanism. `amount` is then deducted from the caller's - * allowance. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); - - /** - * @dev Emitted when `value` tokens are moved from one account (`from`) to - * another (`to`). - * - * Note that `value` may be zero. - */ - event Transfer(address indexed from, address indexed to, uint256 value); - - /** - * @dev Emitted when the allowance of a `spender` for an `owner` is set by - * a call to {approve}. `value` is the new allowance. - */ - event Approval(address indexed owner, address indexed spender, uint256 value); -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SafeMath.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SafeMath.sol deleted file mode 100644 index 413251e58..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SafeMath.sol +++ /dev/null @@ -1,204 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0 <0.8.0; - -/** - * @dev Wrappers over Solidity's arithmetic operations with added overflow - * checks. - * - * Arithmetic operations in Solidity wrap on overflow. This can easily result - * in bugs, because programmers usually assume that an overflow raises an - * error, which is the standard behavior in high level programming languages. - * `SafeMath` restores this intuition by reverting the transaction when an - * operation overflows. - * - * Using this library instead of the unchecked operations eliminates an entire - * class of bugs, so it's recommended to use it always. - */ -library SafeMath { - /** - * @dev Returns the addition of two unsigned integers, with an overflow flag. - */ - function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { - uint256 c = a + b; - if (c < a) return (false, 0); - return (true, c); - } - - /** - * @dev Returns the substraction of two unsigned integers, with an overflow flag. - */ - function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b > a) return (false, 0); - return (true, a - b); - } - - /** - * @dev Returns the multiplication of two unsigned integers, with an overflow flag. - */ - function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { - // Gas optimization: this is cheaper than requiring 'a' not being zero, but the - // benefit is lost if 'b' is also tested. - // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 - if (a == 0) return (true, 0); - uint256 c = a * b; - if (c / a != b) return (false, 0); - return (true, c); - } - - /** - * @dev Returns the division of two unsigned integers, with a division by zero flag. - */ - function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b == 0) return (false, 0); - return (true, a / b); - } - - /** - * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. - */ - function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { - if (b == 0) return (false, 0); - return (true, a % b); - } - - /** - * @dev Returns the addition of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `+` operator. - * - * Requirements: - * - * - Addition cannot overflow. - */ - function add(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a + b; - require(c >= a, "SafeMath: addition overflow"); - return c; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting on - * overflow (when the result is negative). - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b) internal pure returns (uint256) { - require(b <= a, "SafeMath: subtraction overflow"); - return a - b; - } - - /** - * @dev Returns the multiplication of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `*` operator. - * - * Requirements: - * - * - Multiplication cannot overflow. - */ - function mul(uint256 a, uint256 b) internal pure returns (uint256) { - if (a == 0) return 0; - uint256 c = a * b; - require(c / a == b, "SafeMath: multiplication overflow"); - return c; - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b) internal pure returns (uint256) { - require(b > 0, "SafeMath: division by zero"); - return a / b; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting when dividing by zero. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b) internal pure returns (uint256) { - require(b > 0, "SafeMath: modulo by zero"); - return a % b; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting with custom message on - * overflow (when the result is negative). - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {trySub}. - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b <= a, errorMessage); - return a - b; - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting with custom message on - * division by zero. The result is rounded towards zero. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryDiv}. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b > 0, errorMessage); - return a / b; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting with custom message when dividing by zero. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryMod}. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b > 0, errorMessage); - return a % b; - } -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SecurityToken.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SecurityToken.sol deleted file mode 100644 index c59cd7f3f..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/SecurityToken.sol +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.6.0 <0.8.0; - -import "./ERC20.sol"; - -contract SecurityToken is ERC20 { - - constructor ( - string memory name, - string memory symbol, - uint256 initialSupply - ) public ERC20(name, symbol) { - _mint(msg.sender, initialSupply * (10 ** uint256(decimals()))); - } - - function reduce (address account, uint256 amount) public virtual returns (bool) { - _burn(account, amount); - - return true; - } - -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Swap.sol b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Swap.sol deleted file mode 100644 index 1902db8a1..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/contracts/Swap.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0 <0.8.0; - -import "./IERC20.sol"; - -contract Swap { - IERC20 public token1; - IERC20 public token2; - uint public rate; - - constructor( - address _token1, - address _token2, - uint _rate - ) public { - token1 = IERC20(_token1); - token2 = IERC20(_token2); - rate = _rate; - } - - function swapTokens(uint256 amount) public returns (bool) { - - require(amount > 0, "Amount should be positive"); - uint256 allowance = token1.allowance(msg.sender, address(this)); - require(allowance >= amount, "Check the token allowance"); - token1.transferFrom(msg.sender, address(this), amount); - token2.transfer(msg.sender, amount); - return true; - } -} - diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/craco.config.js b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/craco.config.js deleted file mode 100644 index 13e8817e5..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/craco.config.js +++ /dev/null @@ -1,13 +0,0 @@ - -const { CracoAliasPlugin, configPaths } = require('react-app-rewire-alias'); - -const aliasMap = configPaths('./tsconfig.paths.json'); - -module.exports = { - plugins: [ - { - plugin: CracoAliasPlugin, - options: {alias: aliasMap} - } - ] -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/demo/Readme.md b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/demo/Readme.md deleted file mode 100644 index 0fe7520cf..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/demo/Readme.md +++ /dev/null @@ -1,34 +0,0 @@ -https://vmware.wavefront.com - - -"blockchainId": 9c08f1d9-5674-4427-bb60-ea45814a121c - - -ALICE_KEY=0x784e2c4D95c9Be66Cb0B9cda5b39d72e7630bCa8 -ALICE_PRIV_KEY=5094f257d3462083bcbc02c61d98c038cfa71cdd497834c5f38cd75010ddb7a5 -BOB_KEY=0xF4d5B303A15b04D7C6b7510b24c62D393805B8d7 -BOB_PRIV_KEY=78785c4ab4ba44b83509296af86af56ff00db79ba26a292d0556a4b4e8cea87c -CHARLIE_KEY=0x67C94d4a4fab02697513e4611A4742a98879aD56 -CHARLIE_PRIV_KEY=417fbb670417375f2916a4b0110dc7d68d81ea15aad3e6eb69f166b5bed6503f - - - - - -curl --location --request POST '10.72.228.91:8545/' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "jsonrpc":"2.0", - "method":"eth_getTransactionByHash", - "params":[ - "0xb192beb96a873e8a742c93c98b71aa4f0c00326bbb0e2eb142b6173008c70177" - ], - "id":1 -}' - - -curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":11}' 10.72.228.91:8545 - - - -curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":11}' localhost:8545 diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/swap-list.json b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/swap-list.json deleted file mode 100644 index b793da1ec..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/swap-list.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "swaps": [ - { - "name": "GST-SCT", - "rate": 1, - "contractAddress": "0x94E85003142705822e3cF067d138573265541983" - } - ] -} \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/token-list.json b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/token-list.json deleted file mode 100644 index c0500f8f2..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/deploy/token-list.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "tokens": [ - { - "name": "GenericSecurityToken", - "symbol": "GST", - "amount": 1000000, - "contractAddress": "0x620dF3D0C4F9b1793C4939F15920C77E940a8E0F" - }, - { - "name": "SupplyChainToken", - "symbol": "SCT", - "amount": 1000000, - "contractAddress": "0x4939435905D9032A0F1284ad032F55818a733E03" - } - ] -} \ No newline at end of file diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/docker-compose.yml b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/docker-compose.yml deleted file mode 100644 index fba41943f..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/docker-compose.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3.8" -services: - - erc20-swap: - image: vmbc-erc20-swap-kit:latest - container_name: vmbc-erc20-swap-kit - extra_hosts: - - "host.docker.internal:host-gateway" - environment: - - VMBC_URL=http://host.docker.internal:8545 - - VMBC_CHAIN_ID=5000 - ports: - - 3000:3000 diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/hardhat.config.ts b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/hardhat.config.ts deleted file mode 100644 index c67412ea1..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/hardhat.config.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { extendEnvironment } from "hardhat/config"; -import "@nomiclabs/hardhat-waffle"; -import { config } from "dotenv"; - -config(); - -process.env['NODE_TLS_REJECT_UNAUTHORIZED']="0" -extendEnvironment(hre => { - const Web3 = require("web3"); - // @ts-ignore - hre['Web3'] = Web3; - - // hre.network.provider is an EIP1193-compatible provider. - - // @ts-ignore - hre['web3'] = new Web3(hre.network.provider); -}); - -// You need to export an object to set up your config -// Go to https://hardhat.org/config/ to learn more - -// eslint-disable-next-line import/no-anonymous-default-export -export default { - defaultNetwork: "concord", - paths: { - deploy: 'deploy', - deployments: 'deployments', - imports: `imports` - }, - networks: { - hardhat: { - chainId: 1337 - }, - concord: { - url: process.env.VMBC_URL || "http://localhost:8545", - chainId: Number(process.env.VMBC_CHAIN_ID) || 5000, - gasPrice : 0, - accounts: ['5bedcdfdfe7e3d9444b3494eaee4bb9339be4745d7a4f79cd4bde59d3e9e9dcc'] - }, - ganache: { - url: "http://localhost:7545", - chainId: 1337 - } - }, - solidity: "0.7.3", - namedAccounts: { - deployer: { - default: 0, - }, - } -}; diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package-lock.json b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package-lock.json deleted file mode 100644 index 043893dd7..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package-lock.json +++ /dev/null @@ -1,73535 +0,0 @@ -{ - "name": "swap-dappv2", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "swap-dappv2", - "version": "0.1.0", - "dependencies": { - "@material-ui/core": "4.12.1", - "@material-ui/icons": "4.11.2", - "@nomiclabs/hardhat-ethers": "2.0.2", - "@nomiclabs/hardhat-waffle": "2.0.1", - "@testing-library/jest-dom": "5.11.4", - "@testing-library/react": "11.1.0", - "@testing-library/user-event": "12.1.10", - "chai": "4.3.4", - "ethereum-waffle": "3.2.2", - "ethers": "5.0.26", - "hardhat": "2.0.8", - "keyv": "^4.5.2", - "react": "17.0.2", - "react-dom": "17.0.2", - "react-scripts": "4.0.3", - "rimraf": "3.0.2", - "web-vitals": "1.0.1" - }, - "devDependencies": { - "@types/node": "14.14.22", - "nodemon": "2.0.13", - "react-app-rewire-alias": "1.1.3", - "react-app-rewired": "2.1.8", - "ts-node": "10.1.0", - "typescript": "4.4.3", - "web3": "1.4.0" - }, - "engines": { - "node": "^14.8.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.2.tgz", - "integrity": "sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q==", - "dependencies": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dependencies": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", - "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dependencies": { - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/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==" - }, - "node_modules/@babel/highlight/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.2.tgz", - "integrity": "sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.2.tgz", - "integrity": "sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "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-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "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.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", - "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", - "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", - "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@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", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", - "dependencies": { - "regenerator-runtime": "^0.13.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", - "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", - "dependencies": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@csstools/normalize.css": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", - "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" - }, - "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "node_modules/@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dependencies": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "node_modules/@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts" - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@eslint/eslintrc/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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ethereum-waffle/chai": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", - "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "dependencies": { - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/chai/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/@ethereum-waffle/compiler": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", - "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "dependencies": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^2.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.5.5", - "ethers": "^5.0.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.1", - "solc": "^0.6.3", - "ts-generator": "^0.1.1", - "typechain": "^3.0.0" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/compiler/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==" - }, - "node_modules/@ethereum-waffle/compiler/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/solc": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", - "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@ethereum-waffle/ens": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", - "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "dependencies": { - "@ensdomains/ens": "^0.4.4", - "@ensdomains/resolver": "^0.2.4", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/ens/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/@ethereum-waffle/mock-contract": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", - "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "dependencies": { - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/mock-contract/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/@ethereum-waffle/provider": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", - "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "dependencies": { - "@ethereum-waffle/ens": "^3.4.4", - "ethers": "^5.5.2", - "ganache-core": "^2.13.2", - "patch-package": "^6.2.2", - "postinstall-postinstall": "^2.1.0" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/provider/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/keccak256/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==" - }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "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/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, - "node_modules/@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "deprecated": "Moved to 'npm install @sideway/address'" - }, - "node_modules/@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "deprecated": "Switch to 'npm install joi'", - "dependencies": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "node_modules/@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", - "dependencies": { - "@hapi/hoek": "^8.3.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "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/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "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", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/console/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/console/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/console/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/console/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/console/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/console/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/core/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/core/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/core/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/@jest/core/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@jest/core/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/core/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/environment/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/environment/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/environment/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", - "dependencies": { - "jest-get-type": "^29.2.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/fake-timers/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/fake-timers/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/fake-timers/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/fake-timers/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/fake-timers/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/globals/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/globals/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/globals/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/reporters/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/reporters/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/reporters/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/reporters/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/reporters/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/reporters/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/@jest/reporters/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/reporters/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@jest/reporters/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-result/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-result/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/test-result/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-result/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/transform/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/transform/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", - "dependencies": { - "@jest/schemas": "^29.0.0", - "@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/@jest/types/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@material-ui/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.1.tgz", - "integrity": "sha512-C6hYsjkWCTfBx9FaqxhCZCITBagh7fyCKFtHyvO3tTOcBw6NJaktdhNZ2n82jQdQdgfFvg6OOxi7OOzsAdAcBQ==", - "deprecated": "You can now upgrade to @mui/material. See the guide: https://mui.com/guides/migration-v4/", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.4", - "@material-ui/system": "^4.12.1", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/icons": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.2.tgz", - "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", - "deprecated": "You can now upgrade to @mui/icons. See the guide: https://mui.com/guides/migration-v4/", - "dependencies": { - "@babel/runtime": "^7.4.4" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "dependencies": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } - }, - "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==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "engines": { - "node": ">= 8" - } - }, - "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==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nomiclabs/ethereumjs-vm": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", - "integrity": "sha512-8WmX94mMcJaZ7/m7yBbyuS6B+wuOul+eF+RY9fBpGhNaUpyMR/vFIcDojqcWQ4Yafe1tMKY5LDu2yfT4NZgV4Q==", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "3.0.0", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - } - }, - "node_modules/@nomiclabs/ethereumjs-vm/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@nomiclabs/ethereumjs-vm/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@nomiclabs/ethereumjs-vm/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@nomiclabs/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/@nomiclabs/hardhat-ethers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz", - "integrity": "sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg==", - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" - } - }, - "node_modules/@nomiclabs/hardhat-waffle": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.1.tgz", - "integrity": "sha512-2YR2V5zTiztSH9n8BYWgtv3Q+EL0N5Ltm1PAr5z20uAY4SkkfylJ98CIqt18XFvxTD5x4K2wKBzddjV9ViDAZQ==", - "dependencies": { - "@types/sinon-chai": "^3.2.3", - "@types/web3": "1.0.19" - }, - "peerDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.0", - "ethereum-waffle": "^3.2.0", - "ethers": "^5.0.0", - "hardhat": "^2.0.0" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", - "dependencies": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.x" - }, - "peerDependencies": { - "@types/webpack": "4.x", - "react-refresh": ">=0.8.3 <0.10.0", - "sockjs-client": "^1.4.0", - "type-fest": "^0.13.1", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dependencies": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - } - }, - "node_modules/@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" - } - }, - "node_modules/@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" - } - }, - "node_modules/@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dependencies": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", - "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==", - "dependencies": { - "@rollup/pluginutils": "^3.0.8", - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.14.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "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==", - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "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" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "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" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", - "deprecated": "Breaks compatibility with ES5, use v1.8.5", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@solidity-parser/parser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.11.1.tgz", - "integrity": "sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ==" - }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", - "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", - "dependencies": { - "ejs": "^2.6.1", - "magic-string": "^0.25.0" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "devOptional": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@testing-library/dom": { - "version": "7.31.2", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.2.tgz", - "integrity": "sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.6", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/dom/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@testing-library/dom/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@testing-library/dom/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@testing-library/dom/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.11.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.4.tgz", - "integrity": "sha512-6RRn3epuweBODDIv3dAlWjOEHQLpGJHB2i912VS3JQtsD22+ENInhdDNl4ZZQiViLlIfFinkSET/J736ytV9sw==", - "dependencies": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/@testing-library/react": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.1.0.tgz", - "integrity": "sha512-Nfz58jGzW0tgg3irmTB7sa02JLkLnCk+QN3XG6WiaGQYb0Qc4Ok00aujgjdxlIQWZHbb4Zj5ZOIeE9yKFSs4sA==", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@testing-library/dom": "^7.26.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@testing-library/user-event": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.1.10.tgz", - "integrity": "sha512-StlNdKHp2Rpb7yrny/5/CGpz8bR3jLa1Ge59ODGU6TmAhkrxSpvR6tCD1gaMFkkjEUWkmmye8BaXsZPcaiJ6Ug==", - "dependencies": { - "@babel/runtime": "^7.10.2" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "devOptional": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "devOptional": true - }, - "node_modules/@typechain/ethers-v5": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", - "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "dependencies": { - "ethers": "^5.0.2" - }, - "peerDependencies": { - "ethers": "^5.0.0", - "typechain": "^3.0.0" - } - }, - "node_modules/@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/bn.js/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", - "devOptional": true, - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" - } - }, - "node_modules/@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" - }, - "node_modules/@types/eslint": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", - "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "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==", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/glob/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "devOptional": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog==", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/keyv": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-4.2.0.tgz", - "integrity": "sha512-xoBtGl5R9jeKUhc8ZqeYaRDx04qqJ10yhhXYGmJ4Jr8qKpvMsDQQrNUvF/wUJ4klOtmJeJM+p2Xo3zp9uaC3tw==", - "deprecated": "This is a stub types definition. keyv provides its own type definitions, so you do not need this installed.", - "devOptional": true, - "dependencies": { - "keyv": "*" - } - }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" - }, - "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==" - }, - "node_modules/@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mkdirp/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/node-fetch/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/node-fetch/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/pbkdf2/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "node_modules/@types/react": { - "version": "17.0.52", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.52.tgz", - "integrity": "sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react/node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/resolve/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "devOptional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/secp256k1/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/sinon": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.13.tgz", - "integrity": "sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==", - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/uglify-js": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.1.tgz", - "integrity": "sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==", - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "node_modules/@types/web3": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", - "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "dependencies": { - "@types/bn.js": "*", - "@types/underscore": "*" - } - }, - "node_modules/@types/webpack": { - "version": "4.41.33", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.33.tgz", - "integrity": "sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==", - "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/webpack/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dependencies": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/abstract-leveldown/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "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==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "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==", - "engines": { - "node": ">=0.3.0" - } - }, - "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/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==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "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==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" - }, - "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==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/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==", - "dev": true - }, - "node_modules/ansi-align/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==" - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "engines": { - "node": ">=8" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "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==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "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==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dependencies": { - "inherits": "2.0.1" - } - }, - "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==", - "engines": { - "node": "*" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dependencies": { - "async": "^2.4.0" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "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/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==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "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==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axe-core": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.1.tgz", - "integrity": "sha512-1exVbW0X1O/HSr/WMwnaweyqcWOgZgLiVxdLG34pvSQk4NlYQr9OUy0JLwuhFfuVNQzzqgH57eYzkFBCb3bIsQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "dependencies": { - "babylon": "^6.18.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-jest/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-jest/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/babel-jest/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dependencies": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 6.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/babel-loader/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "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/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "peerDependencies": { - "@babel/core": "^7.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" - }, - "node_modules/babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", - "dependencies": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", - "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.2", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.1", - "@babel/parser": "^7.20.2", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/babel-preset-react-app/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/babel-preset-react-app/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/babel-preset-react-app/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "bin": { - "babylon": "bin/babylon.js" - } - }, - "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==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "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==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", - "devOptional": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "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/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "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==", - "dev": 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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "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/boxen/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==", - "dev": true - }, - "node_modules/boxen/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/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, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "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/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "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" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", - "devOptional": true - }, - "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==" - }, - "node_modules/bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "devOptional": true, - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "devOptional": true, - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "devOptional": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/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==", - "devOptional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "devOptional": true - }, - "node_modules/cacheable-request/node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "devOptional": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "engines": { - "node": "*" - } - }, - "node_modules/check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" - }, - "node_modules/checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==", - "dependencies": { - "functional-red-black-tree": "^1.0.1" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "devOptional": true, - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "devOptional": true, - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "devOptional": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "devOptional": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/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==" - }, - "node_modules/coa/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/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==" - }, - "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==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/command-line-args": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", - "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "dependencies": { - "array-back": "^2.0.0", - "find-replace": "^1.0.3", - "typical": "^2.6.1" - }, - "bin": { - "command-line-args": "bin/cli.js" - } - }, - "node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "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==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", - "dependencies": { - "arity-n": "^1.0.4" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "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==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "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/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/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==" - }, - "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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/configstore/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/configstore/node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "devOptional": true, - "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "devOptional": true - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz", - "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", - "dependencies": { - "browserslist": "^4.21.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.0.tgz", - "integrity": "sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "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/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "devOptional": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/cosmiconfig/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "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==", - "dependencies": { - "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/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==", - "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/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-blank-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-has-pseudo/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", - "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", - "dependencies": { - "camelcase": "^6.0.0", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^2.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.3", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.1", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "dependencies": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "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==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/data-urls/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "devOptional": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "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, - "engines": { - "node": ">=4.0.0" - } - }, - "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==" - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "devOptional": true - }, - "node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "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==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dir-glob/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", - "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dom-helpers/node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domhandler/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", - "devOptional": true - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/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/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/duplexify/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/duplexify/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "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/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "dependencies": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/encoding-down/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/encoding-down/node_modules/level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/encoding-down/node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/encoding-down/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/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/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/enhanced-resolve/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/enhanced-resolve/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.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==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.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==", - "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" - }, - "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==", - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-react-app": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", - "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", - "dependencies": { - "confusing-browser-globals": "^1.0.10" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^4.0.0", - "babel-eslint": "^10.0.0", - "eslint": "^7.5.0", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-jest": "^24.0.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-react": "^7.20.3", - "eslint-plugin-react-hooks": "^4.0.8", - "eslint-plugin-testing-library": "^3.9.0" - }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - }, - "eslint-plugin-testing-library": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz", - "integrity": "sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw==", - "dependencies": { - "lodash": "^4.17.15", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/eslint-plugin-jest": { - "version": "24.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", - "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^4.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": ">= 4", - "eslint": ">=5" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", - "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.31.10", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", - "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", - "dependencies": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-testing-library": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz", - "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^3.10.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^5 || ^6 || ^7" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", - "dependencies": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/eslint-plugin-testing-library/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-testing-library/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-webpack-plugin": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.7.0.tgz", - "integrity": "sha512-bNaVVUvU4srexGhVcayn/F4pJAz19CWBkKoMx7aSQ4wtTbZQCnG5O9LHCE42mM+JSKOUp7n6vd5CIwzj7lOVGA==", - "dependencies": { - "@types/eslint": "^7.29.0", - "arrify": "^2.0.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^3.1.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/eslint-webpack-plugin/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "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==", - "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/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/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==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "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==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "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==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "devOptional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "devOptional": true - }, - "node_modules/eth-lib/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==", - "devOptional": true - }, - "node_modules/eth-lib/node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "devOptional": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/eth-sig-util": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-2.5.4.tgz", - "integrity": "sha512-aCMBwp8q/4wrW4QLsF/HYBOSA7TpLKmkVwP3pYQNkEEseW2Rr8Z5Uxc9/h6HX+OG3tuHo+2bINVSihIeBfym6A==", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "ethereumjs-abi": "0.6.8", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.0" - } - }, - "node_modules/eth-sig-util/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/eth-sig-util/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/eth-sig-util/node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/ethashjs": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", - "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", - "deprecated": "New package name format for new versions: @ethereumjs/ethash. Please update.", - "dependencies": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/ethashjs/node_modules/buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-bloom-filters/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==" - }, - "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==", - "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" - } - }, - "node_modules/ethereum-waffle": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.2.2.tgz", - "integrity": "sha512-Q8XrcFmQGDKKH0Lr867WA9Rl0oWQGMZcFrFPMV2KBIOkdeQnRlGEJq8RGFxj4MMWWxkoXIoxWgxg7U3qdgddEw==", - "dependencies": { - "@ethereum-waffle/chai": "^3.2.2", - "@ethereum-waffle/compiler": "^3.2.2", - "@ethereum-waffle/mock-contract": "^3.2.2", - "@ethereum-waffle/provider": "^3.2.2", - "ethers": "^5.0.1" - }, - "bin": { - "waffle": "bin/waffle" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-abi/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/ethereumjs-abi/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "deprecated": "Please use Util.Account class found on package ethereumjs-util@^7.0.6 https://github.com/ethereumjs/ethereumjs-util/releases/tag/v7.0.6", - "dependencies": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ethereumjs-account/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-account/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/ethereumjs-account/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethereumjs-account/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ethereumjs-block/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ethereumjs-block/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/ethereumjs-block/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ethereumjs-block/node_modules/merkle-patricia-tree/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/ethereumjs-block/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/ethereumjs-block/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/ethereumjs-block/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ethereumjs-block/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/ethereumjs-blockchain": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", - "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", - "deprecated": "New package name format for new versions: @ethereumjs/blockchain. Please update.", - "dependencies": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "node_modules/ethereumjs-blockchain/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-blockchain/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/ethereumjs-blockchain/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethereumjs-blockchain/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." - }, - "node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-tx/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-tx/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/ethereumjs-tx/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "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==", - "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" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethers": { - "version": "5.0.26", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.26.tgz", - "integrity": "sha512-MqA8Fvutn3qEW0yBJOHeV6KZmRpF2rqlL2B5058AGkUFsuu6j5Ns/FRlMsbGeQwBz801IB23jQp7vjRfFsKSkg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.0.10", - "@ethersproject/abstract-provider": "5.0.8", - "@ethersproject/abstract-signer": "5.0.11", - "@ethersproject/address": "5.0.9", - "@ethersproject/base64": "5.0.7", - "@ethersproject/basex": "5.0.7", - "@ethersproject/bignumber": "5.0.13", - "@ethersproject/bytes": "5.0.9", - "@ethersproject/constants": "5.0.8", - "@ethersproject/contracts": "5.0.9", - "@ethersproject/hash": "5.0.10", - "@ethersproject/hdnode": "5.0.8", - "@ethersproject/json-wallets": "5.0.10", - "@ethersproject/keccak256": "5.0.7", - "@ethersproject/logger": "5.0.8", - "@ethersproject/networks": "5.0.7", - "@ethersproject/pbkdf2": "5.0.7", - "@ethersproject/properties": "5.0.7", - "@ethersproject/providers": "5.0.19", - "@ethersproject/random": "5.0.7", - "@ethersproject/rlp": "5.0.7", - "@ethersproject/sha2": "5.0.7", - "@ethersproject/signing-key": "5.0.8", - "@ethersproject/solidity": "5.0.8", - "@ethersproject/strings": "5.0.8", - "@ethersproject/transactions": "5.0.9", - "@ethersproject/units": "5.0.9", - "@ethersproject/wallet": "5.0.10", - "@ethersproject/web": "5.0.12", - "@ethersproject/wordlists": "5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abi": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.10.tgz", - "integrity": "sha512-cfC3lGgotfxX3SMri4+CisOPwignoj/QGHW9J29spC4R4Qqcnk/SYuVkPFBMdLbvBp3f/pGiVqPNwont0TSXhg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abstract-provider": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz", - "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abstract-signer": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.11.tgz", - "integrity": "sha512-RKOgPSEYafknA62SrD3OCK42AllHE4YBfKYXyQeM+sBP7Nq3X5FpzeoY4uzC43P4wIhmNoTHCKQuwnX7fBqb6Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/address": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz", - "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/base64": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz", - "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "node_modules/ethers/node_modules/@ethersproject/basex": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.7.tgz", - "integrity": "sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/bignumber": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz", - "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/bytes": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz", - "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/constants": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz", - "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "node_modules/ethers/node_modules/@ethersproject/contracts": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.9.tgz", - "integrity": "sha512-CCTxVeDh6sjdSEbjzONhtwPjECvaHE62oGkY8M7kP0CHmgLD2SEGel0HZib8e5oQKRKGly9AKcUFW4g3rQ0AQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.0.10", - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/hash": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz", - "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/hdnode": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.8.tgz", - "integrity": "sha512-Mscpjd7BBjxYSWghaNMwV0xrBBkOoCq6YEPRm9MgE24CiBlzzbfEB5DGq6hiZqhQaxPkdCUtKKqZi3nt9hx43g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/basex": "^5.0.7", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/pbkdf2": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/wordlists": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/json-wallets": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.10.tgz", - "integrity": "sha512-Ux36u+d7Dm0M5AQ+mWuHdvfGPMN8K1aaLQgwzrsD4ELTWlwRuHuQbmn7/GqeOpbfaV6POLwdYcBk2TXjlGp/IQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hdnode": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/pbkdf2": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/ethers/node_modules/@ethersproject/keccak256": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz", - "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/logger": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz", - "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A==", - "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/ethers/node_modules/@ethersproject/networks": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz", - "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/pbkdf2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.7.tgz", - "integrity": "sha512-0SNLNixPMqnosH6pyc4yPiUu/C9/Jbu+f6I8GJW9U2qNpMBddmRJviwseoha5Zw1V+Aw0Z/yvYyzIIE8yPXqLA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/sha2": "^5.0.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/properties": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz", - "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/providers": { - "version": "5.0.19", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.19.tgz", - "integrity": "sha512-G+flo1jK1y/rvQy6b71+Nu7qOlkOKz+XqpgqFMZslkCzGuzQRmk9Qp7Ln4soK8RSyP1e5TCujaRf1H+EZahoaw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/basex": "^5.0.7", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12", - "bech32": "1.1.4", - "ws": "7.2.3" - } - }, - "node_modules/ethers/node_modules/@ethersproject/random": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.7.tgz", - "integrity": "sha512-PxSRWwN3s+FH9AWMZU6AcWJsNQ9KzqKV6NgdeKPtxahdDjCuXxTAuzTZNXNRK+qj+Il351UnweAGd+VuZcOAlQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/rlp": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz", - "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/sha2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz", - "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "hash.js": "1.1.3" - } - }, - "node_modules/ethers/node_modules/@ethersproject/sha2/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/signing-key": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz", - "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "node_modules/ethers/node_modules/@ethersproject/solidity": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.8.tgz", - "integrity": "sha512-OJkyBq9KaoGsi8E8mYn6LX+vKyCURvxSp0yuGBcOqEFM3vkn9PsCiXsHdOXdNBvlHG5evJXwAYC2UR0TzgJeKA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/strings": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz", - "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/transactions": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz", - "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/units": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.9.tgz", - "integrity": "sha512-4jIkcMVrJ3lCgXMO4M/2ww0/T/IN08vJTZld7FIAwa6aoBDTAy71+sby3sShl1SG3HEeKYbI3fBWauCUgPRUpQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/wallet": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.10.tgz", - "integrity": "sha512-5siYr38NhqZKH6DUr6u4PdhgOKur8Q6sw+JID2TitEUmW0tOl8f6rpxAe77tw6SJT60D2UcvgsyLtl32+Nl+ig==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/hdnode": "^5.0.8", - "@ethersproject/json-wallets": "^5.0.10", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/wordlists": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/web": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz", - "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/@ethersproject/wordlists": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.8.tgz", - "integrity": "sha512-px2mloc1wAcdTbzv0ZotTx+Uh/dfnDO22D9Rx8xr7+/PUwAhZQjoJ9t7Hn72nsaN83rWBXsLvFcIRZju4GIaEQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/ethers/node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ethers/node_modules/ws": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", - "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", - "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_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==", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "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==" - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "engines": { - "node": ">=12.0.0" - } - }, - "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==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", - "dependencies": { - "@jest/expect-utils": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, - "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/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA==", - "dependencies": { - "checkpoint-store": "^1.1.0" - } - }, - "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==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "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.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "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==" - }, - "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==" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", - "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "node_modules/filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-replace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==", - "dependencies": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-replace/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dependencies": { - "micromatch": "^4.0.2" - } - }, - "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash." - }, - "node_modules/flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA==" - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/flush-write-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/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/flush-write-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/flush-write-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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": "*" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", - "dependencies": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "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==" - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/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/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/from2/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/from2/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/fs-extra/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs-write-stream-atomic/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/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/fs-write-stream-atomic/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/fs-write-stream-atomic/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", - "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", - "bundleDependencies": [ - "keccak" - ], - "deprecated": "ganache-core is now ganache; visit https://trfl.io/g7 for details", - "hasShrinkwrap": true, - "dependencies": { - "abstract-leveldown": "3.0.0", - "async": "2.6.2", - "bip39": "2.5.0", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.2.6", - "encoding-down": "5.0.4", - "eth-sig-util": "3.0.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-account": "3.0.0", - "ethereumjs-block": "2.2.2", - "ethereumjs-common": "1.5.0", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "6.2.1", - "ethereumjs-vm": "4.2.0", - "heap": "0.2.6", - "keccak": "3.0.1", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.20", - "lru-cache": "5.1.1", - "merkle-patricia-tree": "3.0.0", - "patch-package": "6.2.2", - "seedrandom": "3.0.1", - "source-map-support": "0.5.12", - "tmp": "0.1.0", - "web3-provider-engine": "14.2.1", - "websocket": "1.0.32" - }, - "engines": { - "node": ">=8.9.0" - }, - "optionalDependencies": { - "ethereumjs-wallet": "0.6.5", - "web3": "1.2.11" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abi": { - "version": "5.0.0-beta.153", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz", - "integrity": "sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==", - "optional": true, - "dependencies": { - "@ethersproject/address": ">=5.0.0-beta.128", - "@ethersproject/bignumber": ">=5.0.0-beta.130", - "@ethersproject/bytes": ">=5.0.0-beta.129", - "@ethersproject/constants": ">=5.0.0-beta.128", - "@ethersproject/hash": ">=5.0.0-beta.128", - "@ethersproject/keccak256": ">=5.0.0-beta.127", - "@ethersproject/logger": ">=5.0.0-beta.129", - "@ethersproject/properties": ">=5.0.0-beta.131", - "@ethersproject/strings": ">=5.0.0-beta.130" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abstract-provider": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz", - "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abstract-signer": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.10.tgz", - "integrity": "sha512-irx7kH7FDAeW7QChDPW19WsxqeB1d3XLyOLSXm0bfPqL1SS07LXWltBJUBUxqC03ORpAOcM3JQj57DU8JnVY2g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/address": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz", - "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/base64": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz", - "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/bignumber": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz", - "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/bytes": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz", - "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/constants": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz", - "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/hash": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz", - "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/keccak256": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz", - "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/logger": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz", - "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true - }, - "node_modules/ganache-core/node_modules/@ethersproject/networks": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz", - "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/properties": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz", - "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/rlp": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz", - "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/signing-key": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz", - "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/strings": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz", - "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/transactions": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz", - "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/web": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz", - "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "optional": true, - "dependencies": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@types/secp256k1": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz", - "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "node_modules/ganache-core/node_modules/abstract-leveldown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz", - "integrity": "sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", - "optional": true - }, - "node_modules/ganache-core/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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/ganache-core/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/ganache-core/node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "optional": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dependencies": { - "lodash": "^4.17.11" - } - }, - "node_modules/ganache-core/node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dependencies": { - "async": "^2.4.0" - } - }, - "node_modules/ganache-core/node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/ganache-core/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/ganache-core/node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/ganache-core/node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", - "dependencies": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", - "dependencies": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==" - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==" - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==" - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", - "dependencies": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", - "dependencies": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dependencies": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", - "dependencies": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", - "dependencies": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", - "dependencies": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", - "dependencies": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", - "dependencies": { - "regenerator-transform": "^0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dependencies": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "node_modules/ganache-core/node_modules/babel-preset-env/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", - "dependencies": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "node_modules/ganache-core/node_modules/babel-register/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/ganache-core/node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/ganache-core/node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/ganache-core/node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/ganache-core/node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babelify": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha512-vID8Fz6pPN5pJMdlUnNFSfrlcx5MUule4k9aKs/zbZPyXxMTcRrB0M4Tarw22L8afr8eYSWxDPYCob3TdrqtlA==", - "dependencies": { - "babel-core": "^6.0.14", - "object-assign": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "bin": { - "babylon": "bin/babylon.js" - } - }, - "node_modules/ganache-core/node_modules/backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" - }, - "node_modules/ganache-core/node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-core/node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "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/ganache-core/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==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/ganache-core/node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/ganache-core/node_modules/bip39": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.5.0.tgz", - "integrity": "sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA==", - "dependencies": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "node_modules/ganache-core/node_modules/blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha512-1TSf2Cf2KycDPzjJpzamYhr6PFSEgKWyoc4rQ/BarXJzp/jM0FC7yP1rLWtMOWT2EIJtjPv9fwpKquRNbRV7Lg==" - }, - "node_modules/ganache-core/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/ganache-core/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/ganache-core/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/ganache-core/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==", - "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" - } - }, - "node_modules/ganache-core/node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "optional": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "optional": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "optional": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/browserify-rsa/node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "optional": true - }, - "node_modules/ganache-core/node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "optional": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/ganache-core/node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "optional": true - }, - "node_modules/ganache-core/node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dependencies": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - }, - "bin": { - "browserslist": "cli.js" - } - }, - "node_modules/ganache-core/node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ganache-core/node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/ganache-core/node_modules/bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", - "dependencies": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "node_modules/ganache-core/node_modules/bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", - "dependencies": { - "typewise-core": "^1.2" - } - }, - "node_modules/ganache-core/node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cachedown/-/cachedown-1.0.0.tgz", - "integrity": "sha512-t+yVk82vQWCJF3PsWHMld+jhhjkkWjcAzz8NbFx1iULOXWl8Tm/FdM4smZNVw3MRr0X+lVTx9PKzvEn4Ng19RQ==", - "dependencies": { - "abstract-leveldown": "^2.4.1", - "lru-cache": "^3.2.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown/node_modules/lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha512-91gyOKTc2k66UG6kHiH4h3S2eltcPwE1STVfMYC/NG+nZwf8IIuiamfmpGZjpbbxzSyEJaLC0tNSmhjlQUTJow==", - "dependencies": { - "pseudomap": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/caniuse-lite": { - "version": "1.0.30001174", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001174.tgz", - "integrity": "sha512-tqClL/4ThQq6cfFXH3oJL4rifFBeM6gTkphjao5kgwMaW9yn0tKgQLAEfKzDwj6HQWCB/aWo8kTFlSvIN8geEA==" - }, - "node_modules/ganache-core/node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==", - "dependencies": { - "functional-red-black-tree": "^1.0.1" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-core/node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/ganache-core/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/ganache-core/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==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/ganache-core/node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/convert-source-map/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/ganache-core/node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, - "node_modules/ganache-core/node_modules/core-js-pure": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.2.tgz", - "integrity": "sha512-v6zfIQqL/pzTVAbZvYUozsxNfxcFb6Ks3ZfEbuneJl3FW9Jb8F6vLWB6f+qTmAu72msUdyb84V8d/yBFf7FNnw==", - "deprecated": "core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/ganache-core/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/ganache-core/node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "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/ganache-core/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==", - "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/ganache-core/node_modules/cross-fetch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", - "dependencies": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - } - }, - "node_modules/ganache-core/node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "optional": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/ganache-core/node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/deferred-leveldown/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ganache-core/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" - }, - "node_modules/ganache-core/node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ganache-core/node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ganache-core/node_modules/electron-to-chromium": { - "version": "1.3.636", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.636.tgz", - "integrity": "sha512-Adcvng33sd3gTjNIDNXGD1G4H6qCImIy2euUJAQHtLNplEKU5WEz5KRJxupRNIIT8sD5oFZLTKBWAf12Bsz24A==" - }, - "node_modules/ganache-core/node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/ganache-core/node_modules/encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "dependencies": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/encoding-down/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/ganache-core/node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/ganache-core/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/ganache-core/node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/ganache-core/node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", - "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", - "dependencies": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "optional": true, - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-infura": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", - "integrity": "sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw==", - "dependencies": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-middleware": "^1.5.0", - "json-rpc-engine": "^3.4.0", - "json-rpc-error": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", - "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", - "dependencies": { - "async": "^2.5.0", - "eth-query": "^2.1.2", - "eth-tx-summary": "^3.1.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.1.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^3.6.0", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "tape": "^4.6.3" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree/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/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/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/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/ganache-core/node_modules/eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", - "dependencies": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-3.0.0.tgz", - "integrity": "sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ==", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "buffer": "^5.2.1", - "elliptic": "^6.4.0", - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.0", - "tweetnacl-util": "^0.15.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz", - "integrity": "sha512-rCjJZ/AE96c/AAZc6O3kaog4FhOsAViaysBxqJNy2+LHP0ttH0zkZ7nXdVHOAyt6lFwLO0nlCwWszysG/ao1+g==", - "dependencies": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^4.3.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz", - "integrity": "sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w==", - "dependencies": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz", - "integrity": "sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==", - "dependencies": { - "async": "^2.1.2", - "clone": "^2.0.0", - "concat-stream": "^1.5.1", - "end-of-stream": "^1.1.0", - "eth-query": "^2.0.2", - "ethereumjs-block": "^1.4.1", - "ethereumjs-tx": "^1.1.1", - "ethereumjs-util": "^5.0.1", - "ethereumjs-vm": "^2.6.0", - "through2": "^2.0.3" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree/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/ganache-core/node_modules/eth-tx-summary/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/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/ganache-core/node_modules/eth-tx-summary/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/ganache-core/node_modules/ethashjs": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", - "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", - "deprecated": "New package name format for new versions: @ethereumjs/ethash. Please update.", - "dependencies": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/ethereumjs-util": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.7.tgz", - "integrity": "sha512-vU5rtZBlZsgkTw3o6PDKyB8li2EgLavnAbsKcfsH2YhHH1Le+PP8vEiMnAnvgc1B6uMoaM5GDCrVztBw0Q5K9g==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereum-bloom-filters": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", - "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", - "optional": true, - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ganache-core/node_modules/ethereum-bloom-filters/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==", - "optional": true - }, - "node_modules/ganache-core/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ==" - }, - "node_modules/ganache-core/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==", - "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" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "deprecated": "Please use Util.Account class found on package ethereumjs-util@^7.0.6 https://github.com/ethereumjs/ethereumjs-util/releases/tag/v7.0.6", - "dependencies": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree/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/ganache-core/node_modules/ethereumjs-block/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/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/ganache-core/node_modules/ethereumjs-block/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-blockchain": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", - "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", - "deprecated": "New package name format for new versions: @ethereumjs/blockchain. Please update.", - "dependencies": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-common": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", - "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." - }, - "node_modules/ganache-core/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz", - "integrity": "sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/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/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/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/ganache-core/node_modules/ethereumjs-vm/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-wallet": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz", - "integrity": "sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA==", - "optional": true, - "dependencies": { - "aes-js": "^3.1.1", - "bs58check": "^2.1.2", - "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^6.0.0", - "randombytes": "^2.0.6", - "safe-buffer": "^5.1.2", - "scryptsy": "^1.2.1", - "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "node_modules/ganache-core/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==", - "optional": true, - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/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==", - "optional": true - }, - "node_modules/ganache-core/node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "optional": true - }, - "node_modules/ganache-core/node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/ganache-core/node_modules/ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/ext/node_modules/type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - }, - "node_modules/ganache-core/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/ganache-core/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/ganache-core/node_modules/fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA==", - "dependencies": { - "checkpoint-store": "^1.1.0" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g==", - "dependencies": { - "node-fetch": "~1.7.1" - } - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", - "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", - "dependencies": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA==" - }, - "node_modules/ganache-core/node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/ganache-core/node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/ganache-core/node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/ganache-core/node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/ganache-core/node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/ganache-core/node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "node_modules/ganache-core/node_modules/get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "node_modules/ganache-core/node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ganache-core/node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha512-MzzWcnfB1e4EG2vHi3dXHoBupmuXNZzx6pY6HldVS55JKKBoq3xOyzfSaZRkJp37HIhEYC78knabHff3zc4dQQ==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/ganache-core/node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "optional": true, - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/ganache-core/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/ganache-core/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/ganache-core/node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ganache-core/node_modules/is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/ganache-core/node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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/ganache-core/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/ganache-core/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/ganache-core/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "optional": true - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/ganache-core/node_modules/json-rpc-engine": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", - "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", - "dependencies": { - "async": "^2.0.1", - "babel-preset-env": "^1.7.0", - "babelify": "^7.3.0", - "json-rpc-error": "^2.0.0", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/json-rpc-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", - "integrity": "sha512-EwUeWP+KgAZ/xqFpaP6YDAXMtCJi+o/QQpCQFIYyxr01AdADi2y413eM8hSqJcoQym9WMePAJWoaODEJufC4Ug==", - "dependencies": { - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" - }, - "node_modules/ganache-core/node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/ganache-core/node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/ganache-core/node_modules/keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/ganache-core/node_modules/level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-iterator-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz", - "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "dependencies": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/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/ganache-core/node_modules/level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "dependencies": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-post": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz", - "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==", - "dependencies": { - "ltgt": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/level-sublevel": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.4.tgz", - "integrity": "sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA==", - "dependencies": { - "bytewise": "~1.1.0", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "level-iterator-stream": "^2.0.3", - "ltgt": "~2.1.1", - "pull-defer": "^0.2.2", - "pull-level": "^2.0.3", - "pull-stream": "^3.6.8", - "typewiselite": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/level-ws": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", - "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "dependencies": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup/node_modules/level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "node_modules/ganache-core/node_modules/looper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz", - "integrity": "sha512-6DzMHJcjbQX/UPHc1rRCBfKlLwDkvuGZ715cIR36wSdYqWXFT35uLXq5P/2orl3tz+t+VOVPxw4yPinQlUDGDQ==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/ltgt": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz", - "integrity": "sha512-5VjHC5GsENtIi5rbJd+feEpDKhfr7j0odoUR2Uh978g+2p93nd5o34cTjQWohXsPsCZeqoDnIqEf88mPCe0Pfw==" - }, - "node_modules/ganache-core/node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", - "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", - "dependencies": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/ganache-core/node_modules/mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dependencies": { - "mime-db": "1.45.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/ganache-core/node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg==" - }, - "node_modules/ganache-core/node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/ganache-core/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==", - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha512-IHLHYskTc2arMYsHZH82PVX8CSKT5lzb7AXeyO06QnjGDKtkv+pv3mEki6S7reB/x1QPo+YPxQRNEVgR5V/w3Q==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/ganache-core/node_modules/node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", - "inBundle": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/ganache-core/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==", - "optional": true, - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/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==", - "optional": true - }, - "node_modules/ganache-core/node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ganache-core/node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/oboe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", - "integrity": "sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==", - "optional": true, - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/ganache-core/node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "optional": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.2.2.tgz", - "integrity": "sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg==", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^1.2.1", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "npm": ">5" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/ganache-core/node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/ganache-core/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/ganache-core/node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/promise-to-callback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA==", - "dependencies": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "node_modules/ganache-core/node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "node_modules/ganache-core/node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/ganache-core/node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/pull-cat": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz", - "integrity": "sha512-i3w+xZ3DCtTVz8S62hBOuNLRHqVDsHMNZmgrZsjPnsxXUgbWtXEee84lo1XswE7W2a3WHyqsNuDJTjVLAQR8xg==" - }, - "node_modules/ganache-core/node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/ganache-core/node_modules/pull-level": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz", - "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==", - "dependencies": { - "level-post": "^1.0.7", - "pull-cat": "^1.1.9", - "pull-live": "^1.0.1", - "pull-pushable": "^2.0.0", - "pull-stream": "^3.4.0", - "pull-window": "^2.1.4", - "stream-to-pull-stream": "^1.7.1" - } - }, - "node_modules/ganache-core/node_modules/pull-live": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz", - "integrity": "sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA==", - "dependencies": { - "pull-cat": "^1.1.9", - "pull-stream": "^3.4.0" - } - }, - "node_modules/ganache-core/node_modules/pull-pushable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", - "integrity": "sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg==" - }, - "node_modules/ganache-core/node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/ganache-core/node_modules/pull-window": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz", - "integrity": "sha512-cbDzN76BMlcGG46OImrgpkMf/VkCnupj8JhsrpBw3aWBM9ye345aYnqitmZCgauBkc0HbbRRn9hCnsa3k2FNUg==", - "dependencies": { - "looper": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ganache-core/node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/ganache-core/node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "optional": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/ganache-core/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/ganache-core/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/ganache-core/node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/ganache-core/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/ganache-core/node_modules/regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dependencies": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "node_modules/ganache-core/node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", - "dependencies": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "node_modules/ganache-core/node_modules/regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==" - }, - "node_modules/ganache-core/node_modules/regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/ganache-core/node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/ganache-core/node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/ganache-core/node_modules/resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha512-Fn9X8rX8yYF4m81rZCK/5VmrmsSbqS/i3rDLl6ZZHAXgC2nTAx3dhwG8q8odP/RmdLa2YrybDJaAMg+X1ajY3w==", - "dependencies": { - "through": "~2.3.4" - } - }, - "node_modules/ganache-core/node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/ganache-core/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/ganache-core/node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "node_modules/ganache-core/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==", - "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/ganache-core/node_modules/safe-event-emitter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", - "deprecated": "Renamed to @metamask/safe-event-emitter", - "dependencies": { - "events": "^3.0.0" - } - }, - "node_modules/ganache-core/node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/ganache-core/node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/ganache-core/node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/ganache-core/node_modules/scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw==", - "optional": true, - "dependencies": { - "pbkdf2": "^3.0.3" - } - }, - "node_modules/ganache-core/node_modules/secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/node_modules/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg==" - }, - "node_modules/ganache-core/node_modules/semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/ganache-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, - "node_modules/ganache-core/node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/ganache-core/node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream/node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/ganache-core/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ganache-core/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/ganache-core/node_modules/string.prototype.trim": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz", - "integrity": "sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "dependencies": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "bin": { - "tape": "bin/tape" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/ganache-core/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/ganache-core/node_modules/tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/ganache-core/node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/ganache-core/node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "node_modules/ganache-core/node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", - "dependencies": { - "typewise-core": "^1.2.0" - } - }, - "node_modules/ganache-core/node_modules/typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" - }, - "node_modules/ganache-core/node_modules/typewiselite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz", - "integrity": "sha512-J9alhjVHupW3Wfz6qFRGgQw0N3gr8hOkw6zm7FZ6UR1Cse/oD9/JVok7DNE9TT9IbciDHX2Ex9+ksE6cRmtymw==" - }, - "node_modules/ganache-core/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "optional": true - }, - "node_modules/ganache-core/node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/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==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/ganache-core/node_modules/unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ganache-core/node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/ganache-core/node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/utf-8-validate": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", - "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/ganache-core/node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "optional": true - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/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==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/ganache-core/node_modules/web3": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.11.tgz", - "integrity": "sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "web3-bzz": "1.2.11", - "web3-core": "1.2.11", - "web3-eth": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-shh": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.11.tgz", - "integrity": "sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==", - "optional": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz/node_modules/@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-core": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.11.tgz", - "integrity": "sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ==", - "optional": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-requestmanager": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-helpers": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.11.tgz", - "integrity": "sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-method": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.11.tgz", - "integrity": "sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw==", - "optional": true, - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-promievent": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.11.tgz", - "integrity": "sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA==", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-requestmanager": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.11.tgz", - "integrity": "sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-providers-http": "1.2.11", - "web3-providers-ipc": "1.2.11", - "web3-providers-ws": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-subscriptions": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.11.tgz", - "integrity": "sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg==", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core/node_modules/@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.11.tgz", - "integrity": "sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-accounts": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-eth-ens": "1.2.11", - "web3-eth-iban": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.11.tgz", - "integrity": "sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg==", - "optional": true, - "dependencies": { - "@ethersproject/abi": "5.0.0-beta.153", - "underscore": "1.9.1", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.11.tgz", - "integrity": "sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw==", - "optional": true, - "dependencies": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-contract": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.11.tgz", - "integrity": "sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow==", - "optional": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-ens": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.11.tgz", - "integrity": "sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA==", - "optional": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-iban": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.11.tgz", - "integrity": "sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ==", - "optional": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.11.tgz", - "integrity": "sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw==", - "optional": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-net": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.11.tgz", - "integrity": "sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg==", - "optional": true, - "dependencies": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-14.2.1.tgz", - "integrity": "sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0", - "integrity": "sha512-qs8G5KwnIO/thOQjv1RvR/4oiTsy6IaCsN+ory5dbiqFXz8sd239aWJH0wmsVNPimL5X1KzQheUpi6xAo6FU4w==", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree/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/ganache-core/node_modules/web3-provider-engine/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/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/ganache-core/node_modules/web3-provider-engine/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-http": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.11.tgz", - "integrity": "sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA==", - "optional": true, - "dependencies": { - "web3-core-helpers": "1.2.11", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ipc": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.11.tgz", - "integrity": "sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ==", - "optional": true, - "dependencies": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ws": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.11.tgz", - "integrity": "sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg==", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "websocket": "^1.0.31" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-shh": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.11.tgz", - "integrity": "sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg==", - "optional": true, - "dependencies": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-net": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.11.tgz", - "integrity": "sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ==", - "optional": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/websocket": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.32.tgz", - "integrity": "sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/ganache-core/node_modules/whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, - "node_modules/ganache-core/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==" - }, - "node_modules/ganache-core/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "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/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "devOptional": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "engines": { - "node": ">=4.x" - } - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "optional": true - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gzip-size/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hardhat": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.0.8.tgz", - "integrity": "sha512-2tDAtOfshrBzP103dx7PQrhTwv2sqjhQStZAPwkkQTic25o2EH6HYE2++LuOG98YwqSjr0WvhvdBvKl3dCSkYA==", - "dependencies": { - "@nomiclabs/ethereumjs-vm": "^4.1.1", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.11.0", - "@types/bn.js": "^4.11.5", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "eth-sig-util": "^2.5.2", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.0", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^6.1.0", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^3.0.0", - "mocha": "^7.1.2", - "node-fetch": "^2.6.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "uuid": "^3.3.2", - "ws": "^7.2.1" - }, - "bin": { - "hardhat": "internal/cli/cli.js" - }, - "engines": { - "node": ">=8.2.0" - } - }, - "node_modules/hardhat/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/hardhat/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/hardhat/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/hardhat/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==" - }, - "node_modules/hardhat/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/hardhat/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==" - }, - "node_modules/hardhat/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/hardhat/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/hardhat/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/hardhat/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/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==" - }, - "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==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/hardhat/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hardhat/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hardhat/node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hardhat/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/hardhat/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/hardhat/node_modules/solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/hardhat/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "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==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/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/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/hpack.js/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/hpack.js/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", - "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/html-webpack-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/htmlparser2/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/htmlparser2/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/htmlparser2/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "devOptional": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", - "devOptional": true - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "devOptional": true, - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" - }, - "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==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "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==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true - }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "node_modules/immer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", - "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" - }, - "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", - "dependencies": { - "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dependencies": { - "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/import-local/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "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==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "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/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "fp-ts": "^1.0.0" - } - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/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==" - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.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==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" - }, - "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==", - "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-installed-globally/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true, - "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==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "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/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", - "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", - "dependencies": { - "@jest/core": "^26.6.0", - "import-local": "^3.0.2", - "jest-cli": "^26.6.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-changed-files/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-changed-files/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-changed-files/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-changed-files/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==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/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==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/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==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-circus": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz", - "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==", - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.0", - "@jest/test-result": "^26.6.0", - "@jest/types": "^26.6.0", - "@types/babel__traverse": "^7.0.4", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^26.6.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.0", - "jest-matcher-utils": "^26.6.0", - "jest-message-util": "^26.6.0", - "jest-runner": "^26.6.0", - "jest-runtime": "^26.6.0", - "jest-snapshot": "^26.6.0", - "jest-util": "^26.6.0", - "pretty-format": "^26.6.0", - "stack-utils": "^2.0.2", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-circus/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-config/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-config/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-config/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-config/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/jest-config/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-config/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-config/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-each/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-each/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-jsdom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-environment-jsdom/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-node/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-node/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-environment-node/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-haste-map/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-haste-map/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-haste-map/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-jasmine2/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-leak-detector/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-leak-detector/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-leak-detector/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-leak-detector/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-leak-detector/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-mock/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-mock/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", - "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", - "dependencies": { - "@jest/types": "^26.6.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.0", - "read-pkg-up": "^7.0.1", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-resolve/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-resolve/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-resolve/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-resolve/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/jest-resolve/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-runner/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runner/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-runner/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/jest-runner/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-runner/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runner/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runtime/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-runtime/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest-runtime/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/jest-runtime/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/jest-runtime/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-runtime/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/jest-runtime/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-runtime/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==" - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==" - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-serializer/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-snapshot/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-snapshot/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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/jest-snapshot/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-snapshot/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-snapshot/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", - "dependencies": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-validate/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jest-watch-typeahead": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz", - "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^26.0.0", - "jest-watcher": "^26.3.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-watch-typeahead/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-watcher/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest-watcher/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-watcher/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/jest/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest/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/jest/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/jest/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==" - }, - "node_modules/jest/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/jest/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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==" - }, - "node_modules/jest/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==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/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==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" - }, - "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==" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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==" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/jss": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", - "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/jss" - } - }, - "node_modules/jss-plugin-camel-case": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", - "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.9.2" - } - }, - "node_modules/jss-plugin-default-unit": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", - "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "node_modules/jss-plugin-global": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", - "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "node_modules/jss-plugin-nested": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", - "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-props-sort": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", - "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "node_modules/jss-plugin-rule-value-function": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", - "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-vendor-prefixer": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", - "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.9.2" - } - }, - "node_modules/jss/node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/level-iterator-stream/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/level-iterator-stream/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/level-iterator-stream/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "dependencies": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-mem/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-mem/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" - }, - "node_modules/level-mem/node_modules/memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-mem/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/level-mem/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "dependencies": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/node_modules/deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/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/level-packager/node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/node_modules/level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/node_modules/levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "dependencies": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/level-packager/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/level-packager/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/level-packager/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/level-ws/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/level-ws/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/levelup/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/levelup/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "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==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==" - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.3.tgz", - "integrity": "sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "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==" - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/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==" - }, - "node_modules/log-symbols/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "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==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==" - }, - "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==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/memdown/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/memdown/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/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/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/memory-fs/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/memory-fs/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "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==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/merkle-patricia-tree": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", - "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", - "dependencies": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/merkle-patricia-tree/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/merkle-patricia-tree/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/merkle-patricia-tree/node_modules/level-ws": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", - "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/merkle-patricia-tree/node_modules/level-ws/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/merkle-patricia-tree/node_modules/level-ws/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/merkle-patricia-tree/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merkle-patricia-tree/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/merkle-patricia-tree/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">= 0.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==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", - "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==", - "dependencies": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "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==" - }, - "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==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", - "devOptional": true, - "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.1" - } - }, - "node_modules/mocha/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/mocha/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/mocha/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==" - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/mocha/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/mocha/node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mocha/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dependencies": { - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mocha/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==" - }, - "node_modules/mocha/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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==" - }, - "node_modules/mocha/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "devOptional": true - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "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==" - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "devOptional": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "devOptional": true, - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "devOptional": true, - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "devOptional": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "optional": true - }, - "node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", - "devOptional": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "dependencies": { - "querystring": "^0.2.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "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==" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "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==" - }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/node-libs-browser/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/node-libs-browser/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/node-libs-browser/node_modules/readable-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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/node-libs-browser/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/node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, - "node_modules/node-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/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==", - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/node-notifier/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "node_modules/nodemon": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.13.tgz", - "integrity": "sha512-UMXMpsZsv1UXUttCn6gv8eQPhn6DR4BW+txnL3IN5IHqrCwcrT/yWHfL35UsClGXknTH79r5xbu+6J1zNHuSyA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.3", - "update-notifier": "^5.1.0" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", - "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "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==" - }, - "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", - "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", - "dependencies": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dev": true, - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", - "dependencies": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "engines": { - "node": ">=4" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parallel-transform/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/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/parallel-transform/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/parallel-transform/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/param-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "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==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" - }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/patch-package": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.5.0.tgz", - "integrity": "sha512-tC3EqJmo74yKqfsMzELaFwxOAu6FH6t+FzFOsnWAuARm7/n2xB5AOeOueE221eM9gtMuIKMKpF9tBy/X2mNP0Q==", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^4.1.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.6", - "open": "^7.4.2", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33", - "yaml": "^1.10.2" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "node": ">=10", - "npm": ">5" - } - }, - "node_modules/patch-package/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/patch-package/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==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/patch-package/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/patch-package/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/patch-package/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" - }, - "node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" - } - }, - "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==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "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/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" - }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz", - "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==", - "dependencies": { - "postcss": "^7" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "browserslist": "^4" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-colormin/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", - "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", - "dependencies": { - "postcss": "^7.0.26" - } - }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-load-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-load-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-load-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-load-config/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/postcss-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-normalize": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", - "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==", - "dependencies": { - "@csstools/normalize.css": "^10.1.0", - "browserslist": "^4.6.2", - "postcss": "^7.0.17", - "postcss-browser-comments": "^3.0.0", - "sanitize.css": "^10.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-safe-parser": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz", - "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", - "dependencies": { - "postcss": "^8.1.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-svgo/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "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==" - }, - "node_modules/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/postinstall-postinstall": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", - "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", - "hasInstallScript": true - }, - "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==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "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==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "node_modules/pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", - "dependencies": { - "@jest/schemas": "^29.0.0", - "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", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "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==", - "engines": { - "node": ">= 0.6.0" - } - }, - "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==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - }, - "node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "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==", - "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/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "devOptional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-app-polyfill": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz", - "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==", - "dependencies": { - "core-js": "^3.6.5", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.7", - "whatwg-fetch": "^3.4.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-app-rewire-alias": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/react-app-rewire-alias/-/react-app-rewire-alias-1.1.3.tgz", - "integrity": "sha512-pwpUqZacGBpZ0oOOPJ3DGiMOvui3nP2bUDVSTo9cfoYG4p68PhABTk9lUtLzZFAPnPbGaA2uwAzyzFQHqN8Ztg==", - "dev": true, - "peerDependencies": { - "react-app-rewired": "1 || ^2" - } - }, - "node_modules/react-app-rewired": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.1.8.tgz", - "integrity": "sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q==", - "dev": true, - "dependencies": { - "semver": "^5.6.0" - }, - "bin": { - "react-app-rewired": "bin/index.js" - }, - "peerDependencies": { - "react-scripts": ">=2.1.3" - } - }, - "node_modules/react-dev-utils": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", - "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", - "dependencies": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "8.0.1", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.9", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-dev-utils/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "dependencies": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "node-releases": "^1.1.61" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/chalk/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/react-dev-utils/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==" - }, - "node_modules/react-dev-utils/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/node-releases": { - "version": "1.1.77", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-refresh": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", - "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-scripts": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz", - "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==", - "dependencies": { - "@babel/core": "7.12.3", - "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", - "@svgr/webpack": "5.5.0", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "babel-eslint": "^10.1.0", - "babel-jest": "^26.6.0", - "babel-loader": "8.1.0", - "babel-plugin-named-asset-import": "^0.3.7", - "babel-preset-react-app": "^10.0.0", - "bfj": "^7.0.2", - "camelcase": "^6.1.0", - "case-sensitive-paths-webpack-plugin": "2.3.0", - "css-loader": "4.3.0", - "dotenv": "8.2.0", - "dotenv-expand": "5.1.0", - "eslint": "^7.11.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^24.1.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-testing-library": "^3.9.2", - "eslint-webpack-plugin": "^2.5.2", - "file-loader": "6.1.1", - "fs-extra": "^9.0.1", - "html-webpack-plugin": "4.5.0", - "identity-obj-proxy": "3.0.0", - "jest": "26.6.0", - "jest-circus": "26.6.0", - "jest-resolve": "26.6.0", - "jest-watch-typeahead": "0.6.1", - "mini-css-extract-plugin": "0.11.3", - "optimize-css-assets-webpack-plugin": "5.0.4", - "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "4.2.1", - "postcss-loader": "3.0.0", - "postcss-normalize": "8.0.1", - "postcss-preset-env": "6.7.0", - "postcss-safe-parser": "5.0.2", - "prompts": "2.4.0", - "react-app-polyfill": "^2.0.0", - "react-dev-utils": "^11.0.3", - "react-refresh": "^0.8.3", - "resolve": "1.18.1", - "resolve-url-loader": "^3.1.2", - "sass-loader": "^10.0.5", - "semver": "7.3.2", - "style-loader": "1.3.0", - "terser-webpack-plugin": "4.2.3", - "ts-pnp": "1.2.0", - "url-loader": "4.1.1", - "webpack": "4.44.2", - "webpack-dev-server": "3.11.1", - "webpack-manifest-plugin": "2.2.0", - "workbox-webpack-plugin": "5.1.4" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.1.3" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-scripts/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-scripts/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==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-scripts/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/react-scripts/node_modules/resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dependencies": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/react-scripts/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-scripts/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/recursive-readdir/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "dev": true, - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" - }, - "node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "devOptional": true - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/resolve-url-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", - "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", - "dependencies": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.36", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/resolve-url-loader/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/resolve-url-loader/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/chalk/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/resolve-url-loader/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==" - }, - "node_modules/resolve-url-loader/node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/resolve-url-loader/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve-url-loader/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/resolve-url-loader/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/resolve-url-loader/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "devOptional": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha512-eEjL8FdkdsxApd0yWVZgBGzfCQiT8yqSc2H1p4jpZpQdtz7ohETiDMoje5PlM8I9WgkqkreVxFUKYOiJdVWDXw==", - "dependencies": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - } - }, - "node_modules/rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha512-W6V2fix7nCLUYX1v6eGPrBOZlc03/faqzP4sUxMAJMBMOPYhfV/RyLegTufn5gJKaOITyi+gvf0LXDZ9NzkHnQ==" - }, - "node_modules/rework/node_modules/convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg==" - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "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==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "dependencies": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - }, - "bin": { - "rollup": "dist/bin/rollup" - } - }, - "node_modules/rollup-plugin-babel": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", - "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "rollup-pluginutils": "^2.8.1" - }, - "peerDependencies": { - "@babel/core": "7 || ^7.0.0-rc.2", - "rollup": ">=0.60.0 <3" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "dependencies": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" - }, - "peerDependencies": { - "rollup": ">=0.66.0 <3" - } - }, - "node_modules/rollup-plugin-terser/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dependencies": { - "estree-walker": "^0.6.1" - } - }, - "node_modules/rollup-pluginutils/node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - }, - "node_modules/rollup/node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" - } - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "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==", - "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/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sanitize.css": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", - "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" - }, - "node_modules/sass-loader": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.3.1.tgz", - "integrity": "sha512-y2aBdtYkbqorVavkC3fcJIUDGIegzDWPn3/LAFhsf3G+MzPKTJx37sROf5pXtUeggSVbNbmfj8TgRaSLMelXRA==", - "dependencies": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "webpack": "^4.36.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/sass-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sass-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/sass-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sass-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "devOptional": true, - "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "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==" - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "devOptional": 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/simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "devOptional": true, - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "dependencies": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" - } - }, - "node_modules/sockjs/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==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dependencies": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - }, - "bin": { - "solcjs": "solcjs" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "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==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy-transport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/spdy/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.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==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/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/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/stream-browserify/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/stream-browserify/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/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/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/stream-http/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/stream-http/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-http/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stringify-object/node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "dependencies": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/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==" - }, - "node_modules/svgo/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swarm-js": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", - "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", - "devOptional": true, - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^11.8.5", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/swarm-js/node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "devOptional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/swarm-js/node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "devOptional": true, - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/swarm-js/node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "devOptional": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/swarm-js/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "devOptional": true - }, - "node_modules/swarm-js/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "devOptional": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/swarm-js/node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "devOptional": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/swarm-js/node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "devOptional": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/swarm-js/node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "devOptional": true, - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/swarm-js/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==", - "devOptional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/swarm-js/node_modules/got": { - "version": "11.8.5", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", - "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", - "devOptional": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/swarm-js/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "devOptional": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/swarm-js/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/swarm-js/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "devOptional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/swarm-js/node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "devOptional": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/swarm-js/node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "devOptional": true, - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/swarm-js/node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "devOptional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/swarm-js/node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "devOptional": true, - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/swarm-js/node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "devOptional": true, - "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/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/table/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==", - "engines": { - "node": ">=8" - } - }, - "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==" - }, - "node_modules/table/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/table/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/tempy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", - "dependencies": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "dependencies": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/terser-webpack-plugin/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin/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==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-locate/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", - "dependencies": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-value/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on." - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/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/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/through2/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/through2/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/through2/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" - }, - "node_modules/ts-generator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", - "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "dependencies": { - "@types/mkdirp": "^0.5.2", - "@types/prettier": "^2.1.1", - "@types/resolve": "^0.0.8", - "chalk": "^2.4.1", - "glob": "^7.1.2", - "mkdirp": "^0.5.1", - "prettier": "^2.1.2", - "resolve": "^1.8.1", - "ts-essentials": "^1.0.0" - }, - "bin": { - "ts-generator": "dist/cli/run.js" - } - }, - "node_modules/ts-generator/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ts-generator/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==" - }, - "node_modules/ts-generator/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", - "devOptional": true, - "dependencies": { - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=12.0.0" - }, - "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-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" - } - }, - "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/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" - }, - "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==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "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==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typechain": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", - "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "dependencies": { - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "ts-essentials": "^6.0.3", - "ts-generator": "^0.1.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - } - }, - "node_modules/typechain/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/typechain/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==" - }, - "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==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/typechain/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/typechain/node_modules/ts-essentials": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", - "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, - "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==" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", - "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "devOptional": true - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", - "dependencies": { - "crypto-random-string": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/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/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/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, - "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/update-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "devOptional": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-parse-lax/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", - "devOptional": true - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "devOptional": true, - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "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==" - }, - "node_modules/util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "devOptional": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "optional": true - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "optional": true - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": 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/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/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==", - "optional": true - }, - "node_modules/watchpack-chokidar2/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==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-vitals": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-1.0.1.tgz", - "integrity": "sha512-io/H/D18edTL1D2lcaUTLNLFEVZIPhNd4IdXDB9bEb+uDv2m/6NfyHiXKLFjbmI1ubeYpoQpR1gl9nlcWdI0vA==" - }, - "node_modules/web3": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.4.0.tgz", - "integrity": "sha512-faT3pIX+1tuo+wqmUFQPe10MUGaB1UvRYxw9dmVJFLxaRAIfXErSilOf3jFhSwKbbPNkwG0bTiudCLN9JgeS7A==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.4.0", - "web3-core": "1.4.0", - "web3-eth": "1.4.0", - "web3-eth-personal": "1.4.0", - "web3-net": "1.4.0", - "web3-shh": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.4.0.tgz", - "integrity": "sha512-KhXmz8hcfGsqhplB7NrekAeNkG2edHjXV4bL3vnXde8RGMWpabpSNxuwiGv+dv/3nWlrHatH0vGooONYCkP5TA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.12.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.4.0.tgz", - "integrity": "sha512-VRNMNqwzvPeKIet2l9BMApPHoUv0UqwaZH0lZJhG2RBko42w9Xls+pQwfVNSV16j04t/ehm1aLRV2Sx6lzVfRg==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-requestmanager": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.4.0.tgz", - "integrity": "sha512-8Ebq0nmRfzw7iPoXbIRHEWOuPh+1cOV3OOEvKm5Od3McZOjja914vdk+DM3MgmbSpDzYJRFM6KoF0+Z/U/1bPw==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "web3-eth-iban": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core-helpers/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core-helpers/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.4.0.tgz", - "integrity": "sha512-KW9922fEkgKu8zDcJR8Iikg/epsuWMArAUVTipKVwzAI5TVdvOMRgSe/b7IIDRUIeoeXMARmJ+PrAlx+IU2acQ==", - "dev": true, - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core-method/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core-method/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.4.0.tgz", - "integrity": "sha512-YEwko22kcry7lHwbe0k80BrjXCZ+73jMdvZtptRH5k2B+XZ1XtmXwYL1PFIlZy9V0zgZijdg+3GabCnAHjVXAw==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-core-requestmanager": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.4.0.tgz", - "integrity": "sha512-qIwKJO5T0KkUAIL7y9JRSUkk3+LaCwghdUHK8FzbMvq6R1W9lgCBnccqFGEI76EJjHvsiw4kEKBEXowdB3xenQ==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "util": "^0.12.0", - "web3-core-helpers": "1.4.0", - "web3-providers-http": "1.4.0", - "web3-providers-ipc": "1.4.0", - "web3-providers-ws": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-requestmanager/node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.4.0.tgz", - "integrity": "sha512-/UMC9rSLEd0U+h6Qanx6CM29o/cfUyGWgl/HM6O/AIuth9G+34QBuKDa11Gr2Qg6F8Lr9tSFm8QIGVniOx9i5A==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-core/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-core/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.4.0.tgz", - "integrity": "sha512-L990eMJeWh4h/Z3M8MJb9HrKq8tqvzdGZ7igdzd6Ba3B/VKgGFAJ/4XIqtLwAJ1Wg5Cj8my60tYY+34c2cLefw==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-eth-accounts": "1.4.0", - "web3-eth-contract": "1.4.0", - "web3-eth-ens": "1.4.0", - "web3-eth-iban": "1.4.0", - "web3-eth-personal": "1.4.0", - "web3-net": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.4.0.tgz", - "integrity": "sha512-FtmWipG/dSSkTGFb72JCwky7Jd0PIvd0kGTInWQwIEZlw5qMOYl61WZ9gwfojFHvHF6q1eKncerQr+MRXHO6zg==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/web3-eth-abi/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-abi/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-abi/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.4.0.tgz", - "integrity": "sha512-tETHBvfO3Z7BXZ7HJIwuX7ol6lPefP55X7b4IiX82C1PujHwsxENY7c/3wyxzqKoDyH6zfyEQo17yhxkhsM1oA==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "underscore": "1.12.1", - "uuid": "3.3.2", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3-eth-accounts/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.4.0.tgz", - "integrity": "sha512-GfIhOzfp/ZXKd+1tFEH3ePq0DEsvq9XO5tOsI0REDtEYUj2GNxO5e/x/Fhekk7iLZ7xAqSzDMweFruDQ1fxn0A==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-eth-contract/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-contract/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-contract/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.4.0.tgz", - "integrity": "sha512-jR1KorjU1erpYFpFzsMXAWZnHhqUqWPBq/4+BGVj7/pJ43+A3mrE1eB0zl91Dwc1RTNwOhB02iOj1c9OlpGr3g==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-eth-contract": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-ens/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-ens/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.4.0.tgz", - "integrity": "sha512-YNx748VzwiBe0gvtZjvU9BQsooZ9s9sAlmiDWJOMcvMbUTDhC7SvxA7vV/vrnOxL6oGHRh0U/azsYNxxlKiTBw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-iban/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-iban/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.4.0.tgz", - "integrity": "sha512-8Ip6xZ8plmWqAD4ESbKUIPVV9gfTAFFm0ff1FQIw9I9kYvFlBIPzukvm852w2SftGem+/iRH+2+2mK7HvuKXZQ==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-net": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-eth-personal/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-personal/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-personal/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.4.0.tgz", - "integrity": "sha512-41WkKobL+KnKC0CY0RZ1KhMMyR/hMFGlbHZQac4KtB7ro1UdXeK+RiYX+GzSr1h7j9Dj+dQZqyBs70cxmL9cPQ==", - "dev": true, - "dependencies": { - "web3-core": "1.4.0", - "web3-core-method": "1.4.0", - "web3-utils": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-net/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-net/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.4.0.tgz", - "integrity": "sha512-A9nLF4XGZfDb1KYYuKRwHY1H90Ee/0I0CqQQEELI0yuY9eca50qdCHEg3sJhvqBIG44JCm83amOGxR8wi+76tQ==", - "dev": true, - "dependencies": { - "web3-core-helpers": "1.4.0", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.4.0.tgz", - "integrity": "sha512-ul/tSNUI5anhdBGBV+FWFH9EJgO73/G21haFDEXvTnSJQa9/byj401H/E2Xd8BXGk+2XB+CCGLZBiuAjhhhtTA==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.4.0.tgz", - "integrity": "sha512-E5XfF58RLXuCtGiMSXxXEtjceCfPli+I4MDYCKx/J/bDJ6qvLUM2OnnGEmE7pq1Z03h0xh1ZezaB/qoweK3ZIQ==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-shh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.4.0.tgz", - "integrity": "sha512-OZMkMgo+VZnu1ErhIFXW+5ExnPKQg9v8/2DHGVtNEwuC5OHYuAEF5U7MQgbxYJYwbRmxQCt/hA3VwKjnkbmSAA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-net": "1.4.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz", - "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==", - "dependencies": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3/node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/webpack-dev-server/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==" - }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/webpack-dev-server/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/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/webpack-dev-server/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/webpack-dev-server/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/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==" - }, - "node_modules/webpack-dev-server/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/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/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/webpack-dev-server/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-dev-server/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==" - }, - "node_modules/webpack-dev-server/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-manifest-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", - "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", - "dependencies": { - "fs-extra": "^7.0.0", - "lodash": ">=3.5 <5", - "object.entries": "^1.1.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "2 || 3 || 4" - } - }, - "node_modules/webpack-manifest-plugin/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==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/webpack/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/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==" - }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "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, - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/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==", - "dev": true - }, - "node_modules/widest-line/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-background-sync": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz", - "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz", - "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-build": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz", - "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==", - "dependencies": { - "@babel/core": "^7.8.4", - "@babel/preset-env": "^7.8.4", - "@babel/runtime": "^7.8.4", - "@hapi/joi": "^15.1.0", - "@rollup/plugin-node-resolve": "^7.1.1", - "@rollup/plugin-replace": "^2.3.1", - "@surma/rollup-plugin-off-main-thread": "^1.1.1", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "lodash.template": "^4.5.0", - "pretty-bytes": "^5.3.0", - "rollup": "^1.31.1", - "rollup-plugin-babel": "^4.3.3", - "rollup-plugin-terser": "^5.3.1", - "source-map": "^0.7.3", - "source-map-url": "^0.4.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "tempy": "^0.3.0", - "upath": "^1.2.0", - "workbox-background-sync": "^5.1.4", - "workbox-broadcast-update": "^5.1.4", - "workbox-cacheable-response": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-expiration": "^5.1.4", - "workbox-google-analytics": "^5.1.4", - "workbox-navigation-preload": "^5.1.4", - "workbox-precaching": "^5.1.4", - "workbox-range-requests": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4", - "workbox-streams": "^5.1.4", - "workbox-sw": "^5.1.4", - "workbox-window": "^5.1.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/workbox-build/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==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/workbox-build/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz", - "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-core": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz", - "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==" - }, - "node_modules/workbox-expiration": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz", - "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-google-analytics": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz", - "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==", - "dependencies": { - "workbox-background-sync": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz", - "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-precaching": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz", - "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-range-requests": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz", - "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-routing": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz", - "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/workbox-strategies": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz", - "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==", - "dependencies": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "node_modules/workbox-streams": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz", - "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==", - "dependencies": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "node_modules/workbox-sw": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz", - "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "fast-json-stable-stringify": "^2.0.0", - "source-map-url": "^0.4.0", - "upath": "^1.1.2", - "webpack-sources": "^1.3.0", - "workbox-build": "^5.1.4" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/workbox-window": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz", - "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==", - "dependencies": { - "workbox-core": "^5.1.4" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dependencies": { - "microevent.ts": "~0.1.1" - } - }, - "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "devOptional": true, - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "devOptional": true, - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/xhr-request/node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "devOptional": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/xhr/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", - "devOptional": true, - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xtend/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/yargs-unparser/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/yargs-unparser/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==" - }, - "node_modules/yargs-unparser/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/yargs-unparser/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-unparser/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-unparser/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==" - }, - "node_modules/yargs-unparser/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/yargs-unparser/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/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==" - }, - "node_modules/yargs-unparser/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-unparser/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" - }, - "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "@babel/generator": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.2.tgz", - "integrity": "sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q==", - "requires": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", - "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.2.tgz", - "integrity": "sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.2.tgz", - "integrity": "sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.19.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", - "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", - "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@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", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", - "requires": { - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/runtime-corejs3": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", - "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", - "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" - }, - "@csstools/normalize.css": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", - "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" - }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==" - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "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==" - }, - "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==" - } - } - }, - "@ethereum-waffle/chai": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", - "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "requires": { - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.5.2" - }, - "dependencies": { - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - } - } - }, - "@ethereum-waffle/compiler": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", - "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "requires": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^2.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.5.5", - "ethers": "^5.0.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.1", - "solc": "^0.6.3", - "ts-generator": "^0.1.1", - "typechain": "^3.0.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "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==" - }, - "solc": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", - "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - } - } - } - }, - "@ethereum-waffle/ens": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", - "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "requires": { - "@ensdomains/ens": "^0.4.4", - "@ensdomains/resolver": "^0.2.4", - "ethers": "^5.5.2" - }, - "dependencies": { - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - } - } - }, - "@ethereum-waffle/mock-contract": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", - "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "requires": { - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" - }, - "dependencies": { - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - } - } - }, - "@ethereum-waffle/provider": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", - "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "requires": { - "@ethereum-waffle/ens": "^3.4.4", - "ethers": "^5.5.2", - "ganache-core": "^2.13.2", - "patch-package": "^6.2.2", - "postinstall-postinstall": "^2.1.0" - }, - "dependencies": { - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - } - } - }, - "@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "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==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", - "requires": { - "jest-get-type": "^29.2.0" - } - }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - } - }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - } - } - }, - "@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@material-ui/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.1.tgz", - "integrity": "sha512-C6hYsjkWCTfBx9FaqxhCZCITBagh7fyCKFtHyvO3tTOcBw6NJaktdhNZ2n82jQdQdgfFvg6OOxi7OOzsAdAcBQ==", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.4", - "@material-ui/system": "^4.12.1", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - } - }, - "@material-ui/icons": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.2.tgz", - "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", - "requires": { - "@babel/runtime": "^7.4.4" - } - }, - "@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "requires": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - } - }, - "@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - } - }, - "@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "requires": {} - }, - "@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "requires": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - } - }, - "@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==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@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==" - }, - "@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==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomiclabs/ethereumjs-vm": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", - "integrity": "sha512-8WmX94mMcJaZ7/m7yBbyuS6B+wuOul+eF+RY9fBpGhNaUpyMR/vFIcDojqcWQ4Yafe1tMKY5LDu2yfT4NZgV4Q==", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "3.0.0", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz", - "integrity": "sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg==", - "requires": {} - }, - "@nomiclabs/hardhat-waffle": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.1.tgz", - "integrity": "sha512-2YR2V5zTiztSH9n8BYWgtv3Q+EL0N5Ltm1PAr5z20uAY4SkkfylJ98CIqt18XFvxTD5x4K2wKBzddjV9ViDAZQ==", - "requires": { - "@types/sinon-chai": "^3.2.3", - "@types/web3": "1.0.19" - } - }, - "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "requires": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", - "requires": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "requires": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - } - }, - "@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" - } - }, - "@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" - } - }, - "@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "requires": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", - "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==", - "requires": { - "@rollup/pluginutils": "^3.0.8", - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.14.2" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@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==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "requires": { - "@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" - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" - }, - "@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==", - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "devOptional": true - }, - "@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@solidity-parser/parser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.11.1.tgz", - "integrity": "sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ==" - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", - "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", - "requires": { - "ejs": "^2.6.1", - "magic-string": "^0.25.0" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - } - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "devOptional": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@testing-library/dom": { - "version": "7.31.2", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.2.tgz", - "integrity": "sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.6", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.11.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.4.tgz", - "integrity": "sha512-6RRn3epuweBODDIv3dAlWjOEHQLpGJHB2i912VS3JQtsD22+ENInhdDNl4ZZQiViLlIfFinkSET/J736ytV9sw==", - "requires": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - } - } - }, - "@testing-library/react": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.1.0.tgz", - "integrity": "sha512-Nfz58jGzW0tgg3irmTB7sa02JLkLnCk+QN3XG6WiaGQYb0Qc4Ok00aujgjdxlIQWZHbb4Zj5ZOIeE9yKFSs4sA==", - "requires": { - "@babel/runtime": "^7.11.2", - "@testing-library/dom": "^7.26.0" - } - }, - "@testing-library/user-event": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.1.10.tgz", - "integrity": "sha512-StlNdKHp2Rpb7yrny/5/CGpz8bR3jLa1Ge59ODGU6TmAhkrxSpvR6tCD1gaMFkkjEUWkmmye8BaXsZPcaiJ6Ug==", - "requires": { - "@babel/runtime": "^7.10.2" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "devOptional": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true - }, - "@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "devOptional": true - }, - "@typechain/ethers-v5": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", - "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "requires": { - "ethers": "^5.0.2" - } - }, - "@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", - "devOptional": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" - } - }, - "@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" - }, - "@types/eslint": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", - "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "devOptional": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-og1wAmdxKoS71K2ZwSVqWPX6OVn3ihZ6ZT2qvZvZQm90lJVDyXIjYcu4Khx2CNIeaFv12rOU/YObOsI3VOkzog==", - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/keyv": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-4.2.0.tgz", - "integrity": "sha512-xoBtGl5R9jeKUhc8ZqeYaRDx04qqJ10yhhXYGmJ4Jr8qKpvMsDQQrNUvF/wUJ4klOtmJeJM+p2Xo3zp9uaC3tw==", - "devOptional": true, - "requires": { - "keyv": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" - }, - "@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" - }, - "@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/react": { - "version": "17.0.52", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.52.tgz", - "integrity": "sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - } - } - }, - "@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "devOptional": true, - "requires": { - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/sinon": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.13.tgz", - "integrity": "sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==", - "requires": { - "@types/sinonjs__fake-timers": "*" - } - }, - "@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "requires": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" - }, - "@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "requires": { - "@types/jest": "*" - } - }, - "@types/uglify-js": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.1.tgz", - "integrity": "sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==", - "requires": { - "source-map": "^0.6.1" - } - }, - "@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "@types/web3": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", - "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "requires": { - "@types/bn.js": "*", - "@types/underscore": "*" - } - }, - "@types/webpack": { - "version": "4.41.33", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.33.tgz", - "integrity": "sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==", - "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "requires": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - } - }, - "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "requires": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - }, - "dependencies": { - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - }, - "adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "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==", - "requires": { - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" - }, - "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==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "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==" - }, - "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==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==" - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - }, - "array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "requires": { - "typical": "^2.6.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - } - }, - "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==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "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==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "requires": { - "async": "^2.4.0" - } - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "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==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - } - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "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==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axe-core": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.1.tgz", - "integrity": "sha512-1exVbW0X1O/HSr/WMwnaweyqcWOgZgLiVxdLG34pvSQk4NlYQr9OUy0JLwuhFfuVNQzzqgH57eYzkFBCb3bIsQ==" - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@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" - } - }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - }, - "dependencies": { - "@babel/core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", - "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.2", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.1", - "@babel/parser": "^7.20.2", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", - "devOptional": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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==", - "dev": true - }, - "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, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "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==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "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" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", - "devOptional": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "devOptional": true - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "devOptional": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "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==", - "devOptional": true, - "requires": { - "pump": "^3.0.0" - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "devOptional": true - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "devOptional": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "devOptional": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" - }, - "check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" - }, - "checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==", - "requires": { - "functional-red-black-tree": "^1.0.1" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "devOptional": true, - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "devOptional": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "devOptional": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "requires": { - "source-map": "~0.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "devOptional": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - }, - "dependencies": { - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - } - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "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==" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "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==" - }, - "command-line-args": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", - "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "requires": { - "array-back": "^2.0.0", - "find-replace": "^1.0.3", - "typical": "^2.6.1" - } - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "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==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", - "requires": { - "arity-n": "^1.0.4" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - } - } - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "devOptional": true, - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "devOptional": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - }, - "core-js": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz", - "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==" - }, - "core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-js-pure": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.0.tgz", - "integrity": "sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==" - }, - "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==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "devOptional": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - } - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "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==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "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==", - "requires": { - "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" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==" - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", - "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", - "requires": { - "camelcase": "^6.0.0", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^2.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.3", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.1", - "semver": "^7.3.2" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "requires": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - } - } - }, - "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==" - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==" - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - } - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "devOptional": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "requires": { - "type-detect": "^4.0.0" - } - }, - "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 - }, - "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==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "devOptional": true - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", - "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - } - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - } - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", - "devOptional": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "requires": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - }, - "level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "requires": { - "buffer": "^5.6.0" - } - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "requires": { - "errno": "~0.1.1" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "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==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "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" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "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==", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "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==" - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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==" - }, - "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==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "eslint-config-react-app": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", - "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", - "requires": { - "confusing-browser-globals": "^1.0.10" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "requires": { - "debug": "^3.2.7" - } - }, - "eslint-plugin-flowtype": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz", - "integrity": "sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw==", - "requires": { - "lodash": "^4.17.15", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "eslint-plugin-jest": { - "version": "24.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", - "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", - "requires": { - "@typescript-eslint/experimental-utils": "^4.0.1" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", - "requires": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" - }, - "dependencies": { - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react": { - "version": "7.31.10", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", - "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", - "requires": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz", - "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==", - "requires": { - "@typescript-eslint/experimental-utils": "^3.10.1" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", - "requires": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "eslint-webpack-plugin": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.7.0.tgz", - "integrity": "sha512-bNaVVUvU4srexGhVcayn/F4pJAz19CWBkKoMx7aSQ4wtTbZQCnG5O9LHCE42mM+JSKOUp7n6vd5CIwzj7lOVGA==", - "requires": { - "@types/eslint": "^7.29.0", - "arrify": "^2.0.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^3.1.1" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "devOptional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "devOptional": true - }, - "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==", - "devOptional": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "devOptional": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, - "eth-sig-util": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-2.5.4.tgz", - "integrity": "sha512-aCMBwp8q/4wrW4QLsF/HYBOSA7TpLKmkVwP3pYQNkEEseW2Rr8Z5Uxc9/h6HX+OG3tuHo+2bINVSihIeBfym6A==", - "requires": { - "ethereumjs-abi": "0.6.8", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - } - } - }, - "ethashjs": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", - "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", - "requires": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - }, - "dependencies": { - "buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "requires": { - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } - } - }, - "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==", - "requires": { - "@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" - } - }, - "ethereum-waffle": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.2.2.tgz", - "integrity": "sha512-Q8XrcFmQGDKKH0Lr867WA9Rl0oWQGMZcFrFPMV2KBIOkdeQnRlGEJq8RGFxj4MMWWxkoXIoxWgxg7U3qdgddEw==", - "requires": { - "@ethereum-waffle/chai": "^3.2.2", - "@ethereum-waffle/compiler": "^3.2.2", - "@ethereum-waffle/mock-contract": "^3.2.2", - "@ethereum-waffle/provider": "^3.2.2", - "ethers": "^5.0.1" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "requires": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - }, - "dependencies": { - "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==" - } - } - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "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==" - } - } - } - } - }, - "ethereumjs-blockchain": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", - "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", - "requires": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==" - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@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" - } - }, - "ethers": { - "version": "5.0.26", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.26.tgz", - "integrity": "sha512-MqA8Fvutn3qEW0yBJOHeV6KZmRpF2rqlL2B5058AGkUFsuu6j5Ns/FRlMsbGeQwBz801IB23jQp7vjRfFsKSkg==", - "requires": { - "@ethersproject/abi": "5.0.10", - "@ethersproject/abstract-provider": "5.0.8", - "@ethersproject/abstract-signer": "5.0.11", - "@ethersproject/address": "5.0.9", - "@ethersproject/base64": "5.0.7", - "@ethersproject/basex": "5.0.7", - "@ethersproject/bignumber": "5.0.13", - "@ethersproject/bytes": "5.0.9", - "@ethersproject/constants": "5.0.8", - "@ethersproject/contracts": "5.0.9", - "@ethersproject/hash": "5.0.10", - "@ethersproject/hdnode": "5.0.8", - "@ethersproject/json-wallets": "5.0.10", - "@ethersproject/keccak256": "5.0.7", - "@ethersproject/logger": "5.0.8", - "@ethersproject/networks": "5.0.7", - "@ethersproject/pbkdf2": "5.0.7", - "@ethersproject/properties": "5.0.7", - "@ethersproject/providers": "5.0.19", - "@ethersproject/random": "5.0.7", - "@ethersproject/rlp": "5.0.7", - "@ethersproject/sha2": "5.0.7", - "@ethersproject/signing-key": "5.0.8", - "@ethersproject/solidity": "5.0.8", - "@ethersproject/strings": "5.0.8", - "@ethersproject/transactions": "5.0.9", - "@ethersproject/units": "5.0.9", - "@ethersproject/wallet": "5.0.10", - "@ethersproject/web": "5.0.12", - "@ethersproject/wordlists": "5.0.8" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.10.tgz", - "integrity": "sha512-cfC3lGgotfxX3SMri4+CisOPwignoj/QGHW9J29spC4R4Qqcnk/SYuVkPFBMdLbvBp3f/pGiVqPNwont0TSXhg==", - "requires": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz", - "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==", - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.11.tgz", - "integrity": "sha512-RKOgPSEYafknA62SrD3OCK42AllHE4YBfKYXyQeM+sBP7Nq3X5FpzeoY4uzC43P4wIhmNoTHCKQuwnX7fBqb6Q==", - "requires": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "@ethersproject/address": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz", - "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==", - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "@ethersproject/base64": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz", - "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==", - "requires": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "@ethersproject/basex": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.7.tgz", - "integrity": "sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/properties": "^5.0.7" - } - }, - "@ethersproject/bignumber": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz", - "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bytes": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz", - "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==", - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/constants": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz", - "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==", - "requires": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "@ethersproject/contracts": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.9.tgz", - "integrity": "sha512-CCTxVeDh6sjdSEbjzONhtwPjECvaHE62oGkY8M7kP0CHmgLD2SEGel0HZib8e5oQKRKGly9AKcUFW4g3rQ0AQw==", - "requires": { - "@ethersproject/abi": "^5.0.10", - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "@ethersproject/hash": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz", - "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==", - "requires": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/hdnode": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.8.tgz", - "integrity": "sha512-Mscpjd7BBjxYSWghaNMwV0xrBBkOoCq6YEPRm9MgE24CiBlzzbfEB5DGq6hiZqhQaxPkdCUtKKqZi3nt9hx43g==", - "requires": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/basex": "^5.0.7", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/pbkdf2": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/wordlists": "^5.0.8" - } - }, - "@ethersproject/json-wallets": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.10.tgz", - "integrity": "sha512-Ux36u+d7Dm0M5AQ+mWuHdvfGPMN8K1aaLQgwzrsD4ELTWlwRuHuQbmn7/GqeOpbfaV6POLwdYcBk2TXjlGp/IQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hdnode": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/pbkdf2": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz", - "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "@ethersproject/logger": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz", - "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A==" - }, - "@ethersproject/networks": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz", - "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==", - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.7.tgz", - "integrity": "sha512-0SNLNixPMqnosH6pyc4yPiUu/C9/Jbu+f6I8GJW9U2qNpMBddmRJviwseoha5Zw1V+Aw0Z/yvYyzIIE8yPXqLA==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/sha2": "^5.0.7" - } - }, - "@ethersproject/properties": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz", - "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==", - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/providers": { - "version": "5.0.19", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.19.tgz", - "integrity": "sha512-G+flo1jK1y/rvQy6b71+Nu7qOlkOKz+XqpgqFMZslkCzGuzQRmk9Qp7Ln4soK8RSyP1e5TCujaRf1H+EZahoaw==", - "requires": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/basex": "^5.0.7", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/strings": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12", - "bech32": "1.1.4", - "ws": "7.2.3" - } - }, - "@ethersproject/random": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.7.tgz", - "integrity": "sha512-PxSRWwN3s+FH9AWMZU6AcWJsNQ9KzqKV6NgdeKPtxahdDjCuXxTAuzTZNXNRK+qj+Il351UnweAGd+VuZcOAlQ==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/rlp": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz", - "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/sha2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz", - "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "hash.js": "1.1.3" - }, - "dependencies": { - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - } - } - }, - "@ethersproject/signing-key": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz", - "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "@ethersproject/solidity": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.8.tgz", - "integrity": "sha512-OJkyBq9KaoGsi8E8mYn6LX+vKyCURvxSp0yuGBcOqEFM3vkn9PsCiXsHdOXdNBvlHG5evJXwAYC2UR0TzgJeKA==", - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/sha2": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/strings": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz", - "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/transactions": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz", - "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==", - "requires": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "@ethersproject/units": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.9.tgz", - "integrity": "sha512-4jIkcMVrJ3lCgXMO4M/2ww0/T/IN08vJTZld7FIAwa6aoBDTAy71+sby3sShl1SG3HEeKYbI3fBWauCUgPRUpQ==", - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/wallet": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.10.tgz", - "integrity": "sha512-5siYr38NhqZKH6DUr6u4PdhgOKur8Q6sw+JID2TitEUmW0tOl8f6rpxAe77tw6SJT60D2UcvgsyLtl32+Nl+ig==", - "requires": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/hdnode": "^5.0.8", - "@ethersproject/json-wallets": "^5.0.10", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/random": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/wordlists": "^5.0.8" - } - }, - "@ethersproject/web": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz", - "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==", - "requires": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/wordlists": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.8.tgz", - "integrity": "sha512-px2mloc1wAcdTbzv0ZotTx+Uh/dfnDO22D9Rx8xr7+/PUwAhZQjoJ9t7Hn72nsaN83rWBXsLvFcIRZju4GIaEQ==", - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/hash": "^5.0.10", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "ws": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", - "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", - "requires": {} - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "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==" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==" - }, - "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==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", - "requires": { - "@jest/expect-utils": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA==", - "requires": { - "checkpoint-store": "^1.1.0" - } - }, - "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==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "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==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", - "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-replace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==", - "requires": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "dependencies": { - "array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "requires": { - "typical": "^2.6.0" - } - } - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "requires": { - "micromatch": "^4.0.2" - } - }, - "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "requires": { - "is-buffer": "~2.0.3" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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==" - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "ganache-core": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", - "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", - "requires": { - "abstract-leveldown": "3.0.0", - "async": "2.6.2", - "bip39": "2.5.0", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.2.6", - "encoding-down": "5.0.4", - "eth-sig-util": "3.0.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-account": "3.0.0", - "ethereumjs-block": "2.2.2", - "ethereumjs-common": "1.5.0", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "6.2.1", - "ethereumjs-vm": "4.2.0", - "ethereumjs-wallet": "0.6.5", - "heap": "0.2.6", - "keccak": "3.0.1", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.20", - "lru-cache": "5.1.1", - "merkle-patricia-tree": "3.0.0", - "patch-package": "6.2.2", - "seedrandom": "3.0.1", - "source-map-support": "0.5.12", - "tmp": "0.1.0", - "web3": "1.2.11", - "web3-provider-engine": "14.2.1", - "websocket": "1.0.32" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.0.0-beta.153", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz", - "integrity": "sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==", - "optional": true, - "requires": { - "@ethersproject/address": ">=5.0.0-beta.128", - "@ethersproject/bignumber": ">=5.0.0-beta.130", - "@ethersproject/bytes": ">=5.0.0-beta.129", - "@ethersproject/constants": ">=5.0.0-beta.128", - "@ethersproject/hash": ">=5.0.0-beta.128", - "@ethersproject/keccak256": ">=5.0.0-beta.127", - "@ethersproject/logger": ">=5.0.0-beta.129", - "@ethersproject/properties": ">=5.0.0-beta.131", - "@ethersproject/strings": ">=5.0.0-beta.130" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz", - "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.10.tgz", - "integrity": "sha512-irx7kH7FDAeW7QChDPW19WsxqeB1d3XLyOLSXm0bfPqL1SS07LXWltBJUBUxqC03ORpAOcM3JQj57DU8JnVY2g==", - "optional": true, - "requires": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "@ethersproject/address": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz", - "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "@ethersproject/base64": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz", - "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "@ethersproject/bignumber": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz", - "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bytes": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz", - "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/constants": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz", - "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "@ethersproject/hash": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz", - "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==", - "optional": true, - "requires": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/keccak256": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz", - "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "@ethersproject/logger": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz", - "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A==", - "optional": true - }, - "@ethersproject/networks": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz", - "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/properties": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz", - "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/rlp": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz", - "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/signing-key": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz", - "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "@ethersproject/strings": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz", - "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/transactions": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz", - "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==", - "optional": true, - "requires": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "@ethersproject/web": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz", - "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==", - "optional": true, - "requires": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz", - "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==", - "requires": { - "@types/node": "*" - } - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "abstract-leveldown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz", - "integrity": "sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ==", - "requires": { - "xtend": "~4.0.0" - } - }, - "aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", - "optional": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "optional": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "requires": { - "lodash": "^4.17.11" - } - }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "requires": { - "async": "^2.4.0" - } - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "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==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==" - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==" - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==" - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "^0.5.6" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==" - } - } - }, - "babelify": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha512-vID8Fz6pPN5pJMdlUnNFSfrlcx5MUule4k9aKs/zbZPyXxMTcRrB0M4Tarw22L8afr8eYSWxDPYCob3TdrqtlA==", - "requires": { - "babel-core": "^6.0.14", - "object-assign": "^4.0.0" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", - "requires": { - "precond": "0.2" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "bip39": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.5.0.tgz", - "integrity": "sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA==", - "requires": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha512-1TSf2Cf2KycDPzjJpzamYhr6PFSEgKWyoc4rQ/BarXJzp/jM0FC7yP1rLWtMOWT2EIJtjPv9fwpKquRNbRV7Lg==" - }, - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "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" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "optional": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "optional": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "optional": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "optional": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "optional": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "optional": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "optional": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "requires": { - "node-gyp-build": "^4.2.0" - } - }, - "bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", - "requires": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", - "requires": { - "typewise-core": "^1.2" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cachedown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cachedown/-/cachedown-1.0.0.tgz", - "integrity": "sha512-t+yVk82vQWCJF3PsWHMld+jhhjkkWjcAzz8NbFx1iULOXWl8Tm/FdM4smZNVw3MRr0X+lVTx9PKzvEn4Ng19RQ==", - "requires": { - "abstract-leveldown": "^2.4.1", - "lru-cache": "^3.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - }, - "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha512-91gyOKTc2k66UG6kHiH4h3S2eltcPwE1STVfMYC/NG+nZwf8IIuiamfmpGZjpbbxzSyEJaLC0tNSmhjlQUTJow==", - "requires": { - "pseudomap": "^1.0.1" - } - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001174", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001174.tgz", - "integrity": "sha512-tqClL/4ThQq6cfFXH3oJL4rifFBeM6gTkphjao5kgwMaW9yn0tKgQLAEfKzDwj6HQWCB/aWo8kTFlSvIN8geEA==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==", - "requires": { - "functional-red-black-tree": "^1.0.1" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "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==" - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, - "core-js-pure": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.2.tgz", - "integrity": "sha512-v6zfIQqL/pzTVAbZvYUozsxNfxcFb6Ks3ZfEbuneJl3FW9Jb8F6vLWB6f+qTmAu72msUdyb84V8d/yBFf7FNnw==" - }, - "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==" - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "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==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "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==", - "requires": { - "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" - } - }, - "cross-fetch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", - "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "optional": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "requires": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "optional": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", - "requires": { - "repeating": "^2.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "electron-to-chromium": { - "version": "1.3.636", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.636.tgz", - "integrity": "sha512-Adcvng33sd3gTjNIDNXGD1G4H6qCImIy2euUJAQHtLNplEKU5WEz5KRJxupRNIIT8sD5oFZLTKBWAf12Bsz24A==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "requires": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "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==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "eth-block-tracker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", - "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", - "requires": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" - }, - "dependencies": { - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - } - } - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "optional": true, - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "eth-json-rpc-infura": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", - "integrity": "sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw==", - "requires": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-middleware": "^1.5.0", - "json-rpc-engine": "^3.4.0", - "json-rpc-error": "^2.0.0" - } - }, - "eth-json-rpc-middleware": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", - "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", - "requires": { - "async": "^2.5.0", - "eth-query": "^2.1.2", - "eth-tx-summary": "^3.1.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.1.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^3.6.0", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "tape": "^4.6.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "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==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", - "requires": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "eth-sig-util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-3.0.0.tgz", - "integrity": "sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ==", - "requires": { - "buffer": "^5.2.1", - "elliptic": "^6.4.0", - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.0", - "tweetnacl-util": "^0.15.0" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz", - "integrity": "sha512-rCjJZ/AE96c/AAZc6O3kaog4FhOsAViaysBxqJNy2+LHP0ttH0zkZ7nXdVHOAyt6lFwLO0nlCwWszysG/ao1+g==", - "requires": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^4.3.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz", - "integrity": "sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w==", - "requires": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.0.0" - } - } - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "eth-tx-summary": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz", - "integrity": "sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==", - "requires": { - "async": "^2.1.2", - "clone": "^2.0.0", - "concat-stream": "^1.5.1", - "end-of-stream": "^1.1.0", - "eth-query": "^2.0.2", - "ethereumjs-block": "^1.4.1", - "ethereumjs-tx": "^1.1.1", - "ethereumjs-util": "^5.0.1", - "ethereumjs-vm": "^2.6.0", - "through2": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "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==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "ethashjs": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", - "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", - "requires": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-util": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.7.tgz", - "integrity": "sha512-vU5rtZBlZsgkTw3o6PDKyB8li2EgLavnAbsKcfsH2YhHH1Le+PP8vEiMnAnvgc1B6uMoaM5GDCrVztBw0Q5K9g==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", - "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", - "optional": true, - "requires": { - "js-sha3": "^0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "optional": true - } - } - }, - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ==" - }, - "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==", - "requires": { - "@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" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "requires": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "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==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "ethereumjs-blockchain": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", - "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", - "requires": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "ethereumjs-common": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", - "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==" - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "ethereumjs-vm": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz", - "integrity": "sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "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==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "ethereumjs-wallet": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz", - "integrity": "sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA==", - "optional": true, - "requires": { - "aes-js": "^3.1.1", - "bs58check": "^2.1.2", - "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^6.0.0", - "randombytes": "^2.0.6", - "safe-buffer": "^5.1.2", - "scryptsy": "^1.2.1", - "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "optional": true, - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "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==", - "optional": true - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "optional": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - }, - "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==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA==", - "requires": { - "checkpoint-store": "^1.1.0" - } - }, - "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==" - }, - "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==" - }, - "fetch-ponyfill": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g==", - "requires": { - "node-fetch": "~1.7.1" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - } - } - }, - "find-yarn-workspace-root": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", - "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", - "requires": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, - "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==" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha512-MzzWcnfB1e4EG2vHi3dXHoBupmuXNZzx6pY6HldVS55JKKBoq3xOyzfSaZRkJp37HIhEYC78knabHff3zc4dQQ==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "optional": true, - "requires": { - "punycode": "2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "optional": true - } - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" - }, - "is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg==" - }, - "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==" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "optional": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-rpc-engine": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", - "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", - "requires": { - "async": "^2.0.1", - "babel-preset-env": "^1.7.0", - "babelify": "^7.3.0", - "json-rpc-error": "^2.0.0", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "json-rpc-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", - "integrity": "sha512-EwUeWP+KgAZ/xqFpaP6YDAXMtCJi+o/QQpCQFIYyxr01AdADi2y413eM8hSqJcoQym9WMePAJWoaODEJufC4Ug==", - "requires": { - "inherits": "^2.0.1" - } - }, - "json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==" - }, - "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==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "requires": { - "jsonify": "~0.0.0" - } - }, - "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==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "bundled": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "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==" - }, - "klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "requires": { - "graceful-fs": "^4.1.11" - } - }, - "level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "requires": { - "buffer": "^5.6.0" - } - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz", - "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5", - "xtend": "^4.0.0" - } - }, - "level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "requires": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "requires": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "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==" - } - } - }, - "level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "requires": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - } - }, - "level-post": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz", - "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==", - "requires": { - "ltgt": "^2.1.2" - } - }, - "level-sublevel": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.4.tgz", - "integrity": "sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA==", - "requires": { - "bytewise": "~1.1.0", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "level-iterator-stream": "^2.0.3", - "ltgt": "~2.1.1", - "pull-defer": "^0.2.2", - "pull-level": "^2.0.3", - "pull-stream": "^3.6.8", - "typewiselite": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "level-ws": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", - "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - } - }, - "levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "requires": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "dependencies": { - "level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - } - } - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "looper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz", - "integrity": "sha512-6DzMHJcjbQX/UPHc1rRCBfKlLwDkvuGZ715cIR36wSdYqWXFT35uLXq5P/2orl3tz+t+VOVPxw4yPinQlUDGDQ==" - }, - "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==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "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==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz", - "integrity": "sha512-5VjHC5GsENtIi5rbJd+feEpDKhfr7j0odoUR2Uh978g+2p93nd5o34cTjQWohXsPsCZeqoDnIqEf88mPCe0Pfw==" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "requires": { - "object-visit": "^1.0.0" - } - }, - "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==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merkle-patricia-tree": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", - "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", - "requires": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" - }, - "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "requires": { - "mime-db": "1.45.0" - } - }, - "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==" - }, - "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==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "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==", - "bundled": true - }, - "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha512-IHLHYskTc2arMYsHZH82PVX8CSKT5lzb7AXeyO06QnjGDKtkv+pv3mEki6S7reB/x1QPo+YPxQRNEVgR5V/w3Q==" - }, - "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", - "bundled": true - }, - "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==", - "optional": true, - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "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==", - "optional": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "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==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "requires": { - "isobject": "^3.0.1" - } - }, - "oboe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", - "integrity": "sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==", - "optional": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "optional": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - }, - "patch-package": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.2.2.tgz", - "integrity": "sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg==", - "requires": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^1.2.1", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "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==" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - }, - "precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==" - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "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==" - }, - "promise-to-callback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA==", - "requires": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pull-cat": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz", - "integrity": "sha512-i3w+xZ3DCtTVz8S62hBOuNLRHqVDsHMNZmgrZsjPnsxXUgbWtXEee84lo1XswE7W2a3WHyqsNuDJTjVLAQR8xg==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-level": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz", - "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==", - "requires": { - "level-post": "^1.0.7", - "pull-cat": "^1.1.9", - "pull-live": "^1.0.1", - "pull-pushable": "^2.0.0", - "pull-stream": "^3.4.0", - "pull-window": "^2.1.4", - "stream-to-pull-stream": "^1.7.1" - } - }, - "pull-live": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz", - "integrity": "sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA==", - "requires": { - "pull-cat": "^1.1.9", - "pull-stream": "^3.4.0" - } - }, - "pull-pushable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", - "integrity": "sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-window": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz", - "integrity": "sha512-cbDzN76BMlcGG46OImrgpkMf/VkCnupj8JhsrpBw3aWBM9ye345aYnqitmZCgauBkc0HbbRRn9hCnsa3k2FNUg==", - "requires": { - "looper": "^2.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "optional": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - }, - "dependencies": { - "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==" - } - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha512-Fn9X8rX8yYF4m81rZCK/5VmrmsSbqS/i3rDLl6ZZHAXgC2nTAx3dhwG8q8odP/RmdLa2YrybDJaAMg+X1ajY3w==", - "requires": { - "through": "~2.3.4" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", - "requires": { - "bn.js": "^4.11.1" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "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==" - }, - "safe-event-emitter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", - "requires": { - "events": "^3.0.0" - } - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw==", - "optional": true, - "requires": { - "pbkdf2": "^3.0.3" - } - }, - "secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg==" - }, - "semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - } - } - }, - "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==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - }, - "dependencies": { - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - } - } - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "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==" - } - } - }, - "string.prototype.trim": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz", - "integrity": "sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "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==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "requires": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "requires": { - "has": "^1.0.3" - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "requires": { - "rimraf": "^2.6.3" - } - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", - "requires": { - "typewise-core": "^1.2.0" - } - }, - "typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" - }, - "typewiselite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz", - "integrity": "sha512-J9alhjVHupW3Wfz6qFRGgQw0N3gr8hOkw6zm7FZ6UR1Cse/oD9/JVok7DNE9TT9IbciDHX2Ex9+ksE6cRmtymw==" - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "optional": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "utf-8-validate": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", - "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", - "requires": { - "node-gyp-build": "^4.2.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "web3": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.11.tgz", - "integrity": "sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ==", - "optional": true, - "requires": { - "web3-bzz": "1.2.11", - "web3-core": "1.2.11", - "web3-eth": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-shh": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-bzz": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.11.tgz", - "integrity": "sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==", - "optional": true, - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - } - } - }, - "web3-core": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.11.tgz", - "integrity": "sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ==", - "optional": true, - "requires": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-requestmanager": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - } - } - }, - "web3-core-helpers": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.11.tgz", - "integrity": "sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A==", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-method": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.11.tgz", - "integrity": "sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw==", - "optional": true, - "requires": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-promievent": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.11.tgz", - "integrity": "sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA==", - "optional": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.11.tgz", - "integrity": "sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA==", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-providers-http": "1.2.11", - "web3-providers-ipc": "1.2.11", - "web3-providers-ws": "1.2.11" - } - }, - "web3-core-subscriptions": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.11.tgz", - "integrity": "sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg==", - "optional": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-eth": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.11.tgz", - "integrity": "sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ==", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-accounts": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-eth-ens": "1.2.11", - "web3-eth-iban": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-abi": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.11.tgz", - "integrity": "sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg==", - "optional": true, - "requires": { - "@ethersproject/abi": "5.0.0-beta.153", - "underscore": "1.9.1", - "web3-utils": "1.2.11" - } - }, - "web3-eth-accounts": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.11.tgz", - "integrity": "sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw==", - "optional": true, - "requires": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "optional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "optional": true - } - } - }, - "web3-eth-contract": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.11.tgz", - "integrity": "sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow==", - "optional": true, - "requires": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-ens": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.11.tgz", - "integrity": "sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA==", - "optional": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-iban": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.11.tgz", - "integrity": "sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ==", - "optional": true, - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.2.11" - } - }, - "web3-eth-personal": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.11.tgz", - "integrity": "sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw==", - "optional": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", - "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", - "optional": true - } - } - }, - "web3-net": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.11.tgz", - "integrity": "sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg==", - "optional": true, - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-provider-engine": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-14.2.1.tgz", - "integrity": "sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==", - "requires": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==", - "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "ethereumjs-abi": { - "version": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0", - "from": "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, - "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==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "web3-providers-http": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.11.tgz", - "integrity": "sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA==", - "optional": true, - "requires": { - "web3-core-helpers": "1.2.11", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.11.tgz", - "integrity": "sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ==", - "optional": true, - "requires": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-providers-ws": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.11.tgz", - "integrity": "sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg==", - "optional": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "websocket": "^1.0.31" - } - }, - "web3-shh": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.11.tgz", - "integrity": "sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg==", - "optional": true, - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-net": "1.2.11" - } - }, - "web3-utils": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.11.tgz", - "integrity": "sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ==", - "optional": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "optional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } - } - }, - "websocket": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.32.tgz", - "integrity": "sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q==", - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "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==" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "devOptional": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "optional": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.0.8.tgz", - "integrity": "sha512-2tDAtOfshrBzP103dx7PQrhTwv2sqjhQStZAPwkkQTic25o2EH6HYE2++LuOG98YwqSjr0WvhvdBvKl3dCSkYA==", - "requires": { - "@nomiclabs/ethereumjs-vm": "^4.1.1", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.11.0", - "@types/bn.js": "^4.11.5", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "eth-sig-util": "^2.5.2", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.0", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^6.1.0", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^3.0.0", - "mocha": "^7.1.2", - "node-fetch": "^2.6.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "uuid": "^3.3.2", - "ws": "^7.2.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "requires": { - "locate-path": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "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==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "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==" - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - } - } - }, - "html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", - "requires": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "devOptional": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", - "devOptional": true - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "devOptional": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" - }, - "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==", - "requires": { - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "requires": { - "postcss": "^7.0.14" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "requires": { - "punycode": "2.1.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true - }, - "immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "immer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", - "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" - }, - "immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "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==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "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==" - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" - }, - "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==", - "requires": { - "fp-ts": "^1.0.0" - } - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "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==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "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==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - } - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "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==" - }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" - }, - "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==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", - "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", - "requires": { - "@jest/core": "^26.6.0", - "import-local": "^3.0.2", - "jest-cli": "^26.6.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "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==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==" - }, - "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==" - }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "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" - } - }, - "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==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "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==", - "requires": { - "path-key": "^3.0.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "jest-circus": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz", - "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.0", - "@jest/test-result": "^26.6.0", - "@jest/types": "^26.6.0", - "@types/babel__traverse": "^7.0.4", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^26.6.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.0", - "jest-matcher-utils": "^26.6.0", - "jest-message-util": "^26.6.0", - "jest-runner": "^26.6.0", - "jest-runtime": "^26.6.0", - "jest-snapshot": "^26.6.0", - "jest-util": "^26.6.0", - "pretty-format": "^26.6.0", - "stack-utils": "^2.0.2", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - } - } - }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - } - } - }, - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" - }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - } - } - }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "requires": {} - }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" - }, - "jest-resolve": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", - "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", - "requires": { - "@jest/types": "^26.6.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.0", - "read-pkg-up": "^7.0.1", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "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==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==" - }, - "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==" - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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" - } - }, - "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==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", - "requires": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - } - } - }, - "jest-watch-typeahead": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz", - "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^26.0.0", - "jest-watcher": "^26.3.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - } - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "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==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "jss": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", - "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", - "requires": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - } - } - }, - "jss-plugin-camel-case": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", - "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", - "requires": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.9.2" - } - }, - "jss-plugin-default-unit": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", - "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "jss-plugin-global": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", - "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "jss-plugin-nested": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", - "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-props-sort": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", - "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2" - } - }, - "jss-plugin-rule-value-function": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", - "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.9.2", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-vendor-prefixer": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", - "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", - "requires": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.9.2" - } - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "requires": { - "json-buffer": "3.0.1" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "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==" - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "requires": { - "graceful-fs": "^4.1.11" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "requires": { - "invert-kv": "^1.0.0" - } - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "requires": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" - }, - "memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "requires": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "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==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "requires": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "requires": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - } - }, - "levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "requires": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw==", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - }, - "dependencies": { - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "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==" - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.3.tgz", - "integrity": "sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "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==" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" - }, - "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==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "devOptional": true - }, - "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==" - }, - "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==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" - }, - "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "requires": { - "object-visit": "^1.0.0" - } - }, - "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==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w==", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "~4.0.0" - } - }, - "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==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "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==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "merkle-patricia-tree": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", - "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", - "requires": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "level-ws": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", - "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - } - } - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "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==" - } - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "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==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "devOptional": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-css-extract-plugin": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", - "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==", - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "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==" - }, - "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==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "devOptional": true, - "requires": { - "mkdirp": "*" - } - }, - "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "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==" - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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==" - }, - "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==" - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "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==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "requires": { - "picomatch": "^2.0.4" - } - }, - "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==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "devOptional": true - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "devOptional": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "devOptional": true, - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "devOptional": true, - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "devOptional": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "optional": true - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", - "devOptional": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "requires": { - "querystring": "^0.2.0" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "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==" - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "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==" - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - }, - "dependencies": { - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - } - } - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "nodemon": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.13.tgz", - "integrity": "sha512-UMXMpsZsv1UXUttCn6gv8eQPhn6DR4BW+txnL3IN5IHqrCwcrT/yWHfL35UsClGXknTH79r5xbu+6J1zNHuSyA==", - "dev": true, - "requires": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.3", - "update-notifier": "^5.1.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "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==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "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==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", - "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", - "requires": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" - } - }, - "object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dev": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - } - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", - "requires": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "devOptional": true - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "requires": { - "p-limit": "^1.1.0" - } - }, - "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==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "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==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - } - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - }, - "patch-package": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.5.0.tgz", - "integrity": "sha512-tC3EqJmo74yKqfsMzELaFwxOAu6FH6t+FzFOsnWAuARm7/n2xB5AOeOueE221eM9gtMuIKMKpF9tBy/X2mNP0Q==", - "requires": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^4.1.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.6", - "open": "^7.4.2", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33", - "yaml": "^1.10.2" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - } - } - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "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==" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - }, - "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==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "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==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "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==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" - }, - "portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "requires": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - } - } - }, - "postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "postcss-browser-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz", - "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==", - "requires": { - "postcss": "^7" - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", - "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", - "requires": { - "postcss": "^7.0.26" - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - } - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-normalize": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", - "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==", - "requires": { - "@csstools/normalize.css": "^10.1.0", - "browserslist": "^4.6.2", - "postcss": "^7.0.17", - "postcss-browser-comments": "^3.0.0", - "sanitize.css": "^10.0.0" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-safe-parser": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz", - "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", - "requires": { - "postcss": "^8.1.0" - }, - "dependencies": { - "postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - } - } - }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "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==" - }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postinstall-postinstall": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", - "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" - }, - "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==" - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", - "requires": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "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==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - }, - "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "devOptional": true - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-app-polyfill": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz", - "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==", - "requires": { - "core-js": "^3.6.5", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.7", - "whatwg-fetch": "^3.4.1" - } - }, - "react-app-rewire-alias": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/react-app-rewire-alias/-/react-app-rewire-alias-1.1.3.tgz", - "integrity": "sha512-pwpUqZacGBpZ0oOOPJ3DGiMOvui3nP2bUDVSTo9cfoYG4p68PhABTk9lUtLzZFAPnPbGaA2uwAzyzFQHqN8Ztg==", - "dev": true, - "requires": {} - }, - "react-app-rewired": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.1.8.tgz", - "integrity": "sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q==", - "dev": true, - "requires": { - "semver": "^5.6.0" - } - }, - "react-dev-utils": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", - "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", - "requires": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "8.0.1", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.9", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "requires": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "node-releases": "^1.1.61" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "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==" - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "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==" - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "node-releases": { - "version": "1.1.77", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "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==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "react-refresh": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", - "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" - }, - "react-scripts": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz", - "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==", - "requires": { - "@babel/core": "7.12.3", - "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", - "@svgr/webpack": "5.5.0", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "babel-eslint": "^10.1.0", - "babel-jest": "^26.6.0", - "babel-loader": "8.1.0", - "babel-plugin-named-asset-import": "^0.3.7", - "babel-preset-react-app": "^10.0.0", - "bfj": "^7.0.2", - "camelcase": "^6.1.0", - "case-sensitive-paths-webpack-plugin": "2.3.0", - "css-loader": "4.3.0", - "dotenv": "8.2.0", - "dotenv-expand": "5.1.0", - "eslint": "^7.11.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^24.1.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-testing-library": "^3.9.2", - "eslint-webpack-plugin": "^2.5.2", - "file-loader": "6.1.1", - "fs-extra": "^9.0.1", - "fsevents": "^2.1.3", - "html-webpack-plugin": "4.5.0", - "identity-obj-proxy": "3.0.0", - "jest": "26.6.0", - "jest-circus": "26.6.0", - "jest-resolve": "26.6.0", - "jest-watch-typeahead": "0.6.1", - "mini-css-extract-plugin": "0.11.3", - "optimize-css-assets-webpack-plugin": "5.0.4", - "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "4.2.1", - "postcss-loader": "3.0.0", - "postcss-normalize": "8.0.1", - "postcss-preset-env": "6.7.0", - "postcss-safe-parser": "5.0.2", - "prompts": "2.4.0", - "react-app-polyfill": "^2.0.0", - "react-dev-utils": "^11.0.3", - "react-refresh": "^0.8.3", - "resolve": "1.18.1", - "resolve-url-loader": "^3.1.2", - "sass-loader": "^10.0.5", - "semver": "7.3.2", - "style-loader": "1.3.0", - "terser-webpack-plugin": "4.2.3", - "ts-pnp": "1.2.0", - "url-loader": "4.1.1", - "webpack": "4.44.2", - "webpack-dev-server": "3.11.1", - "webpack-manifest-plugin": "2.2.0", - "workbox-webpack-plugin": "5.1.4" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "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==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - }, - "regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "dev": true, - "requires": { - "rc": "1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "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==" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "devOptional": true - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "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==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - }, - "resolve-url-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", - "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", - "requires": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.36", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==" - }, - "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==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "devOptional": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha512-eEjL8FdkdsxApd0yWVZgBGzfCQiT8yqSc2H1p4jpZpQdtz7ohETiDMoje5PlM8I9WgkqkreVxFUKYOiJdVWDXw==", - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg==" - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha512-W6V2fix7nCLUYX1v6eGPrBOZlc03/faqzP4sUxMAJMBMOPYhfV/RyLegTufn5gJKaOITyi+gvf0LXDZ9NzkHnQ==" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - } - }, - "rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - }, - "dependencies": { - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - } - } - }, - "rollup-plugin-babel": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", - "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "rollup-pluginutils": "^2.8.1" - } - }, - "rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "requires": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" - }, - "dependencies": { - "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==" - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - } - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - }, - "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==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "requires": { - "aproba": "^1.1.1" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "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==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "requires": { - "ret": "~0.1.10" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "sanitize.css": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", - "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" - }, - "sass-loader": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.3.1.tgz", - "integrity": "sha512-y2aBdtYkbqorVavkC3fcJIUDGIegzDWPn3/LAFhsf3G+MzPKTJx37sROf5pXtUeggSVbNbmfj8TgRaSLMelXRA==", - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "requires": { - "node-forge": "^0.10.0" - } - }, - "semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - } - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "devOptional": true, - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "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==" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "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==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "devOptional": true - }, - "simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "devOptional": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - } - }, - "sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "requires": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - } - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "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==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "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==" - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" - }, - "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==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "requires": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" - }, - "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==" - }, - "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==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - } - } - }, - "swarm-js": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", - "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", - "devOptional": true, - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^11.8.5", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "devOptional": true - }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "devOptional": true, - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "devOptional": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "devOptional": true - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "devOptional": true, - "requires": { - "mimic-response": "^3.1.0" - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "devOptional": true - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "devOptional": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "devOptional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "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==", - "devOptional": true, - "requires": { - "pump": "^3.0.0" - } - }, - "got": { - "version": "11.8.5", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", - "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", - "devOptional": true, - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "devOptional": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "devOptional": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "devOptional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "devOptional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "devOptional": true - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "devOptional": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "devOptional": true, - "requires": { - "lowercase-keys": "^2.0.0" - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "devOptional": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - } - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==" - }, - "tempy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", - "requires": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "requires": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "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==" - }, - "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==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", - "requires": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "dependencies": { - "array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "requires": { - "typical": "^2.6.0" - } - } - } - }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "devOptional": true - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "devOptional": true - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "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==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" - }, - "ts-generator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", - "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "requires": { - "@types/mkdirp": "^0.5.2", - "@types/prettier": "^2.1.1", - "@types/resolve": "^0.0.8", - "chalk": "^2.4.1", - "glob": "^7.1.2", - "mkdirp": "^0.5.1", - "prettier": "^2.1.2", - "resolve": "^1.8.1", - "ts-essentials": "^1.0.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", - "devOptional": true, - "requires": { - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true - } - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "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==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typechain": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", - "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "requires": { - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "ts-essentials": "^6.0.3", - "ts-generator": "^0.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "ts-essentials": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", - "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "requires": {} - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", - "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" - }, - "typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==" - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "devOptional": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - } - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "devOptional": true, - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "devOptional": true - } - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", - "devOptional": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, - "v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "devOptional": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "optional": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "requires": { - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "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==", - "optional": true - }, - "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==", - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-1.0.1.tgz", - "integrity": "sha512-io/H/D18edTL1D2lcaUTLNLFEVZIPhNd4IdXDB9bEb+uDv2m/6NfyHiXKLFjbmI1ubeYpoQpR1gl9nlcWdI0vA==" - }, - "web3": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.4.0.tgz", - "integrity": "sha512-faT3pIX+1tuo+wqmUFQPe10MUGaB1UvRYxw9dmVJFLxaRAIfXErSilOf3jFhSwKbbPNkwG0bTiudCLN9JgeS7A==", - "dev": true, - "requires": { - "web3-bzz": "1.4.0", - "web3-core": "1.4.0", - "web3-eth": "1.4.0", - "web3-eth-personal": "1.4.0", - "web3-net": "1.4.0", - "web3-shh": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-bzz": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.4.0.tgz", - "integrity": "sha512-KhXmz8hcfGsqhplB7NrekAeNkG2edHjXV4bL3vnXde8RGMWpabpSNxuwiGv+dv/3nWlrHatH0vGooONYCkP5TA==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.12.1" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - } - } - }, - "web3-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.4.0.tgz", - "integrity": "sha512-VRNMNqwzvPeKIet2l9BMApPHoUv0UqwaZH0lZJhG2RBko42w9Xls+pQwfVNSV16j04t/ehm1aLRV2Sx6lzVfRg==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-requestmanager": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-helpers": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.4.0.tgz", - "integrity": "sha512-8Ebq0nmRfzw7iPoXbIRHEWOuPh+1cOV3OOEvKm5Od3McZOjja914vdk+DM3MgmbSpDzYJRFM6KoF0+Z/U/1bPw==", - "dev": true, - "requires": { - "underscore": "1.12.1", - "web3-eth-iban": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-method": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.4.0.tgz", - "integrity": "sha512-KW9922fEkgKu8zDcJR8Iikg/epsuWMArAUVTipKVwzAI5TVdvOMRgSe/b7IIDRUIeoeXMARmJ+PrAlx+IU2acQ==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-promievent": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.4.0.tgz", - "integrity": "sha512-YEwko22kcry7lHwbe0k80BrjXCZ+73jMdvZtptRH5k2B+XZ1XtmXwYL1PFIlZy9V0zgZijdg+3GabCnAHjVXAw==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - }, - "dependencies": { - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - } - } - }, - "web3-core-requestmanager": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.4.0.tgz", - "integrity": "sha512-qIwKJO5T0KkUAIL7y9JRSUkk3+LaCwghdUHK8FzbMvq6R1W9lgCBnccqFGEI76EJjHvsiw4kEKBEXowdB3xenQ==", - "dev": true, - "requires": { - "underscore": "1.12.1", - "util": "^0.12.0", - "web3-core-helpers": "1.4.0", - "web3-providers-http": "1.4.0", - "web3-providers-ipc": "1.4.0", - "web3-providers-ws": "1.4.0" - }, - "dependencies": { - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - } - } - }, - "web3-core-subscriptions": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.4.0.tgz", - "integrity": "sha512-/UMC9rSLEd0U+h6Qanx6CM29o/cfUyGWgl/HM6O/AIuth9G+34QBuKDa11Gr2Qg6F8Lr9tSFm8QIGVniOx9i5A==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0" - }, - "dependencies": { - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - } - } - }, - "web3-eth": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.4.0.tgz", - "integrity": "sha512-L990eMJeWh4h/Z3M8MJb9HrKq8tqvzdGZ7igdzd6Ba3B/VKgGFAJ/4XIqtLwAJ1Wg5Cj8my60tYY+34c2cLefw==", - "dev": true, - "requires": { - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-eth-accounts": "1.4.0", - "web3-eth-contract": "1.4.0", - "web3-eth-ens": "1.4.0", - "web3-eth-iban": "1.4.0", - "web3-eth-personal": "1.4.0", - "web3-net": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-abi": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.4.0.tgz", - "integrity": "sha512-FtmWipG/dSSkTGFb72JCwky7Jd0PIvd0kGTInWQwIEZlw5qMOYl61WZ9gwfojFHvHF6q1eKncerQr+MRXHO6zg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.4.0" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-accounts": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.4.0.tgz", - "integrity": "sha512-tETHBvfO3Z7BXZ7HJIwuX7ol6lPefP55X7b4IiX82C1PujHwsxENY7c/3wyxzqKoDyH6zfyEQo17yhxkhsM1oA==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "underscore": "1.12.1", - "uuid": "3.3.2", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-contract": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.4.0.tgz", - "integrity": "sha512-GfIhOzfp/ZXKd+1tFEH3ePq0DEsvq9XO5tOsI0REDtEYUj2GNxO5e/x/Fhekk7iLZ7xAqSzDMweFruDQ1fxn0A==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.5", - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-ens": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.4.0.tgz", - "integrity": "sha512-jR1KorjU1erpYFpFzsMXAWZnHhqUqWPBq/4+BGVj7/pJ43+A3mrE1eB0zl91Dwc1RTNwOhB02iOj1c9OlpGr3g==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.12.1", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-promievent": "1.4.0", - "web3-eth-abi": "1.4.0", - "web3-eth-contract": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-iban": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.4.0.tgz", - "integrity": "sha512-YNx748VzwiBe0gvtZjvU9BQsooZ9s9sAlmiDWJOMcvMbUTDhC7SvxA7vV/vrnOxL6oGHRh0U/azsYNxxlKiTBw==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-personal": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.4.0.tgz", - "integrity": "sha512-8Ip6xZ8plmWqAD4ESbKUIPVV9gfTAFFm0ff1FQIw9I9kYvFlBIPzukvm852w2SftGem+/iRH+2+2mK7HvuKXZQ==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.4.0", - "web3-core-helpers": "1.4.0", - "web3-core-method": "1.4.0", - "web3-net": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-net": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.4.0.tgz", - "integrity": "sha512-41WkKobL+KnKC0CY0RZ1KhMMyR/hMFGlbHZQac4KtB7ro1UdXeK+RiYX+GzSr1h7j9Dj+dQZqyBs70cxmL9cPQ==", - "dev": true, - "requires": { - "web3-core": "1.4.0", - "web3-core-method": "1.4.0", - "web3-utils": "1.4.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - } - } - } - }, - "web3-providers-http": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.4.0.tgz", - "integrity": "sha512-A9nLF4XGZfDb1KYYuKRwHY1H90Ee/0I0CqQQEELI0yuY9eca50qdCHEg3sJhvqBIG44JCm83amOGxR8wi+76tQ==", - "dev": true, - "requires": { - "web3-core-helpers": "1.4.0", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.4.0.tgz", - "integrity": "sha512-ul/tSNUI5anhdBGBV+FWFH9EJgO73/G21haFDEXvTnSJQa9/byj401H/E2Xd8BXGk+2XB+CCGLZBiuAjhhhtTA==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0" - } - }, - "web3-providers-ws": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.4.0.tgz", - "integrity": "sha512-E5XfF58RLXuCtGiMSXxXEtjceCfPli+I4MDYCKx/J/bDJ6qvLUM2OnnGEmE7pq1Z03h0xh1ZezaB/qoweK3ZIQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.4.0", - "websocket": "^1.0.32" - }, - "dependencies": { - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - } - } - }, - "web3-shh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.4.0.tgz", - "integrity": "sha512-OZMkMgo+VZnu1ErhIFXW+5ExnPKQg9v8/2DHGVtNEwuC5OHYuAEF5U7MQgbxYJYwbRmxQCt/hA3VwKjnkbmSAA==", - "dev": true, - "requires": { - "web3-core": "1.4.0", - "web3-core-method": "1.4.0", - "web3-core-subscriptions": "1.4.0", - "web3-net": "1.4.0" - } - }, - "web3-utils": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz", - "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==", - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - } - } - }, - "webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "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==" - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "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==" - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "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==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "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==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "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==" - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - }, - "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==" - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "requires": { - "async-limiter": "~1.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - } - } - }, - "webpack-manifest-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", - "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", - "requires": { - "fs-extra": "^7.0.0", - "lodash": ">=3.5 <5", - "object.entries": "^1.1.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "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, - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz", - "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-broadcast-update": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz", - "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-build": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz", - "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==", - "requires": { - "@babel/core": "^7.8.4", - "@babel/preset-env": "^7.8.4", - "@babel/runtime": "^7.8.4", - "@hapi/joi": "^15.1.0", - "@rollup/plugin-node-resolve": "^7.1.1", - "@rollup/plugin-replace": "^2.3.1", - "@surma/rollup-plugin-off-main-thread": "^1.1.1", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "lodash.template": "^4.5.0", - "pretty-bytes": "^5.3.0", - "rollup": "^1.31.1", - "rollup-plugin-babel": "^4.3.3", - "rollup-plugin-terser": "^5.3.1", - "source-map": "^0.7.3", - "source-map-url": "^0.4.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "tempy": "^0.3.0", - "upath": "^1.2.0", - "workbox-background-sync": "^5.1.4", - "workbox-broadcast-update": "^5.1.4", - "workbox-cacheable-response": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-expiration": "^5.1.4", - "workbox-google-analytics": "^5.1.4", - "workbox-navigation-preload": "^5.1.4", - "workbox-precaching": "^5.1.4", - "workbox-range-requests": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4", - "workbox-streams": "^5.1.4", - "workbox-sw": "^5.1.4", - "workbox-window": "^5.1.4" - }, - "dependencies": { - "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==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "workbox-cacheable-response": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz", - "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-core": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz", - "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==" - }, - "workbox-expiration": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz", - "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-google-analytics": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz", - "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==", - "requires": { - "workbox-background-sync": "^5.1.4", - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4", - "workbox-strategies": "^5.1.4" - } - }, - "workbox-navigation-preload": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz", - "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-precaching": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz", - "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-range-requests": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz", - "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-routing": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz", - "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "workbox-strategies": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz", - "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==", - "requires": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "workbox-streams": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz", - "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==", - "requires": { - "workbox-core": "^5.1.4", - "workbox-routing": "^5.1.4" - } - }, - "workbox-sw": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz", - "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==" - }, - "workbox-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==", - "requires": { - "@babel/runtime": "^7.5.5", - "fast-json-stable-stringify": "^2.0.0", - "source-map-url": "^0.4.0", - "upath": "^1.1.2", - "webpack-sources": "^1.3.0", - "workbox-build": "^5.1.4" - } - }, - "workbox-window": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz", - "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==", - "requires": { - "workbox-core": "^5.1.4" - } - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "requires": { - "errno": "~0.1.7" - } - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "devOptional": true, - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - }, - "dependencies": { - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "devOptional": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - } - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "devOptional": true, - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", - "devOptional": true, - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - }, - "dependencies": { - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - } - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "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==" - }, - "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==" - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "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==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, - "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==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true - }, - "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==" - } - } -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package.json b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package.json deleted file mode 100644 index fd22918c7..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "swap-dappv2", - "version": "0.1.0", - "engines": { - "node": "^14.8.0" - }, - "private": true, - "dependencies": { - "@material-ui/core": "4.12.1", - "@material-ui/icons": "4.11.2", - "@nomiclabs/hardhat-ethers": "2.0.2", - "@nomiclabs/hardhat-waffle": "2.0.1", - "@testing-library/jest-dom": "5.11.4", - "@testing-library/react": "11.1.0", - "@testing-library/user-event": "12.1.10", - "chai": "4.3.4", - "ethereum-waffle": "3.2.2", - "ethers": "5.0.26", - "hardhat": "2.0.8", - "keyv": "4.5.2", - "react": "17.0.2", - "react-dom": "17.0.2", - "react-scripts": "4.0.3", - "rimraf": "3.0.2", - "web-vitals": "1.0.1" - }, - "scripts": { - "start-for-container": "cp -f ./tsconfig.react.json ./tsconfig.json && react-app-rewired start", - "start": "npm run deploy && cp -f ./tsconfig.react.json ./tsconfig.json && react-app-rewired start", - "build": "cp -f ./tsconfig.react.json ./tsconfig.json && react-app-rewired build", - "test": "react-app-rewired test", - "eject": "react-scripts eject", - "deploy": "cp -f ./tsconfig.hardhat.json ./tsconfig.json && npx hardhat run scripts/deploy.ts", - "deploy:hardhat": "npx hardhat run scripts/deployHardhat.ts", - "test-swap": "npx hardhat test", - "clean": "rimraf artifacts && rimraf cache" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "@types/node": "14.14.22", - "nodemon": "2.0.13", - "react-app-rewire-alias": "1.1.3", - "react-app-rewired": "2.1.8", - "ts-node": "10.1.0", - "typescript": "4.4.3", - "web3": "1.4.0" - } -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/favicon.ico b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/favicon.ico deleted file mode 100644 index a11777cc4..000000000 Binary files a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/favicon.ico and /dev/null differ diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/index.html b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/index.html deleted file mode 100644 index aa069f27c..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo192.png b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo192.png deleted file mode 100644 index fc44b0a37..000000000 Binary files a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo192.png and /dev/null differ diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo512.png b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo512.png deleted file mode 100644 index a4e47a654..000000000 Binary files a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/logo512.png and /dev/null differ diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/manifest.json b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/manifest.json deleted file mode 100644 index 080d6c77a..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/robots.txt b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/robots.txt deleted file mode 100644 index e9e57dc4d..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/vmbc.png b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/vmbc.png deleted file mode 100644 index d5074f2c9..000000000 Binary files a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/public/vmbc.png and /dev/null differ diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/run.sh b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/run.sh deleted file mode 100755 index d60e1726a..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/run.sh +++ /dev/null @@ -1,7 +0,0 @@ -echo "deploying smart contacts on vmbc" -npm run deploy - -echo "sleeping for 10s" -sleep 10 - -npm run start-for-container diff --git a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/scripts/deploy.ts b/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/scripts/deploy.ts deleted file mode 100644 index d8a8d184e..000000000 --- a/vmbc-ethereum/sample-dapps/erc20-swap/source/erc20-swap/scripts/deploy.ts +++ /dev/null @@ -1,84 +0,0 @@ -// We require the Hardhat Runtime Environment explicitly here. This is optional -// but useful for running the script in a standalone fashion through `node